@zitadel/api 0.1.0-alpha.17 → 0.1.0-alpha.19
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/README.md +38 -3
- package/dist/generated/endpoints/zitadelNextGen.d.mts +2 -2
- package/dist/generated/endpoints/zitadelNextGen.mjs +384 -301
- package/dist/generated/endpoints/zitadelNextGen.mjs.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.msw.d.mts +34 -26
- package/dist/generated/endpoints/zitadelNextGen.msw.d.mts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.msw.mjs +5349 -623
- package/dist/generated/endpoints/zitadelNextGen.msw.mjs.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.zod.d.mts +2967 -360
- package/dist/generated/endpoints/zitadelNextGen.zod.d.mts.map +1 -1
- package/dist/generated/endpoints/zitadelNextGen.zod.mjs +2996 -413
- package/dist/generated/endpoints/zitadelNextGen.zod.mjs.map +1 -1
- package/dist/generated/model/index.d.mts +2 -2
- package/dist/generated/model/index.mjs +167 -69
- package/dist/generated/model/index.mjs.map +1 -1
- package/dist/{index-C4jNq61U.d.mts → index-Dt_0fSH9.d.mts} +8284 -3183
- package/dist/index-Dt_0fSH9.d.mts.map +1 -0
- package/dist/runtime/api-factory.d.mts +2 -2
- package/dist/runtime/api-factory.d.mts.map +1 -1
- package/dist/runtime/api-factory.mjs +3 -2
- package/dist/runtime/api-factory.mjs.map +1 -1
- package/dist/runtime/config.d.mts +12 -0
- package/dist/runtime/config.d.mts.map +1 -1
- package/dist/runtime/config.mjs +8 -4
- package/dist/runtime/config.mjs.map +1 -1
- package/dist/zitadelNextGen-BkDpEAS9.d.mts +539 -0
- package/dist/zitadelNextGen-BkDpEAS9.d.mts.map +1 -0
- package/package.json +1 -1
- package/src/generated/endpoints/zitadelNextGen.msw.ts +5710 -731
- package/src/generated/endpoints/zitadelNextGen.ts +466 -440
- package/src/generated/endpoints/zitadelNextGen.zod.ts +5527 -1042
- package/src/generated/model/completeClaim200.ts +19 -0
- package/src/generated/model/{revokeSession404.ts → completeClaim400.ts} +3 -3
- package/src/generated/model/{getMyUserDefaultDetails.ts → completeClaim400Details.ts} +1 -1
- package/src/generated/model/completeClaim401.ts +24 -0
- package/src/generated/model/{revokeSession409.ts → completeClaim404.ts} +3 -3
- package/src/generated/model/{listUsersDefaultDetails.ts → completeClaim404Details.ts} +1 -1
- package/src/generated/model/completeClaim409.ts +26 -0
- package/src/generated/model/completeClaim409Details.ts +14 -0
- package/src/generated/model/completeClaim410.ts +24 -0
- package/src/generated/model/{authorizeGet400.ts → completeClaim429.ts} +3 -3
- package/src/generated/model/{revokeSession404Details.ts → completeClaim429Details.ts} +1 -1
- package/src/generated/model/completeClaimBody.ts +18 -0
- package/src/generated/model/completeClaimDefault.ts +20 -0
- package/src/generated/model/{createProjectDefaultDetails.ts → completeClaimDefaultDetails.ts} +1 -1
- package/src/generated/model/createAuthAttempt201.ts +2 -2
- package/src/generated/model/createAuthAttempt201ChallengesItem.ts +2 -2
- package/src/generated/model/createAuthAttemptDefault.ts +30 -0
- package/src/generated/model/createBranding201.ts +31 -0
- package/src/generated/model/createBranding201Branding.ts +49 -0
- package/src/generated/model/createBranding201BrandingLayout.ts +22 -0
- package/src/generated/model/createBranding400.ts +20 -0
- package/src/generated/model/{createUserDefaultDetails.ts → createBranding400Details.ts} +1 -1
- package/src/generated/model/createBrandingBody.ts +49 -0
- package/src/generated/model/createBrandingBodyLayout.ts +22 -0
- package/src/generated/model/createBrandingDefault.ts +20 -0
- package/src/generated/model/{submitFlowStepDefaultDetails.ts → createBrandingDefaultDetails.ts} +1 -1
- package/src/generated/model/{setUserPasswordParams.ts → createBrandingParams.ts} +1 -1
- package/src/generated/model/createFlow201.ts +8 -3
- package/src/generated/model/createFlow201Branding.ts +23 -7
- package/src/generated/model/createFlow201BrandingLayout.ts +2 -1
- package/src/generated/model/createFlowDefault.ts +141 -12
- package/src/generated/model/createFlowDefinition201FlowDefinitionStepsItemTransitions.ts +11 -0
- package/src/generated/model/createFlowDefinitionBodyFlowDefinitionStepsItemTransitions.ts +11 -0
- package/src/generated/model/createFlowDefinitionDefault.ts +101 -12
- package/src/generated/model/createHandoffDefault.ts +41 -1
- package/src/generated/model/createProject201.ts +4 -4
- package/src/generated/model/createProjectBody.ts +2 -2
- package/src/generated/model/createProjectDefault.ts +121 -12
- package/src/generated/model/createSchemaBody.ts +8 -34
- package/src/generated/model/createSession201Session.ts +3 -4
- package/src/generated/model/createSession201SessionState.ts +1 -3
- package/src/generated/model/createSessionDefault.ts +101 -12
- package/src/generated/model/createTeam201.ts +15 -1
- package/src/generated/model/createTeam201Status.ts +21 -0
- package/src/generated/model/{introspect400.ts → createTeam401.ts} +3 -3
- package/src/generated/model/{introspect400Details.ts → createTeam401Details.ts} +1 -1
- package/src/generated/model/{endSession400.ts → createTeam403.ts} +3 -3
- package/src/generated/model/{endSession400Details.ts → createTeam403Details.ts} +1 -1
- package/src/generated/model/createTeam404.ts +20 -0
- package/src/generated/model/createTeam404Details.ts +12 -0
- package/src/generated/model/createTeam409.ts +20 -0
- package/src/generated/model/createTeam409Details.ts +12 -0
- package/src/generated/model/createTeamBody.ts +8 -1
- package/src/generated/model/createUser201.ts +24 -4
- package/src/generated/model/createUser201Attributes.ts +14 -0
- package/src/generated/model/createUser201Metadata.ts +24 -0
- package/src/generated/model/createUser201MetadataStatus.ts +20 -0
- package/src/generated/model/createUser500.ts +20 -0
- package/src/generated/model/createUser500Details.ts +12 -0
- package/src/generated/model/createUserBody.ts +25 -5
- package/src/generated/model/createUserBodyAttributes.ts +14 -0
- package/src/generated/model/createUserDefault.ts +81 -12
- package/src/generated/model/deleteFlowDefinitionDefault.ts +81 -12
- package/src/generated/model/deleteTeam400.ts +20 -0
- package/src/generated/model/deleteTeam400Details.ts +12 -0
- package/src/generated/model/deleteTeam401.ts +20 -0
- package/src/generated/model/deleteTeam401Details.ts +12 -0
- package/src/generated/model/deleteTeam403.ts +20 -0
- package/src/generated/model/deleteTeam403Details.ts +12 -0
- package/src/generated/model/{endSessionDefault.ts → deleteTeamDefault.ts} +3 -3
- package/src/generated/model/{endSessionDefaultDetails.ts → deleteTeamDefaultDetails.ts} +1 -1
- package/src/generated/model/deleteUserByID401.ts +20 -0
- package/src/generated/model/{createFlowDefaultDetails.ts → deleteUserByID401Details.ts} +1 -1
- package/src/generated/model/deleteUserByID404.ts +20 -0
- package/src/generated/model/{getProjectDefaultDetails.ts → deleteUserByID404Details.ts} +1 -1
- package/src/generated/model/deleteUserByIDDefault.ts +69 -0
- package/src/generated/model/exchangeHandoff200Session.ts +3 -4
- package/src/generated/model/exchangeHandoff200SessionState.ts +1 -3
- package/src/generated/model/exchangeHandoffDefault.ts +151 -12
- package/src/generated/model/getAuthAttempt200.ts +2 -2
- package/src/generated/model/getAuthAttempt200ChallengesItem.ts +2 -2
- package/src/generated/model/getAuthAttemptDefault.ts +20 -0
- package/src/generated/model/getBrandingById200.ts +31 -0
- package/src/generated/model/getBrandingById200Branding.ts +49 -0
- package/src/generated/model/getBrandingById200BrandingLayout.ts +22 -0
- package/src/generated/model/{authorizeDevice400.ts → getBrandingById404.ts} +3 -3
- package/src/generated/model/{getFlowStepDefaultDetails.ts → getBrandingById404Details.ts} +1 -1
- package/src/generated/model/{authorizeDeviceDefault.ts → getBrandingByIdDefault.ts} +3 -3
- package/src/generated/model/{exchangeHandoffDefaultDetails.ts → getBrandingByIdDefaultDetails.ts} +1 -1
- package/src/generated/model/getClaimStatus200.ts +31 -0
- package/src/generated/model/getClaimStatus401.ts +20 -0
- package/src/generated/model/getClaimStatus401Details.ts +12 -0
- package/src/generated/model/getClaimStatus403.ts +24 -0
- package/src/generated/model/getClaimStatus404.ts +20 -0
- package/src/generated/model/getClaimStatus404Details.ts +12 -0
- package/src/generated/model/getClaimStatus410.ts +24 -0
- package/src/generated/model/getClaimStatus429.ts +20 -0
- package/src/generated/model/getClaimStatus429Details.ts +12 -0
- package/src/generated/model/getClaimStatusDefault.ts +20 -0
- package/src/generated/model/{authorizeGet400Details.ts → getClaimStatusDefaultDetails.ts} +1 -1
- package/src/generated/model/{getFlowDefinitionParams.ts → getClaimStatusParams.ts} +4 -4
- package/src/generated/model/getEvent200.ts +1372 -0
- package/src/generated/model/{getKeys4xx.ts → getEvent401.ts} +3 -3
- package/src/generated/model/{getKeys4xxDetails.ts → getEvent401Details.ts} +1 -1
- package/src/generated/model/{getToken4xx.ts → getEvent403.ts} +3 -3
- package/src/generated/model/{getToken4xxDetails.ts → getEvent403Details.ts} +1 -1
- package/src/generated/model/getEvent404.ts +20 -0
- package/src/generated/model/getEvent404Details.ts +12 -0
- package/src/generated/model/{getTokenDefault.ts → getEventDefault.ts} +3 -3
- package/src/generated/model/{getMySession401Details.ts → getEventDefaultDetails.ts} +1 -1
- package/src/generated/model/{getTeamParams.ts → getEventParams.ts} +1 -1
- package/src/generated/model/getFlowDefinition200FlowDefinitionStepsItemTransitions.ts +11 -0
- package/src/generated/model/getFlowDefinitionDefault.ts +71 -12
- package/src/generated/model/getFlowStep200.ts +8 -3
- package/src/generated/model/getFlowStep200Branding.ts +23 -7
- package/src/generated/model/getFlowStep200BrandingLayout.ts +2 -1
- package/src/generated/model/getFlowStepDefault.ts +111 -12
- package/src/generated/model/getMySession200.ts +3 -4
- package/src/generated/model/getMySession200State.ts +1 -3
- package/src/generated/model/getMySession401.ts +7 -3
- package/src/generated/model/getMySession404.ts +7 -3
- package/src/generated/model/getMySessionDefault.ts +21 -1
- package/src/generated/model/getMyUser200.ts +30 -1
- package/src/generated/model/getMyUser200Attributes.ts +14 -0
- package/src/generated/model/getMyUser200Metadata.ts +24 -0
- package/src/generated/model/getMyUser200MetadataStatus.ts +20 -0
- package/src/generated/model/getMyUserDefault.ts +51 -12
- package/src/generated/model/getProject200.ts +3 -3
- package/src/generated/model/getProjectDefault.ts +71 -12
- package/src/generated/model/getSchemaById200.ts +8 -34
- package/src/generated/model/getSchemaByIdParams.ts +0 -5
- package/src/generated/model/getSession200.ts +3 -4
- package/src/generated/model/getSession200State.ts +1 -3
- package/src/generated/model/getSession403.ts +20 -0
- package/src/generated/model/getSession403Details.ts +12 -0
- package/src/generated/model/getSessionDefault.ts +31 -1
- package/src/generated/model/getTeam200.ts +12 -3
- package/src/generated/model/getTeam200Status.ts +21 -0
- package/src/generated/model/getUserByID200.ts +30 -1
- package/src/generated/model/getUserByID200Attributes.ts +14 -0
- package/src/generated/model/getUserByID200Metadata.ts +24 -0
- package/src/generated/model/getUserByID200MetadataStatus.ts +20 -0
- package/src/generated/model/getUserByIDDefault.ts +51 -12
- package/src/generated/model/getUserByIDParams.ts +0 -5
- package/src/generated/model/index.ts +212 -133
- package/src/generated/model/initClaim201.ts +24 -0
- package/src/generated/model/initClaim401.ts +20 -0
- package/src/generated/model/initClaim401Details.ts +12 -0
- package/src/generated/model/initClaim404.ts +24 -0
- package/src/generated/model/{activateFlowDefinition400.ts → initClaim409.ts} +10 -4
- package/src/generated/model/{deactivateFlowDefinitionParams.ts → initClaim409Details.ts} +5 -6
- package/src/generated/model/initClaimDefault.ts +20 -0
- package/src/generated/model/{revokeSession409Details.ts → initClaimDefaultDetails.ts} +1 -1
- package/src/generated/model/issueChallenge201.ts +2 -2
- package/src/generated/model/issueChallengeDefault.ts +22 -2
- package/src/generated/model/{activateFlowDefinitionParams.ts → listBranding200Item.ts} +5 -6
- package/src/generated/model/{authorizeGetDefault.ts → listBrandingDefault.ts} +3 -3
- package/src/generated/model/{authorizeGetDefaultDetails.ts → listBrandingDefaultDetails.ts} +1 -1
- package/src/generated/model/{revokeSessionParams.ts → listBrandingParams.ts} +1 -1
- package/src/generated/model/listEvents200.ts +19 -0
- package/src/generated/model/listEvents200DataItem.ts +1372 -0
- package/src/generated/model/listEvents400.ts +20 -0
- package/src/generated/model/listEvents400Details.ts +12 -0
- package/src/generated/model/listEvents401.ts +20 -0
- package/src/generated/model/listEvents401Details.ts +12 -0
- package/src/generated/model/listEvents403.ts +20 -0
- package/src/generated/model/listEvents403Details.ts +12 -0
- package/src/generated/model/listEventsCategoryItem.ts +19 -0
- package/src/generated/model/{introspectDefault.ts → listEventsDefault.ts} +3 -3
- package/src/generated/model/listEventsDefaultDetails.ts +12 -0
- package/src/generated/model/{getMySession404Details.ts → listEventsOrder.ts} +6 -4
- package/src/generated/model/listEventsParams.ts +67 -0
- package/src/generated/model/listFlowDefinitionsDefault.ts +71 -12
- package/src/generated/model/listSchemas200Item.ts +1 -1
- package/src/generated/model/listUserPasskeys200.ts +19 -0
- package/src/generated/model/listUserPasskeys200PasskeysItem.ts +16 -0
- package/src/generated/model/listUserPasskeys400.ts +20 -0
- package/src/generated/model/{listSessionsDefaultDetails.ts → listUserPasskeys400Details.ts} +1 -1
- package/src/generated/model/listUserPasskeys401.ts +20 -0
- package/src/generated/model/{patchProjectDefaultDetails.ts → listUserPasskeys401Details.ts} +1 -1
- package/src/generated/model/listUserPasskeys403.ts +20 -0
- package/src/generated/model/{authorizeDevice400Details.ts → listUserPasskeys403Details.ts} +1 -1
- package/src/generated/model/listUserPasskeys404.ts +20 -0
- package/src/generated/model/listUserPasskeys404Details.ts +12 -0
- package/src/generated/model/listUserPasskeys500.ts +20 -0
- package/src/generated/model/listUserPasskeys500Details.ts +12 -0
- package/src/generated/model/listUserPasskeysDefault.ts +59 -0
- package/src/generated/model/{listSessionsParams.ts → listUserPasskeysParams.ts} +1 -16
- package/src/generated/model/listUserTeams200.ts +19 -0
- package/src/generated/model/listUserTeams200TeamsItem.ts +33 -0
- package/src/generated/model/listUserTeams200TeamsItemMembershipStatus.ts +21 -0
- package/src/generated/model/listUserTeams400.ts +20 -0
- package/src/generated/model/listUserTeams400Details.ts +12 -0
- package/src/generated/model/listUserTeams401.ts +20 -0
- package/src/generated/model/listUserTeams401Details.ts +12 -0
- package/src/generated/model/listUserTeams403.ts +20 -0
- package/src/generated/model/listUserTeams403Details.ts +12 -0
- package/src/generated/model/listUserTeams404.ts +20 -0
- package/src/generated/model/listUserTeams404Details.ts +12 -0
- package/src/generated/model/listUserTeams500.ts +20 -0
- package/src/generated/model/listUserTeams500Details.ts +12 -0
- package/src/generated/model/listUserTeamsDefault.ts +59 -0
- package/src/generated/model/listUserTeamsParams.ts +24 -0
- package/src/generated/model/listUsers200.ts +19 -0
- package/src/generated/model/listUsers200UsersItem.ts +38 -0
- package/src/generated/model/{getFlowDefinitionDefaultDetails.ts → listUsers200UsersItemAttributes.ts} +4 -2
- package/src/generated/model/listUsers200UsersItemMetadata.ts +24 -0
- package/src/generated/model/listUsers200UsersItemMetadataStatus.ts +20 -0
- package/src/generated/model/listUsersDefault.ts +51 -12
- package/src/generated/model/listUsersParams.ts +8 -5
- package/src/generated/model/patchProject200.ts +3 -3
- package/src/generated/model/patchProjectDefault.ts +81 -12
- package/src/generated/model/queryProjects200.ts +2 -1
- package/src/generated/model/queryProjects200ProjectsItem.ts +3 -3
- package/src/generated/model/queryProjectsBody.ts +4 -1
- package/src/generated/model/queryProjectsBodyFilterItem.ts +4 -0
- package/src/generated/model/queryProjectsBodyFilterItemField.ts +1 -2
- package/src/generated/model/queryProjectsBodyFilterItemOperation.ts +4 -0
- package/src/generated/model/queryProjectsBodySortingField.ts +1 -2
- package/src/generated/model/queryProjectsDefault.ts +71 -12
- package/src/generated/model/{listSessions200.ts → querySessions200.ts} +3 -3
- package/src/generated/model/{listSessions200SessionsItem.ts → querySessions200SessionsItem.ts} +12 -13
- package/src/generated/model/{listSessions200SessionsItemFactorsItem.ts → querySessions200SessionsItemFactorsItem.ts} +5 -5
- package/src/generated/model/{listSessions200SessionsItemFactorsItemMethod.ts → querySessions200SessionsItemFactorsItemMethod.ts} +3 -3
- package/src/generated/model/{listSessions200SessionsItemFactorsItemPayload.ts → querySessions200SessionsItemFactorsItemPayload.ts} +1 -1
- package/src/generated/model/{listSessions200SessionsItemMetadata.ts → querySessions200SessionsItemMetadata.ts} +1 -1
- package/src/generated/model/{listSessions200SessionsItemState.ts → querySessions200SessionsItemState.ts} +4 -6
- package/src/generated/model/{listSessions200SessionsItemUserAgent.ts → querySessions200SessionsItemUserAgent.ts} +1 -1
- package/src/generated/model/querySessions400.ts +20 -0
- package/src/generated/model/querySessions400Details.ts +12 -0
- package/src/generated/model/querySessions401.ts +20 -0
- package/src/generated/model/querySessions401Details.ts +12 -0
- package/src/generated/model/querySessions403.ts +20 -0
- package/src/generated/model/querySessions403Details.ts +12 -0
- package/src/generated/model/querySessionsBody.ts +25 -0
- package/src/generated/model/querySessionsBodyFilterItem.ts +32 -0
- package/src/generated/model/querySessionsBodyFilterItemField.ts +24 -0
- package/src/generated/model/querySessionsBodyFilterItemOperation.ts +30 -0
- package/src/generated/model/querySessionsBodySorting.ts +18 -0
- package/src/generated/model/querySessionsBodySortingDirection.ts +15 -0
- package/src/generated/model/querySessionsBodySortingField.ts +21 -0
- package/src/generated/model/querySessionsDefault.ts +79 -0
- package/src/generated/model/querySessionsParams.ts +15 -0
- package/src/generated/model/queryTeams200.ts +20 -0
- package/src/generated/model/queryTeams200TeamsItem.ts +28 -0
- package/src/generated/model/queryTeams200TeamsItemStatus.ts +22 -0
- package/src/generated/model/queryTeams400.ts +20 -0
- package/src/generated/model/queryTeams400Details.ts +12 -0
- package/src/generated/model/queryTeams401.ts +20 -0
- package/src/generated/model/queryTeams401Details.ts +12 -0
- package/src/generated/model/queryTeams403.ts +20 -0
- package/src/generated/model/queryTeams403Details.ts +12 -0
- package/src/generated/model/queryTeams404.ts +20 -0
- package/src/generated/model/queryTeams404Details.ts +12 -0
- package/src/generated/model/queryTeams429.ts +20 -0
- package/src/generated/model/queryTeams429Details.ts +12 -0
- package/src/generated/model/queryTeamsBody.ts +28 -0
- package/src/generated/model/queryTeamsBodyFilterItem.ts +31 -0
- package/src/generated/model/queryTeamsBodyFilterItemField.ts +23 -0
- package/src/generated/model/queryTeamsBodyFilterItemOperation.ts +30 -0
- package/src/generated/model/queryTeamsBodySorting.ts +19 -0
- package/src/generated/model/queryTeamsBodySortingDirection.ts +15 -0
- package/src/generated/model/queryTeamsBodySortingField.ts +23 -0
- package/src/generated/model/queryTeamsDefault.ts +20 -0
- package/src/generated/model/queryTeamsDefaultDetails.ts +12 -0
- package/src/generated/model/{getSessionParams.ts → queryTeamsParams.ts} +1 -1
- package/src/generated/model/revokeMySession401.ts +7 -3
- package/src/generated/model/revokeMySessionDefault.ts +51 -12
- package/src/generated/model/revokeSession403.ts +20 -0
- package/src/generated/model/revokeSession403Details.ts +12 -0
- package/src/generated/model/revokeSessionDefault.ts +61 -12
- package/src/generated/model/setUserPasswordBody.ts +1 -1
- package/src/generated/model/setUserPasswordDefault.ts +71 -12
- package/src/generated/model/submitFlowStep200.ts +8 -3
- package/src/generated/model/submitFlowStep200Branding.ts +23 -7
- package/src/generated/model/submitFlowStep200BrandingLayout.ts +2 -1
- package/src/generated/model/submitFlowStep400.ts +8 -3
- package/src/generated/model/submitFlowStep400Branding.ts +23 -7
- package/src/generated/model/submitFlowStep400BrandingLayout.ts +2 -1
- package/src/generated/model/submitFlowStepDefault.ts +271 -12
- package/src/generated/model/updateFlowDefinition200FlowDefinitionStepsItemTransitions.ts +11 -0
- package/src/generated/model/updateFlowDefinitionBodyFlowDefinitionStepsItemTransitions.ts +11 -0
- package/src/generated/model/updateFlowDefinitionDefault.ts +121 -12
- package/src/generated/model/updateTeam200.ts +28 -0
- package/src/generated/model/updateTeam200Status.ts +21 -0
- package/src/generated/model/updateTeam400.ts +20 -0
- package/src/generated/model/updateTeam400Details.ts +12 -0
- package/src/generated/model/updateTeam401.ts +20 -0
- package/src/generated/model/updateTeam401Details.ts +12 -0
- package/src/generated/model/updateTeam403.ts +20 -0
- package/src/generated/model/updateTeam403Details.ts +12 -0
- package/src/generated/model/updateTeam404.ts +20 -0
- package/src/generated/model/updateTeam404Details.ts +12 -0
- package/src/generated/model/updateTeam409.ts +20 -0
- package/src/generated/model/updateTeam409Details.ts +12 -0
- package/src/generated/model/{deleteFlowDefinitionParams.ts → updateTeamBody.ts} +5 -4
- package/src/generated/model/updateTeamDefault.ts +20 -0
- package/src/generated/model/updateTeamDefaultDetails.ts +12 -0
- package/src/generated/model/verifyChallengeProof200.ts +2 -2
- package/src/generated/model/verifyChallengeProof200ChallengesItem.ts +2 -2
- package/src/generated/model/verifyChallengeProofDefault.ts +44 -4
- package/src/runtime/api-factory.ts +5 -2
- package/src/runtime/config.spec.ts +31 -1
- package/src/runtime/config.ts +22 -3
- package/dist/index-C4jNq61U.d.mts.map +0 -1
- package/dist/zitadelNextGen-fcgWBw_N.d.mts +0 -450
- package/dist/zitadelNextGen-fcgWBw_N.d.mts.map +0 -1
- package/src/generated/model/activateFlowDefinition400Details.ts +0 -12
- package/src/generated/model/activateFlowDefinitionDefault.ts +0 -20
- package/src/generated/model/activateFlowDefinitionDefaultDetails.ts +0 -12
- package/src/generated/model/authorizeDevice200.ts +0 -30
- package/src/generated/model/authorizeDeviceDefaultDetails.ts +0 -12
- package/src/generated/model/authorizeDeviceParams.ts +0 -25
- package/src/generated/model/authorizeGetParams.ts +0 -136
- package/src/generated/model/createFlowDefinitionDefaultDetails.ts +0 -12
- package/src/generated/model/createSessionDefaultDetails.ts +0 -12
- package/src/generated/model/deactivateFlowDefinition400.ts +0 -20
- package/src/generated/model/deactivateFlowDefinition400Details.ts +0 -12
- package/src/generated/model/deactivateFlowDefinition409.ts +0 -20
- package/src/generated/model/deactivateFlowDefinition409Details.ts +0 -12
- package/src/generated/model/deactivateFlowDefinitionDefault.ts +0 -20
- package/src/generated/model/deactivateFlowDefinitionDefaultDetails.ts +0 -12
- package/src/generated/model/deleteFlowDefinitionDefaultDetails.ts +0 -12
- package/src/generated/model/endSessionParams.ts +0 -57
- package/src/generated/model/getKeys200.ts +0 -12
- package/src/generated/model/getKeys200KeysItem.ts +0 -30
- package/src/generated/model/getKeysDefault.ts +0 -20
- package/src/generated/model/getKeysDefaultDetails.ts +0 -12
- package/src/generated/model/getOpenIDConfiguration200.ts +0 -87
- package/src/generated/model/getOpenIDConfiguration200ClaimTypesSupportedItem.ts +0 -16
- package/src/generated/model/getOpenIDConfiguration200DisplayValuesSupportedItem.ts +0 -17
- package/src/generated/model/getOpenIDConfiguration200SubjectTypesSupportedItem.ts +0 -15
- package/src/generated/model/getOpenIDConfiguration200TokenEndpointAuthMethodsSupportedItem.ts +0 -17
- package/src/generated/model/getOpenIDConfiguration4xx.ts +0 -20
- package/src/generated/model/getOpenIDConfiguration4xxDetails.ts +0 -12
- package/src/generated/model/getOpenIDConfigurationDefault.ts +0 -20
- package/src/generated/model/getOpenIDConfigurationDefaultDetails.ts +0 -12
- package/src/generated/model/getToken200.ts +0 -18
- package/src/generated/model/getTokenBody.ts +0 -40
- package/src/generated/model/getTokenBodyGrantType.ts +0 -20
- package/src/generated/model/getTokenDefaultDetails.ts +0 -12
- package/src/generated/model/getUserByIDDefaultDetails.ts +0 -12
- package/src/generated/model/getUserInfo200.ts +0 -24
- package/src/generated/model/getUserInfo4xx.ts +0 -20
- package/src/generated/model/getUserInfo4xxDetails.ts +0 -12
- package/src/generated/model/getUserInfoDefault.ts +0 -20
- package/src/generated/model/getUserInfoDefaultDetails.ts +0 -12
- package/src/generated/model/introspect200.ts +0 -34
- package/src/generated/model/introspectBody.ts +0 -14
- package/src/generated/model/introspectDefaultDetails.ts +0 -12
- package/src/generated/model/listFlowDefinitionsDefaultDetails.ts +0 -12
- package/src/generated/model/listSessions400.ts +0 -20
- package/src/generated/model/listSessions400Details.ts +0 -12
- package/src/generated/model/listSessions401.ts +0 -20
- package/src/generated/model/listSessions401Details.ts +0 -12
- package/src/generated/model/listSessions403.ts +0 -20
- package/src/generated/model/listSessions403Details.ts +0 -12
- package/src/generated/model/listSessionsDefault.ts +0 -20
- package/src/generated/model/listSessionsState.ts +0 -16
- package/src/generated/model/listUsers200Item.ts +0 -9
- package/src/generated/model/queryProjectsDefaultDetails.ts +0 -12
- package/src/generated/model/revokeMySession401Details.ts +0 -12
- package/src/generated/model/revokeMySession404.ts +0 -20
- package/src/generated/model/revokeMySession404Details.ts +0 -12
- package/src/generated/model/revokeMySession409.ts +0 -20
- package/src/generated/model/revokeMySession409Details.ts +0 -12
- package/src/generated/model/revokeMySessionDefaultDetails.ts +0 -12
- package/src/generated/model/revokeSessionDefaultDetails.ts +0 -12
- package/src/generated/model/revokeToken4xx.ts +0 -20
- package/src/generated/model/revokeToken4xxDetails.ts +0 -12
- package/src/generated/model/revokeTokenBody.ts +0 -14
- package/src/generated/model/revokeTokenDefault.ts +0 -20
- package/src/generated/model/revokeTokenDefaultDetails.ts +0 -12
- package/src/generated/model/setUserPasswordDefaultDetails.ts +0 -12
- package/src/generated/model/submitFlowEvent400.ts +0 -20
- package/src/generated/model/submitFlowEvent400Details.ts +0 -12
- package/src/generated/model/submitFlowEvent404.ts +0 -20
- package/src/generated/model/submitFlowEvent404Details.ts +0 -12
- package/src/generated/model/submitFlowEventBody.ts +0 -17
- package/src/generated/model/submitFlowEventBodyPayload.ts +0 -12
- package/src/generated/model/submitFlowEventBodyType.ts +0 -15
- package/src/generated/model/submitFlowEventDefault.ts +0 -20
- package/src/generated/model/submitFlowEventDefaultDetails.ts +0 -12
- package/src/generated/model/updateFlowDefinitionDefaultDetails.ts +0 -12
- package/src/generated/model/updateFlowDefinitionParams.ts +0 -15
|
@@ -8,175 +8,6 @@ import * as zod from "zod";
|
|
|
8
8
|
* OpenAPI spec version: 0.0.1
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
|
-
* Retrieve the OpenID Connect configuration
|
|
12
|
-
* @summary Get OpenID Connect configuration
|
|
13
|
-
*/
|
|
14
|
-
const getOpenIDConfigurationResponseClaimsParameterSupportedDefault = false;
|
|
15
|
-
const getOpenIDConfigurationResponseRequestParameterSupportedDefault = false;
|
|
16
|
-
const getOpenIDConfigurationResponseRequestUriParameterSupportedDefault = true;
|
|
17
|
-
const getOpenIDConfigurationResponseRequireRequestUriRegistrationDefault = false;
|
|
18
|
-
const GetOpenIDConfigurationResponse = zod.object({
|
|
19
|
-
issuer: zod.url().describe("REQUIRED. URL using the https scheme with no query or fragment components that the OP asserts as its Issuer Identifier."),
|
|
20
|
-
authorization_endpoint: zod.url().describe("REQUIRED. URL of the OP's OAuth 2.0 Authorization Endpoint."),
|
|
21
|
-
token_endpoint: zod.url().optional().describe("URL of the OP's OAuth 2.0 Token Endpoint. REQUIRED unless only the Implicit Flow is used."),
|
|
22
|
-
userinfo_endpoint: zod.url().optional().describe("RECOMMENDED. URL of the OP's UserInfo Endpoint."),
|
|
23
|
-
jwks_uri: zod.url().describe("REQUIRED. URL of the OP's JWK Set document containing the signing key(s) the RP uses to validate signatures from the OP."),
|
|
24
|
-
registration_endpoint: zod.url().optional().describe("RECOMMENDED. URL of the OP's Dynamic Client Registration Endpoint."),
|
|
25
|
-
scopes_supported: zod.array(zod.string()).optional().describe("RECOMMENDED. JSON array containing a list of the OAuth 2.0 scope values that this server supports. The server MUST support the openid scope value."),
|
|
26
|
-
response_types_supported: zod.array(zod.string()).describe("REQUIRED. JSON array containing a list of the OAuth 2.0 response_type values that this OP supports."),
|
|
27
|
-
response_modes_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports. Default is [\"query\", \"fragment\"]."),
|
|
28
|
-
grant_types_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports. Default is [\"authorization_code\", \"implicit\"]."),
|
|
29
|
-
acr_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the Authentication Context Class References that this OP supports."),
|
|
30
|
-
subject_types_supported: zod.array(zod.enum(["public", "pairwise"])).describe("REQUIRED. JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public."),
|
|
31
|
-
id_token_signing_alg_values_supported: zod.array(zod.string()).describe("REQUIRED. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token. The algorithm RS256 MUST be included."),
|
|
32
|
-
id_token_encryption_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the OP for the ID Token."),
|
|
33
|
-
id_token_encryption_enc_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for the ID Token."),
|
|
34
|
-
userinfo_signing_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWS signing algorithms (alg values) supported by the UserInfo Endpoint."),
|
|
35
|
-
userinfo_encryption_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the UserInfo Endpoint."),
|
|
36
|
-
userinfo_encryption_enc_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the UserInfo Endpoint."),
|
|
37
|
-
request_object_signing_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects. Servers SHOULD support none and RS256."),
|
|
38
|
-
request_object_encryption_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the OP for Request Objects."),
|
|
39
|
-
request_object_encryption_enc_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for Request Objects."),
|
|
40
|
-
token_endpoint_auth_methods_supported: zod.array(zod.enum([
|
|
41
|
-
"client_secret_post",
|
|
42
|
-
"client_secret_basic",
|
|
43
|
-
"client_secret_jwt",
|
|
44
|
-
"private_key_jwt"
|
|
45
|
-
])).optional().describe("OPTIONAL. JSON array containing a list of Client Authentication methods supported by the Token Endpoint. Default is client_secret_basic."),
|
|
46
|
-
token_endpoint_auth_signing_alg_values_supported: zod.array(zod.string()).optional().describe("OPTIONAL. JSON array containing a list of the JWS signing algorithms supported by the Token Endpoint for private_key_jwt and client_secret_jwt authentication. The value none MUST NOT be used."),
|
|
47
|
-
display_values_supported: zod.array(zod.enum([
|
|
48
|
-
"page",
|
|
49
|
-
"popup",
|
|
50
|
-
"touch",
|
|
51
|
-
"wap"
|
|
52
|
-
])).optional().describe("OPTIONAL. JSON array containing a list of the display parameter values that the OpenID Provider supports."),
|
|
53
|
-
claim_types_supported: zod.array(zod.enum([
|
|
54
|
-
"normal",
|
|
55
|
-
"aggregated",
|
|
56
|
-
"distributed"
|
|
57
|
-
])).optional().describe("OPTIONAL. JSON array containing a list of the Claim Types that the OpenID Provider supports. Default is normal."),
|
|
58
|
-
claims_supported: zod.array(zod.string()).optional().describe("RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for."),
|
|
59
|
-
service_documentation: zod.url().optional().describe("OPTIONAL. URL of a page containing human-readable information for developers using the OpenID Provider."),
|
|
60
|
-
claims_locales_supported: zod.array(zod.string()).optional().describe("OPTIONAL. Languages and scripts supported for values in Claims being returned, as BCP47 language tag values."),
|
|
61
|
-
ui_locales_supported: zod.array(zod.string()).optional().describe("OPTIONAL. Languages and scripts supported for the user interface, as BCP47 language tag values."),
|
|
62
|
-
claims_parameter_supported: zod.boolean().default(false).describe("OPTIONAL. Boolean value specifying whether the OP supports use of the claims parameter. Default is false."),
|
|
63
|
-
request_parameter_supported: zod.boolean().default(false).describe("OPTIONAL. Boolean value specifying whether the OP supports use of the request parameter. Default is false."),
|
|
64
|
-
request_uri_parameter_supported: zod.boolean().default(true).describe("OPTIONAL. Boolean value specifying whether the OP supports use of the request_uri parameter. Default is true."),
|
|
65
|
-
require_request_uri_registration: zod.boolean().default(false).describe("OPTIONAL. Boolean value specifying whether the OP requires any request_uri values used to be pre-registered. Default is false."),
|
|
66
|
-
op_policy_uri: zod.url().optional().describe("OPTIONAL. URL the OP provides to the person registering the Client about the OP's requirements on how the Relying Party can use the data provided."),
|
|
67
|
-
op_tos_uri: zod.url().optional().describe("OPTIONAL. URL the OP provides to the person registering the Client about the OpenID Provider's terms of service.")
|
|
68
|
-
}).describe("OpenID Connect configuration according to the OpenID Connect Discovery 1.0 specification.");
|
|
69
|
-
/**
|
|
70
|
-
* @summary Authorize a user
|
|
71
|
-
*/
|
|
72
|
-
const AuthorizeGetQueryParams = zod.strictObject({
|
|
73
|
-
acr_values: zod.string().optional().describe("A space delimited list of Authentication Class References. This can be\nused to specify certain authentication methods or level of assurance \nthat is required for the authentication. For example, you could use \nthis to require multi-factor authentication.\n"),
|
|
74
|
-
client_id: zod.string().describe("The client ID of the application that is requesting authorization. \nThis is a required parameter and must match the client ID of a \nregistered application.\n"),
|
|
75
|
-
code_challenge: zod.string().optional().describe("The code challenge is a cryptographic string used in the PKCE (Proof \nKey for Code Exchange) flow to enhance security.\n"),
|
|
76
|
-
code_challenge_method: zod.string().optional().describe("The code challenge method is used in conjunction with the code challenge \nin the PKCE flow. It specifies the method used to generate the code \nchallenge. Common values are \"S256\" for SHA-256 hashing and \"plain\" \nfor no hashing.\n"),
|
|
77
|
-
display: zod.string().optional().describe("The display parameter is used to specify how the authorization server \nshould display the authentication and consent user interface. Common \nvalues include \"page\" for a full-page display, \"popup\" for a popup \nwindow, and \"touch\" for a mobile-optimized display.\n"),
|
|
78
|
-
id_token_hint: zod.string().optional().describe("The ID token hint is a previously issued ID token that can be used to \npre-fill the authentication form or to provide information about the \nuser to the authorization server. This can be useful for single sign-on \nscenarios or for providing a smoother user experience.\n"),
|
|
79
|
-
login_hint: zod.string().optional().describe("The login hint is a hint to the authorization server about the login \nidentifier of the user. This can be used to pre-fill the username or \nemail field in the authentication form, making it easier for the user \nto log in.\n"),
|
|
80
|
-
max_age: zod.number().optional().describe("The max age parameter specifies the maximum amount of time in seconds \nthat has passed since the user last authenticated. If the user has not \nauthenticated within this time frame, they will be required to re-authenticate.\n"),
|
|
81
|
-
nonce: zod.string().optional().describe("The nonce parameter is a random string that is used to associate a client \nsession with an ID token and to mitigate replay attacks. The authorization \nserver should include this value in the ID token that it issues, and the \nclient should verify that the value in the ID token matches the value it \nsent in the authorization request.\n"),
|
|
82
|
-
prompt: zod.string().optional().describe("The prompt parameter is used to specify whether the authorization server \nshould prompt the user for re-authentication and consent. Common values \ninclude \"none\" for no prompts, \"login\" to prompt for re-authentication, \n\"consent\" to prompt for user consent, and \"select_account\" to prompt \nthe user to select an account if they are logged in with multiple accounts.\n"),
|
|
83
|
-
redirect_uri: zod.string().optional().describe("The redirect URI is the URI to which the authorization server will redirect \nthe user after they have authorized or denied the request. This must match \none of the redirect URIs registered for the client application.\n"),
|
|
84
|
-
response_mode: zod.string().optional().describe("The response mode parameter specifies how the authorization server should \nreturn the authorization response. Common values include \"query\" to return \nparameters in the query string, \"fragment\" to return parameters in the URL \nfragment, and \"form_post\" to return parameters in an HTTP POST request.\n"),
|
|
85
|
-
response_type: zod.string().describe("The response type parameter specifies the type of response that the client \nis expecting from the authorization server. Common values include \"code\" \nfor the authorization code flow, \"token\" for the implicit flow, and \"id_token\" \nfor OpenID Connect authentication.\n"),
|
|
86
|
-
scope: zod.string().optional().describe("The scope parameter is used to specify the permissions that the client is \nrequesting from the user. This is a space-delimited list of scope values, \nand the authorization server will use this information to determine what \naccess to grant to the client application.\n"),
|
|
87
|
-
state: zod.string().optional().describe("The state parameter is a random string that is used to maintain state between \nthe authorization request and the callback. It is used to prevent cross-site \nrequest forgery (CSRF) attacks by ensuring that the response received from the \nauthorization server corresponds to the request that was sent.\n"),
|
|
88
|
-
ui_locales: zod.string().optional().describe("The ui_locales parameter is used to specify the preferred languages and scripts \nfor the user interface that the authorization server should display. This is a \nspace-delimited list of BCP47 language tag values, and it can be used to provide \na localized user experience for users from different regions and language \npreferences.\n")
|
|
89
|
-
});
|
|
90
|
-
/**
|
|
91
|
-
* @summary Authorize a device
|
|
92
|
-
*/
|
|
93
|
-
const AuthorizeDeviceQueryParams = zod.strictObject({
|
|
94
|
-
client_id: zod.string().describe("The client ID of the application that is requesting authorization. \nThis is a required parameter and must match the client ID of a \nregistered application.\n"),
|
|
95
|
-
scope: zod.string().optional().describe("The scope parameter is used to specify the permissions that the client\nis requesting. This is a space delimited list of scopes. For example,\nyou could use this to request access to the user's profile information or\nto request permission to access certain APIs on behalf of the user.\n")
|
|
96
|
-
});
|
|
97
|
-
const AuthorizeDeviceResponse = zod.object({
|
|
98
|
-
device_code: zod.string().optional().describe("The device code that the client will use to poll for authorization.\n"),
|
|
99
|
-
expires_in: zod.number().optional().describe("The number of seconds until the device code expires.\n"),
|
|
100
|
-
interval: zod.number().optional().describe("The minimum amount of time in seconds that the client should wait \nbetween polling requests.\n"),
|
|
101
|
-
user_code: zod.string().optional().describe("The user code that the user will enter to authorize the device.\n"),
|
|
102
|
-
verification_uri: zod.string().optional().describe("The URI where the user will enter the user code to authorize the device.\n"),
|
|
103
|
-
verification_uri_complete: zod.string().optional().describe("The complete URI with the user code included, which the user can visit\nto authorize the device.\n")
|
|
104
|
-
});
|
|
105
|
-
/**
|
|
106
|
-
* @summary End a session
|
|
107
|
-
*/
|
|
108
|
-
const EndSessionQueryParams = zod.strictObject({
|
|
109
|
-
client_id: zod.string().optional().describe("The client ID is the identifier for the client application that is making \nthe request. This is used by the authorization server to identify the \nclient and to determine whether it is authorized to perform the requested \naction.\n"),
|
|
110
|
-
id_token_hint: zod.string().optional().describe("The ID token hint is a previously issued ID token that can be used to \npre-fill the authentication form or to provide information about the \nuser to the authorization server. This can be useful for single sign-on \nscenarios or for providing a smoother user experience.\n"),
|
|
111
|
-
logout_hint: zod.string().optional().describe("The logout hint is a hint to the authorization server about the login \nidentifier of the user. This can be used to pre-fill the username or email\nfield in the logout form, making it easier for the user to log out.\n"),
|
|
112
|
-
post_logout_redirect_uri: zod.string().optional().describe("The post logout redirect URI is the URI to which the user will be \nredirected after they have logged out. This must be a registered URI \nfor the client application and is used to ensure that the user is \nredirected to a safe location after logging out.\n"),
|
|
113
|
-
state: zod.string().optional().describe("The state parameter is an opaque value that is used by the client to\nmaintain state between the request and the callback. It is typically used\nto prevent cross-site request forgery (CSRF) attacks by including a unique\nvalue in the request that the client can verify when it receives the callback.\n"),
|
|
114
|
-
ui_locales: zod.string().optional().describe("The ui_locales parameter is a space-separated list of BCP47 language tags\nthat are used to indicate the preferred languages and scripts for the user\ninterface. This can be used by the authorization server to display the logout\npage in the user's preferred language.\n")
|
|
115
|
-
});
|
|
116
|
-
/**
|
|
117
|
-
* @summary Introspect a token
|
|
118
|
-
*/
|
|
119
|
-
const IntrospectResponse = zod.object({
|
|
120
|
-
active: zod.boolean().optional().describe("Indicates whether the token is active"),
|
|
121
|
-
aud: zod.string().optional().describe("The audience of the token (if applicable)"),
|
|
122
|
-
client_id: zod.string().optional().describe("The client ID associated with the token"),
|
|
123
|
-
exp: zod.number().optional().describe("The expiration time of the token (in seconds since epoch)"),
|
|
124
|
-
iat: zod.number().optional().describe("The time the token was issued (in seconds since epoch)"),
|
|
125
|
-
iss: zod.string().optional().describe("The issuer of the token (if applicable)"),
|
|
126
|
-
jti: zod.string().optional().describe("The unique identifier for the token (if applicable)"),
|
|
127
|
-
nbf: zod.number().optional().describe("The time before which the token is not valid (in seconds since epoch)"),
|
|
128
|
-
scope: zod.string().optional().describe("The scopes associated with the token"),
|
|
129
|
-
sub: zod.string().optional().describe("The subject of the token (if applicable)"),
|
|
130
|
-
token_type: zod.string().optional().describe("The type of the token (access_token or refresh_token)"),
|
|
131
|
-
username: zod.string().optional().describe("The username associated with the token (if applicable)")
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* @summary Get public keys
|
|
135
|
-
*/
|
|
136
|
-
const GetKeysResponse = zod.object({ keys: zod.array(zod.object({
|
|
137
|
-
use: zod.string().optional(),
|
|
138
|
-
kty: zod.string().optional(),
|
|
139
|
-
kid: zod.string().optional(),
|
|
140
|
-
crv: zod.string().optional(),
|
|
141
|
-
alg: zod.string().optional(),
|
|
142
|
-
k: zod.string().optional(),
|
|
143
|
-
x: zod.string().optional(),
|
|
144
|
-
y: zod.string().optional(),
|
|
145
|
-
n: zod.string().optional(),
|
|
146
|
-
e: zod.string().optional(),
|
|
147
|
-
d: zod.string().optional(),
|
|
148
|
-
p: zod.string().optional(),
|
|
149
|
-
q: zod.string().optional(),
|
|
150
|
-
dp: zod.string().optional(),
|
|
151
|
-
dq: zod.string().optional(),
|
|
152
|
-
qi: zod.string().optional(),
|
|
153
|
-
x5c: zod.array(zod.string()).optional(),
|
|
154
|
-
x5u: zod.string().optional(),
|
|
155
|
-
x5t: zod.string().optional(),
|
|
156
|
-
x5tS256: zod.string().optional()
|
|
157
|
-
})).optional() });
|
|
158
|
-
/**
|
|
159
|
-
* @summary Get access token
|
|
160
|
-
*/
|
|
161
|
-
const GetTokenResponse = zod.object({
|
|
162
|
-
access_token: zod.string().optional().describe("The access token issued by the authorization server."),
|
|
163
|
-
token_type: zod.string().optional().describe("The type of the token issued (e.g., Bearer)."),
|
|
164
|
-
expires_in: zod.number().optional().describe("The lifetime in seconds of the access token."),
|
|
165
|
-
refresh_token: zod.string().optional().describe("The refresh token which can be used to obtain new access tokens.")
|
|
166
|
-
});
|
|
167
|
-
/**
|
|
168
|
-
* @summary Get user info
|
|
169
|
-
*/
|
|
170
|
-
const GetUserInfoResponse = zod.object({
|
|
171
|
-
sub: zod.string().optional().describe("The unique identifier for the user."),
|
|
172
|
-
name: zod.string().optional().describe("The full name of the user."),
|
|
173
|
-
email: zod.email().optional().describe("The email address of the user."),
|
|
174
|
-
preferred_username: zod.string().optional().describe("The preferred username of the user."),
|
|
175
|
-
picture: zod.url().optional().describe("The URL of the user's profile picture."),
|
|
176
|
-
given_name: zod.string().optional().describe("The given name of the user."),
|
|
177
|
-
family_name: zod.string().optional().describe("The family name of the user.")
|
|
178
|
-
});
|
|
179
|
-
/**
|
|
180
11
|
* @summary Create user
|
|
181
12
|
*/
|
|
182
13
|
const createUserQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
@@ -185,54 +16,156 @@ const CreateUserQueryParams = zod.strictObject({
|
|
|
185
16
|
project_id: zod.string().regex(createUserQueryProjectIdRegExp).describe("The unique identifier of the project"),
|
|
186
17
|
team_id: zod.string().regex(createUserQueryTeamIdRegExp).optional().describe("The unique identifier of the team")
|
|
187
18
|
});
|
|
188
|
-
const CreateUserBody = zod.
|
|
19
|
+
const CreateUserBody = zod.object({
|
|
20
|
+
schema: zod.string().min(1).describe("The schema that defines the content of `attributes`. These schemas can be\ncreated using the `/schemas` endpoint. A default schema is provided.\n"),
|
|
21
|
+
attributes: zod.record(zod.string(), zod.unknown()).describe("The user's schema-defined content. Validated against `schema`; a\nproperty the schema does not permit is rejected with `user.invalid`.\n")
|
|
22
|
+
}).describe("`attributes` is the document that must satisfy the user schema named by\n`schema`.\n\nThe resource primary key is server-assigned and returned in the response, so\nthe request carries no `id`; `metadata` is server-owned for the same reason.\nNeither is part of this schema, which is what frees a user schema to declare\nproperties of those names.\n\nA request carrying any other top-level property is rejected rather than\nignored. `attributes` stays open, since the user schema is what determines\nwhat belongs in it.\n");
|
|
189
23
|
/**
|
|
190
24
|
* @summary List users
|
|
191
25
|
*/
|
|
192
|
-
const listUsersQueryOffsetDefault = 0;
|
|
193
|
-
const listUsersQueryOffsetMin = 0;
|
|
194
26
|
const listUsersQueryLimitDefault = 20;
|
|
195
27
|
const listUsersQueryLimitMax = 100;
|
|
196
28
|
const ListUsersQueryParams = zod.strictObject({
|
|
197
|
-
|
|
198
|
-
|
|
29
|
+
limit: zod.number().min(1).max(100).default(20).describe("Maximum number of items to return."),
|
|
30
|
+
page_token: zod.string().optional().describe("Token for fetching the next page of results.\nObtain this value from `next_page_token` in the previous response.\nOmit to start from the beginning.\nIts format is opaque and may change between releases.\n")
|
|
199
31
|
});
|
|
200
|
-
const
|
|
201
|
-
const ListUsersResponse = zod.
|
|
32
|
+
const listUsersResponseUsersItemIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
33
|
+
const ListUsersResponse = zod.object({
|
|
34
|
+
users: zod.array(zod.object({
|
|
35
|
+
id: zod.string().regex(listUsersResponseUsersItemIdRegExp),
|
|
36
|
+
schema: zod.string().describe("The schema that defines the content of `attributes`. These schemas can be\ncreated using the `/schemas` endpoint. A default schema is provided.\nThis schema can be retrieved using the same endpoint.\n"),
|
|
37
|
+
attributes: zod.record(zod.string(), zod.unknown()).describe("The user's content, satisfying the schema named by `schema`. Property\nnames and types are determined entirely by that schema.\n"),
|
|
38
|
+
metadata: zod.object({
|
|
39
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the user was created."),
|
|
40
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the user was last updated."),
|
|
41
|
+
status: zod.enum([
|
|
42
|
+
"active",
|
|
43
|
+
"suspended",
|
|
44
|
+
"deactivated",
|
|
45
|
+
"pending_purge"
|
|
46
|
+
]).describe("The status of the user."),
|
|
47
|
+
lifecycle_owner_team_id: zod.union([zod.string(), zod.null()]).optional().describe("The team that owns this user's identity lifecycle, or `null` when the\nuser is self-owned. This is a single team and a different concept from\nthe user's team roster: it decides who may deprovision the user, not\nwhich teams the user collaborates in. The roster is its own paginated\nresource — `GET /users/{user_id}/teams`.\n")
|
|
48
|
+
})
|
|
49
|
+
}).describe("A user represents an individual identity in the system. It can be used to\nrepresent a human user, but also a service account or any other type of\nidentity.\n\n`attributes` is the document that satisfies the user schema named by\n`schema`: its property names and types are defined entirely by that schema,\nand it is what the schema validates. The rest of the object — `id`,\n`schema`, `metadata` — is the server-owned envelope. Keeping the two apart\nmeans a schema may name a property `id` or `metadata` without colliding with\nthe envelope, and closed-world keywords (`additionalProperties: false`,\n`propertyNames`, `unevaluatedProperties`) behave as their author expects.\n")),
|
|
50
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results.\n")
|
|
51
|
+
}).describe("Paginated list of users.");
|
|
202
52
|
/**
|
|
203
53
|
* @summary Get user by ID
|
|
204
54
|
*/
|
|
205
55
|
const getUserByIDPathUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
206
56
|
const GetUserByIDParams = zod.object({ user_id: zod.string().regex(getUserByIDPathUserIdRegExp) });
|
|
207
|
-
const getUserByIDQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
208
57
|
const getUserByIDQueryTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
209
|
-
const GetUserByIDQueryParams = zod.strictObject({
|
|
210
|
-
|
|
211
|
-
|
|
58
|
+
const GetUserByIDQueryParams = zod.strictObject({ team_id: zod.string().regex(getUserByIDQueryTeamIdRegExp).optional().describe("The unique identifier of the team") });
|
|
59
|
+
const getUserByIDResponseIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
60
|
+
const GetUserByIDResponse = zod.object({
|
|
61
|
+
id: zod.string().regex(getUserByIDResponseIdRegExp),
|
|
62
|
+
schema: zod.string().describe("The schema that defines the content of `attributes`. These schemas can be\ncreated using the `/schemas` endpoint. A default schema is provided.\nThis schema can be retrieved using the same endpoint.\n"),
|
|
63
|
+
attributes: zod.record(zod.string(), zod.unknown()).describe("The user's content, satisfying the schema named by `schema`. Property\nnames and types are determined entirely by that schema.\n"),
|
|
64
|
+
metadata: zod.object({
|
|
65
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the user was created."),
|
|
66
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the user was last updated."),
|
|
67
|
+
status: zod.enum([
|
|
68
|
+
"active",
|
|
69
|
+
"suspended",
|
|
70
|
+
"deactivated",
|
|
71
|
+
"pending_purge"
|
|
72
|
+
]).describe("The status of the user."),
|
|
73
|
+
lifecycle_owner_team_id: zod.union([zod.string(), zod.null()]).optional().describe("The team that owns this user's identity lifecycle, or `null` when the\nuser is self-owned. This is a single team and a different concept from\nthe user's team roster: it decides who may deprovision the user, not\nwhich teams the user collaborates in. The roster is its own paginated\nresource — `GET /users/{user_id}/teams`.\n")
|
|
74
|
+
})
|
|
75
|
+
}).describe("A user represents an individual identity in the system. It can be used to\nrepresent a human user, but also a service account or any other type of\nidentity.\n\n`attributes` is the document that satisfies the user schema named by\n`schema`: its property names and types are defined entirely by that schema,\nand it is what the schema validates. The rest of the object — `id`,\n`schema`, `metadata` — is the server-owned envelope. Keeping the two apart\nmeans a schema may name a property `id` or `metadata` without colliding with\nthe envelope, and closed-world keywords (`additionalProperties: false`,\n`propertyNames`, `unevaluatedProperties`) behave as their author expects.\n");
|
|
76
|
+
/**
|
|
77
|
+
* @summary Delete user by ID
|
|
78
|
+
*/
|
|
79
|
+
const deleteUserByIDPathUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
80
|
+
const DeleteUserByIDParams = zod.object({ user_id: zod.string().regex(deleteUserByIDPathUserIdRegExp) });
|
|
81
|
+
/**
|
|
82
|
+
* @summary List user passkeys
|
|
83
|
+
*/
|
|
84
|
+
const listUserPasskeysPathUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
85
|
+
const ListUserPasskeysParams = zod.object({ user_id: zod.string().regex(listUserPasskeysPathUserIdRegExp) });
|
|
86
|
+
const listUserPasskeysQueryLimitDefault = 20;
|
|
87
|
+
const listUserPasskeysQueryLimitMax = 100;
|
|
88
|
+
const ListUserPasskeysQueryParams = zod.strictObject({
|
|
89
|
+
limit: zod.number().min(1).max(100).default(20).describe("Maximum number of items to return."),
|
|
90
|
+
page_token: zod.string().optional().describe("Token for fetching the next page of results.\nObtain this value from `next_page_token` in the previous response.\nOmit to start from the beginning.\nIts format is opaque and may change between releases.\n")
|
|
212
91
|
});
|
|
213
|
-
const
|
|
92
|
+
const ListUserPasskeysResponse = zod.object({
|
|
93
|
+
passkeys: zod.array(zod.object({
|
|
94
|
+
id: zod.string().describe("The unique identifier of the passkey."),
|
|
95
|
+
name: zod.string().describe("The name of the passkey."),
|
|
96
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The timestamp when the passkey was created.")
|
|
97
|
+
})),
|
|
98
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results.\n")
|
|
99
|
+
}).describe("Response containing the user's passkeys.");
|
|
214
100
|
/**
|
|
215
101
|
* @summary Set user password
|
|
216
102
|
*/
|
|
217
103
|
const setUserPasswordPathUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
218
104
|
const SetUserPasswordParams = zod.object({ user_id: zod.string().regex(setUserPasswordPathUserIdRegExp) });
|
|
219
|
-
const setUserPasswordQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
220
|
-
const SetUserPasswordQueryParams = zod.strictObject({ project_id: zod.string().regex(setUserPasswordQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
221
105
|
const SetUserPasswordBody = zod.object({
|
|
222
106
|
password: zod.string().describe("The new password for the user."),
|
|
223
|
-
|
|
107
|
+
is_change_required: zod.boolean().optional().describe("Whether the user is required to change their password on the next login.\nIf not provided, it will default to false.\n")
|
|
224
108
|
}).describe("Request to update the user's password.");
|
|
225
109
|
/**
|
|
110
|
+
* The user's team roster, ordered by team name. Each entry carries the
|
|
111
|
+
team's name, so a client renders a page without resolving ids one by one.
|
|
112
|
+
|
|
113
|
+
This is the N:N roster and it is not lifecycle ownership: the single team
|
|
114
|
+
that owns the user's lifecycle is reported as `metadata.lifecycle_owner_team_id`
|
|
115
|
+
on the user read endpoints. Memberships the user was removed from are not
|
|
116
|
+
returned.
|
|
117
|
+
|
|
118
|
+
* @summary List the teams a user belongs to
|
|
119
|
+
*/
|
|
120
|
+
const listUserTeamsPathUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
121
|
+
const ListUserTeamsParams = zod.object({ user_id: zod.string().regex(listUserTeamsPathUserIdRegExp) });
|
|
122
|
+
const listUserTeamsQueryLimitDefault = 20;
|
|
123
|
+
const listUserTeamsQueryLimitMax = 100;
|
|
124
|
+
const ListUserTeamsQueryParams = zod.strictObject({
|
|
125
|
+
limit: zod.number().min(1).max(100).default(20).describe("Maximum number of items to return."),
|
|
126
|
+
page_token: zod.string().optional().describe("Token for fetching the next page of results.\nObtain this value from `next_page_token` in the previous response.\nOmit to start from the beginning.\nIts format is opaque and may change between releases.\n")
|
|
127
|
+
});
|
|
128
|
+
const ListUserTeamsResponse = zod.object({
|
|
129
|
+
teams: zod.array(zod.object({
|
|
130
|
+
id: zod.string().describe("The unique identifier of the team."),
|
|
131
|
+
name: zod.string().describe("The name of the team."),
|
|
132
|
+
membership_status: zod.enum([
|
|
133
|
+
"pending",
|
|
134
|
+
"active",
|
|
135
|
+
"inactive"
|
|
136
|
+
]).describe("The user's participation state on this team. Memberships the user was\nremoved from are not returned.\n"),
|
|
137
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the user joined this team."),
|
|
138
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when this membership was last changed.")
|
|
139
|
+
}).describe("One entry of a user's team roster: a team the user belongs to, with the\nmembership's participation state. The team's `name` travels with the entry, so\na page renders without a follow-up `POST /teams/query` per row.\n\nRoster membership is not lifecycle ownership. A user can belong to many teams\nwhile still owning their own lifecycle — that single owning team is reported\nas `metadata.lifecycle_owner_team_id` on the user itself.\n")),
|
|
140
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results.\n")
|
|
141
|
+
}).describe("Paginated list of the teams a user belongs to.");
|
|
142
|
+
/**
|
|
226
143
|
* @summary Get my user information
|
|
227
144
|
*/
|
|
228
|
-
const
|
|
145
|
+
const getMyUserResponseIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
146
|
+
const GetMyUserResponse = zod.object({
|
|
147
|
+
id: zod.string().regex(getMyUserResponseIdRegExp),
|
|
148
|
+
schema: zod.string().describe("The schema that defines the content of `attributes`. These schemas can be\ncreated using the `/schemas` endpoint. A default schema is provided.\nThis schema can be retrieved using the same endpoint.\n"),
|
|
149
|
+
attributes: zod.record(zod.string(), zod.unknown()).describe("The user's content, satisfying the schema named by `schema`. Property\nnames and types are determined entirely by that schema.\n"),
|
|
150
|
+
metadata: zod.object({
|
|
151
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the user was created."),
|
|
152
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the user was last updated."),
|
|
153
|
+
status: zod.enum([
|
|
154
|
+
"active",
|
|
155
|
+
"suspended",
|
|
156
|
+
"deactivated",
|
|
157
|
+
"pending_purge"
|
|
158
|
+
]).describe("The status of the user."),
|
|
159
|
+
lifecycle_owner_team_id: zod.union([zod.string(), zod.null()]).optional().describe("The team that owns this user's identity lifecycle, or `null` when the\nuser is self-owned. This is a single team and a different concept from\nthe user's team roster: it decides who may deprovision the user, not\nwhich teams the user collaborates in. The roster is its own paginated\nresource — `GET /users/{user_id}/teams`.\n")
|
|
160
|
+
})
|
|
161
|
+
}).describe("A user represents an individual identity in the system. It can be used to\nrepresent a human user, but also a service account or any other type of\nidentity.\n\n`attributes` is the document that satisfies the user schema named by\n`schema`: its property names and types are defined entirely by that schema,\nand it is what the schema validates. The rest of the object — `id`,\n`schema`, `metadata` — is the server-owned envelope. Keeping the two apart\nmeans a schema may name a property `id` or `metadata` without colliding with\nthe envelope, and closed-world keywords (`additionalProperties: false`,\n`propertyNames`, `unevaluatedProperties`) behave as their author expects.\n");
|
|
229
162
|
/**
|
|
230
163
|
* Resolves a flow definition based on purpose + audience context and returns
|
|
231
164
|
the first capability step. Creates a new session implicitly unless
|
|
232
165
|
`session_id` is provided (for step-up / reauth on an existing session).
|
|
233
166
|
|
|
234
167
|
The response contains an `id` field — the flow handle. Use it as the path
|
|
235
|
-
parameter for all subsequent `/flow/{id}/submit`
|
|
168
|
+
parameter for all subsequent `/flow/{id}/submit` calls.
|
|
236
169
|
|
|
237
170
|
The response also sets an encrypted `HttpOnly` cookie (`_zflow`) containing
|
|
238
171
|
the flow's orchestration state (current step, collected data, history).
|
|
@@ -285,6 +218,7 @@ const getFlowStepResponseStepActionsDefault = [];
|
|
|
285
218
|
const getFlowStepResponseStepGatesDefault = {};
|
|
286
219
|
const getFlowStepResponseStepSsoProvidersDefault = [];
|
|
287
220
|
const getFlowStepResponseBrandingLayoutDefault = `centered`;
|
|
221
|
+
const getFlowStepResponseBrandingLiquidTemplateMax = 131072;
|
|
288
222
|
const GetFlowStepResponse = zod.object({
|
|
289
223
|
id: zod.string().describe("Flow handle. Use this as the path parameter for subsequent\nsubmit/event calls. May change between responses when a\nflow pivot or pop occurs.\n"),
|
|
290
224
|
session_id: zod.string().describe("Underlying session ID. Stable across all stacked flows."),
|
|
@@ -356,12 +290,12 @@ const GetFlowStepResponse = zod.object({
|
|
|
356
290
|
}).optional().describe("A pending authentication challenge issued by the server. Present when the\nflow engine has issued a challenge via auth_attempts (e.g., after the user\nsubmits `action: \"passkey\"`). The `<zl-passkey>` component reads this and\ntriggers the appropriate WebAuthn ceremony.\n\nThe challenge is NOT present on the initial step — it appears only after\nthe user explicitly selects a ceremony-based action.\n")
|
|
357
291
|
}).describe("A step contains ordered capability arrays: what to collect (fields),\nwhat the user can do (actions), and what security gates must be satisfied (gates).\nThe LiquidJS template in `branding.liquid_template` iterates these arrays in order\nand builds name-keyed indexes locally for lookup.\n"),
|
|
358
292
|
branding: zod.object({
|
|
359
|
-
layout: zod.enum(["centered", "split"]).default(getFlowStepResponseBrandingLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely.\n"),
|
|
360
|
-
liquid_template: zod.string().optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
293
|
+
layout: zod.enum(["centered", "split"]).default(getFlowStepResponseBrandingLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely; it also serves as the degrade target\nwhen a custom template fails component-side validation.\n"),
|
|
294
|
+
liquid_template: zod.string().max(getFlowStepResponseBrandingLiquidTemplateMax).optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
361
295
|
logo_url: zod.url().optional().describe("Team logo URL."),
|
|
362
|
-
font_url: zod.url().optional().describe("Custom font URL (e.g., Google Fonts CSS)."),
|
|
296
|
+
font_url: zod.url().optional().describe("Custom font stylesheet URL (e.g., Google Fonts CSS). Read-only in\nv1: `POST /branding` rejects a non-empty value, because the login\ncomponent loads this stylesheet at document level (shadow-scoped\n`@font-face` rules never register faces) and an arbitrary URL would\ngrant `branding.write` page-wide CSS control over the embedding\napplication. Safe tenant font delivery is an ADR 040 follow-up;\nuntil then, load fonts from the embedding page.\n"),
|
|
363
297
|
hero_url: zod.url().optional().describe("Hero/background image URL (used by split layout).")
|
|
364
|
-
}).optional().describe("
|
|
298
|
+
}).optional().describe("Branding configuration. Appears in two places with one shape:\n\n- On flow responses as a read-only projection: the server resolves the\n latest branding revision for the project per step response (falling\n back to built-in defaults when none is stored). Branding is configured\n via the Branding API / `zitadel apply`, not the Flow API.\n- As the request body of `POST /branding`, which publishes the same\n shape as a new immutable revision (see ADR 040).\n"),
|
|
365
299
|
redirect_uri: zod.url().optional().describe("Present when `step.complete` is `redirect`."),
|
|
366
300
|
handoff_token: zod.string().optional().describe("Short-lived, audience-bound token produced on flow completion.\nExchange it for a session via `POST /sessions/exchange`.\nOnly present when `step.complete` is set.\n"),
|
|
367
301
|
handoff_token_expires_at: zod.iso.datetime({ offset: true }).optional().describe("Expiry timestamp for `handoff_token`. Only present when\n`handoff_token` is set.\n")
|
|
@@ -420,6 +354,7 @@ const submitFlowStepResponseStepActionsDefault = [];
|
|
|
420
354
|
const submitFlowStepResponseStepGatesDefault = {};
|
|
421
355
|
const submitFlowStepResponseStepSsoProvidersDefault = [];
|
|
422
356
|
const submitFlowStepResponseBrandingLayoutDefault = `centered`;
|
|
357
|
+
const submitFlowStepResponseBrandingLiquidTemplateMax = 131072;
|
|
423
358
|
const SubmitFlowStepResponse = zod.object({
|
|
424
359
|
id: zod.string().describe("Flow handle. Use this as the path parameter for subsequent\nsubmit/event calls. May change between responses when a\nflow pivot or pop occurs.\n"),
|
|
425
360
|
session_id: zod.string().describe("Underlying session ID. Stable across all stacked flows."),
|
|
@@ -491,29 +426,17 @@ const SubmitFlowStepResponse = zod.object({
|
|
|
491
426
|
}).optional().describe("A pending authentication challenge issued by the server. Present when the\nflow engine has issued a challenge via auth_attempts (e.g., after the user\nsubmits `action: \"passkey\"`). The `<zl-passkey>` component reads this and\ntriggers the appropriate WebAuthn ceremony.\n\nThe challenge is NOT present on the initial step — it appears only after\nthe user explicitly selects a ceremony-based action.\n")
|
|
492
427
|
}).describe("A step contains ordered capability arrays: what to collect (fields),\nwhat the user can do (actions), and what security gates must be satisfied (gates).\nThe LiquidJS template in `branding.liquid_template` iterates these arrays in order\nand builds name-keyed indexes locally for lookup.\n"),
|
|
493
428
|
branding: zod.object({
|
|
494
|
-
layout: zod.enum(["centered", "split"]).default(submitFlowStepResponseBrandingLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely.\n"),
|
|
495
|
-
liquid_template: zod.string().optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
429
|
+
layout: zod.enum(["centered", "split"]).default(submitFlowStepResponseBrandingLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely; it also serves as the degrade target\nwhen a custom template fails component-side validation.\n"),
|
|
430
|
+
liquid_template: zod.string().max(submitFlowStepResponseBrandingLiquidTemplateMax).optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
496
431
|
logo_url: zod.url().optional().describe("Team logo URL."),
|
|
497
|
-
font_url: zod.url().optional().describe("Custom font URL (e.g., Google Fonts CSS)."),
|
|
432
|
+
font_url: zod.url().optional().describe("Custom font stylesheet URL (e.g., Google Fonts CSS). Read-only in\nv1: `POST /branding` rejects a non-empty value, because the login\ncomponent loads this stylesheet at document level (shadow-scoped\n`@font-face` rules never register faces) and an arbitrary URL would\ngrant `branding.write` page-wide CSS control over the embedding\napplication. Safe tenant font delivery is an ADR 040 follow-up;\nuntil then, load fonts from the embedding page.\n"),
|
|
498
433
|
hero_url: zod.url().optional().describe("Hero/background image URL (used by split layout).")
|
|
499
|
-
}).optional().describe("
|
|
434
|
+
}).optional().describe("Branding configuration. Appears in two places with one shape:\n\n- On flow responses as a read-only projection: the server resolves the\n latest branding revision for the project per step response (falling\n back to built-in defaults when none is stored). Branding is configured\n via the Branding API / `zitadel apply`, not the Flow API.\n- As the request body of `POST /branding`, which publishes the same\n shape as a new immutable revision (see ADR 040).\n"),
|
|
500
435
|
redirect_uri: zod.url().optional().describe("Present when `step.complete` is `redirect`."),
|
|
501
436
|
handoff_token: zod.string().optional().describe("Short-lived, audience-bound token produced on flow completion.\nExchange it for a session via `POST /sessions/exchange`.\nOnly present when `step.complete` is set.\n"),
|
|
502
437
|
handoff_token_expires_at: zod.iso.datetime({ offset: true }).optional().describe("Expiry timestamp for `handoff_token`. Only present when\n`handoff_token` is set.\n")
|
|
503
438
|
});
|
|
504
439
|
/**
|
|
505
|
-
* Submits telemetry or fingerprint data from the frontend.
|
|
506
|
-
Does not advance the state machine. Used for risk evaluation.
|
|
507
|
-
|
|
508
|
-
* @summary Submit client-side event
|
|
509
|
-
*/
|
|
510
|
-
const SubmitFlowEventParams = zod.object({ id: zod.string().describe("Flow ID returned by POST /flow or the latest POST /flow/{id}/submit.\nUsed to look up the correct flow state from the encrypted cookie,\nwhich can hold multiple concurrent flows. May change between responses\nwhen a flow pivot or pop occurs — always use the `id` from the latest response.\n") });
|
|
511
|
-
const SubmitFlowEventBody = zod.object({
|
|
512
|
-
session_token: zod.string().optional().describe("Reserved for future rotation. The sealed `_zflow` cookie carries the flow state today."),
|
|
513
|
-
type: zod.enum(["fingerprint", "telemetry"]),
|
|
514
|
-
payload: zod.record(zod.string(), zod.unknown()).optional().describe("Event payload (fingerprint hash, timing data, etc.).")
|
|
515
|
-
});
|
|
516
|
-
/**
|
|
517
440
|
* Starts a new authentication attempt. This is the entry point for the auth_attempts state machine.
|
|
518
441
|
|
|
519
442
|
An attempt is an ephemeral (15-minute TTL) state machine that drives a single authentication round.
|
|
@@ -525,11 +448,11 @@ also include session_id to add factors to an existing session.
|
|
|
525
448
|
* @summary Create a new authentication attempt
|
|
526
449
|
*/
|
|
527
450
|
const createAuthAttemptBodyProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
528
|
-
const createAuthAttemptBodySessionIdOneRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
451
|
+
const createAuthAttemptBodySessionIdOneRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
529
452
|
const CreateAuthAttemptBody = zod.object({
|
|
530
453
|
project_id: zod.string().regex(createAuthAttemptBodyProjectIdRegExp),
|
|
531
454
|
challenge_nonce: zod.string().optional().describe("Origin-bound, single-use nonce obtained from `POST /bootstrap/challenge`.\nBinds the request to the browser that initiated the flow, preventing\ncross-origin replay.\n"),
|
|
532
|
-
session_id: zod.union([zod.string().regex(createAuthAttemptBodySessionIdOneRegExp).describe("Unique identifier for this session."), zod.null()]).optional().describe("Optional. If provided, this attempt adds factors to an existing session (step-up auth).\nIf omitted, a new session is created implicitly on successful handoff.\n")
|
|
455
|
+
session_id: zod.union([zod.string().regex(createAuthAttemptBodySessionIdOneRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."), zod.null()]).optional().describe("Optional. If provided, this attempt adds factors to an existing session (step-up auth).\nIf omitted, a new session is created implicitly on successful handoff.\n")
|
|
533
456
|
}).describe("Request to create a new authentication attempt");
|
|
534
457
|
/**
|
|
535
458
|
* Polls the current state of an authentication attempt.
|
|
@@ -542,16 +465,16 @@ a federated IdP callback or a device flow).
|
|
|
542
465
|
|
|
543
466
|
* @summary Get authentication attempt state
|
|
544
467
|
*/
|
|
545
|
-
const getAuthAttemptPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
468
|
+
const getAuthAttemptPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
546
469
|
const GetAuthAttemptParams = zod.object({ attempt_id: zod.string().regex(getAuthAttemptPathAttemptIdRegExp).describe("The unique identifier of the authentication attempt") });
|
|
547
|
-
const getAuthAttemptResponseAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
470
|
+
const getAuthAttemptResponseAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
548
471
|
const getAuthAttemptResponseProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
549
|
-
const getAuthAttemptResponseSessionIdOneRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
472
|
+
const getAuthAttemptResponseSessionIdOneRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
550
473
|
const getAuthAttemptResponseUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
551
474
|
const getAuthAttemptResponseCompletedFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
552
|
-
const getAuthAttemptResponseChallengesItemChallengeIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
475
|
+
const getAuthAttemptResponseChallengesItemChallengeIdRegExp = /* @__PURE__ */ new RegExp("^ch_[a-zA-Z0-9_-]+$");
|
|
553
476
|
const GetAuthAttemptResponse = zod.object({
|
|
554
|
-
attempt_id: zod.string().regex(getAuthAttemptResponseAttemptIdRegExp).describe("Unique identifier for this authentication attempt"),
|
|
477
|
+
attempt_id: zod.string().regex(getAuthAttemptResponseAttemptIdRegExp).describe("Unique identifier for this authentication attempt (dialect-minted prefixed opaque string)."),
|
|
555
478
|
project_id: zod.string().regex(getAuthAttemptResponseProjectIdRegExp),
|
|
556
479
|
state: zod.enum([
|
|
557
480
|
"in_progress",
|
|
@@ -559,7 +482,7 @@ const GetAuthAttemptResponse = zod.object({
|
|
|
559
482
|
"failed",
|
|
560
483
|
"expired"
|
|
561
484
|
]).describe("Overall state of the authentication attempt:\n- `in_progress`: factors are still being collected; continue issuing challenges.\n- `completed`: all required factors have been verified; the attempt is ready for handoff.\n- `failed`: the attempt has failed (e.g. too many failed proofs) and cannot be continued.\n- `expired`: the 15-minute TTL has been exceeded.\n"),
|
|
562
|
-
session_id: zod.union([zod.string().regex(getAuthAttemptResponseSessionIdOneRegExp).describe("Unique identifier for this session."), zod.null()]).optional().describe("The session being authenticated into. Either newly created or passed in on POST.\nFor step-up (re-auth), this is the existing session_id provided on creation.\n"),
|
|
485
|
+
session_id: zod.union([zod.string().regex(getAuthAttemptResponseSessionIdOneRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."), zod.null()]).optional().describe("The session being authenticated into. Either newly created or passed in on POST.\nFor step-up (re-auth), this is the existing session_id provided on creation.\n"),
|
|
563
486
|
user_id: zod.union([zod.string().regex(getAuthAttemptResponseUserIdOneRegExp), zod.null()]).optional().describe("The user ID, if known at this point in the flow.\nNull until an identifier challenge has been verified.\n"),
|
|
564
487
|
required_factors: zod.array(zod.enum([
|
|
565
488
|
"identifier",
|
|
@@ -586,7 +509,7 @@ const GetAuthAttemptResponse = zod.object({
|
|
|
586
509
|
]).optional().describe("Method-specific factor metadata. Structure depends on the `method` field.\n- `identifier`: includes user_id\n- `password`: no additional data\n- `passkey`: includes credential details and verification flags\n")
|
|
587
510
|
}).describe("A successfully verified authentication factor with verification metadata.\nMethod-specific details are included in the `payload` field.\n")).optional().describe("The factors that have been successfully verified in this attempt so far.\nEach item includes method-specific metadata in the payload field.\n\nThe flow engine uses verified_at timestamps to enforce time-based policies, such as\nrequiring password verification within the last 5 minutes for step-up auth to\naccess sensitive operations.\n\nA factor appears here once its challenge reaches `verified` state.\n"),
|
|
588
511
|
challenges: zod.array(zod.object({
|
|
589
|
-
challenge_id: zod.string().regex(getAuthAttemptResponseChallengesItemChallengeIdRegExp).describe("Unique identifier for this challenge"),
|
|
512
|
+
challenge_id: zod.string().regex(getAuthAttemptResponseChallengesItemChallengeIdRegExp).describe("Unique identifier for this challenge (dialect-minted prefixed opaque string)."),
|
|
590
513
|
method: zod.enum([
|
|
591
514
|
"identifier",
|
|
592
515
|
"password",
|
|
@@ -630,7 +553,7 @@ by calling POST /auth_attempts/{attempt_id}/challenges/{challenge_id}/verify.
|
|
|
630
553
|
|
|
631
554
|
* @summary Issue a factor challenge
|
|
632
555
|
*/
|
|
633
|
-
const issueChallengePathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
556
|
+
const issueChallengePathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
634
557
|
const IssueChallengeParams = zod.object({ attempt_id: zod.string().regex(issueChallengePathAttemptIdRegExp).describe("The unique identifier of the authentication attempt") });
|
|
635
558
|
const IssueChallengeBody = zod.object({
|
|
636
559
|
method: zod.enum([
|
|
@@ -662,8 +585,8 @@ The attempt moves to the next pending challenge or completes if all required fac
|
|
|
662
585
|
|
|
663
586
|
* @summary Verify a factor proof
|
|
664
587
|
*/
|
|
665
|
-
const verifyChallengeProofPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
666
|
-
const verifyChallengeProofPathChallengeIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
588
|
+
const verifyChallengeProofPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
589
|
+
const verifyChallengeProofPathChallengeIdRegExp = /* @__PURE__ */ new RegExp("^ch_[a-zA-Z0-9_-]+$");
|
|
667
590
|
const VerifyChallengeProofParams = zod.object({
|
|
668
591
|
attempt_id: zod.string().regex(verifyChallengeProofPathAttemptIdRegExp).describe("The unique identifier of the authentication attempt"),
|
|
669
592
|
challenge_id: zod.string().regex(verifyChallengeProofPathChallengeIdRegExp).describe("The unique identifier of this challenge.")
|
|
@@ -674,14 +597,14 @@ const VerifyChallengeProofBody = zod.union([
|
|
|
674
597
|
zod.object({ password: zod.string().describe("The password being verified") }).describe("Proof for `password` method"),
|
|
675
598
|
zod.object({ passkey: zod.object({ assertion: zod.record(zod.string(), zod.unknown()).describe("The WebAuthn AssertionResponse object") }).describe("WebAuthn passkey assertion") }).describe("Proof for `passkey` method")
|
|
676
599
|
]).describe("Proof for verifying a factor challenge.\n\nThe exact format depends on the challenge method. The proof object should contain\nonly the credential/code/assertion relevant to the challenge method being verified.\n");
|
|
677
|
-
const verifyChallengeProofResponseAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
600
|
+
const verifyChallengeProofResponseAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
678
601
|
const verifyChallengeProofResponseProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
679
|
-
const verifyChallengeProofResponseSessionIdOneRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
602
|
+
const verifyChallengeProofResponseSessionIdOneRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
680
603
|
const verifyChallengeProofResponseUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
681
604
|
const verifyChallengeProofResponseCompletedFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
682
|
-
const verifyChallengeProofResponseChallengesItemChallengeIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
605
|
+
const verifyChallengeProofResponseChallengesItemChallengeIdRegExp = /* @__PURE__ */ new RegExp("^ch_[a-zA-Z0-9_-]+$");
|
|
683
606
|
const VerifyChallengeProofResponse = zod.object({
|
|
684
|
-
attempt_id: zod.string().regex(verifyChallengeProofResponseAttemptIdRegExp).describe("Unique identifier for this authentication attempt"),
|
|
607
|
+
attempt_id: zod.string().regex(verifyChallengeProofResponseAttemptIdRegExp).describe("Unique identifier for this authentication attempt (dialect-minted prefixed opaque string)."),
|
|
685
608
|
project_id: zod.string().regex(verifyChallengeProofResponseProjectIdRegExp),
|
|
686
609
|
state: zod.enum([
|
|
687
610
|
"in_progress",
|
|
@@ -689,7 +612,7 @@ const VerifyChallengeProofResponse = zod.object({
|
|
|
689
612
|
"failed",
|
|
690
613
|
"expired"
|
|
691
614
|
]).describe("Overall state of the authentication attempt:\n- `in_progress`: factors are still being collected; continue issuing challenges.\n- `completed`: all required factors have been verified; the attempt is ready for handoff.\n- `failed`: the attempt has failed (e.g. too many failed proofs) and cannot be continued.\n- `expired`: the 15-minute TTL has been exceeded.\n"),
|
|
692
|
-
session_id: zod.union([zod.string().regex(verifyChallengeProofResponseSessionIdOneRegExp).describe("Unique identifier for this session."), zod.null()]).optional().describe("The session being authenticated into. Either newly created or passed in on POST.\nFor step-up (re-auth), this is the existing session_id provided on creation.\n"),
|
|
615
|
+
session_id: zod.union([zod.string().regex(verifyChallengeProofResponseSessionIdOneRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."), zod.null()]).optional().describe("The session being authenticated into. Either newly created or passed in on POST.\nFor step-up (re-auth), this is the existing session_id provided on creation.\n"),
|
|
693
616
|
user_id: zod.union([zod.string().regex(verifyChallengeProofResponseUserIdOneRegExp), zod.null()]).optional().describe("The user ID, if known at this point in the flow.\nNull until an identifier challenge has been verified.\n"),
|
|
694
617
|
required_factors: zod.array(zod.enum([
|
|
695
618
|
"identifier",
|
|
@@ -716,7 +639,7 @@ const VerifyChallengeProofResponse = zod.object({
|
|
|
716
639
|
]).optional().describe("Method-specific factor metadata. Structure depends on the `method` field.\n- `identifier`: includes user_id\n- `password`: no additional data\n- `passkey`: includes credential details and verification flags\n")
|
|
717
640
|
}).describe("A successfully verified authentication factor with verification metadata.\nMethod-specific details are included in the `payload` field.\n")).optional().describe("The factors that have been successfully verified in this attempt so far.\nEach item includes method-specific metadata in the payload field.\n\nThe flow engine uses verified_at timestamps to enforce time-based policies, such as\nrequiring password verification within the last 5 minutes for step-up auth to\naccess sensitive operations.\n\nA factor appears here once its challenge reaches `verified` state.\n"),
|
|
718
641
|
challenges: zod.array(zod.object({
|
|
719
|
-
challenge_id: zod.string().regex(verifyChallengeProofResponseChallengesItemChallengeIdRegExp).describe("Unique identifier for this challenge"),
|
|
642
|
+
challenge_id: zod.string().regex(verifyChallengeProofResponseChallengesItemChallengeIdRegExp).describe("Unique identifier for this challenge (dialect-minted prefixed opaque string)."),
|
|
720
643
|
method: zod.enum([
|
|
721
644
|
"identifier",
|
|
722
645
|
"password",
|
|
@@ -764,7 +687,7 @@ The handoff token is:
|
|
|
764
687
|
|
|
765
688
|
* @summary Complete authentication and create handoff token
|
|
766
689
|
*/
|
|
767
|
-
const createHandoffPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
690
|
+
const createHandoffPathAttemptIdRegExp = /* @__PURE__ */ new RegExp("^att_[a-zA-Z0-9_-]+$");
|
|
768
691
|
const CreateHandoffParams = zod.object({ attempt_id: zod.string().regex(createHandoffPathAttemptIdRegExp).describe("The unique identifier of the authentication attempt") });
|
|
769
692
|
const CreateHandoffHeader = zod.strictObject({ "Idempotency-Key": zod.string().optional().describe("Optional retry key for safe retries of the call.\nRetries carrying the same key within the call window return the cached\npayload without creating a new resource. See details in the endpoint description.\n") });
|
|
770
693
|
const CreateHandoffResponse = zod.object({
|
|
@@ -777,8 +700,8 @@ const CreateHandoffResponse = zod.object({
|
|
|
777
700
|
const createProjectBodySeedDefaultsDefault = true;
|
|
778
701
|
const CreateProjectBody = zod.object({
|
|
779
702
|
name: zod.string().describe("The name of the project."),
|
|
780
|
-
|
|
781
|
-
|
|
703
|
+
preview_origins: zod.array(zod.string()).optional().describe("Origins which are allowed for previewing and testing the project.\n"),
|
|
704
|
+
seed_defaults: zod.boolean().default(true).describe("Whether the server should provision fallback default user schema and flow\nresources for the project. CLI-managed projects set this to false and\nupload their local .zitadel config files through the schema and flow APIs.\n")
|
|
782
705
|
});
|
|
783
706
|
/**
|
|
784
707
|
* @summary Query projects
|
|
@@ -787,13 +710,13 @@ const queryProjectsBodyLimitDefault = 20;
|
|
|
787
710
|
const queryProjectsBodyLimitMax = 100;
|
|
788
711
|
const QueryProjectsBody = zod.object({
|
|
789
712
|
limit: zod.number().min(1).max(100).default(20),
|
|
790
|
-
page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to retrieve the next page of results."),
|
|
713
|
+
page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to retrieve the next page of results. Must be sent with the same\n`sorting` as the request that issued the token. Omitting `sorting` reuses\nthe default sort and only succeeds when that default matches the token.\n"),
|
|
791
714
|
sorting: zod.object({
|
|
792
|
-
field: zod.enum(["
|
|
715
|
+
field: zod.enum(["created_at"]),
|
|
793
716
|
direction: zod.enum(["asc", "desc"])
|
|
794
717
|
}).optional(),
|
|
795
718
|
filter: zod.array(zod.object({
|
|
796
|
-
field: zod.enum(["
|
|
719
|
+
field: zod.enum(["created_at"]),
|
|
797
720
|
value: zod.union([
|
|
798
721
|
zod.string(),
|
|
799
722
|
zod.number(),
|
|
@@ -809,18 +732,18 @@ const QueryProjectsBody = zod.object({
|
|
|
809
732
|
"less_than_or_equal",
|
|
810
733
|
"greater_than",
|
|
811
734
|
"greater_than_or_equal"
|
|
812
|
-
]).describe("Filter operation defines the operations which can be used when filtering on a\nquery endpoint.\n")
|
|
735
|
+
]).describe("Filter operation defines the operations which can be used when filtering on a\nquery endpoint.\n\nOn text fields, `contains` is a case-insensitive substring match. `equals`\ncompares the whole value and is case-sensitive unless the field documents\notherwise.\n")
|
|
813
736
|
})).optional().describe("Filter criteria for querying projects.")
|
|
814
737
|
}).describe("Request to query projects.");
|
|
815
738
|
const QueryProjectsResponse = zod.object({
|
|
816
739
|
projects: zod.array(zod.object({
|
|
817
740
|
id: zod.string().describe("The unique identifier of the project."),
|
|
818
741
|
name: zod.string().describe("The name of the project."),
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
742
|
+
preview_origins: zod.array(zod.string()).optional().describe("Origins which are allowed for previewing and testing the project.\n"),
|
|
743
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the project was created."),
|
|
744
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the project was last updated.")
|
|
822
745
|
}).describe("The current state of a project.")),
|
|
823
|
-
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results.\n")
|
|
746
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results. The follow-up request must repeat the\nsame `sorting` that produced this token (omit only when both pages use the default).\n")
|
|
824
747
|
}).describe("Paginated list of projects.");
|
|
825
748
|
/**
|
|
826
749
|
* Returns the current state of a project.
|
|
@@ -832,9 +755,9 @@ const GetProjectParams = zod.object({ project_id: zod.string().regex(getProjectP
|
|
|
832
755
|
const GetProjectResponse = zod.object({
|
|
833
756
|
id: zod.string().describe("The unique identifier of the project."),
|
|
834
757
|
name: zod.string().describe("The name of the project."),
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
758
|
+
preview_origins: zod.array(zod.string()).optional().describe("Origins which are allowed for previewing and testing the project.\n"),
|
|
759
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the project was created."),
|
|
760
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the project was last updated.")
|
|
838
761
|
}).describe("The current state of a project.");
|
|
839
762
|
/**
|
|
840
763
|
* Updates the state of a project.
|
|
@@ -847,11 +770,60 @@ const PatchProjectBody = zod.object({ name: zod.union([zod.null(), zod.string()]
|
|
|
847
770
|
const PatchProjectResponse = zod.object({
|
|
848
771
|
id: zod.string().describe("The unique identifier of the project."),
|
|
849
772
|
name: zod.string().describe("The name of the project."),
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
773
|
+
preview_origins: zod.array(zod.string()).optional().describe("Origins which are allowed for previewing and testing the project.\n"),
|
|
774
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the project was created."),
|
|
775
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the project was last updated.")
|
|
853
776
|
}).describe("The current state of a project.");
|
|
854
777
|
/**
|
|
778
|
+
* Starts a claim challenge for an unclaimed project. Authenticated by the
|
|
779
|
+
project secret, this mints a single-use, short-lived challenge and returns
|
|
780
|
+
the `claim_url` the developer opens in a browser to complete the claim,
|
|
781
|
+
together with the `challenge_id` the CLI polls with. The exact expiry is
|
|
782
|
+
carried by `expires_at` on the response.
|
|
783
|
+
|
|
784
|
+
* @summary Initialize a project claim
|
|
785
|
+
*/
|
|
786
|
+
const initClaimPathProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
787
|
+
const InitClaimParams = zod.object({ project_id: zod.string().regex(initClaimPathProjectIdRegExp) });
|
|
788
|
+
/**
|
|
789
|
+
* Polled by the CLI while a browser completes the claim. Authorized by the
|
|
790
|
+
project secret that initiated the challenge. Returns `pending`, or
|
|
791
|
+
`completed` with the owning team, the claim timestamp, and the dashboard
|
|
792
|
+
URL once the browser leg has finished.
|
|
793
|
+
|
|
794
|
+
* @summary Get claim status
|
|
795
|
+
*/
|
|
796
|
+
const getClaimStatusPathProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
797
|
+
const GetClaimStatusParams = zod.object({ project_id: zod.string().regex(getClaimStatusPathProjectIdRegExp) });
|
|
798
|
+
const getClaimStatusQueryChallengeIdRegExp = /* @__PURE__ */ new RegExp("^ch_[a-zA-Z0-9_-]+$");
|
|
799
|
+
const GetClaimStatusQueryParams = zod.strictObject({ challenge_id: zod.string().regex(getClaimStatusQueryChallengeIdRegExp).describe("The challenge minted by the matching claim init.") });
|
|
800
|
+
const getClaimStatusResponseTwoTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
801
|
+
const GetClaimStatusResponse = zod.union([zod.object({ status: zod.enum(["pending"]).describe("The claim has not completed yet.") }).describe("A claim challenge that is still awaiting the browser leg."), zod.object({
|
|
802
|
+
status: zod.enum(["completed"]).describe("The claim has completed."),
|
|
803
|
+
team_id: zod.string().regex(getClaimStatusResponseTwoTeamIdRegExp),
|
|
804
|
+
claimed_at: zod.iso.datetime({ offset: true }).describe("The time when the project was claimed."),
|
|
805
|
+
dashboard_url: zod.url().describe("The dashboard URL for the owning team.")
|
|
806
|
+
}).describe("A completed claim. Carries the owning team, when the claim landed, and the\ndashboard where it can be managed, so a generated client can rely on those\nfields being present whenever `status` is `completed`.\n")]).describe("The state of a claim challenge. While pending it carries only `status`; once\ncompleted it also carries the owning team, the claim timestamp, and the\ndashboard URL. Modelled as discriminated variants so a `pending` response can\nnever carry stale completion fields and a `completed` response always carries\nthem.\n");
|
|
807
|
+
/**
|
|
808
|
+
* Called by the browser after the developer authenticates on the claim page.
|
|
809
|
+
Authenticated by the `__nextgen_session` cookie, it attaches the project to
|
|
810
|
+
the developer's personal team using the `challenge_id` from the claim URL as
|
|
811
|
+
its single-use, browser-safe authorization.
|
|
812
|
+
|
|
813
|
+
* @summary Complete a project claim
|
|
814
|
+
*/
|
|
815
|
+
const completeClaimPathProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
816
|
+
const CompleteClaimParams = zod.object({ project_id: zod.string().regex(completeClaimPathProjectIdRegExp) });
|
|
817
|
+
const completeClaimBodyChallengeIdRegExp = /* @__PURE__ */ new RegExp("^ch_[a-zA-Z0-9_-]+$");
|
|
818
|
+
const CompleteClaimBody = zod.object({ challenge_id: zod.string().regex(completeClaimBodyChallengeIdRegExp).describe("Unique identifier for this challenge (dialect-minted prefixed opaque string).") }).describe("The request to complete a project claim.");
|
|
819
|
+
const completeClaimResponseProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
820
|
+
const completeClaimResponseTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
821
|
+
const CompleteClaimResponse = zod.object({
|
|
822
|
+
project_id: zod.string().regex(completeClaimResponseProjectIdRegExp),
|
|
823
|
+
team_id: zod.string().regex(completeClaimResponseTeamIdRegExp),
|
|
824
|
+
claimed_at: zod.iso.datetime({ offset: true }).describe("The time when the project was claimed.")
|
|
825
|
+
}).describe("The result of a completed project claim.");
|
|
826
|
+
/**
|
|
855
827
|
* Creates an anonymous session shell with no user and no factors (`state: building`).
|
|
856
828
|
|
|
857
829
|
This is optional — an `auth_attempt` will create a session implicitly if none is provided.
|
|
@@ -860,8 +832,16 @@ Use this explicitly when you want to:
|
|
|
860
832
|
can be correlated with the eventual authenticated session from the start.
|
|
861
833
|
- Track anonymous state (bot detection, device fingerprint) that survives until authentication.
|
|
862
834
|
|
|
863
|
-
|
|
864
|
-
|
|
835
|
+
Creating a session is an app-plane operation on the project credential
|
|
836
|
+
(`session.write`). The returned `session_token` is a session credential for the
|
|
837
|
+
end-user client, not a management scope: it is delivered as the
|
|
838
|
+
`__nextgen_session` cookie and authorises the self-service operations
|
|
839
|
+
`GET /sessions/me` and `DELETE /sessions/me` (`nextgenSession` scheme). The
|
|
840
|
+
by-id operations `GET /sessions/{session_id}` and `DELETE /sessions/{session_id}`
|
|
841
|
+
are operator endpoints and require `session.read` / `session.delete` instead.
|
|
842
|
+
|
|
843
|
+
The `session_token` is superseded when a handoff exchange completes — clients must
|
|
844
|
+
replace it at that point.
|
|
865
845
|
|
|
866
846
|
Anonymous sessions expire aggressively (10-minute TTL). The TTL resets to the configured
|
|
867
847
|
full session TTL when the first authentication factor is written via a completing `auth_attempt`.
|
|
@@ -877,42 +857,61 @@ const CreateSessionBody = zod.object({
|
|
|
877
857
|
}).optional().describe("Optional user agent / device context to attach to the session.\nUseful for correlating telemetry and device signals with the eventual\nauthenticated session from the start.\n")
|
|
878
858
|
}).describe("Request to create an anonymous session shell.");
|
|
879
859
|
/**
|
|
880
|
-
* Returns
|
|
881
|
-
|
|
860
|
+
* Returns the sessions of a project, paginated with a cursor.
|
|
861
|
+
Sessions of every lifecycle state are returned; each carries its `state`.
|
|
862
|
+
Requires `session.read` permission.
|
|
882
863
|
|
|
883
|
-
* @summary
|
|
864
|
+
* @summary Query sessions
|
|
884
865
|
*/
|
|
885
|
-
const
|
|
886
|
-
const
|
|
887
|
-
const
|
|
888
|
-
const
|
|
889
|
-
const
|
|
890
|
-
limit: zod.number().min(1).max(100).default(20)
|
|
891
|
-
page_token: zod.string().optional().describe("Token
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
"
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
866
|
+
const querySessionsQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
867
|
+
const QuerySessionsQueryParams = zod.strictObject({ project_id: zod.string().regex(querySessionsQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
868
|
+
const querySessionsBodyLimitDefault = 20;
|
|
869
|
+
const querySessionsBodyLimitMax = 100;
|
|
870
|
+
const QuerySessionsBody = zod.object({
|
|
871
|
+
limit: zod.number().min(1).max(100).default(20),
|
|
872
|
+
page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to retrieve the next page of results."),
|
|
873
|
+
sorting: zod.object({
|
|
874
|
+
field: zod.enum(["created_at", "user_id"]).describe("Field to sort sessions by. Only stored columns are sortable: the keyset\ncursor holds the last row's sort values, so a computed value such as\n`state` would skip or duplicate rows between pages.\n"),
|
|
875
|
+
direction: zod.enum(["asc", "desc"])
|
|
876
|
+
}).optional(),
|
|
877
|
+
filter: zod.array(zod.object({
|
|
878
|
+
field: zod.enum([
|
|
879
|
+
"created_at",
|
|
880
|
+
"user_id",
|
|
881
|
+
"state"
|
|
882
|
+
]).describe("Field to filter sessions by:\n- `created_at`: RFC3339 timestamp\n- `user_id`: user id\n- `state`: one of `building`, `active`, `expired`. State is computed at read\n time, so a session expiring mid-request can match `active` but return `expired`.\n"),
|
|
883
|
+
value: zod.union([
|
|
884
|
+
zod.string(),
|
|
885
|
+
zod.number(),
|
|
886
|
+
zod.boolean(),
|
|
887
|
+
zod.null()
|
|
888
|
+
]).optional().describe("Filter-value specifies which values can be filtered by a query endpoint. This\nis a union of types. When a value is specified which is not assignable to the\nfield which is being filtered, a 400 error will be returned.\n"),
|
|
889
|
+
operation: zod.enum([
|
|
890
|
+
"equals",
|
|
891
|
+
"not_equals",
|
|
892
|
+
"contains",
|
|
893
|
+
"not_contains",
|
|
894
|
+
"less_than",
|
|
895
|
+
"less_than_or_equal",
|
|
896
|
+
"greater_than",
|
|
897
|
+
"greater_than_or_equal"
|
|
898
|
+
]).describe("Filter operation defines the operations which can be used when filtering on a\nquery endpoint.\n\nOn text fields, `contains` is a case-insensitive substring match. `equals`\ncompares the whole value and is case-sensitive unless the field documents\notherwise.\n")
|
|
899
|
+
})).optional().describe("Filter criteria for querying sessions.")
|
|
900
|
+
}).describe("Request to query the sessions of a project.");
|
|
901
|
+
const querySessionsResponseSessionsItemSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
902
|
+
const querySessionsResponseSessionsItemProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
903
|
+
const querySessionsResponseSessionsItemUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
904
|
+
const querySessionsResponseSessionsItemFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
905
|
+
const QuerySessionsResponse = zod.object({
|
|
906
906
|
sessions: zod.array(zod.object({
|
|
907
|
-
session_id: zod.string().regex(
|
|
908
|
-
project_id: zod.string().regex(
|
|
907
|
+
session_id: zod.string().regex(querySessionsResponseSessionsItemSessionIdRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."),
|
|
908
|
+
project_id: zod.string().regex(querySessionsResponseSessionsItemProjectIdRegExp),
|
|
909
909
|
state: zod.enum([
|
|
910
910
|
"building",
|
|
911
911
|
"active",
|
|
912
|
-
"expired"
|
|
913
|
-
|
|
914
|
-
]).describe("
|
|
915
|
-
user_id: zod.union([zod.string().regex(listSessionsResponseSessionsItemUserIdOneRegExp), zod.null()]).optional().describe("The authenticated user. Null for anonymous sessions and until the `user`\nfactor has been verified through an `auth_attempt`.\n"),
|
|
912
|
+
"expired"
|
|
913
|
+
]).describe("Current lifecycle state of the session:\n- `building`: no verified authentication factors yet\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n"),
|
|
914
|
+
user_id: zod.union([zod.string().regex(querySessionsResponseSessionsItemUserIdOneRegExp), zod.null()]).optional().describe("The authenticated user. Null for anonymous sessions and until the `user`\nfactor has been verified through an `auth_attempt`.\n"),
|
|
916
915
|
name: zod.string().optional().describe("Human-readable name of the authenticated user, resolved from the\nconventional user-schema properties: `name` when defined, otherwise\nthe given and family name parts joined — `givenName`/`familyName`\n(the shipped presets' spelling) or `given_name`/`family_name`. Only\npresent on reads that hydrate the user's identity\n(`GET /sessions/me`) and only when the session has an authenticated\nuser whose schema carries those properties; clients fall back to\n`email`, then `user_id`.\n"),
|
|
917
916
|
email: zod.string().optional().describe("Email address of the authenticated user, resolved from the\nconventional `email` user-schema property. Only present on reads\nthat hydrate the user's identity (`GET /sessions/me`) and only when\nthe session has an authenticated user whose schema carries that\nproperty.\n"),
|
|
918
917
|
factors: zod.array(zod.object({
|
|
@@ -923,7 +922,7 @@ const ListSessionsResponse = zod.object({
|
|
|
923
922
|
]).describe("An authentication factor method."),
|
|
924
923
|
verified_at: zod.iso.datetime({ offset: true }).describe("When this factor was successfully verified"),
|
|
925
924
|
payload: zod.union([
|
|
926
|
-
zod.object({ user_id: zod.string().regex(
|
|
925
|
+
zod.object({ user_id: zod.string().regex(querySessionsResponseSessionsItemFactorsItemPayloadOneUserIdRegExp) }).describe("Identifier-specific factor metadata"),
|
|
927
926
|
zod.object({}).describe("Password authentication has no additional metadata beyond the base factor fields"),
|
|
928
927
|
zod.object({
|
|
929
928
|
credential_id: zod.string().describe("The credential ID that was used"),
|
|
@@ -973,20 +972,19 @@ const ExchangeHandoffBody = zod.object({
|
|
|
973
972
|
handoff_token: zod.string().describe("The one-time handoff token minted by `POST /auth_attempts/{id}/handoff`.\nSingle-use — replaying it after a successful exchange returns `410 Gone`.\n"),
|
|
974
973
|
ttl: zod.string().optional().describe("Optional session lifetime after exchange as an ISO-8601 duration. When omitted, the server\nuses the configured default. Must not exceed the configured maximum.\n")
|
|
975
974
|
}).describe("Request to exchange a handoff token for a session and session_token.");
|
|
976
|
-
const exchangeHandoffResponseSessionSessionIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
975
|
+
const exchangeHandoffResponseSessionSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
977
976
|
const exchangeHandoffResponseSessionProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
978
977
|
const exchangeHandoffResponseSessionUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
979
978
|
const exchangeHandoffResponseSessionFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
980
979
|
const ExchangeHandoffResponse = zod.object({
|
|
981
980
|
session: zod.object({
|
|
982
|
-
session_id: zod.string().regex(exchangeHandoffResponseSessionSessionIdRegExp).describe("Unique identifier for this session."),
|
|
981
|
+
session_id: zod.string().regex(exchangeHandoffResponseSessionSessionIdRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."),
|
|
983
982
|
project_id: zod.string().regex(exchangeHandoffResponseSessionProjectIdRegExp),
|
|
984
983
|
state: zod.enum([
|
|
985
984
|
"building",
|
|
986
985
|
"active",
|
|
987
|
-
"expired"
|
|
988
|
-
|
|
989
|
-
]).describe("Current lifecycle state of the session:\n- `building`: has a user factor but is still gathering authentication factors\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n- `revoked`: explicitly revoked via DELETE\n"),
|
|
986
|
+
"expired"
|
|
987
|
+
]).describe("Current lifecycle state of the session:\n- `building`: no verified authentication factors yet\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n"),
|
|
990
988
|
user_id: zod.union([zod.string().regex(exchangeHandoffResponseSessionUserIdOneRegExp), zod.null()]).optional().describe("The authenticated user. Null for anonymous sessions and until the `user`\nfactor has been verified through an `auth_attempt`.\n"),
|
|
991
989
|
name: zod.string().optional().describe("Human-readable name of the authenticated user, resolved from the\nconventional user-schema properties: `name` when defined, otherwise\nthe given and family name parts joined — `givenName`/`familyName`\n(the shipped presets' spelling) or `given_name`/`family_name`. Only\npresent on reads that hydrate the user's identity\n(`GET /sessions/me`) and only when the session has an authenticated\nuser whose schema carries those properties; clients fall back to\n`email`, then `user_id`.\n"),
|
|
992
990
|
email: zod.string().optional().describe("Email address of the authenticated user, resolved from the\nconventional `email` user-schema property. Only present on reads\nthat hydrate the user's identity (`GET /sessions/me`) and only when\nthe session has an authenticated user whose schema carries that\nproperty.\n"),
|
|
@@ -1030,23 +1028,20 @@ against the same `session_id`) to restore a dropped assurance level.
|
|
|
1030
1028
|
|
|
1031
1029
|
* @summary Get session state
|
|
1032
1030
|
*/
|
|
1033
|
-
const getSessionPathSessionIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1031
|
+
const getSessionPathSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
1034
1032
|
const GetSessionParams = zod.object({ session_id: zod.string().regex(getSessionPathSessionIdRegExp).describe("The unique identifier of the session.") });
|
|
1035
|
-
const
|
|
1036
|
-
const GetSessionQueryParams = zod.strictObject({ project_id: zod.string().regex(getSessionQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1037
|
-
const getSessionResponseSessionIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1033
|
+
const getSessionResponseSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
1038
1034
|
const getSessionResponseProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1039
1035
|
const getSessionResponseUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
1040
1036
|
const getSessionResponseFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
1041
1037
|
const GetSessionResponse = zod.object({
|
|
1042
|
-
session_id: zod.string().regex(getSessionResponseSessionIdRegExp).describe("Unique identifier for this session."),
|
|
1038
|
+
session_id: zod.string().regex(getSessionResponseSessionIdRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."),
|
|
1043
1039
|
project_id: zod.string().regex(getSessionResponseProjectIdRegExp),
|
|
1044
1040
|
state: zod.enum([
|
|
1045
1041
|
"building",
|
|
1046
1042
|
"active",
|
|
1047
|
-
"expired"
|
|
1048
|
-
|
|
1049
|
-
]).describe("Current lifecycle state of the session:\n- `building`: has a user factor but is still gathering authentication factors\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n- `revoked`: explicitly revoked via DELETE\n"),
|
|
1043
|
+
"expired"
|
|
1044
|
+
]).describe("Current lifecycle state of the session:\n- `building`: no verified authentication factors yet\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n"),
|
|
1050
1045
|
user_id: zod.union([zod.string().regex(getSessionResponseUserIdOneRegExp), zod.null()]).optional().describe("The authenticated user. Null for anonymous sessions and until the `user`\nfactor has been verified through an `auth_attempt`.\n"),
|
|
1051
1046
|
name: zod.string().optional().describe("Human-readable name of the authenticated user, resolved from the\nconventional user-schema properties: `name` when defined, otherwise\nthe given and family name parts joined — `givenName`/`familyName`\n(the shipped presets' spelling) or `given_name`/`family_name`. Only\npresent on reads that hydrate the user's identity\n(`GET /sessions/me`) and only when the session has an authenticated\nuser whose schema carries those properties; clients fall back to\n`email`, then `user_id`.\n"),
|
|
1052
1047
|
email: zod.string().optional().describe("Email address of the authenticated user, resolved from the\nconventional `email` user-schema property. Only present on reads\nthat hydrate the user's identity (`GET /sessions/me`) and only when\nthe session has an authenticated user whose schema carries that\nproperty.\n"),
|
|
@@ -1079,17 +1074,20 @@ const GetSessionResponse = zod.object({
|
|
|
1079
1074
|
expires_at: zod.iso.datetime({ offset: true }).describe("When this session expires. Short TTL (10 min) for anonymous sessions;\nreset to the full configured session TTL once the first authentication factor is written.\n")
|
|
1080
1075
|
}).describe("The current state of a session.\n\nA session is the durable post-auth primitive. It accumulates verified authentication\nfactors and exposes `assurance_levels[]` — the set of assurance profiles its current\nfactors satisfy. Sessions are read-only from the client's perspective: factors flow\nin through `auth_attempts`.\n");
|
|
1081
1076
|
/**
|
|
1082
|
-
*
|
|
1077
|
+
* Permanently deletes the session, terminating it immediately.
|
|
1078
|
+
|
|
1079
|
+
This is the operator revoke path and requires the `session.delete` scope on a
|
|
1080
|
+
project-bound credential. End-user logout with the `__nextgen_session` cookie is
|
|
1081
|
+
`DELETE /sessions/me` (`nextgenSession` scheme).
|
|
1083
1082
|
|
|
1084
|
-
|
|
1085
|
-
After
|
|
1083
|
+
Idempotent: deleting a session that does not exist (or was already deleted)
|
|
1084
|
+
still returns 204. After deletion, any tokens derived from the session are
|
|
1085
|
+
invalidated.
|
|
1086
1086
|
|
|
1087
1087
|
* @summary Revoke session
|
|
1088
1088
|
*/
|
|
1089
|
-
const revokeSessionPathSessionIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1089
|
+
const revokeSessionPathSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
1090
1090
|
const RevokeSessionParams = zod.object({ session_id: zod.string().regex(revokeSessionPathSessionIdRegExp).describe("The unique identifier of the session.") });
|
|
1091
|
-
const revokeSessionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1092
|
-
const RevokeSessionQueryParams = zod.strictObject({ project_id: zod.string().regex(revokeSessionQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1093
1091
|
/**
|
|
1094
1092
|
* Returns the current state of the current session including its factors and all currently
|
|
1095
1093
|
satisfied assurance levels.
|
|
@@ -1100,19 +1098,18 @@ against the same `session_id`) to restore a dropped assurance level.
|
|
|
1100
1098
|
|
|
1101
1099
|
* @summary Get my session state
|
|
1102
1100
|
*/
|
|
1103
|
-
const getMySessionResponseSessionIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1101
|
+
const getMySessionResponseSessionIdRegExp = /* @__PURE__ */ new RegExp("^sess_[a-zA-Z0-9_-]+$");
|
|
1104
1102
|
const getMySessionResponseProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1105
1103
|
const getMySessionResponseUserIdOneRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
1106
1104
|
const getMySessionResponseFactorsItemPayloadOneUserIdRegExp = /* @__PURE__ */ new RegExp("^user_[a-zA-Z0-9_-]+$");
|
|
1107
1105
|
const GetMySessionResponse = zod.object({
|
|
1108
|
-
session_id: zod.string().regex(getMySessionResponseSessionIdRegExp).describe("Unique identifier for this session."),
|
|
1106
|
+
session_id: zod.string().regex(getMySessionResponseSessionIdRegExp).describe("Unique identifier for this session (dialect-minted prefixed opaque string)."),
|
|
1109
1107
|
project_id: zod.string().regex(getMySessionResponseProjectIdRegExp),
|
|
1110
1108
|
state: zod.enum([
|
|
1111
1109
|
"building",
|
|
1112
1110
|
"active",
|
|
1113
|
-
"expired"
|
|
1114
|
-
|
|
1115
|
-
]).describe("Current lifecycle state of the session:\n- `building`: has a user factor but is still gathering authentication factors\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n- `revoked`: explicitly revoked via DELETE\n"),
|
|
1111
|
+
"expired"
|
|
1112
|
+
]).describe("Current lifecycle state of the session:\n- `building`: no verified authentication factors yet\n- `active`: has at least one verified authentication factor; `assurance_levels[]` may shrink as factors age\n- `expired`: TTL elapsed\n"),
|
|
1116
1113
|
user_id: zod.union([zod.string().regex(getMySessionResponseUserIdOneRegExp), zod.null()]).optional().describe("The authenticated user. Null for anonymous sessions and until the `user`\nfactor has been verified through an `auth_attempt`.\n"),
|
|
1117
1114
|
name: zod.string().optional().describe("Human-readable name of the authenticated user, resolved from the\nconventional user-schema properties: `name` when defined, otherwise\nthe given and family name parts joined — `givenName`/`familyName`\n(the shipped presets' spelling) or `given_name`/`family_name`. Only\npresent on reads that hydrate the user's identity\n(`GET /sessions/me`) and only when the session has an authenticated\nuser whose schema carries those properties; clients fall back to\n`email`, then `user_id`.\n"),
|
|
1118
1115
|
email: zod.string().optional().describe("Email address of the authenticated user, resolved from the\nconventional `email` user-schema property. Only present on reads\nthat hydrate the user's identity (`GET /sessions/me`) and only when\nthe session has an authenticated user whose schema carries that\nproperty.\n"),
|
|
@@ -1145,10 +1142,12 @@ const GetMySessionResponse = zod.object({
|
|
|
1145
1142
|
expires_at: zod.iso.datetime({ offset: true }).describe("When this session expires. Short TTL (10 min) for anonymous sessions;\nreset to the full configured session TTL once the first authentication factor is written.\n")
|
|
1146
1143
|
}).describe("The current state of a session.\n\nA session is the durable post-auth primitive. It accumulates verified authentication\nfactors and exposes `assurance_levels[]` — the set of assurance profiles its current\nfactors satisfy. Sessions are read-only from the client's perspective: factors flow\nin through `auth_attempts`.\n");
|
|
1147
1144
|
/**
|
|
1148
|
-
* Create a new schema. The
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1145
|
+
* Create a new schema. The optional `$id` field is the JSON Schema document
|
|
1146
|
+
URI used to identify the schema in future requests (GitOps-stable identity,
|
|
1147
|
+
not a free-form resource primary key). When `$id` is omitted, the server
|
|
1148
|
+
generates a `sch_*` URL. When provided, `$id` must be unique within the
|
|
1149
|
+
project and should ideally be a valid URI pointing at where the schema can
|
|
1150
|
+
be accessed.
|
|
1152
1151
|
|
|
1153
1152
|
The schema can either be a concrete schema, e.g. a user schema, or a
|
|
1154
1153
|
schema-url which will be resolved by the server.
|
|
@@ -1162,53 +1161,28 @@ const CreateSchemaQueryParams = zod.strictObject({
|
|
|
1162
1161
|
team_id: zod.string().regex(createSchemaQueryTeamIdRegExp).optional().describe("The unique identifier of the team")
|
|
1163
1162
|
});
|
|
1164
1163
|
const createSchemaBodyOneObjectTypeMax = 256;
|
|
1165
|
-
const
|
|
1166
|
-
const createSchemaBodyOneXAuthMethodsPasskeyPositionMin = 0;
|
|
1167
|
-
const createSchemaBodyOneXAuthMethodsMagicLinkPositionMin = 0;
|
|
1168
|
-
const createSchemaBodyOneXAuthMethodsSsoPositionMin = 0;
|
|
1169
|
-
const createSchemaBodyOneXAuthMethodsOtpPositionMin = 0;
|
|
1170
|
-
const createSchemaBodyOnePropertiesXEditableDefault = true;
|
|
1171
|
-
const createSchemaBodyOnePropertiesXSensitiveDefault = false;
|
|
1172
|
-
const createSchemaBodyOnePropertiesXMfaDefault = false;
|
|
1164
|
+
const createSchemaBodyOnePropertiesXAuditDefault = false;
|
|
1173
1165
|
const CreateSchemaBody = zod.union([zod.object({
|
|
1174
1166
|
objectType: zod.string().max(256).optional().describe("The type of user this schema describes. This is a customer chosen name.\n"),
|
|
1175
1167
|
kind: zod.literal("user-schema").describe("Discriminator value for a user schema create request."),
|
|
1176
1168
|
metaSchema: zod.url().describe("The user Schema version used for this schema."),
|
|
1177
1169
|
"x-auth-methods": zod.object({
|
|
1178
|
-
password: zod.object({
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
}).optional(),
|
|
1182
|
-
|
|
1183
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1184
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1185
|
-
}).optional(),
|
|
1186
|
-
magic_link: zod.object({
|
|
1187
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1188
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1189
|
-
}).optional(),
|
|
1190
|
-
sso: zod.object({
|
|
1191
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1192
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1193
|
-
}).optional(),
|
|
1194
|
-
otp: zod.object({
|
|
1195
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1196
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1197
|
-
}).optional()
|
|
1170
|
+
password: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1171
|
+
passkey: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1172
|
+
magic_link: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1173
|
+
sso: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1174
|
+
otp: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional()
|
|
1198
1175
|
}).describe("A list of authentication methods supported by the user definition."),
|
|
1199
1176
|
properties: zod.record(zod.string(), zod.object({
|
|
1200
|
-
"x-verify": zod.union([zod.string(), zod.null()]).optional().describe("The verification method for this property, if applicable"),
|
|
1201
1177
|
"x-unique": zod.union([zod.enum([
|
|
1202
1178
|
"unspecified",
|
|
1203
1179
|
"project",
|
|
1204
1180
|
"team"
|
|
1205
1181
|
]), zod.null()]).optional().describe("The level of uniqueness for this property, if applicable"),
|
|
1206
1182
|
"x-claim": zod.union([zod.string(), zod.null()]).optional().describe("The claim name for this property, if applicable"),
|
|
1207
|
-
"x-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
properties: zod.record(zod.string(), zod.unknown()).optional().describe("A map of additional properties for the user definition, where the key is the property name and the value is the property schema")
|
|
1211
|
-
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`. \nThis is done because a lot of code generators cannot handle that.\n")).optional().describe("A map of additional properties for the user definition, where the\nkey is the property name and the value is the property schema\n")
|
|
1183
|
+
"x-audit": zod.boolean().default(false).describe("Whether this property's value may appear in audit event payloads. Audit\npayloads are deny-by-default: a property without this annotation\ncontributes its key but never its value.\n"),
|
|
1184
|
+
properties: zod.record(zod.string(), zod.unknown()).optional().describe("A map of additional properties for the user definition, where the key is\nthe property name and the value is the property schema.\n")
|
|
1185
|
+
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`.\nThis is done because a lot of code generators cannot handle that.\n\nNative JSON Schema keywords such as `type`, `format`, `title` and `writeOnly`\nare accepted without being listed below. `writeOnly: true` is reserved for a\nvalue that may be written but is never returned by the read API; nothing\nenforces it today, so responses still include write-only properties.\n")).optional().describe("A map of additional properties for the user definition, where the\nkey is the property name and the value is the property schema\n")
|
|
1212
1186
|
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`. \nThis is done because a lot of code generators cannot handle that.\n"), zod.object({
|
|
1213
1187
|
kind: zod.literal("schema-url").describe("Discriminator value for a user schema create request."),
|
|
1214
1188
|
url: zod.url().describe("URL to the schema definition.")
|
|
@@ -1231,7 +1205,7 @@ const ListSchemasQueryParams = zod.strictObject({
|
|
|
1231
1205
|
});
|
|
1232
1206
|
const ListSchemasResponseItem = zod.object({
|
|
1233
1207
|
id: zod.string().describe("The unique identifier for this schema."),
|
|
1234
|
-
|
|
1208
|
+
created_at: zod.iso.datetime({ offset: true })
|
|
1235
1209
|
});
|
|
1236
1210
|
const ListSchemasResponse = zod.array(ListSchemasResponseItem);
|
|
1237
1211
|
/**
|
|
@@ -1239,60 +1213,31 @@ const ListSchemasResponse = zod.array(ListSchemasResponseItem);
|
|
|
1239
1213
|
* @summary Get schema by ID
|
|
1240
1214
|
*/
|
|
1241
1215
|
const GetSchemaByIdParams = zod.object({ id: zod.string() });
|
|
1242
|
-
const getSchemaByIdQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1243
1216
|
const getSchemaByIdQueryTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1244
|
-
const GetSchemaByIdQueryParams = zod.strictObject({
|
|
1245
|
-
project_id: zod.string().regex(getSchemaByIdQueryProjectIdRegExp).describe("The unique identifier of the project"),
|
|
1246
|
-
team_id: zod.string().regex(getSchemaByIdQueryTeamIdRegExp).optional().describe("The unique identifier of the team")
|
|
1247
|
-
});
|
|
1217
|
+
const GetSchemaByIdQueryParams = zod.strictObject({ team_id: zod.string().regex(getSchemaByIdQueryTeamIdRegExp).optional().describe("The unique identifier of the team") });
|
|
1248
1218
|
const getSchemaByIdResponseOneObjectTypeMax = 256;
|
|
1249
|
-
const
|
|
1250
|
-
const getSchemaByIdResponseOneXAuthMethodsPasskeyPositionMin = 0;
|
|
1251
|
-
const getSchemaByIdResponseOneXAuthMethodsMagicLinkPositionMin = 0;
|
|
1252
|
-
const getSchemaByIdResponseOneXAuthMethodsSsoPositionMin = 0;
|
|
1253
|
-
const getSchemaByIdResponseOneXAuthMethodsOtpPositionMin = 0;
|
|
1254
|
-
const getSchemaByIdResponseOnePropertiesXEditableDefault = true;
|
|
1255
|
-
const getSchemaByIdResponseOnePropertiesXSensitiveDefault = false;
|
|
1256
|
-
const getSchemaByIdResponseOnePropertiesXMfaDefault = false;
|
|
1219
|
+
const getSchemaByIdResponseOnePropertiesXAuditDefault = false;
|
|
1257
1220
|
const GetSchemaByIdResponse = zod.object({
|
|
1258
1221
|
objectType: zod.string().max(256).optional().describe("The type of user this schema describes. This is a customer chosen name.\n"),
|
|
1259
1222
|
kind: zod.literal("user-schema").describe("Discriminator value for a user schema create request."),
|
|
1260
1223
|
metaSchema: zod.url().describe("The user Schema version used for this schema."),
|
|
1261
1224
|
"x-auth-methods": zod.object({
|
|
1262
|
-
password: zod.object({
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
}).optional(),
|
|
1266
|
-
|
|
1267
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1268
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1269
|
-
}).optional(),
|
|
1270
|
-
magic_link: zod.object({
|
|
1271
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1272
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1273
|
-
}).optional(),
|
|
1274
|
-
sso: zod.object({
|
|
1275
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1276
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1277
|
-
}).optional(),
|
|
1278
|
-
otp: zod.object({
|
|
1279
|
-
enabled: zod.boolean().describe("Whether the authentication method is enabled or not"),
|
|
1280
|
-
position: zod.number().min(0).describe("The position of the authentication method in the list of supported methods")
|
|
1281
|
-
}).optional()
|
|
1225
|
+
password: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1226
|
+
passkey: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1227
|
+
magic_link: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1228
|
+
sso: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional(),
|
|
1229
|
+
otp: zod.object({ enabled: zod.boolean().describe("Whether the authentication method is enabled or not") }).optional()
|
|
1282
1230
|
}).describe("A list of authentication methods supported by the user definition."),
|
|
1283
1231
|
properties: zod.record(zod.string(), zod.object({
|
|
1284
|
-
"x-verify": zod.union([zod.string(), zod.null()]).optional().describe("The verification method for this property, if applicable"),
|
|
1285
1232
|
"x-unique": zod.union([zod.enum([
|
|
1286
1233
|
"unspecified",
|
|
1287
1234
|
"project",
|
|
1288
1235
|
"team"
|
|
1289
1236
|
]), zod.null()]).optional().describe("The level of uniqueness for this property, if applicable"),
|
|
1290
1237
|
"x-claim": zod.union([zod.string(), zod.null()]).optional().describe("The claim name for this property, if applicable"),
|
|
1291
|
-
"x-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
properties: zod.record(zod.string(), zod.unknown()).optional().describe("A map of additional properties for the user definition, where the key is the property name and the value is the property schema")
|
|
1295
|
-
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`. \nThis is done because a lot of code generators cannot handle that.\n")).optional().describe("A map of additional properties for the user definition, where the\nkey is the property name and the value is the property schema\n")
|
|
1238
|
+
"x-audit": zod.boolean().default(false).describe("Whether this property's value may appear in audit event payloads. Audit\npayloads are deny-by-default: a property without this annotation\ncontributes its key but never its value.\n"),
|
|
1239
|
+
properties: zod.record(zod.string(), zod.unknown()).optional().describe("A map of additional properties for the user definition, where the key is\nthe property name and the value is the property schema.\n")
|
|
1240
|
+
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`.\nThis is done because a lot of code generators cannot handle that.\n\nNative JSON Schema keywords such as `type`, `format`, `title` and `writeOnly`\nare accepted without being listed below. `writeOnly: true` is reserved for a\nvalue that may be written but is never returned by the read API; nothing\nenforces it today, so responses still include write-only properties.\n")).optional().describe("A map of additional properties for the user definition, where the\nkey is the property name and the value is the property schema\n")
|
|
1296
1241
|
}).describe("This schema is missing `\"allOf\": [{\"$ref\": \"https://json-schema.org/draft/2020-12/schema\"}],`. \nThis is done because a lot of code generators cannot handle that.\n");
|
|
1297
1242
|
/**
|
|
1298
1243
|
* Creates a new flow definition.
|
|
@@ -1351,7 +1296,15 @@ const CreateFlowDefinitionBody = zod.object({
|
|
|
1351
1296
|
complete: zod.enum(["redirect", "show"]).optional().describe("Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC/SAML callback done)\n- show: render as a success/info screen\n"),
|
|
1352
1297
|
transitions: zod.record(zod.string(), zod.object({
|
|
1353
1298
|
target: zod.string().describe("Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n"),
|
|
1354
|
-
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n")
|
|
1299
|
+
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n"),
|
|
1300
|
+
purpose: zod.union([zod.enum([
|
|
1301
|
+
"login",
|
|
1302
|
+
"register",
|
|
1303
|
+
"recovery",
|
|
1304
|
+
"profiling",
|
|
1305
|
+
"reauth",
|
|
1306
|
+
"link_account"
|
|
1307
|
+
]), zod.null()]).optional().describe("Local re-purposing. When set, taking this transition changes the\nflow's current purpose to this value — the dispatch mode a step's\nchallenges run under — while the flow's original purpose stays\npinned. Must be a purpose this definition serves, and `target`\nmust be that purpose's entry step. Mutually exclusive with\n`action`: a transition either re-purposes within this flow or\ntargets another flow, never both.\nExample: a \"Sign up\" navigation on the login identifier step\n(`{ target: register, purpose: register }`).\n")
|
|
1355
1308
|
})).optional().describe("Maps action/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` array. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n")
|
|
1356
1309
|
}).describe("A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n")).min(1).describe("Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n")
|
|
1357
1310
|
}).describe("A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST /flow.\n")
|
|
@@ -1396,8 +1349,6 @@ const ListFlowDefinitionsResponse = zod.object({
|
|
|
1396
1349
|
* @summary Get a flow definition by id
|
|
1397
1350
|
*/
|
|
1398
1351
|
const GetFlowDefinitionParams = zod.object({ id: zod.string().describe("The id returned by the POST /flow_definitions endpoint.\n") });
|
|
1399
|
-
const getFlowDefinitionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1400
|
-
const GetFlowDefinitionQueryParams = zod.strictObject({ project_id: zod.string().regex(getFlowDefinitionQueryProjectIdRegExp).describe("The project id to filter by.") });
|
|
1401
1352
|
const getFlowDefinitionResponseFlowDefinitionNameRegExp = /* @__PURE__ */ new RegExp("^[a-z][a-z0-9-]*$");
|
|
1402
1353
|
const getFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault = [];
|
|
1403
1354
|
const getFlowDefinitionResponseFlowDefinitionStepsItemActionsItemPrimaryDefault = false;
|
|
@@ -1445,7 +1396,15 @@ const GetFlowDefinitionResponse = zod.object({
|
|
|
1445
1396
|
complete: zod.enum(["redirect", "show"]).optional().describe("Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC/SAML callback done)\n- show: render as a success/info screen\n"),
|
|
1446
1397
|
transitions: zod.record(zod.string(), zod.object({
|
|
1447
1398
|
target: zod.string().describe("Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n"),
|
|
1448
|
-
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n")
|
|
1399
|
+
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n"),
|
|
1400
|
+
purpose: zod.union([zod.enum([
|
|
1401
|
+
"login",
|
|
1402
|
+
"register",
|
|
1403
|
+
"recovery",
|
|
1404
|
+
"profiling",
|
|
1405
|
+
"reauth",
|
|
1406
|
+
"link_account"
|
|
1407
|
+
]), zod.null()]).optional().describe("Local re-purposing. When set, taking this transition changes the\nflow's current purpose to this value — the dispatch mode a step's\nchallenges run under — while the flow's original purpose stays\npinned. Must be a purpose this definition serves, and `target`\nmust be that purpose's entry step. Mutually exclusive with\n`action`: a transition either re-purposes within this flow or\ntargets another flow, never both.\nExample: a \"Sign up\" navigation on the login identifier step\n(`{ target: register, purpose: register }`).\n")
|
|
1449
1408
|
})).optional().describe("Maps action/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` array. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n")
|
|
1450
1409
|
}).describe("A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n")).min(1).describe("Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n")
|
|
1451
1410
|
}).describe("A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST /flow.\n"),
|
|
@@ -1459,8 +1418,6 @@ If `flow_definition.status` is omitted, the current status is preserved
|
|
|
1459
1418
|
* @summary Update a flow definition by id
|
|
1460
1419
|
*/
|
|
1461
1420
|
const UpdateFlowDefinitionParams = zod.object({ id: zod.string().describe("The id returned by the POST /flow_definitions endpoint.\n") });
|
|
1462
|
-
const updateFlowDefinitionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1463
|
-
const UpdateFlowDefinitionQueryParams = zod.strictObject({ project_id: zod.string().regex(updateFlowDefinitionQueryProjectIdRegExp).describe("The project id to filter by.") });
|
|
1464
1421
|
const updateFlowDefinitionBodyFlowDefinitionNameRegExp = /* @__PURE__ */ new RegExp("^[a-z][a-z0-9-]*$");
|
|
1465
1422
|
const updateFlowDefinitionBodyFlowDefinitionStepsItemFieldsDefault = [];
|
|
1466
1423
|
const updateFlowDefinitionBodyFlowDefinitionStepsItemActionsItemPrimaryDefault = false;
|
|
@@ -1507,7 +1464,15 @@ const UpdateFlowDefinitionBody = zod.object({
|
|
|
1507
1464
|
complete: zod.enum(["redirect", "show"]).optional().describe("Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC/SAML callback done)\n- show: render as a success/info screen\n"),
|
|
1508
1465
|
transitions: zod.record(zod.string(), zod.object({
|
|
1509
1466
|
target: zod.string().describe("Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n"),
|
|
1510
|
-
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n")
|
|
1467
|
+
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n"),
|
|
1468
|
+
purpose: zod.union([zod.enum([
|
|
1469
|
+
"login",
|
|
1470
|
+
"register",
|
|
1471
|
+
"recovery",
|
|
1472
|
+
"profiling",
|
|
1473
|
+
"reauth",
|
|
1474
|
+
"link_account"
|
|
1475
|
+
]), zod.null()]).optional().describe("Local re-purposing. When set, taking this transition changes the\nflow's current purpose to this value — the dispatch mode a step's\nchallenges run under — while the flow's original purpose stays\npinned. Must be a purpose this definition serves, and `target`\nmust be that purpose's entry step. Mutually exclusive with\n`action`: a transition either re-purposes within this flow or\ntargets another flow, never both.\nExample: a \"Sign up\" navigation on the login identifier step\n(`{ target: register, purpose: register }`).\n")
|
|
1511
1476
|
})).optional().describe("Maps action/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` array. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n")
|
|
1512
1477
|
}).describe("A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n")).min(1).describe("Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n")
|
|
1513
1478
|
}).describe("A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST /flow.\n")
|
|
@@ -1559,7 +1524,15 @@ const UpdateFlowDefinitionResponse = zod.object({
|
|
|
1559
1524
|
complete: zod.enum(["redirect", "show"]).optional().describe("Marks this as a terminal step. Tells the frontend what to do:\n- redirect: navigate to redirect_uri (OIDC/SAML callback done)\n- show: render as a success/info screen\n"),
|
|
1560
1525
|
transitions: zod.record(zod.string(), zod.object({
|
|
1561
1526
|
target: zod.string().describe("Step name within this flow (when `action` is null), or the name\nof another flow (when `action` is `switch` or `pivot`).\n"),
|
|
1562
|
-
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n")
|
|
1527
|
+
action: zod.union([zod.enum(["switch", "pivot"]), zod.null()]).optional().describe("How to interpret `target`:\n- null (omitted): transition to a step in the current flow.\n- switch: replace the current flow with the target flow.\n No return — the current flow is discarded.\n Example: login ↔ register.\n- pivot: push the target flow onto the stack. The current flow\n is paused and resumes when the target flow completes (auto-pop).\n Example: login → recovery → back to login.\n"),
|
|
1528
|
+
purpose: zod.union([zod.enum([
|
|
1529
|
+
"login",
|
|
1530
|
+
"register",
|
|
1531
|
+
"recovery",
|
|
1532
|
+
"profiling",
|
|
1533
|
+
"reauth",
|
|
1534
|
+
"link_account"
|
|
1535
|
+
]), zod.null()]).optional().describe("Local re-purposing. When set, taking this transition changes the\nflow's current purpose to this value — the dispatch mode a step's\nchallenges run under — while the flow's original purpose stays\npinned. Must be a purpose this definition serves, and `target`\nmust be that purpose's entry step. Mutually exclusive with\n`action`: a transition either re-purposes within this flow or\ntargets another flow, never both.\nExample: a \"Sign up\" navigation on the login identifier step\n(`{ target: register, purpose: register }`).\n")
|
|
1563
1536
|
})).optional().describe("Maps action/outcome names to their transition descriptor.\n\nKeys match action names from the `actions` array. Additional keys\ncome from implicit outcomes based on schema annotations\n(e.g. `user_not_found` from `x-unique` fields) and engine\nevents (e.g. `sso`, `callback`).\n")
|
|
1564
1537
|
}).describe("A step in a flow definition. This is the admin-authored configuration,\nnot the runtime payload sent to the frontend.\n\nSteps are schema-driven: `fields` references properties from the flow's\nuser schema, and the engine resolves field metadata (type, validation,\nimplicit outcomes) from schema annotations at runtime.\n\nA step with only `complete` set is a terminal step. All other steps are\nrendered to the frontend as capability payloads.\n")).min(1).describe("Ordered list of steps in this flow. The order is for human readability —\nactual step sequencing is determined by transitions.\n")
|
|
1565
1538
|
}).describe("A flow definition is the server-side configuration that describes a complete\nauthentication or identity flow. It is NOT sent to the frontend — the flow\nengine evaluates it and produces FlowResponse payloads (steps with capability\ndictionaries) for the client.\n\nFlow definitions are created by administrators and stored in the project/team\nconfiguration hierarchy. The engine selects the matching definition based on\nthe purpose + audience when a flow is created via POST /flow.\n"),
|
|
@@ -1574,48 +1547,2658 @@ If the flow definition is the last active flow definition for a given purpose, t
|
|
|
1574
1547
|
* @summary Delete a flow definition by id
|
|
1575
1548
|
*/
|
|
1576
1549
|
const DeleteFlowDefinitionParams = zod.object({ id: zod.string().describe("The id returned by the POST /flow_definitions endpoint.\n") });
|
|
1577
|
-
const deleteFlowDefinitionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1578
|
-
const DeleteFlowDefinitionQueryParams = zod.strictObject({ project_id: zod.string().regex(deleteFlowDefinitionQueryProjectIdRegExp).describe("The project id to filter by.") });
|
|
1579
|
-
/**
|
|
1580
|
-
* Activate a flow definition by transitioning it from a `draft` state to an `active` state.
|
|
1581
|
-
Alternatively, the status of a flow definition can also be set via the `POST /flow_definitions` and `PUT /flow_definitions/{id}` endpoints by setting the `status` attribute in the flow definition payload.
|
|
1582
|
-
|
|
1583
|
-
* @summary Activate a flow definition by ID.
|
|
1584
|
-
*/
|
|
1585
|
-
const ActivateFlowDefinitionParams = zod.object({ id: zod.string().describe("The id returned by the POST /flow_definitions endpoint.\n") });
|
|
1586
|
-
const activateFlowDefinitionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1587
|
-
const ActivateFlowDefinitionQueryParams = zod.strictObject({ project_id: zod.string().regex(activateFlowDefinitionQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1588
|
-
/**
|
|
1589
|
-
* Deactivates a flow definition in the `active` state by transitioning it to the `draft` state.
|
|
1590
|
-
Flow definitions in `draft` state cannot be used to start new flows. Existing flows that use the deactivated flow definition must gracefully handle this.
|
|
1591
|
-
Alternatively, the status of a flow definition can also be set via the `POST /flow_definitions` and `PUT /flow_definitions/{id}` endpoints by setting the `status` attribute in the flow definition payload.
|
|
1592
|
-
|
|
1593
|
-
* @summary Deactivate a flow definition by ID.
|
|
1594
|
-
*/
|
|
1595
|
-
const DeactivateFlowDefinitionParams = zod.object({ id: zod.string().describe("The id returned by the POST /flow_definitions endpoint.\n") });
|
|
1596
|
-
const deactivateFlowDefinitionQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1597
|
-
const DeactivateFlowDefinitionQueryParams = zod.strictObject({ project_id: zod.string().regex(deactivateFlowDefinitionQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1598
1550
|
/**
|
|
1599
1551
|
* @summary Create team
|
|
1600
1552
|
*/
|
|
1601
1553
|
const createTeamQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1602
1554
|
const CreateTeamQueryParams = zod.strictObject({ project_id: zod.string().regex(createTeamQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1603
|
-
const
|
|
1555
|
+
const createTeamBodyNameMax = 200;
|
|
1556
|
+
const CreateTeamBody = zod.object({ name: zod.string().min(1).max(200).describe("The name of the team. Must be unique within the project.") });
|
|
1557
|
+
/**
|
|
1558
|
+
* Returns the teams of a project, paginated with a cursor.
|
|
1559
|
+
|
|
1560
|
+
* @summary Query teams
|
|
1561
|
+
*/
|
|
1562
|
+
const queryTeamsQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1563
|
+
const QueryTeamsQueryParams = zod.strictObject({ project_id: zod.string().regex(queryTeamsQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1564
|
+
const queryTeamsBodyLimitDefault = 20;
|
|
1565
|
+
const queryTeamsBodyLimitMax = 100;
|
|
1566
|
+
const QueryTeamsBody = zod.object({
|
|
1567
|
+
limit: zod.number().min(1).max(100).default(20),
|
|
1568
|
+
page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to retrieve the next page of results. Must be sent with the same\n`sorting` as the request that issued the token. Omitting `sorting` reuses\nthe default sort and only succeeds when that default matches the token.\n"),
|
|
1569
|
+
sorting: zod.object({
|
|
1570
|
+
field: zod.enum([
|
|
1571
|
+
"created_at",
|
|
1572
|
+
"name",
|
|
1573
|
+
"status"
|
|
1574
|
+
]).describe("Field to filter or sort teams by.\n\nTeam names are unique per project case-insensitively, so `name` is matched\ncase-insensitively by `equals` as well as by `contains`.\n"),
|
|
1575
|
+
direction: zod.enum(["asc", "desc"])
|
|
1576
|
+
}).optional(),
|
|
1577
|
+
filter: zod.array(zod.object({
|
|
1578
|
+
field: zod.enum([
|
|
1579
|
+
"created_at",
|
|
1580
|
+
"name",
|
|
1581
|
+
"status"
|
|
1582
|
+
]).describe("Field to filter or sort teams by.\n\nTeam names are unique per project case-insensitively, so `name` is matched\ncase-insensitively by `equals` as well as by `contains`.\n"),
|
|
1583
|
+
value: zod.union([
|
|
1584
|
+
zod.string(),
|
|
1585
|
+
zod.number(),
|
|
1586
|
+
zod.boolean(),
|
|
1587
|
+
zod.null()
|
|
1588
|
+
]).optional().describe("Filter-value specifies which values can be filtered by a query endpoint. This\nis a union of types. When a value is specified which is not assignable to the\nfield which is being filtered, a 400 error will be returned.\n"),
|
|
1589
|
+
operation: zod.enum([
|
|
1590
|
+
"equals",
|
|
1591
|
+
"not_equals",
|
|
1592
|
+
"contains",
|
|
1593
|
+
"not_contains",
|
|
1594
|
+
"less_than",
|
|
1595
|
+
"less_than_or_equal",
|
|
1596
|
+
"greater_than",
|
|
1597
|
+
"greater_than_or_equal"
|
|
1598
|
+
]).describe("Filter operation defines the operations which can be used when filtering on a\nquery endpoint.\n\nOn text fields, `contains` is a case-insensitive substring match. `equals`\ncompares the whole value and is case-sensitive unless the field documents\notherwise.\n")
|
|
1599
|
+
})).optional().describe("Filter criteria for querying teams.")
|
|
1600
|
+
}).describe("Request to query the teams of a project.");
|
|
1601
|
+
const QueryTeamsResponse = zod.object({
|
|
1602
|
+
teams: zod.array(zod.object({
|
|
1603
|
+
id: zod.string().describe("The unique identifier of the team."),
|
|
1604
|
+
name: zod.string().describe("The name of the team."),
|
|
1605
|
+
status: zod.enum(["active", "deactivated"]).describe("The lifecycle state of a team.\n\nactive: The team is available for use.\ndeactivated: The team is no longer active but is retained for historical and audit purposes.\n"),
|
|
1606
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the team was created."),
|
|
1607
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the team was last updated.")
|
|
1608
|
+
}).describe("Details of a team.")),
|
|
1609
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results. The follow-up request must repeat the\nsame `sorting` that produced this token (omit only when both pages use the default).\n")
|
|
1610
|
+
}).describe("Paginated list of teams.");
|
|
1604
1611
|
/**
|
|
1605
|
-
* Returns
|
|
1612
|
+
* Returns a Team by its id.
|
|
1606
1613
|
|
|
1607
1614
|
* @summary Get team
|
|
1608
1615
|
*/
|
|
1609
1616
|
const getTeamPathTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1610
1617
|
const GetTeamParams = zod.object({ team_id: zod.string().regex(getTeamPathTeamIdRegExp) });
|
|
1611
|
-
const getTeamQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1612
|
-
const GetTeamQueryParams = zod.strictObject({ project_id: zod.string().regex(getTeamQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1613
1618
|
const GetTeamResponse = zod.object({
|
|
1614
1619
|
id: zod.string().describe("The unique identifier of the team."),
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
}).describe("The
|
|
1620
|
+
name: zod.string().describe("The name of the team."),
|
|
1621
|
+
status: zod.enum(["active", "deactivated"]).describe("The lifecycle state of a team.\n\nactive: The team is available for use.\ndeactivated: The team is no longer active but is retained for historical and audit purposes.\n"),
|
|
1622
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the team was created."),
|
|
1623
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the team was last updated.")
|
|
1624
|
+
}).describe("Details of a team.");
|
|
1625
|
+
/**
|
|
1626
|
+
* Deactivates the team.
|
|
1627
|
+
|
|
1628
|
+
The team is tombstoned rather than erased: it stays readable through
|
|
1629
|
+
getTeam with status `deactivated`. Its memberships are removed and the
|
|
1630
|
+
users whose lifecycle it owns are deactivated with it.
|
|
1631
|
+
|
|
1632
|
+
The request is idempotent. Deleting a team that is already deactivated
|
|
1633
|
+
or doesn't exist succeeds without changing anything.
|
|
1634
|
+
|
|
1635
|
+
* @summary Delete team
|
|
1636
|
+
*/
|
|
1637
|
+
const deleteTeamPathTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1638
|
+
const DeleteTeamParams = zod.object({ team_id: zod.string().regex(deleteTeamPathTeamIdRegExp) });
|
|
1639
|
+
/**
|
|
1640
|
+
* Update team. Only active teams can be updated.
|
|
1641
|
+
|
|
1642
|
+
* @summary Update team
|
|
1643
|
+
*/
|
|
1644
|
+
const updateTeamPathTeamIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1645
|
+
const UpdateTeamParams = zod.object({ team_id: zod.string().regex(updateTeamPathTeamIdRegExp) });
|
|
1646
|
+
const updateTeamBodyNameMax = 200;
|
|
1647
|
+
const UpdateTeamBody = zod.object({ name: zod.string().min(1).max(200).optional().describe("The name of the team. Must be unique within the project.") });
|
|
1648
|
+
const UpdateTeamResponse = zod.object({
|
|
1649
|
+
id: zod.string().describe("The unique identifier of the team."),
|
|
1650
|
+
name: zod.string().describe("The name of the team."),
|
|
1651
|
+
status: zod.enum(["active", "deactivated"]).describe("The lifecycle state of a team.\n\nactive: The team is available for use.\ndeactivated: The team is no longer active but is retained for historical and audit purposes.\n"),
|
|
1652
|
+
created_at: zod.iso.datetime({ offset: true }).describe("The time when the team was created."),
|
|
1653
|
+
updated_at: zod.iso.datetime({ offset: true }).describe("The time when the team was last updated.")
|
|
1654
|
+
}).describe("Details of a team.");
|
|
1655
|
+
/**
|
|
1656
|
+
* Publishes a new immutable branding revision for the project. Branding
|
|
1657
|
+
revisions cannot be updated or deleted; every edit publishes a new
|
|
1658
|
+
revision, and flow responses resolve the latest revision per project
|
|
1659
|
+
(see ADR 040).
|
|
1660
|
+
|
|
1661
|
+
The `liquid_template` is validated lexically on save (size, encoding,
|
|
1662
|
+
banned patterns such as `<script>` tags, inline event handlers, and the
|
|
1663
|
+
`| raw` filter). Authoritative LiquidJS validation runs at authoring
|
|
1664
|
+
time via `zitadel plan` / `zitadel apply`.
|
|
1665
|
+
|
|
1666
|
+
* @summary Publish a new branding revision
|
|
1667
|
+
*/
|
|
1668
|
+
const createBrandingQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1669
|
+
const CreateBrandingQueryParams = zod.strictObject({ project_id: zod.string().regex(createBrandingQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1670
|
+
const createBrandingBodyLayoutDefault = `centered`;
|
|
1671
|
+
const createBrandingBodyLiquidTemplateMax = 131072;
|
|
1672
|
+
const CreateBrandingBody = zod.object({
|
|
1673
|
+
layout: zod.enum(["centered", "split"]).default(createBrandingBodyLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely; it also serves as the degrade target\nwhen a custom template fails component-side validation.\n"),
|
|
1674
|
+
liquid_template: zod.string().max(createBrandingBodyLiquidTemplateMax).optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
1675
|
+
logo_url: zod.url().optional().describe("Team logo URL."),
|
|
1676
|
+
font_url: zod.url().optional().describe("Custom font stylesheet URL (e.g., Google Fonts CSS). Read-only in\nv1: `POST /branding` rejects a non-empty value, because the login\ncomponent loads this stylesheet at document level (shadow-scoped\n`@font-face` rules never register faces) and an arbitrary URL would\ngrant `branding.write` page-wide CSS control over the embedding\napplication. Safe tenant font delivery is an ADR 040 follow-up;\nuntil then, load fonts from the embedding page.\n"),
|
|
1677
|
+
hero_url: zod.url().optional().describe("Hero/background image URL (used by split layout).")
|
|
1678
|
+
}).describe("Branding configuration. Appears in two places with one shape:\n\n- On flow responses as a read-only projection: the server resolves the\n latest branding revision for the project per step response (falling\n back to built-in defaults when none is stored). Branding is configured\n via the Branding API / `zitadel apply`, not the Flow API.\n- As the request body of `POST /branding`, which publishes the same\n shape as a new immutable revision (see ADR 040).\n");
|
|
1679
|
+
/**
|
|
1680
|
+
* Lists branding revisions for the project, newest first, capped at the
|
|
1681
|
+
100 most recent. The first entry is the revision flow responses
|
|
1682
|
+
currently resolve. Deliberately unpaginated in v1 — list endpoints
|
|
1683
|
+
gain a real query mechanism together (ADR 031); advertising pagination
|
|
1684
|
+
parameters the server ignores would be worse than none.
|
|
1685
|
+
|
|
1686
|
+
* @summary List branding revisions
|
|
1687
|
+
*/
|
|
1688
|
+
const listBrandingQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1689
|
+
const ListBrandingQueryParams = zod.strictObject({ project_id: zod.string().regex(listBrandingQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
1690
|
+
const ListBrandingResponseItem = zod.object({
|
|
1691
|
+
id: zod.string().describe("The unique identifier of this branding revision."),
|
|
1692
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When this revision was published.")
|
|
1693
|
+
});
|
|
1694
|
+
const ListBrandingResponse = zod.array(ListBrandingResponseItem);
|
|
1695
|
+
/**
|
|
1696
|
+
* Retrieves a single branding revision, including its stored configuration.
|
|
1697
|
+
* @summary Get a branding revision by ID
|
|
1698
|
+
*/
|
|
1699
|
+
const GetBrandingByIdParams = zod.object({ id: zod.string() });
|
|
1700
|
+
const getBrandingByIdResponseBrandingLayoutDefault = `centered`;
|
|
1701
|
+
const getBrandingByIdResponseBrandingLiquidTemplateMax = 131072;
|
|
1702
|
+
const GetBrandingByIdResponse = zod.object({
|
|
1703
|
+
id: zod.string().describe("The unique identifier of this branding revision."),
|
|
1704
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When this revision was published."),
|
|
1705
|
+
branding: zod.object({
|
|
1706
|
+
layout: zod.enum(["centered", "split"]).default(getBrandingByIdResponseBrandingLayoutDefault).describe("Layout preset selector. The default.liquid master template uses this\nto branch into layout variants. Customers who eject the template\ncan ignore this field entirely; it also serves as the degrade target\nwhen a custom template fails component-side validation.\n"),
|
|
1707
|
+
liquid_template: zod.string().max(getBrandingByIdResponseBrandingLiquidTemplateMax).optional().describe("The LiquidJS template string for rendering this step. The orchestrator\nparses this template, injects the capability dictionaries as context,\nand renders the output HTML into its Shadow DOM.\n"),
|
|
1708
|
+
logo_url: zod.url().optional().describe("Team logo URL."),
|
|
1709
|
+
font_url: zod.url().optional().describe("Custom font stylesheet URL (e.g., Google Fonts CSS). Read-only in\nv1: `POST /branding` rejects a non-empty value, because the login\ncomponent loads this stylesheet at document level (shadow-scoped\n`@font-face` rules never register faces) and an arbitrary URL would\ngrant `branding.write` page-wide CSS control over the embedding\napplication. Safe tenant font delivery is an ADR 040 follow-up;\nuntil then, load fonts from the embedding page.\n"),
|
|
1710
|
+
hero_url: zod.url().optional().describe("Hero/background image URL (used by split layout).")
|
|
1711
|
+
}).describe("Branding configuration. Appears in two places with one shape:\n\n- On flow responses as a read-only projection: the server resolves the\n latest branding revision for the project per step response (falling\n back to built-in defaults when none is stored). Branding is configured\n via the Branding API / `zitadel apply`, not the Flow API.\n- As the request body of `POST /branding`, which publishes the same\n shape as a new immutable revision (see ADR 040).\n")
|
|
1712
|
+
}).describe("A stored branding revision. `branding` echoes the canonical stored\nconfiguration so clients (e.g. the CLI sync engine) can reconcile local\nfiles with the server's stored state.\n");
|
|
1713
|
+
/**
|
|
1714
|
+
* Returns project-scoped audit events, newest-first by keyset on
|
|
1715
|
+
`(created_at, id)` (ADR 027 / ADR 049). Pass `order=asc` for oldest-first.
|
|
1716
|
+
Requires `events.read`.
|
|
1717
|
+
|
|
1718
|
+
Pre-claim projects return an empty list (events are stored but not
|
|
1719
|
+
visible until claim succeeds). Team-scoped credentials see only events
|
|
1720
|
+
whose emit-time `team_id` matches the credential team (enforced when
|
|
1721
|
+
team-scoped tokens exist).
|
|
1722
|
+
|
|
1723
|
+
Clients discriminate each item via `event_type` (OpenAPI Event oneOf) —
|
|
1724
|
+
see docs/design/api/events-catalog.md.
|
|
1725
|
+
|
|
1726
|
+
* @summary List events
|
|
1727
|
+
*/
|
|
1728
|
+
const listEventsQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1729
|
+
const listEventsQueryOrderDefault = `desc`;
|
|
1730
|
+
const listEventsQueryLimitDefault = 20;
|
|
1731
|
+
const listEventsQueryLimitMax = 100;
|
|
1732
|
+
const ListEventsQueryParams = zod.strictObject({
|
|
1733
|
+
project_id: zod.string().regex(listEventsQueryProjectIdRegExp).describe("The unique identifier of the project"),
|
|
1734
|
+
category: zod.array(zod.enum([
|
|
1735
|
+
"request",
|
|
1736
|
+
"auth",
|
|
1737
|
+
"session",
|
|
1738
|
+
"admin",
|
|
1739
|
+
"entity",
|
|
1740
|
+
"signal"
|
|
1741
|
+
])).optional().describe("Filter by wide-event category. Repeatable (OR within the parameter).\n"),
|
|
1742
|
+
event_type: zod.array(zod.string()).optional().describe("Exact-match filter on `event_type`. Repeatable (OR within the parameter).\n"),
|
|
1743
|
+
actor_id: zod.string().optional(),
|
|
1744
|
+
client_id: zod.string().optional(),
|
|
1745
|
+
session_id: zod.string().optional(),
|
|
1746
|
+
flow_id: zod.string().optional(),
|
|
1747
|
+
request_id: zod.string().optional(),
|
|
1748
|
+
fingerprint: zod.string().optional(),
|
|
1749
|
+
entity_type: zod.string().optional(),
|
|
1750
|
+
entity_id: zod.string().optional(),
|
|
1751
|
+
team_id: zod.string().optional().describe("Filter by emit-time team scope stored on the event."),
|
|
1752
|
+
created_after: zod.iso.datetime({ offset: true }).optional().describe("Inclusive lower bound on `created_at` (RFC 3339)."),
|
|
1753
|
+
created_before: zod.iso.datetime({ offset: true }).optional().describe("Exclusive upper bound on `created_at` (RFC 3339)."),
|
|
1754
|
+
order: zod.enum(["asc", "desc"]).default(listEventsQueryOrderDefault).describe("Sort direction on `(created_at, id)`. Default `desc` (newest first)\nfor audit UI. Pass `asc` for oldest-first.\n"),
|
|
1755
|
+
page_token: zod.string().optional().describe("Token for fetching the next page of results.\nObtain this value from `next_page_token` in the previous response.\nOmit to start from the beginning.\nIts format is opaque and may change between releases.\n"),
|
|
1756
|
+
limit: zod.number().min(1).max(100).default(20).describe("Maximum number of items to return.")
|
|
1757
|
+
});
|
|
1758
|
+
const listEventsResponseDataItemOneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1759
|
+
const listEventsResponseDataItemTwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1760
|
+
const listEventsResponseDataItemThreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1761
|
+
const listEventsResponseDataItemFourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1762
|
+
const listEventsResponseDataItemFiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1763
|
+
const listEventsResponseDataItemSixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1764
|
+
const listEventsResponseDataItemSevenOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1765
|
+
const listEventsResponseDataItemEightOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1766
|
+
const listEventsResponseDataItemNineOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1767
|
+
const listEventsResponseDataItemOnezeroOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1768
|
+
const listEventsResponseDataItemOneoneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1769
|
+
const listEventsResponseDataItemOnetwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1770
|
+
const listEventsResponseDataItemOnethreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1771
|
+
const listEventsResponseDataItemOnefourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1772
|
+
const listEventsResponseDataItemOnefiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1773
|
+
const listEventsResponseDataItemOnesixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1774
|
+
const listEventsResponseDataItemOnesevenOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1775
|
+
const listEventsResponseDataItemOnesevenTwoPayloadStatusMin = 100;
|
|
1776
|
+
const listEventsResponseDataItemOnesevenTwoPayloadStatusMax = 599;
|
|
1777
|
+
const listEventsResponseDataItemOnesevenTwoPayloadDurationMsMin = 0;
|
|
1778
|
+
const listEventsResponseDataItemOneeightOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1779
|
+
const listEventsResponseDataItemOnenineOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1780
|
+
const listEventsResponseDataItemTwozeroOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1781
|
+
const listEventsResponseDataItemTwooneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1782
|
+
const listEventsResponseDataItemTwotwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1783
|
+
const listEventsResponseDataItemTwothreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1784
|
+
const listEventsResponseDataItemTwofourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1785
|
+
const listEventsResponseDataItemTwofiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1786
|
+
const listEventsResponseDataItemTwosixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
1787
|
+
const ListEventsResponse = zod.object({
|
|
1788
|
+
data: zod.array(zod.union([
|
|
1789
|
+
zod.object({
|
|
1790
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
1791
|
+
project_id: zod.string().regex(listEventsResponseDataItemOneOneProjectIdRegExp),
|
|
1792
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
1793
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
1794
|
+
category: zod.enum([
|
|
1795
|
+
"request",
|
|
1796
|
+
"auth",
|
|
1797
|
+
"session",
|
|
1798
|
+
"admin",
|
|
1799
|
+
"entity",
|
|
1800
|
+
"signal"
|
|
1801
|
+
]).describe("Wide-event category."),
|
|
1802
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
1803
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
1804
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
1805
|
+
actor_type: zod.union([zod.enum([
|
|
1806
|
+
"human",
|
|
1807
|
+
"service",
|
|
1808
|
+
"system",
|
|
1809
|
+
"agent"
|
|
1810
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
1811
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
1812
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
1813
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
1814
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
1815
|
+
delegation_type: zod.enum([
|
|
1816
|
+
"direct",
|
|
1817
|
+
"delegated",
|
|
1818
|
+
"pat_shared",
|
|
1819
|
+
"exchanged"
|
|
1820
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
1821
|
+
delegation_id: zod.string().optional(),
|
|
1822
|
+
grantor: zod.string().optional(),
|
|
1823
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
1824
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
1825
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
1826
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
1827
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
1828
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
1829
|
+
event_type: zod.literal("auth.attempt.created"),
|
|
1830
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
1831
|
+
})).describe("Wide event with event_type=auth.attempt.created.\n"),
|
|
1832
|
+
zod.object({
|
|
1833
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
1834
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwoOneProjectIdRegExp),
|
|
1835
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
1836
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
1837
|
+
category: zod.enum([
|
|
1838
|
+
"request",
|
|
1839
|
+
"auth",
|
|
1840
|
+
"session",
|
|
1841
|
+
"admin",
|
|
1842
|
+
"entity",
|
|
1843
|
+
"signal"
|
|
1844
|
+
]).describe("Wide-event category."),
|
|
1845
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
1846
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
1847
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
1848
|
+
actor_type: zod.union([zod.enum([
|
|
1849
|
+
"human",
|
|
1850
|
+
"service",
|
|
1851
|
+
"system",
|
|
1852
|
+
"agent"
|
|
1853
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
1854
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
1855
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
1856
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
1857
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
1858
|
+
delegation_type: zod.enum([
|
|
1859
|
+
"direct",
|
|
1860
|
+
"delegated",
|
|
1861
|
+
"pat_shared",
|
|
1862
|
+
"exchanged"
|
|
1863
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
1864
|
+
delegation_id: zod.string().optional(),
|
|
1865
|
+
grantor: zod.string().optional(),
|
|
1866
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
1867
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
1868
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
1869
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
1870
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
1871
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
1872
|
+
event_type: zod.literal("auth.attempt.handed_off"),
|
|
1873
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
1874
|
+
})).describe("Wide event with event_type=auth.attempt.handed_off.\n"),
|
|
1875
|
+
zod.object({
|
|
1876
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
1877
|
+
project_id: zod.string().regex(listEventsResponseDataItemThreeOneProjectIdRegExp),
|
|
1878
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
1879
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
1880
|
+
category: zod.enum([
|
|
1881
|
+
"request",
|
|
1882
|
+
"auth",
|
|
1883
|
+
"session",
|
|
1884
|
+
"admin",
|
|
1885
|
+
"entity",
|
|
1886
|
+
"signal"
|
|
1887
|
+
]).describe("Wide-event category."),
|
|
1888
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
1889
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
1890
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
1891
|
+
actor_type: zod.union([zod.enum([
|
|
1892
|
+
"human",
|
|
1893
|
+
"service",
|
|
1894
|
+
"system",
|
|
1895
|
+
"agent"
|
|
1896
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
1897
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
1898
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
1899
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
1900
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
1901
|
+
delegation_type: zod.enum([
|
|
1902
|
+
"direct",
|
|
1903
|
+
"delegated",
|
|
1904
|
+
"pat_shared",
|
|
1905
|
+
"exchanged"
|
|
1906
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
1907
|
+
delegation_id: zod.string().optional(),
|
|
1908
|
+
grantor: zod.string().optional(),
|
|
1909
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
1910
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
1911
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
1912
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
1913
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
1914
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
1915
|
+
event_type: zod.literal("auth.check.failed"),
|
|
1916
|
+
payload: zod.object({
|
|
1917
|
+
check_id: zod.string(),
|
|
1918
|
+
check_type: zod.string().optional(),
|
|
1919
|
+
auth_attempt_id: zod.string().optional()
|
|
1920
|
+
}).describe("Payload for `auth.check.failed` / `auth.check.succeeded`.\n`auth_attempt_id` joins the check to its attempt for SIEM correlation.\n")
|
|
1921
|
+
})).describe("Wide event with event_type=auth.check.failed.\n"),
|
|
1922
|
+
zod.object({
|
|
1923
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
1924
|
+
project_id: zod.string().regex(listEventsResponseDataItemFourOneProjectIdRegExp),
|
|
1925
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
1926
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
1927
|
+
category: zod.enum([
|
|
1928
|
+
"request",
|
|
1929
|
+
"auth",
|
|
1930
|
+
"session",
|
|
1931
|
+
"admin",
|
|
1932
|
+
"entity",
|
|
1933
|
+
"signal"
|
|
1934
|
+
]).describe("Wide-event category."),
|
|
1935
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
1936
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
1937
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
1938
|
+
actor_type: zod.union([zod.enum([
|
|
1939
|
+
"human",
|
|
1940
|
+
"service",
|
|
1941
|
+
"system",
|
|
1942
|
+
"agent"
|
|
1943
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
1944
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
1945
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
1946
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
1947
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
1948
|
+
delegation_type: zod.enum([
|
|
1949
|
+
"direct",
|
|
1950
|
+
"delegated",
|
|
1951
|
+
"pat_shared",
|
|
1952
|
+
"exchanged"
|
|
1953
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
1954
|
+
delegation_id: zod.string().optional(),
|
|
1955
|
+
grantor: zod.string().optional(),
|
|
1956
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
1957
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
1958
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
1959
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
1960
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
1961
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
1962
|
+
event_type: zod.literal("auth.check.succeeded"),
|
|
1963
|
+
payload: zod.object({
|
|
1964
|
+
check_id: zod.string(),
|
|
1965
|
+
check_type: zod.string().optional(),
|
|
1966
|
+
auth_attempt_id: zod.string().optional()
|
|
1967
|
+
}).describe("Payload for `auth.check.failed` / `auth.check.succeeded`.\n`auth_attempt_id` joins the check to its attempt for SIEM correlation.\n")
|
|
1968
|
+
})).describe("Wide event with event_type=auth.check.succeeded.\n"),
|
|
1969
|
+
zod.object({
|
|
1970
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
1971
|
+
project_id: zod.string().regex(listEventsResponseDataItemFiveOneProjectIdRegExp),
|
|
1972
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
1973
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
1974
|
+
category: zod.enum([
|
|
1975
|
+
"request",
|
|
1976
|
+
"auth",
|
|
1977
|
+
"session",
|
|
1978
|
+
"admin",
|
|
1979
|
+
"entity",
|
|
1980
|
+
"signal"
|
|
1981
|
+
]).describe("Wide-event category."),
|
|
1982
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
1983
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
1984
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
1985
|
+
actor_type: zod.union([zod.enum([
|
|
1986
|
+
"human",
|
|
1987
|
+
"service",
|
|
1988
|
+
"system",
|
|
1989
|
+
"agent"
|
|
1990
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
1991
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
1992
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
1993
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
1994
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
1995
|
+
delegation_type: zod.enum([
|
|
1996
|
+
"direct",
|
|
1997
|
+
"delegated",
|
|
1998
|
+
"pat_shared",
|
|
1999
|
+
"exchanged"
|
|
2000
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2001
|
+
delegation_id: zod.string().optional(),
|
|
2002
|
+
grantor: zod.string().optional(),
|
|
2003
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2004
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2005
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2006
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2007
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2008
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2009
|
+
event_type: zod.literal("auth.factor.passkey.enrolled"),
|
|
2010
|
+
payload: zod.object({
|
|
2011
|
+
user_id: zod.string(),
|
|
2012
|
+
factor_id: zod.string().optional()
|
|
2013
|
+
}).describe("Payload for `auth.factor.*` events.")
|
|
2014
|
+
})).describe("Wide event with event_type=auth.factor.passkey.enrolled.\n"),
|
|
2015
|
+
zod.object({
|
|
2016
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2017
|
+
project_id: zod.string().regex(listEventsResponseDataItemSixOneProjectIdRegExp),
|
|
2018
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2019
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2020
|
+
category: zod.enum([
|
|
2021
|
+
"request",
|
|
2022
|
+
"auth",
|
|
2023
|
+
"session",
|
|
2024
|
+
"admin",
|
|
2025
|
+
"entity",
|
|
2026
|
+
"signal"
|
|
2027
|
+
]).describe("Wide-event category."),
|
|
2028
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2029
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2030
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2031
|
+
actor_type: zod.union([zod.enum([
|
|
2032
|
+
"human",
|
|
2033
|
+
"service",
|
|
2034
|
+
"system",
|
|
2035
|
+
"agent"
|
|
2036
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2037
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2038
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2039
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2040
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2041
|
+
delegation_type: zod.enum([
|
|
2042
|
+
"direct",
|
|
2043
|
+
"delegated",
|
|
2044
|
+
"pat_shared",
|
|
2045
|
+
"exchanged"
|
|
2046
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2047
|
+
delegation_id: zod.string().optional(),
|
|
2048
|
+
grantor: zod.string().optional(),
|
|
2049
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2050
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2051
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2052
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2053
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2054
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2055
|
+
event_type: zod.literal("auth.factor.password.set"),
|
|
2056
|
+
payload: zod.object({
|
|
2057
|
+
user_id: zod.string(),
|
|
2058
|
+
factor_id: zod.string().optional()
|
|
2059
|
+
}).describe("Payload for `auth.factor.*` events.")
|
|
2060
|
+
})).describe("Wide event with event_type=auth.factor.password.set.\n"),
|
|
2061
|
+
zod.object({
|
|
2062
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2063
|
+
project_id: zod.string().regex(listEventsResponseDataItemSevenOneProjectIdRegExp),
|
|
2064
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2065
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2066
|
+
category: zod.enum([
|
|
2067
|
+
"request",
|
|
2068
|
+
"auth",
|
|
2069
|
+
"session",
|
|
2070
|
+
"admin",
|
|
2071
|
+
"entity",
|
|
2072
|
+
"signal"
|
|
2073
|
+
]).describe("Wide-event category."),
|
|
2074
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2075
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2076
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2077
|
+
actor_type: zod.union([zod.enum([
|
|
2078
|
+
"human",
|
|
2079
|
+
"service",
|
|
2080
|
+
"system",
|
|
2081
|
+
"agent"
|
|
2082
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2083
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2084
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2085
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2086
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2087
|
+
delegation_type: zod.enum([
|
|
2088
|
+
"direct",
|
|
2089
|
+
"delegated",
|
|
2090
|
+
"pat_shared",
|
|
2091
|
+
"exchanged"
|
|
2092
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2093
|
+
delegation_id: zod.string().optional(),
|
|
2094
|
+
grantor: zod.string().optional(),
|
|
2095
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2096
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2097
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2098
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2099
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2100
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2101
|
+
event_type: zod.literal("auth.token.issued"),
|
|
2102
|
+
payload: zod.object({ scopes: zod.array(zod.string()).optional() }).describe("Payload for `auth.token.issued` events.")
|
|
2103
|
+
})).describe("Wide event with event_type=auth.token.issued.\n"),
|
|
2104
|
+
zod.object({
|
|
2105
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2106
|
+
project_id: zod.string().regex(listEventsResponseDataItemEightOneProjectIdRegExp),
|
|
2107
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2108
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2109
|
+
category: zod.enum([
|
|
2110
|
+
"request",
|
|
2111
|
+
"auth",
|
|
2112
|
+
"session",
|
|
2113
|
+
"admin",
|
|
2114
|
+
"entity",
|
|
2115
|
+
"signal"
|
|
2116
|
+
]).describe("Wide-event category."),
|
|
2117
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2118
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2119
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2120
|
+
actor_type: zod.union([zod.enum([
|
|
2121
|
+
"human",
|
|
2122
|
+
"service",
|
|
2123
|
+
"system",
|
|
2124
|
+
"agent"
|
|
2125
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2126
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2127
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2128
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2129
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2130
|
+
delegation_type: zod.enum([
|
|
2131
|
+
"direct",
|
|
2132
|
+
"delegated",
|
|
2133
|
+
"pat_shared",
|
|
2134
|
+
"exchanged"
|
|
2135
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2136
|
+
delegation_id: zod.string().optional(),
|
|
2137
|
+
grantor: zod.string().optional(),
|
|
2138
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2139
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2140
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2141
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2142
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2143
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2144
|
+
event_type: zod.literal("auth.token.revoked"),
|
|
2145
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2146
|
+
})).describe("Wide event with event_type=auth.token.revoked.\n"),
|
|
2147
|
+
zod.object({
|
|
2148
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2149
|
+
project_id: zod.string().regex(listEventsResponseDataItemNineOneProjectIdRegExp),
|
|
2150
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2151
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2152
|
+
category: zod.enum([
|
|
2153
|
+
"request",
|
|
2154
|
+
"auth",
|
|
2155
|
+
"session",
|
|
2156
|
+
"admin",
|
|
2157
|
+
"entity",
|
|
2158
|
+
"signal"
|
|
2159
|
+
]).describe("Wide-event category."),
|
|
2160
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2161
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2162
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2163
|
+
actor_type: zod.union([zod.enum([
|
|
2164
|
+
"human",
|
|
2165
|
+
"service",
|
|
2166
|
+
"system",
|
|
2167
|
+
"agent"
|
|
2168
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2169
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2170
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2171
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2172
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2173
|
+
delegation_type: zod.enum([
|
|
2174
|
+
"direct",
|
|
2175
|
+
"delegated",
|
|
2176
|
+
"pat_shared",
|
|
2177
|
+
"exchanged"
|
|
2178
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2179
|
+
delegation_id: zod.string().optional(),
|
|
2180
|
+
grantor: zod.string().optional(),
|
|
2181
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2182
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2183
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2184
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2185
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2186
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2187
|
+
event_type: zod.literal("authz.granted"),
|
|
2188
|
+
payload: zod.object({
|
|
2189
|
+
principal_type: zod.string().optional(),
|
|
2190
|
+
principal_id: zod.string().optional(),
|
|
2191
|
+
relation: zod.string().optional()
|
|
2192
|
+
}).describe("Payload for `authz.granted` events.")
|
|
2193
|
+
})).describe("Wide event with event_type=authz.granted.\n"),
|
|
2194
|
+
zod.object({
|
|
2195
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2196
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnezeroOneProjectIdRegExp),
|
|
2197
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2198
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2199
|
+
category: zod.enum([
|
|
2200
|
+
"request",
|
|
2201
|
+
"auth",
|
|
2202
|
+
"session",
|
|
2203
|
+
"admin",
|
|
2204
|
+
"entity",
|
|
2205
|
+
"signal"
|
|
2206
|
+
]).describe("Wide-event category."),
|
|
2207
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2208
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2209
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2210
|
+
actor_type: zod.union([zod.enum([
|
|
2211
|
+
"human",
|
|
2212
|
+
"service",
|
|
2213
|
+
"system",
|
|
2214
|
+
"agent"
|
|
2215
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2216
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2217
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2218
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2219
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2220
|
+
delegation_type: zod.enum([
|
|
2221
|
+
"direct",
|
|
2222
|
+
"delegated",
|
|
2223
|
+
"pat_shared",
|
|
2224
|
+
"exchanged"
|
|
2225
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2226
|
+
delegation_id: zod.string().optional(),
|
|
2227
|
+
grantor: zod.string().optional(),
|
|
2228
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2229
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2230
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2231
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2232
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2233
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2234
|
+
event_type: zod.literal("branding.created"),
|
|
2235
|
+
payload: zod.object({
|
|
2236
|
+
layout: zod.string().optional(),
|
|
2237
|
+
logo_url: zod.string().optional(),
|
|
2238
|
+
font_url: zod.string().optional(),
|
|
2239
|
+
hero_url: zod.string().optional()
|
|
2240
|
+
}).describe("Allowlisted fields for `branding.created`. Omits `liquid_template`.\n")
|
|
2241
|
+
})).describe("Wide event with event_type=branding.created.\n"),
|
|
2242
|
+
zod.object({
|
|
2243
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2244
|
+
project_id: zod.string().regex(listEventsResponseDataItemOneoneOneProjectIdRegExp),
|
|
2245
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2246
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2247
|
+
category: zod.enum([
|
|
2248
|
+
"request",
|
|
2249
|
+
"auth",
|
|
2250
|
+
"session",
|
|
2251
|
+
"admin",
|
|
2252
|
+
"entity",
|
|
2253
|
+
"signal"
|
|
2254
|
+
]).describe("Wide-event category."),
|
|
2255
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2256
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2257
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2258
|
+
actor_type: zod.union([zod.enum([
|
|
2259
|
+
"human",
|
|
2260
|
+
"service",
|
|
2261
|
+
"system",
|
|
2262
|
+
"agent"
|
|
2263
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2264
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2265
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2266
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2267
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2268
|
+
delegation_type: zod.enum([
|
|
2269
|
+
"direct",
|
|
2270
|
+
"delegated",
|
|
2271
|
+
"pat_shared",
|
|
2272
|
+
"exchanged"
|
|
2273
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2274
|
+
delegation_id: zod.string().optional(),
|
|
2275
|
+
grantor: zod.string().optional(),
|
|
2276
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2277
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2278
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2279
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2280
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2281
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2282
|
+
event_type: zod.literal("flowdef.created"),
|
|
2283
|
+
payload: zod.object({
|
|
2284
|
+
name: zod.string().optional(),
|
|
2285
|
+
status: zod.string().optional(),
|
|
2286
|
+
user_schema: zod.string().optional(),
|
|
2287
|
+
purposes: zod.record(zod.string(), zod.string()).optional(),
|
|
2288
|
+
audience: zod.object({
|
|
2289
|
+
app_ids: zod.array(zod.string()).optional(),
|
|
2290
|
+
team_ids: zod.array(zod.string()).optional()
|
|
2291
|
+
}).optional()
|
|
2292
|
+
}).describe("Shared allowlisted fields for `flowdef.created` (full snapshot) and\n`flowdef.updated` (delta: only changed fields present). Steps are omitted.\n")
|
|
2293
|
+
})).describe("Wide event with event_type=flowdef.created.\n"),
|
|
2294
|
+
zod.object({
|
|
2295
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2296
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnetwoOneProjectIdRegExp),
|
|
2297
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2298
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2299
|
+
category: zod.enum([
|
|
2300
|
+
"request",
|
|
2301
|
+
"auth",
|
|
2302
|
+
"session",
|
|
2303
|
+
"admin",
|
|
2304
|
+
"entity",
|
|
2305
|
+
"signal"
|
|
2306
|
+
]).describe("Wide-event category."),
|
|
2307
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2308
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2309
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2310
|
+
actor_type: zod.union([zod.enum([
|
|
2311
|
+
"human",
|
|
2312
|
+
"service",
|
|
2313
|
+
"system",
|
|
2314
|
+
"agent"
|
|
2315
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2316
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2317
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2318
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2319
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2320
|
+
delegation_type: zod.enum([
|
|
2321
|
+
"direct",
|
|
2322
|
+
"delegated",
|
|
2323
|
+
"pat_shared",
|
|
2324
|
+
"exchanged"
|
|
2325
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2326
|
+
delegation_id: zod.string().optional(),
|
|
2327
|
+
grantor: zod.string().optional(),
|
|
2328
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2329
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2330
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2331
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2332
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2333
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2334
|
+
event_type: zod.literal("flowdef.deleted"),
|
|
2335
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2336
|
+
})).describe("Wide event with event_type=flowdef.deleted.\n"),
|
|
2337
|
+
zod.object({
|
|
2338
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2339
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnethreeOneProjectIdRegExp),
|
|
2340
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2341
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2342
|
+
category: zod.enum([
|
|
2343
|
+
"request",
|
|
2344
|
+
"auth",
|
|
2345
|
+
"session",
|
|
2346
|
+
"admin",
|
|
2347
|
+
"entity",
|
|
2348
|
+
"signal"
|
|
2349
|
+
]).describe("Wide-event category."),
|
|
2350
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2351
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2352
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2353
|
+
actor_type: zod.union([zod.enum([
|
|
2354
|
+
"human",
|
|
2355
|
+
"service",
|
|
2356
|
+
"system",
|
|
2357
|
+
"agent"
|
|
2358
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2359
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2360
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2361
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2362
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2363
|
+
delegation_type: zod.enum([
|
|
2364
|
+
"direct",
|
|
2365
|
+
"delegated",
|
|
2366
|
+
"pat_shared",
|
|
2367
|
+
"exchanged"
|
|
2368
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2369
|
+
delegation_id: zod.string().optional(),
|
|
2370
|
+
grantor: zod.string().optional(),
|
|
2371
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2372
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2373
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2374
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2375
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2376
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2377
|
+
event_type: zod.literal("flowdef.updated"),
|
|
2378
|
+
payload: zod.object({
|
|
2379
|
+
name: zod.string().optional(),
|
|
2380
|
+
status: zod.string().optional(),
|
|
2381
|
+
user_schema: zod.string().optional(),
|
|
2382
|
+
purposes: zod.record(zod.string(), zod.string()).optional(),
|
|
2383
|
+
audience: zod.object({
|
|
2384
|
+
app_ids: zod.array(zod.string()).optional(),
|
|
2385
|
+
team_ids: zod.array(zod.string()).optional()
|
|
2386
|
+
}).optional()
|
|
2387
|
+
}).describe("Shared allowlisted fields for `flowdef.created` (full snapshot) and\n`flowdef.updated` (delta: only changed fields present). Steps are omitted.\n")
|
|
2388
|
+
})).describe("Wide event with event_type=flowdef.updated.\n"),
|
|
2389
|
+
zod.object({
|
|
2390
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2391
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnefourOneProjectIdRegExp),
|
|
2392
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2393
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2394
|
+
category: zod.enum([
|
|
2395
|
+
"request",
|
|
2396
|
+
"auth",
|
|
2397
|
+
"session",
|
|
2398
|
+
"admin",
|
|
2399
|
+
"entity",
|
|
2400
|
+
"signal"
|
|
2401
|
+
]).describe("Wide-event category."),
|
|
2402
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2403
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2404
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2405
|
+
actor_type: zod.union([zod.enum([
|
|
2406
|
+
"human",
|
|
2407
|
+
"service",
|
|
2408
|
+
"system",
|
|
2409
|
+
"agent"
|
|
2410
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2411
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2412
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2413
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2414
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2415
|
+
delegation_type: zod.enum([
|
|
2416
|
+
"direct",
|
|
2417
|
+
"delegated",
|
|
2418
|
+
"pat_shared",
|
|
2419
|
+
"exchanged"
|
|
2420
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2421
|
+
delegation_id: zod.string().optional(),
|
|
2422
|
+
grantor: zod.string().optional(),
|
|
2423
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2424
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2425
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2426
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2427
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2428
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2429
|
+
event_type: zod.literal("project.created"),
|
|
2430
|
+
payload: zod.object({
|
|
2431
|
+
name: zod.string().optional(),
|
|
2432
|
+
preview_origins: zod.array(zod.string()).optional()
|
|
2433
|
+
}).describe("Shared allowlisted fields for `project.created` (full snapshot) and\n`project.updated` (delta: only changed fields present).\n")
|
|
2434
|
+
})).describe("Wide event with event_type=project.created.\n"),
|
|
2435
|
+
zod.object({
|
|
2436
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2437
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnefiveOneProjectIdRegExp),
|
|
2438
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2439
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2440
|
+
category: zod.enum([
|
|
2441
|
+
"request",
|
|
2442
|
+
"auth",
|
|
2443
|
+
"session",
|
|
2444
|
+
"admin",
|
|
2445
|
+
"entity",
|
|
2446
|
+
"signal"
|
|
2447
|
+
]).describe("Wide-event category."),
|
|
2448
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2449
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2450
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2451
|
+
actor_type: zod.union([zod.enum([
|
|
2452
|
+
"human",
|
|
2453
|
+
"service",
|
|
2454
|
+
"system",
|
|
2455
|
+
"agent"
|
|
2456
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2457
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2458
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2459
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2460
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2461
|
+
delegation_type: zod.enum([
|
|
2462
|
+
"direct",
|
|
2463
|
+
"delegated",
|
|
2464
|
+
"pat_shared",
|
|
2465
|
+
"exchanged"
|
|
2466
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2467
|
+
delegation_id: zod.string().optional(),
|
|
2468
|
+
grantor: zod.string().optional(),
|
|
2469
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2470
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2471
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2472
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2473
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2474
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2475
|
+
event_type: zod.literal("project.deleted"),
|
|
2476
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2477
|
+
})).describe("Wide event with event_type=project.deleted.\n"),
|
|
2478
|
+
zod.object({
|
|
2479
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2480
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnesixOneProjectIdRegExp),
|
|
2481
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2482
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2483
|
+
category: zod.enum([
|
|
2484
|
+
"request",
|
|
2485
|
+
"auth",
|
|
2486
|
+
"session",
|
|
2487
|
+
"admin",
|
|
2488
|
+
"entity",
|
|
2489
|
+
"signal"
|
|
2490
|
+
]).describe("Wide-event category."),
|
|
2491
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2492
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2493
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2494
|
+
actor_type: zod.union([zod.enum([
|
|
2495
|
+
"human",
|
|
2496
|
+
"service",
|
|
2497
|
+
"system",
|
|
2498
|
+
"agent"
|
|
2499
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2500
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2501
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2502
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2503
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2504
|
+
delegation_type: zod.enum([
|
|
2505
|
+
"direct",
|
|
2506
|
+
"delegated",
|
|
2507
|
+
"pat_shared",
|
|
2508
|
+
"exchanged"
|
|
2509
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2510
|
+
delegation_id: zod.string().optional(),
|
|
2511
|
+
grantor: zod.string().optional(),
|
|
2512
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2513
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2514
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2515
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2516
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2517
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2518
|
+
event_type: zod.literal("project.updated"),
|
|
2519
|
+
payload: zod.object({
|
|
2520
|
+
name: zod.string().optional(),
|
|
2521
|
+
preview_origins: zod.array(zod.string()).optional()
|
|
2522
|
+
}).describe("Shared allowlisted fields for `project.created` (full snapshot) and\n`project.updated` (delta: only changed fields present).\n")
|
|
2523
|
+
})).describe("Wide event with event_type=project.updated.\n"),
|
|
2524
|
+
zod.object({
|
|
2525
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2526
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnesevenOneProjectIdRegExp),
|
|
2527
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2528
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2529
|
+
category: zod.enum([
|
|
2530
|
+
"request",
|
|
2531
|
+
"auth",
|
|
2532
|
+
"session",
|
|
2533
|
+
"admin",
|
|
2534
|
+
"entity",
|
|
2535
|
+
"signal"
|
|
2536
|
+
]).describe("Wide-event category."),
|
|
2537
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2538
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2539
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2540
|
+
actor_type: zod.union([zod.enum([
|
|
2541
|
+
"human",
|
|
2542
|
+
"service",
|
|
2543
|
+
"system",
|
|
2544
|
+
"agent"
|
|
2545
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2546
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2547
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2548
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2549
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2550
|
+
delegation_type: zod.enum([
|
|
2551
|
+
"direct",
|
|
2552
|
+
"delegated",
|
|
2553
|
+
"pat_shared",
|
|
2554
|
+
"exchanged"
|
|
2555
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2556
|
+
delegation_id: zod.string().optional(),
|
|
2557
|
+
grantor: zod.string().optional(),
|
|
2558
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2559
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2560
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2561
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2562
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2563
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2564
|
+
event_type: zod.literal("request.api"),
|
|
2565
|
+
payload: zod.object({
|
|
2566
|
+
operation_id: zod.string(),
|
|
2567
|
+
method: zod.enum([
|
|
2568
|
+
"GET",
|
|
2569
|
+
"POST",
|
|
2570
|
+
"PUT",
|
|
2571
|
+
"PATCH",
|
|
2572
|
+
"DELETE",
|
|
2573
|
+
"HEAD",
|
|
2574
|
+
"OPTIONS"
|
|
2575
|
+
]).describe("HTTP method."),
|
|
2576
|
+
route_template: zod.string(),
|
|
2577
|
+
status: zod.number().min(100).max(599),
|
|
2578
|
+
duration_ms: zod.number().min(0)
|
|
2579
|
+
}).describe("Payload for `request.api` events.")
|
|
2580
|
+
})).describe("Wide event with event_type=request.api.\n"),
|
|
2581
|
+
zod.object({
|
|
2582
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2583
|
+
project_id: zod.string().regex(listEventsResponseDataItemOneeightOneProjectIdRegExp),
|
|
2584
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2585
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2586
|
+
category: zod.enum([
|
|
2587
|
+
"request",
|
|
2588
|
+
"auth",
|
|
2589
|
+
"session",
|
|
2590
|
+
"admin",
|
|
2591
|
+
"entity",
|
|
2592
|
+
"signal"
|
|
2593
|
+
]).describe("Wide-event category."),
|
|
2594
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2595
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2596
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2597
|
+
actor_type: zod.union([zod.enum([
|
|
2598
|
+
"human",
|
|
2599
|
+
"service",
|
|
2600
|
+
"system",
|
|
2601
|
+
"agent"
|
|
2602
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2603
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2604
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2605
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2606
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2607
|
+
delegation_type: zod.enum([
|
|
2608
|
+
"direct",
|
|
2609
|
+
"delegated",
|
|
2610
|
+
"pat_shared",
|
|
2611
|
+
"exchanged"
|
|
2612
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2613
|
+
delegation_id: zod.string().optional(),
|
|
2614
|
+
grantor: zod.string().optional(),
|
|
2615
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2616
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2617
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2618
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2619
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2620
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2621
|
+
event_type: zod.literal("schema.created"),
|
|
2622
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2623
|
+
})).describe("Wide event with event_type=schema.created.\n"),
|
|
2624
|
+
zod.object({
|
|
2625
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2626
|
+
project_id: zod.string().regex(listEventsResponseDataItemOnenineOneProjectIdRegExp),
|
|
2627
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2628
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2629
|
+
category: zod.enum([
|
|
2630
|
+
"request",
|
|
2631
|
+
"auth",
|
|
2632
|
+
"session",
|
|
2633
|
+
"admin",
|
|
2634
|
+
"entity",
|
|
2635
|
+
"signal"
|
|
2636
|
+
]).describe("Wide-event category."),
|
|
2637
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2638
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2639
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2640
|
+
actor_type: zod.union([zod.enum([
|
|
2641
|
+
"human",
|
|
2642
|
+
"service",
|
|
2643
|
+
"system",
|
|
2644
|
+
"agent"
|
|
2645
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2646
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2647
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2648
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2649
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2650
|
+
delegation_type: zod.enum([
|
|
2651
|
+
"direct",
|
|
2652
|
+
"delegated",
|
|
2653
|
+
"pat_shared",
|
|
2654
|
+
"exchanged"
|
|
2655
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2656
|
+
delegation_id: zod.string().optional(),
|
|
2657
|
+
grantor: zod.string().optional(),
|
|
2658
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2659
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2660
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2661
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2662
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2663
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2664
|
+
event_type: zod.literal("session.deleted"),
|
|
2665
|
+
payload: zod.object({ reason: zod.string().optional() }).describe("Payload for `session.deleted` events.")
|
|
2666
|
+
})).describe("Wide event with event_type=session.deleted.\n"),
|
|
2667
|
+
zod.object({
|
|
2668
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2669
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwozeroOneProjectIdRegExp),
|
|
2670
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2671
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2672
|
+
category: zod.enum([
|
|
2673
|
+
"request",
|
|
2674
|
+
"auth",
|
|
2675
|
+
"session",
|
|
2676
|
+
"admin",
|
|
2677
|
+
"entity",
|
|
2678
|
+
"signal"
|
|
2679
|
+
]).describe("Wide-event category."),
|
|
2680
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2681
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2682
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2683
|
+
actor_type: zod.union([zod.enum([
|
|
2684
|
+
"human",
|
|
2685
|
+
"service",
|
|
2686
|
+
"system",
|
|
2687
|
+
"agent"
|
|
2688
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2689
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2690
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2691
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2692
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2693
|
+
delegation_type: zod.enum([
|
|
2694
|
+
"direct",
|
|
2695
|
+
"delegated",
|
|
2696
|
+
"pat_shared",
|
|
2697
|
+
"exchanged"
|
|
2698
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2699
|
+
delegation_id: zod.string().optional(),
|
|
2700
|
+
grantor: zod.string().optional(),
|
|
2701
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2702
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2703
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2704
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2705
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2706
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2707
|
+
event_type: zod.literal("session.established"),
|
|
2708
|
+
payload: zod.object({ user_id: zod.string().optional() }).describe("Payload for `session.established` events.")
|
|
2709
|
+
})).describe("Wide event with event_type=session.established.\n"),
|
|
2710
|
+
zod.object({
|
|
2711
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2712
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwooneOneProjectIdRegExp),
|
|
2713
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2714
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2715
|
+
category: zod.enum([
|
|
2716
|
+
"request",
|
|
2717
|
+
"auth",
|
|
2718
|
+
"session",
|
|
2719
|
+
"admin",
|
|
2720
|
+
"entity",
|
|
2721
|
+
"signal"
|
|
2722
|
+
]).describe("Wide-event category."),
|
|
2723
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2724
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2725
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2726
|
+
actor_type: zod.union([zod.enum([
|
|
2727
|
+
"human",
|
|
2728
|
+
"service",
|
|
2729
|
+
"system",
|
|
2730
|
+
"agent"
|
|
2731
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2732
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2733
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2734
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2735
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2736
|
+
delegation_type: zod.enum([
|
|
2737
|
+
"direct",
|
|
2738
|
+
"delegated",
|
|
2739
|
+
"pat_shared",
|
|
2740
|
+
"exchanged"
|
|
2741
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2742
|
+
delegation_id: zod.string().optional(),
|
|
2743
|
+
grantor: zod.string().optional(),
|
|
2744
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2745
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2746
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2747
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2748
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2749
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2750
|
+
event_type: zod.literal("team.created"),
|
|
2751
|
+
payload: zod.object({ name: zod.string().optional() }).describe("Shared allowlisted fields for `team.created` (snapshot) and\n`team.updated` (delta: only changed fields present).\n")
|
|
2752
|
+
})).describe("Wide event with event_type=team.created.\n"),
|
|
2753
|
+
zod.object({
|
|
2754
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2755
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwotwoOneProjectIdRegExp),
|
|
2756
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2757
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2758
|
+
category: zod.enum([
|
|
2759
|
+
"request",
|
|
2760
|
+
"auth",
|
|
2761
|
+
"session",
|
|
2762
|
+
"admin",
|
|
2763
|
+
"entity",
|
|
2764
|
+
"signal"
|
|
2765
|
+
]).describe("Wide-event category."),
|
|
2766
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2767
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2768
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2769
|
+
actor_type: zod.union([zod.enum([
|
|
2770
|
+
"human",
|
|
2771
|
+
"service",
|
|
2772
|
+
"system",
|
|
2773
|
+
"agent"
|
|
2774
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2775
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2776
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2777
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2778
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2779
|
+
delegation_type: zod.enum([
|
|
2780
|
+
"direct",
|
|
2781
|
+
"delegated",
|
|
2782
|
+
"pat_shared",
|
|
2783
|
+
"exchanged"
|
|
2784
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2785
|
+
delegation_id: zod.string().optional(),
|
|
2786
|
+
grantor: zod.string().optional(),
|
|
2787
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2788
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2789
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2790
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2791
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2792
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2793
|
+
event_type: zod.literal("team.deactivated"),
|
|
2794
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2795
|
+
})).describe("Wide event with event_type=team.deactivated.\n"),
|
|
2796
|
+
zod.object({
|
|
2797
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2798
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwothreeOneProjectIdRegExp),
|
|
2799
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2800
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2801
|
+
category: zod.enum([
|
|
2802
|
+
"request",
|
|
2803
|
+
"auth",
|
|
2804
|
+
"session",
|
|
2805
|
+
"admin",
|
|
2806
|
+
"entity",
|
|
2807
|
+
"signal"
|
|
2808
|
+
]).describe("Wide-event category."),
|
|
2809
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2810
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2811
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2812
|
+
actor_type: zod.union([zod.enum([
|
|
2813
|
+
"human",
|
|
2814
|
+
"service",
|
|
2815
|
+
"system",
|
|
2816
|
+
"agent"
|
|
2817
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2818
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2819
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2820
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2821
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2822
|
+
delegation_type: zod.enum([
|
|
2823
|
+
"direct",
|
|
2824
|
+
"delegated",
|
|
2825
|
+
"pat_shared",
|
|
2826
|
+
"exchanged"
|
|
2827
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2828
|
+
delegation_id: zod.string().optional(),
|
|
2829
|
+
grantor: zod.string().optional(),
|
|
2830
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2831
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2832
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2833
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2834
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2835
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2836
|
+
event_type: zod.literal("team.updated"),
|
|
2837
|
+
payload: zod.object({ name: zod.string().optional() }).describe("Shared allowlisted fields for `team.created` (snapshot) and\n`team.updated` (delta: only changed fields present).\n")
|
|
2838
|
+
})).describe("Wide event with event_type=team.updated.\n"),
|
|
2839
|
+
zod.object({
|
|
2840
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2841
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwofourOneProjectIdRegExp),
|
|
2842
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2843
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2844
|
+
category: zod.enum([
|
|
2845
|
+
"request",
|
|
2846
|
+
"auth",
|
|
2847
|
+
"session",
|
|
2848
|
+
"admin",
|
|
2849
|
+
"entity",
|
|
2850
|
+
"signal"
|
|
2851
|
+
]).describe("Wide-event category."),
|
|
2852
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2853
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2854
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2855
|
+
actor_type: zod.union([zod.enum([
|
|
2856
|
+
"human",
|
|
2857
|
+
"service",
|
|
2858
|
+
"system",
|
|
2859
|
+
"agent"
|
|
2860
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2861
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2862
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2863
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2864
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2865
|
+
delegation_type: zod.enum([
|
|
2866
|
+
"direct",
|
|
2867
|
+
"delegated",
|
|
2868
|
+
"pat_shared",
|
|
2869
|
+
"exchanged"
|
|
2870
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2871
|
+
delegation_id: zod.string().optional(),
|
|
2872
|
+
grantor: zod.string().optional(),
|
|
2873
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2874
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2875
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2876
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2877
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2878
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2879
|
+
event_type: zod.literal("user.create.failed"),
|
|
2880
|
+
payload: zod.object({ key_name: zod.string().optional() }).describe("Payload for `user.create.failed` events.")
|
|
2881
|
+
})).describe("Wide event with event_type=user.create.failed.\n"),
|
|
2882
|
+
zod.object({
|
|
2883
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2884
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwofiveOneProjectIdRegExp),
|
|
2885
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2886
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2887
|
+
category: zod.enum([
|
|
2888
|
+
"request",
|
|
2889
|
+
"auth",
|
|
2890
|
+
"session",
|
|
2891
|
+
"admin",
|
|
2892
|
+
"entity",
|
|
2893
|
+
"signal"
|
|
2894
|
+
]).describe("Wide-event category."),
|
|
2895
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2896
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2897
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2898
|
+
actor_type: zod.union([zod.enum([
|
|
2899
|
+
"human",
|
|
2900
|
+
"service",
|
|
2901
|
+
"system",
|
|
2902
|
+
"agent"
|
|
2903
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2904
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2905
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2906
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2907
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2908
|
+
delegation_type: zod.enum([
|
|
2909
|
+
"direct",
|
|
2910
|
+
"delegated",
|
|
2911
|
+
"pat_shared",
|
|
2912
|
+
"exchanged"
|
|
2913
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2914
|
+
delegation_id: zod.string().optional(),
|
|
2915
|
+
grantor: zod.string().optional(),
|
|
2916
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2917
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2918
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2919
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2920
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2921
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2922
|
+
event_type: zod.literal("user.created"),
|
|
2923
|
+
payload: zod.object({
|
|
2924
|
+
schema_id: zod.string().optional(),
|
|
2925
|
+
attribute_keys: zod.array(zod.string()).optional(),
|
|
2926
|
+
attributes: zod.record(zod.string(), zod.unknown()).optional()
|
|
2927
|
+
}).describe("Payload for `user.created`. Identity is `entity_id`; attribute values\nappear only for schema fields marked `x-audit`.\n")
|
|
2928
|
+
})).describe("Wide event with event_type=user.created.\n"),
|
|
2929
|
+
zod.object({
|
|
2930
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
2931
|
+
project_id: zod.string().regex(listEventsResponseDataItemTwosixOneProjectIdRegExp),
|
|
2932
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
2933
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
2934
|
+
category: zod.enum([
|
|
2935
|
+
"request",
|
|
2936
|
+
"auth",
|
|
2937
|
+
"session",
|
|
2938
|
+
"admin",
|
|
2939
|
+
"entity",
|
|
2940
|
+
"signal"
|
|
2941
|
+
]).describe("Wide-event category."),
|
|
2942
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
2943
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
2944
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
2945
|
+
actor_type: zod.union([zod.enum([
|
|
2946
|
+
"human",
|
|
2947
|
+
"service",
|
|
2948
|
+
"system",
|
|
2949
|
+
"agent"
|
|
2950
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
2951
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
2952
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
2953
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
2954
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
2955
|
+
delegation_type: zod.enum([
|
|
2956
|
+
"direct",
|
|
2957
|
+
"delegated",
|
|
2958
|
+
"pat_shared",
|
|
2959
|
+
"exchanged"
|
|
2960
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
2961
|
+
delegation_id: zod.string().optional(),
|
|
2962
|
+
grantor: zod.string().optional(),
|
|
2963
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
2964
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
2965
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
2966
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
2967
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
2968
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
2969
|
+
event_type: zod.literal("user.deleted"),
|
|
2970
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
2971
|
+
})).describe("Wide event with event_type=user.deleted.\n")
|
|
2972
|
+
]).describe("Discriminated wide-event union (ADR 048 / ADR 049). Clients select the\nmember via event_type; each member carries a typed payload.\n")),
|
|
2973
|
+
next_page_token: zod.union([zod.string(), zod.null()]).optional().describe("Token to pass as `page_token` in the next request to fetch the following page.\nAbsent when there are no more results.\n")
|
|
2974
|
+
}).describe("Paginated list of events (ADR 027 / ADR 049).");
|
|
2975
|
+
/**
|
|
2976
|
+
* Loads a single event by `(project_id, id)`. Requires `events.read`.
|
|
2977
|
+
Events are not registered in `resource_scope_index`; project scope is
|
|
2978
|
+
required on the query (ADR 049). Misses and cross-project ids return 404.
|
|
2979
|
+
|
|
2980
|
+
Pre-claim projects return 404 (stored events stay invisible until claim).
|
|
2981
|
+
|
|
2982
|
+
* @summary Get event by ID
|
|
2983
|
+
*/
|
|
2984
|
+
const GetEventParams = zod.object({ id: zod.string().describe("Managed event id (`evt_<opaque>`).") });
|
|
2985
|
+
const getEventQueryProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2986
|
+
const GetEventQueryParams = zod.strictObject({ project_id: zod.string().regex(getEventQueryProjectIdRegExp).describe("The unique identifier of the project") });
|
|
2987
|
+
const getEventResponseOneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2988
|
+
const getEventResponseTwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2989
|
+
const getEventResponseThreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2990
|
+
const getEventResponseFourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2991
|
+
const getEventResponseFiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2992
|
+
const getEventResponseSixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2993
|
+
const getEventResponseSevenOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2994
|
+
const getEventResponseEightOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2995
|
+
const getEventResponseNineOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2996
|
+
const getEventResponseOnezeroOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2997
|
+
const getEventResponseOneoneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2998
|
+
const getEventResponseOnetwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
2999
|
+
const getEventResponseOnethreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3000
|
+
const getEventResponseOnefourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3001
|
+
const getEventResponseOnefiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3002
|
+
const getEventResponseOnesixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3003
|
+
const getEventResponseOnesevenOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3004
|
+
const getEventResponseOnesevenTwoPayloadStatusMin = 100;
|
|
3005
|
+
const getEventResponseOnesevenTwoPayloadStatusMax = 599;
|
|
3006
|
+
const getEventResponseOnesevenTwoPayloadDurationMsMin = 0;
|
|
3007
|
+
const getEventResponseOneeightOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3008
|
+
const getEventResponseOnenineOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3009
|
+
const getEventResponseTwozeroOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3010
|
+
const getEventResponseTwooneOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3011
|
+
const getEventResponseTwotwoOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3012
|
+
const getEventResponseTwothreeOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3013
|
+
const getEventResponseTwofourOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3014
|
+
const getEventResponseTwofiveOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3015
|
+
const getEventResponseTwosixOneProjectIdRegExp = /* @__PURE__ */ new RegExp("^[a-zA-Z0-9_-]+$");
|
|
3016
|
+
const GetEventResponse = zod.union([
|
|
3017
|
+
zod.object({
|
|
3018
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3019
|
+
project_id: zod.string().regex(getEventResponseOneOneProjectIdRegExp),
|
|
3020
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3021
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3022
|
+
category: zod.enum([
|
|
3023
|
+
"request",
|
|
3024
|
+
"auth",
|
|
3025
|
+
"session",
|
|
3026
|
+
"admin",
|
|
3027
|
+
"entity",
|
|
3028
|
+
"signal"
|
|
3029
|
+
]).describe("Wide-event category."),
|
|
3030
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3031
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3032
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3033
|
+
actor_type: zod.union([zod.enum([
|
|
3034
|
+
"human",
|
|
3035
|
+
"service",
|
|
3036
|
+
"system",
|
|
3037
|
+
"agent"
|
|
3038
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3039
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3040
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3041
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3042
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3043
|
+
delegation_type: zod.enum([
|
|
3044
|
+
"direct",
|
|
3045
|
+
"delegated",
|
|
3046
|
+
"pat_shared",
|
|
3047
|
+
"exchanged"
|
|
3048
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3049
|
+
delegation_id: zod.string().optional(),
|
|
3050
|
+
grantor: zod.string().optional(),
|
|
3051
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3052
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3053
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3054
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3055
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3056
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3057
|
+
event_type: zod.literal("auth.attempt.created"),
|
|
3058
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3059
|
+
})).describe("Wide event with event_type=auth.attempt.created.\n"),
|
|
3060
|
+
zod.object({
|
|
3061
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3062
|
+
project_id: zod.string().regex(getEventResponseTwoOneProjectIdRegExp),
|
|
3063
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3064
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3065
|
+
category: zod.enum([
|
|
3066
|
+
"request",
|
|
3067
|
+
"auth",
|
|
3068
|
+
"session",
|
|
3069
|
+
"admin",
|
|
3070
|
+
"entity",
|
|
3071
|
+
"signal"
|
|
3072
|
+
]).describe("Wide-event category."),
|
|
3073
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3074
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3075
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3076
|
+
actor_type: zod.union([zod.enum([
|
|
3077
|
+
"human",
|
|
3078
|
+
"service",
|
|
3079
|
+
"system",
|
|
3080
|
+
"agent"
|
|
3081
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3082
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3083
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3084
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3085
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3086
|
+
delegation_type: zod.enum([
|
|
3087
|
+
"direct",
|
|
3088
|
+
"delegated",
|
|
3089
|
+
"pat_shared",
|
|
3090
|
+
"exchanged"
|
|
3091
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3092
|
+
delegation_id: zod.string().optional(),
|
|
3093
|
+
grantor: zod.string().optional(),
|
|
3094
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3095
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3096
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3097
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3098
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3099
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3100
|
+
event_type: zod.literal("auth.attempt.handed_off"),
|
|
3101
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3102
|
+
})).describe("Wide event with event_type=auth.attempt.handed_off.\n"),
|
|
3103
|
+
zod.object({
|
|
3104
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3105
|
+
project_id: zod.string().regex(getEventResponseThreeOneProjectIdRegExp),
|
|
3106
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3107
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3108
|
+
category: zod.enum([
|
|
3109
|
+
"request",
|
|
3110
|
+
"auth",
|
|
3111
|
+
"session",
|
|
3112
|
+
"admin",
|
|
3113
|
+
"entity",
|
|
3114
|
+
"signal"
|
|
3115
|
+
]).describe("Wide-event category."),
|
|
3116
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3117
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3118
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3119
|
+
actor_type: zod.union([zod.enum([
|
|
3120
|
+
"human",
|
|
3121
|
+
"service",
|
|
3122
|
+
"system",
|
|
3123
|
+
"agent"
|
|
3124
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3125
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3126
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3127
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3128
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3129
|
+
delegation_type: zod.enum([
|
|
3130
|
+
"direct",
|
|
3131
|
+
"delegated",
|
|
3132
|
+
"pat_shared",
|
|
3133
|
+
"exchanged"
|
|
3134
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3135
|
+
delegation_id: zod.string().optional(),
|
|
3136
|
+
grantor: zod.string().optional(),
|
|
3137
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3138
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3139
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3140
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3141
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3142
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3143
|
+
event_type: zod.literal("auth.check.failed"),
|
|
3144
|
+
payload: zod.object({
|
|
3145
|
+
check_id: zod.string(),
|
|
3146
|
+
check_type: zod.string().optional(),
|
|
3147
|
+
auth_attempt_id: zod.string().optional()
|
|
3148
|
+
}).describe("Payload for `auth.check.failed` / `auth.check.succeeded`.\n`auth_attempt_id` joins the check to its attempt for SIEM correlation.\n")
|
|
3149
|
+
})).describe("Wide event with event_type=auth.check.failed.\n"),
|
|
3150
|
+
zod.object({
|
|
3151
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3152
|
+
project_id: zod.string().regex(getEventResponseFourOneProjectIdRegExp),
|
|
3153
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3154
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3155
|
+
category: zod.enum([
|
|
3156
|
+
"request",
|
|
3157
|
+
"auth",
|
|
3158
|
+
"session",
|
|
3159
|
+
"admin",
|
|
3160
|
+
"entity",
|
|
3161
|
+
"signal"
|
|
3162
|
+
]).describe("Wide-event category."),
|
|
3163
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3164
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3165
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3166
|
+
actor_type: zod.union([zod.enum([
|
|
3167
|
+
"human",
|
|
3168
|
+
"service",
|
|
3169
|
+
"system",
|
|
3170
|
+
"agent"
|
|
3171
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3172
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3173
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3174
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3175
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3176
|
+
delegation_type: zod.enum([
|
|
3177
|
+
"direct",
|
|
3178
|
+
"delegated",
|
|
3179
|
+
"pat_shared",
|
|
3180
|
+
"exchanged"
|
|
3181
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3182
|
+
delegation_id: zod.string().optional(),
|
|
3183
|
+
grantor: zod.string().optional(),
|
|
3184
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3185
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3186
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3187
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3188
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3189
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3190
|
+
event_type: zod.literal("auth.check.succeeded"),
|
|
3191
|
+
payload: zod.object({
|
|
3192
|
+
check_id: zod.string(),
|
|
3193
|
+
check_type: zod.string().optional(),
|
|
3194
|
+
auth_attempt_id: zod.string().optional()
|
|
3195
|
+
}).describe("Payload for `auth.check.failed` / `auth.check.succeeded`.\n`auth_attempt_id` joins the check to its attempt for SIEM correlation.\n")
|
|
3196
|
+
})).describe("Wide event with event_type=auth.check.succeeded.\n"),
|
|
3197
|
+
zod.object({
|
|
3198
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3199
|
+
project_id: zod.string().regex(getEventResponseFiveOneProjectIdRegExp),
|
|
3200
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3201
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3202
|
+
category: zod.enum([
|
|
3203
|
+
"request",
|
|
3204
|
+
"auth",
|
|
3205
|
+
"session",
|
|
3206
|
+
"admin",
|
|
3207
|
+
"entity",
|
|
3208
|
+
"signal"
|
|
3209
|
+
]).describe("Wide-event category."),
|
|
3210
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3211
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3212
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3213
|
+
actor_type: zod.union([zod.enum([
|
|
3214
|
+
"human",
|
|
3215
|
+
"service",
|
|
3216
|
+
"system",
|
|
3217
|
+
"agent"
|
|
3218
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3219
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3220
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3221
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3222
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3223
|
+
delegation_type: zod.enum([
|
|
3224
|
+
"direct",
|
|
3225
|
+
"delegated",
|
|
3226
|
+
"pat_shared",
|
|
3227
|
+
"exchanged"
|
|
3228
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3229
|
+
delegation_id: zod.string().optional(),
|
|
3230
|
+
grantor: zod.string().optional(),
|
|
3231
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3232
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3233
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3234
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3235
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3236
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3237
|
+
event_type: zod.literal("auth.factor.passkey.enrolled"),
|
|
3238
|
+
payload: zod.object({
|
|
3239
|
+
user_id: zod.string(),
|
|
3240
|
+
factor_id: zod.string().optional()
|
|
3241
|
+
}).describe("Payload for `auth.factor.*` events.")
|
|
3242
|
+
})).describe("Wide event with event_type=auth.factor.passkey.enrolled.\n"),
|
|
3243
|
+
zod.object({
|
|
3244
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3245
|
+
project_id: zod.string().regex(getEventResponseSixOneProjectIdRegExp),
|
|
3246
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3247
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3248
|
+
category: zod.enum([
|
|
3249
|
+
"request",
|
|
3250
|
+
"auth",
|
|
3251
|
+
"session",
|
|
3252
|
+
"admin",
|
|
3253
|
+
"entity",
|
|
3254
|
+
"signal"
|
|
3255
|
+
]).describe("Wide-event category."),
|
|
3256
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3257
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3258
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3259
|
+
actor_type: zod.union([zod.enum([
|
|
3260
|
+
"human",
|
|
3261
|
+
"service",
|
|
3262
|
+
"system",
|
|
3263
|
+
"agent"
|
|
3264
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3265
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3266
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3267
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3268
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3269
|
+
delegation_type: zod.enum([
|
|
3270
|
+
"direct",
|
|
3271
|
+
"delegated",
|
|
3272
|
+
"pat_shared",
|
|
3273
|
+
"exchanged"
|
|
3274
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3275
|
+
delegation_id: zod.string().optional(),
|
|
3276
|
+
grantor: zod.string().optional(),
|
|
3277
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3278
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3279
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3280
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3281
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3282
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3283
|
+
event_type: zod.literal("auth.factor.password.set"),
|
|
3284
|
+
payload: zod.object({
|
|
3285
|
+
user_id: zod.string(),
|
|
3286
|
+
factor_id: zod.string().optional()
|
|
3287
|
+
}).describe("Payload for `auth.factor.*` events.")
|
|
3288
|
+
})).describe("Wide event with event_type=auth.factor.password.set.\n"),
|
|
3289
|
+
zod.object({
|
|
3290
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3291
|
+
project_id: zod.string().regex(getEventResponseSevenOneProjectIdRegExp),
|
|
3292
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3293
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3294
|
+
category: zod.enum([
|
|
3295
|
+
"request",
|
|
3296
|
+
"auth",
|
|
3297
|
+
"session",
|
|
3298
|
+
"admin",
|
|
3299
|
+
"entity",
|
|
3300
|
+
"signal"
|
|
3301
|
+
]).describe("Wide-event category."),
|
|
3302
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3303
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3304
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3305
|
+
actor_type: zod.union([zod.enum([
|
|
3306
|
+
"human",
|
|
3307
|
+
"service",
|
|
3308
|
+
"system",
|
|
3309
|
+
"agent"
|
|
3310
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3311
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3312
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3313
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3314
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3315
|
+
delegation_type: zod.enum([
|
|
3316
|
+
"direct",
|
|
3317
|
+
"delegated",
|
|
3318
|
+
"pat_shared",
|
|
3319
|
+
"exchanged"
|
|
3320
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3321
|
+
delegation_id: zod.string().optional(),
|
|
3322
|
+
grantor: zod.string().optional(),
|
|
3323
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3324
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3325
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3326
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3327
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3328
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3329
|
+
event_type: zod.literal("auth.token.issued"),
|
|
3330
|
+
payload: zod.object({ scopes: zod.array(zod.string()).optional() }).describe("Payload for `auth.token.issued` events.")
|
|
3331
|
+
})).describe("Wide event with event_type=auth.token.issued.\n"),
|
|
3332
|
+
zod.object({
|
|
3333
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3334
|
+
project_id: zod.string().regex(getEventResponseEightOneProjectIdRegExp),
|
|
3335
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3336
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3337
|
+
category: zod.enum([
|
|
3338
|
+
"request",
|
|
3339
|
+
"auth",
|
|
3340
|
+
"session",
|
|
3341
|
+
"admin",
|
|
3342
|
+
"entity",
|
|
3343
|
+
"signal"
|
|
3344
|
+
]).describe("Wide-event category."),
|
|
3345
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3346
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3347
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3348
|
+
actor_type: zod.union([zod.enum([
|
|
3349
|
+
"human",
|
|
3350
|
+
"service",
|
|
3351
|
+
"system",
|
|
3352
|
+
"agent"
|
|
3353
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3354
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3355
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3356
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3357
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3358
|
+
delegation_type: zod.enum([
|
|
3359
|
+
"direct",
|
|
3360
|
+
"delegated",
|
|
3361
|
+
"pat_shared",
|
|
3362
|
+
"exchanged"
|
|
3363
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3364
|
+
delegation_id: zod.string().optional(),
|
|
3365
|
+
grantor: zod.string().optional(),
|
|
3366
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3367
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3368
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3369
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3370
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3371
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3372
|
+
event_type: zod.literal("auth.token.revoked"),
|
|
3373
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3374
|
+
})).describe("Wide event with event_type=auth.token.revoked.\n"),
|
|
3375
|
+
zod.object({
|
|
3376
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3377
|
+
project_id: zod.string().regex(getEventResponseNineOneProjectIdRegExp),
|
|
3378
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3379
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3380
|
+
category: zod.enum([
|
|
3381
|
+
"request",
|
|
3382
|
+
"auth",
|
|
3383
|
+
"session",
|
|
3384
|
+
"admin",
|
|
3385
|
+
"entity",
|
|
3386
|
+
"signal"
|
|
3387
|
+
]).describe("Wide-event category."),
|
|
3388
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3389
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3390
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3391
|
+
actor_type: zod.union([zod.enum([
|
|
3392
|
+
"human",
|
|
3393
|
+
"service",
|
|
3394
|
+
"system",
|
|
3395
|
+
"agent"
|
|
3396
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3397
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3398
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3399
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3400
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3401
|
+
delegation_type: zod.enum([
|
|
3402
|
+
"direct",
|
|
3403
|
+
"delegated",
|
|
3404
|
+
"pat_shared",
|
|
3405
|
+
"exchanged"
|
|
3406
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3407
|
+
delegation_id: zod.string().optional(),
|
|
3408
|
+
grantor: zod.string().optional(),
|
|
3409
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3410
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3411
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3412
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3413
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3414
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3415
|
+
event_type: zod.literal("authz.granted"),
|
|
3416
|
+
payload: zod.object({
|
|
3417
|
+
principal_type: zod.string().optional(),
|
|
3418
|
+
principal_id: zod.string().optional(),
|
|
3419
|
+
relation: zod.string().optional()
|
|
3420
|
+
}).describe("Payload for `authz.granted` events.")
|
|
3421
|
+
})).describe("Wide event with event_type=authz.granted.\n"),
|
|
3422
|
+
zod.object({
|
|
3423
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3424
|
+
project_id: zod.string().regex(getEventResponseOnezeroOneProjectIdRegExp),
|
|
3425
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3426
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3427
|
+
category: zod.enum([
|
|
3428
|
+
"request",
|
|
3429
|
+
"auth",
|
|
3430
|
+
"session",
|
|
3431
|
+
"admin",
|
|
3432
|
+
"entity",
|
|
3433
|
+
"signal"
|
|
3434
|
+
]).describe("Wide-event category."),
|
|
3435
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3436
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3437
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3438
|
+
actor_type: zod.union([zod.enum([
|
|
3439
|
+
"human",
|
|
3440
|
+
"service",
|
|
3441
|
+
"system",
|
|
3442
|
+
"agent"
|
|
3443
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3444
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3445
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3446
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3447
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3448
|
+
delegation_type: zod.enum([
|
|
3449
|
+
"direct",
|
|
3450
|
+
"delegated",
|
|
3451
|
+
"pat_shared",
|
|
3452
|
+
"exchanged"
|
|
3453
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3454
|
+
delegation_id: zod.string().optional(),
|
|
3455
|
+
grantor: zod.string().optional(),
|
|
3456
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3457
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3458
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3459
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3460
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3461
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3462
|
+
event_type: zod.literal("branding.created"),
|
|
3463
|
+
payload: zod.object({
|
|
3464
|
+
layout: zod.string().optional(),
|
|
3465
|
+
logo_url: zod.string().optional(),
|
|
3466
|
+
font_url: zod.string().optional(),
|
|
3467
|
+
hero_url: zod.string().optional()
|
|
3468
|
+
}).describe("Allowlisted fields for `branding.created`. Omits `liquid_template`.\n")
|
|
3469
|
+
})).describe("Wide event with event_type=branding.created.\n"),
|
|
3470
|
+
zod.object({
|
|
3471
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3472
|
+
project_id: zod.string().regex(getEventResponseOneoneOneProjectIdRegExp),
|
|
3473
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3474
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3475
|
+
category: zod.enum([
|
|
3476
|
+
"request",
|
|
3477
|
+
"auth",
|
|
3478
|
+
"session",
|
|
3479
|
+
"admin",
|
|
3480
|
+
"entity",
|
|
3481
|
+
"signal"
|
|
3482
|
+
]).describe("Wide-event category."),
|
|
3483
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3484
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3485
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3486
|
+
actor_type: zod.union([zod.enum([
|
|
3487
|
+
"human",
|
|
3488
|
+
"service",
|
|
3489
|
+
"system",
|
|
3490
|
+
"agent"
|
|
3491
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3492
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3493
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3494
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3495
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3496
|
+
delegation_type: zod.enum([
|
|
3497
|
+
"direct",
|
|
3498
|
+
"delegated",
|
|
3499
|
+
"pat_shared",
|
|
3500
|
+
"exchanged"
|
|
3501
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3502
|
+
delegation_id: zod.string().optional(),
|
|
3503
|
+
grantor: zod.string().optional(),
|
|
3504
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3505
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3506
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3507
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3508
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3509
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3510
|
+
event_type: zod.literal("flowdef.created"),
|
|
3511
|
+
payload: zod.object({
|
|
3512
|
+
name: zod.string().optional(),
|
|
3513
|
+
status: zod.string().optional(),
|
|
3514
|
+
user_schema: zod.string().optional(),
|
|
3515
|
+
purposes: zod.record(zod.string(), zod.string()).optional(),
|
|
3516
|
+
audience: zod.object({
|
|
3517
|
+
app_ids: zod.array(zod.string()).optional(),
|
|
3518
|
+
team_ids: zod.array(zod.string()).optional()
|
|
3519
|
+
}).optional()
|
|
3520
|
+
}).describe("Shared allowlisted fields for `flowdef.created` (full snapshot) and\n`flowdef.updated` (delta: only changed fields present). Steps are omitted.\n")
|
|
3521
|
+
})).describe("Wide event with event_type=flowdef.created.\n"),
|
|
3522
|
+
zod.object({
|
|
3523
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3524
|
+
project_id: zod.string().regex(getEventResponseOnetwoOneProjectIdRegExp),
|
|
3525
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3526
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3527
|
+
category: zod.enum([
|
|
3528
|
+
"request",
|
|
3529
|
+
"auth",
|
|
3530
|
+
"session",
|
|
3531
|
+
"admin",
|
|
3532
|
+
"entity",
|
|
3533
|
+
"signal"
|
|
3534
|
+
]).describe("Wide-event category."),
|
|
3535
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3536
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3537
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3538
|
+
actor_type: zod.union([zod.enum([
|
|
3539
|
+
"human",
|
|
3540
|
+
"service",
|
|
3541
|
+
"system",
|
|
3542
|
+
"agent"
|
|
3543
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3544
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3545
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3546
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3547
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3548
|
+
delegation_type: zod.enum([
|
|
3549
|
+
"direct",
|
|
3550
|
+
"delegated",
|
|
3551
|
+
"pat_shared",
|
|
3552
|
+
"exchanged"
|
|
3553
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3554
|
+
delegation_id: zod.string().optional(),
|
|
3555
|
+
grantor: zod.string().optional(),
|
|
3556
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3557
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3558
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3559
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3560
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3561
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3562
|
+
event_type: zod.literal("flowdef.deleted"),
|
|
3563
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3564
|
+
})).describe("Wide event with event_type=flowdef.deleted.\n"),
|
|
3565
|
+
zod.object({
|
|
3566
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3567
|
+
project_id: zod.string().regex(getEventResponseOnethreeOneProjectIdRegExp),
|
|
3568
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3569
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3570
|
+
category: zod.enum([
|
|
3571
|
+
"request",
|
|
3572
|
+
"auth",
|
|
3573
|
+
"session",
|
|
3574
|
+
"admin",
|
|
3575
|
+
"entity",
|
|
3576
|
+
"signal"
|
|
3577
|
+
]).describe("Wide-event category."),
|
|
3578
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3579
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3580
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3581
|
+
actor_type: zod.union([zod.enum([
|
|
3582
|
+
"human",
|
|
3583
|
+
"service",
|
|
3584
|
+
"system",
|
|
3585
|
+
"agent"
|
|
3586
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3587
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3588
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3589
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3590
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3591
|
+
delegation_type: zod.enum([
|
|
3592
|
+
"direct",
|
|
3593
|
+
"delegated",
|
|
3594
|
+
"pat_shared",
|
|
3595
|
+
"exchanged"
|
|
3596
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3597
|
+
delegation_id: zod.string().optional(),
|
|
3598
|
+
grantor: zod.string().optional(),
|
|
3599
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3600
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3601
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3602
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3603
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3604
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3605
|
+
event_type: zod.literal("flowdef.updated"),
|
|
3606
|
+
payload: zod.object({
|
|
3607
|
+
name: zod.string().optional(),
|
|
3608
|
+
status: zod.string().optional(),
|
|
3609
|
+
user_schema: zod.string().optional(),
|
|
3610
|
+
purposes: zod.record(zod.string(), zod.string()).optional(),
|
|
3611
|
+
audience: zod.object({
|
|
3612
|
+
app_ids: zod.array(zod.string()).optional(),
|
|
3613
|
+
team_ids: zod.array(zod.string()).optional()
|
|
3614
|
+
}).optional()
|
|
3615
|
+
}).describe("Shared allowlisted fields for `flowdef.created` (full snapshot) and\n`flowdef.updated` (delta: only changed fields present). Steps are omitted.\n")
|
|
3616
|
+
})).describe("Wide event with event_type=flowdef.updated.\n"),
|
|
3617
|
+
zod.object({
|
|
3618
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3619
|
+
project_id: zod.string().regex(getEventResponseOnefourOneProjectIdRegExp),
|
|
3620
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3621
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3622
|
+
category: zod.enum([
|
|
3623
|
+
"request",
|
|
3624
|
+
"auth",
|
|
3625
|
+
"session",
|
|
3626
|
+
"admin",
|
|
3627
|
+
"entity",
|
|
3628
|
+
"signal"
|
|
3629
|
+
]).describe("Wide-event category."),
|
|
3630
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3631
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3632
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3633
|
+
actor_type: zod.union([zod.enum([
|
|
3634
|
+
"human",
|
|
3635
|
+
"service",
|
|
3636
|
+
"system",
|
|
3637
|
+
"agent"
|
|
3638
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3639
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3640
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3641
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3642
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3643
|
+
delegation_type: zod.enum([
|
|
3644
|
+
"direct",
|
|
3645
|
+
"delegated",
|
|
3646
|
+
"pat_shared",
|
|
3647
|
+
"exchanged"
|
|
3648
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3649
|
+
delegation_id: zod.string().optional(),
|
|
3650
|
+
grantor: zod.string().optional(),
|
|
3651
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3652
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3653
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3654
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3655
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3656
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3657
|
+
event_type: zod.literal("project.created"),
|
|
3658
|
+
payload: zod.object({
|
|
3659
|
+
name: zod.string().optional(),
|
|
3660
|
+
preview_origins: zod.array(zod.string()).optional()
|
|
3661
|
+
}).describe("Shared allowlisted fields for `project.created` (full snapshot) and\n`project.updated` (delta: only changed fields present).\n")
|
|
3662
|
+
})).describe("Wide event with event_type=project.created.\n"),
|
|
3663
|
+
zod.object({
|
|
3664
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3665
|
+
project_id: zod.string().regex(getEventResponseOnefiveOneProjectIdRegExp),
|
|
3666
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3667
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3668
|
+
category: zod.enum([
|
|
3669
|
+
"request",
|
|
3670
|
+
"auth",
|
|
3671
|
+
"session",
|
|
3672
|
+
"admin",
|
|
3673
|
+
"entity",
|
|
3674
|
+
"signal"
|
|
3675
|
+
]).describe("Wide-event category."),
|
|
3676
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3677
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3678
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3679
|
+
actor_type: zod.union([zod.enum([
|
|
3680
|
+
"human",
|
|
3681
|
+
"service",
|
|
3682
|
+
"system",
|
|
3683
|
+
"agent"
|
|
3684
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3685
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3686
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3687
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3688
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3689
|
+
delegation_type: zod.enum([
|
|
3690
|
+
"direct",
|
|
3691
|
+
"delegated",
|
|
3692
|
+
"pat_shared",
|
|
3693
|
+
"exchanged"
|
|
3694
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3695
|
+
delegation_id: zod.string().optional(),
|
|
3696
|
+
grantor: zod.string().optional(),
|
|
3697
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3698
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3699
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3700
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3701
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3702
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3703
|
+
event_type: zod.literal("project.deleted"),
|
|
3704
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3705
|
+
})).describe("Wide event with event_type=project.deleted.\n"),
|
|
3706
|
+
zod.object({
|
|
3707
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3708
|
+
project_id: zod.string().regex(getEventResponseOnesixOneProjectIdRegExp),
|
|
3709
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3710
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3711
|
+
category: zod.enum([
|
|
3712
|
+
"request",
|
|
3713
|
+
"auth",
|
|
3714
|
+
"session",
|
|
3715
|
+
"admin",
|
|
3716
|
+
"entity",
|
|
3717
|
+
"signal"
|
|
3718
|
+
]).describe("Wide-event category."),
|
|
3719
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3720
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3721
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3722
|
+
actor_type: zod.union([zod.enum([
|
|
3723
|
+
"human",
|
|
3724
|
+
"service",
|
|
3725
|
+
"system",
|
|
3726
|
+
"agent"
|
|
3727
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3728
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3729
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3730
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3731
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3732
|
+
delegation_type: zod.enum([
|
|
3733
|
+
"direct",
|
|
3734
|
+
"delegated",
|
|
3735
|
+
"pat_shared",
|
|
3736
|
+
"exchanged"
|
|
3737
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3738
|
+
delegation_id: zod.string().optional(),
|
|
3739
|
+
grantor: zod.string().optional(),
|
|
3740
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3741
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3742
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3743
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3744
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3745
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3746
|
+
event_type: zod.literal("project.updated"),
|
|
3747
|
+
payload: zod.object({
|
|
3748
|
+
name: zod.string().optional(),
|
|
3749
|
+
preview_origins: zod.array(zod.string()).optional()
|
|
3750
|
+
}).describe("Shared allowlisted fields for `project.created` (full snapshot) and\n`project.updated` (delta: only changed fields present).\n")
|
|
3751
|
+
})).describe("Wide event with event_type=project.updated.\n"),
|
|
3752
|
+
zod.object({
|
|
3753
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3754
|
+
project_id: zod.string().regex(getEventResponseOnesevenOneProjectIdRegExp),
|
|
3755
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3756
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3757
|
+
category: zod.enum([
|
|
3758
|
+
"request",
|
|
3759
|
+
"auth",
|
|
3760
|
+
"session",
|
|
3761
|
+
"admin",
|
|
3762
|
+
"entity",
|
|
3763
|
+
"signal"
|
|
3764
|
+
]).describe("Wide-event category."),
|
|
3765
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3766
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3767
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3768
|
+
actor_type: zod.union([zod.enum([
|
|
3769
|
+
"human",
|
|
3770
|
+
"service",
|
|
3771
|
+
"system",
|
|
3772
|
+
"agent"
|
|
3773
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3774
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3775
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3776
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3777
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3778
|
+
delegation_type: zod.enum([
|
|
3779
|
+
"direct",
|
|
3780
|
+
"delegated",
|
|
3781
|
+
"pat_shared",
|
|
3782
|
+
"exchanged"
|
|
3783
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3784
|
+
delegation_id: zod.string().optional(),
|
|
3785
|
+
grantor: zod.string().optional(),
|
|
3786
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3787
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3788
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3789
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3790
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3791
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3792
|
+
event_type: zod.literal("request.api"),
|
|
3793
|
+
payload: zod.object({
|
|
3794
|
+
operation_id: zod.string(),
|
|
3795
|
+
method: zod.enum([
|
|
3796
|
+
"GET",
|
|
3797
|
+
"POST",
|
|
3798
|
+
"PUT",
|
|
3799
|
+
"PATCH",
|
|
3800
|
+
"DELETE",
|
|
3801
|
+
"HEAD",
|
|
3802
|
+
"OPTIONS"
|
|
3803
|
+
]).describe("HTTP method."),
|
|
3804
|
+
route_template: zod.string(),
|
|
3805
|
+
status: zod.number().min(100).max(599),
|
|
3806
|
+
duration_ms: zod.number().min(0)
|
|
3807
|
+
}).describe("Payload for `request.api` events.")
|
|
3808
|
+
})).describe("Wide event with event_type=request.api.\n"),
|
|
3809
|
+
zod.object({
|
|
3810
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3811
|
+
project_id: zod.string().regex(getEventResponseOneeightOneProjectIdRegExp),
|
|
3812
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3813
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3814
|
+
category: zod.enum([
|
|
3815
|
+
"request",
|
|
3816
|
+
"auth",
|
|
3817
|
+
"session",
|
|
3818
|
+
"admin",
|
|
3819
|
+
"entity",
|
|
3820
|
+
"signal"
|
|
3821
|
+
]).describe("Wide-event category."),
|
|
3822
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3823
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3824
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3825
|
+
actor_type: zod.union([zod.enum([
|
|
3826
|
+
"human",
|
|
3827
|
+
"service",
|
|
3828
|
+
"system",
|
|
3829
|
+
"agent"
|
|
3830
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3831
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3832
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3833
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3834
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3835
|
+
delegation_type: zod.enum([
|
|
3836
|
+
"direct",
|
|
3837
|
+
"delegated",
|
|
3838
|
+
"pat_shared",
|
|
3839
|
+
"exchanged"
|
|
3840
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3841
|
+
delegation_id: zod.string().optional(),
|
|
3842
|
+
grantor: zod.string().optional(),
|
|
3843
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3844
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3845
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3846
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3847
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3848
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3849
|
+
event_type: zod.literal("schema.created"),
|
|
3850
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
3851
|
+
})).describe("Wide event with event_type=schema.created.\n"),
|
|
3852
|
+
zod.object({
|
|
3853
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3854
|
+
project_id: zod.string().regex(getEventResponseOnenineOneProjectIdRegExp),
|
|
3855
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3856
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3857
|
+
category: zod.enum([
|
|
3858
|
+
"request",
|
|
3859
|
+
"auth",
|
|
3860
|
+
"session",
|
|
3861
|
+
"admin",
|
|
3862
|
+
"entity",
|
|
3863
|
+
"signal"
|
|
3864
|
+
]).describe("Wide-event category."),
|
|
3865
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3866
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3867
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3868
|
+
actor_type: zod.union([zod.enum([
|
|
3869
|
+
"human",
|
|
3870
|
+
"service",
|
|
3871
|
+
"system",
|
|
3872
|
+
"agent"
|
|
3873
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3874
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3875
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3876
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3877
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3878
|
+
delegation_type: zod.enum([
|
|
3879
|
+
"direct",
|
|
3880
|
+
"delegated",
|
|
3881
|
+
"pat_shared",
|
|
3882
|
+
"exchanged"
|
|
3883
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3884
|
+
delegation_id: zod.string().optional(),
|
|
3885
|
+
grantor: zod.string().optional(),
|
|
3886
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3887
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3888
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3889
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3890
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3891
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3892
|
+
event_type: zod.literal("session.deleted"),
|
|
3893
|
+
payload: zod.object({ reason: zod.string().optional() }).describe("Payload for `session.deleted` events.")
|
|
3894
|
+
})).describe("Wide event with event_type=session.deleted.\n"),
|
|
3895
|
+
zod.object({
|
|
3896
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3897
|
+
project_id: zod.string().regex(getEventResponseTwozeroOneProjectIdRegExp),
|
|
3898
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3899
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3900
|
+
category: zod.enum([
|
|
3901
|
+
"request",
|
|
3902
|
+
"auth",
|
|
3903
|
+
"session",
|
|
3904
|
+
"admin",
|
|
3905
|
+
"entity",
|
|
3906
|
+
"signal"
|
|
3907
|
+
]).describe("Wide-event category."),
|
|
3908
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3909
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3910
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3911
|
+
actor_type: zod.union([zod.enum([
|
|
3912
|
+
"human",
|
|
3913
|
+
"service",
|
|
3914
|
+
"system",
|
|
3915
|
+
"agent"
|
|
3916
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3917
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3918
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3919
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3920
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3921
|
+
delegation_type: zod.enum([
|
|
3922
|
+
"direct",
|
|
3923
|
+
"delegated",
|
|
3924
|
+
"pat_shared",
|
|
3925
|
+
"exchanged"
|
|
3926
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3927
|
+
delegation_id: zod.string().optional(),
|
|
3928
|
+
grantor: zod.string().optional(),
|
|
3929
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3930
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3931
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3932
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3933
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3934
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3935
|
+
event_type: zod.literal("session.established"),
|
|
3936
|
+
payload: zod.object({ user_id: zod.string().optional() }).describe("Payload for `session.established` events.")
|
|
3937
|
+
})).describe("Wide event with event_type=session.established.\n"),
|
|
3938
|
+
zod.object({
|
|
3939
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3940
|
+
project_id: zod.string().regex(getEventResponseTwooneOneProjectIdRegExp),
|
|
3941
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3942
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3943
|
+
category: zod.enum([
|
|
3944
|
+
"request",
|
|
3945
|
+
"auth",
|
|
3946
|
+
"session",
|
|
3947
|
+
"admin",
|
|
3948
|
+
"entity",
|
|
3949
|
+
"signal"
|
|
3950
|
+
]).describe("Wide-event category."),
|
|
3951
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3952
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3953
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3954
|
+
actor_type: zod.union([zod.enum([
|
|
3955
|
+
"human",
|
|
3956
|
+
"service",
|
|
3957
|
+
"system",
|
|
3958
|
+
"agent"
|
|
3959
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
3960
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
3961
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
3962
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
3963
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
3964
|
+
delegation_type: zod.enum([
|
|
3965
|
+
"direct",
|
|
3966
|
+
"delegated",
|
|
3967
|
+
"pat_shared",
|
|
3968
|
+
"exchanged"
|
|
3969
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
3970
|
+
delegation_id: zod.string().optional(),
|
|
3971
|
+
grantor: zod.string().optional(),
|
|
3972
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
3973
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
3974
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
3975
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
3976
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
3977
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
3978
|
+
event_type: zod.literal("team.created"),
|
|
3979
|
+
payload: zod.object({ name: zod.string().optional() }).describe("Shared allowlisted fields for `team.created` (snapshot) and\n`team.updated` (delta: only changed fields present).\n")
|
|
3980
|
+
})).describe("Wide event with event_type=team.created.\n"),
|
|
3981
|
+
zod.object({
|
|
3982
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
3983
|
+
project_id: zod.string().regex(getEventResponseTwotwoOneProjectIdRegExp),
|
|
3984
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
3985
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
3986
|
+
category: zod.enum([
|
|
3987
|
+
"request",
|
|
3988
|
+
"auth",
|
|
3989
|
+
"session",
|
|
3990
|
+
"admin",
|
|
3991
|
+
"entity",
|
|
3992
|
+
"signal"
|
|
3993
|
+
]).describe("Wide-event category."),
|
|
3994
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
3995
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
3996
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
3997
|
+
actor_type: zod.union([zod.enum([
|
|
3998
|
+
"human",
|
|
3999
|
+
"service",
|
|
4000
|
+
"system",
|
|
4001
|
+
"agent"
|
|
4002
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
4003
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
4004
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
4005
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
4006
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
4007
|
+
delegation_type: zod.enum([
|
|
4008
|
+
"direct",
|
|
4009
|
+
"delegated",
|
|
4010
|
+
"pat_shared",
|
|
4011
|
+
"exchanged"
|
|
4012
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
4013
|
+
delegation_id: zod.string().optional(),
|
|
4014
|
+
grantor: zod.string().optional(),
|
|
4015
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
4016
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
4017
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
4018
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
4019
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
4020
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
4021
|
+
event_type: zod.literal("team.deactivated"),
|
|
4022
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
4023
|
+
})).describe("Wide event with event_type=team.deactivated.\n"),
|
|
4024
|
+
zod.object({
|
|
4025
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
4026
|
+
project_id: zod.string().regex(getEventResponseTwothreeOneProjectIdRegExp),
|
|
4027
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
4028
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
4029
|
+
category: zod.enum([
|
|
4030
|
+
"request",
|
|
4031
|
+
"auth",
|
|
4032
|
+
"session",
|
|
4033
|
+
"admin",
|
|
4034
|
+
"entity",
|
|
4035
|
+
"signal"
|
|
4036
|
+
]).describe("Wide-event category."),
|
|
4037
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
4038
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
4039
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
4040
|
+
actor_type: zod.union([zod.enum([
|
|
4041
|
+
"human",
|
|
4042
|
+
"service",
|
|
4043
|
+
"system",
|
|
4044
|
+
"agent"
|
|
4045
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
4046
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
4047
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
4048
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
4049
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
4050
|
+
delegation_type: zod.enum([
|
|
4051
|
+
"direct",
|
|
4052
|
+
"delegated",
|
|
4053
|
+
"pat_shared",
|
|
4054
|
+
"exchanged"
|
|
4055
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
4056
|
+
delegation_id: zod.string().optional(),
|
|
4057
|
+
grantor: zod.string().optional(),
|
|
4058
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
4059
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
4060
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
4061
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
4062
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
4063
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
4064
|
+
event_type: zod.literal("team.updated"),
|
|
4065
|
+
payload: zod.object({ name: zod.string().optional() }).describe("Shared allowlisted fields for `team.created` (snapshot) and\n`team.updated` (delta: only changed fields present).\n")
|
|
4066
|
+
})).describe("Wide event with event_type=team.updated.\n"),
|
|
4067
|
+
zod.object({
|
|
4068
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
4069
|
+
project_id: zod.string().regex(getEventResponseTwofourOneProjectIdRegExp),
|
|
4070
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
4071
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
4072
|
+
category: zod.enum([
|
|
4073
|
+
"request",
|
|
4074
|
+
"auth",
|
|
4075
|
+
"session",
|
|
4076
|
+
"admin",
|
|
4077
|
+
"entity",
|
|
4078
|
+
"signal"
|
|
4079
|
+
]).describe("Wide-event category."),
|
|
4080
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
4081
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
4082
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
4083
|
+
actor_type: zod.union([zod.enum([
|
|
4084
|
+
"human",
|
|
4085
|
+
"service",
|
|
4086
|
+
"system",
|
|
4087
|
+
"agent"
|
|
4088
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
4089
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
4090
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
4091
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
4092
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
4093
|
+
delegation_type: zod.enum([
|
|
4094
|
+
"direct",
|
|
4095
|
+
"delegated",
|
|
4096
|
+
"pat_shared",
|
|
4097
|
+
"exchanged"
|
|
4098
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
4099
|
+
delegation_id: zod.string().optional(),
|
|
4100
|
+
grantor: zod.string().optional(),
|
|
4101
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
4102
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
4103
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
4104
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
4105
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
4106
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
4107
|
+
event_type: zod.literal("user.create.failed"),
|
|
4108
|
+
payload: zod.object({ key_name: zod.string().optional() }).describe("Payload for `user.create.failed` events.")
|
|
4109
|
+
})).describe("Wide event with event_type=user.create.failed.\n"),
|
|
4110
|
+
zod.object({
|
|
4111
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
4112
|
+
project_id: zod.string().regex(getEventResponseTwofiveOneProjectIdRegExp),
|
|
4113
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
4114
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
4115
|
+
category: zod.enum([
|
|
4116
|
+
"request",
|
|
4117
|
+
"auth",
|
|
4118
|
+
"session",
|
|
4119
|
+
"admin",
|
|
4120
|
+
"entity",
|
|
4121
|
+
"signal"
|
|
4122
|
+
]).describe("Wide-event category."),
|
|
4123
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
4124
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
4125
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
4126
|
+
actor_type: zod.union([zod.enum([
|
|
4127
|
+
"human",
|
|
4128
|
+
"service",
|
|
4129
|
+
"system",
|
|
4130
|
+
"agent"
|
|
4131
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
4132
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
4133
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
4134
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
4135
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
4136
|
+
delegation_type: zod.enum([
|
|
4137
|
+
"direct",
|
|
4138
|
+
"delegated",
|
|
4139
|
+
"pat_shared",
|
|
4140
|
+
"exchanged"
|
|
4141
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
4142
|
+
delegation_id: zod.string().optional(),
|
|
4143
|
+
grantor: zod.string().optional(),
|
|
4144
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
4145
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
4146
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
4147
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
4148
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
4149
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
4150
|
+
event_type: zod.literal("user.created"),
|
|
4151
|
+
payload: zod.object({
|
|
4152
|
+
schema_id: zod.string().optional(),
|
|
4153
|
+
attribute_keys: zod.array(zod.string()).optional(),
|
|
4154
|
+
attributes: zod.record(zod.string(), zod.unknown()).optional()
|
|
4155
|
+
}).describe("Payload for `user.created`. Identity is `entity_id`; attribute values\nappear only for schema fields marked `x-audit`.\n")
|
|
4156
|
+
})).describe("Wide event with event_type=user.created.\n"),
|
|
4157
|
+
zod.object({
|
|
4158
|
+
id: zod.string().describe("Managed event id (`evt_<opaque>`)."),
|
|
4159
|
+
project_id: zod.string().regex(getEventResponseTwosixOneProjectIdRegExp),
|
|
4160
|
+
team_id: zod.union([zod.string(), zod.null()]).optional().describe("Emit-time team scope, when the actor operated under a team."),
|
|
4161
|
+
event_type: zod.string().describe("Semantic event name (dot-separated). Discriminator for the Event union —\nsee docs/design/api/events-catalog.md.\n"),
|
|
4162
|
+
category: zod.enum([
|
|
4163
|
+
"request",
|
|
4164
|
+
"auth",
|
|
4165
|
+
"session",
|
|
4166
|
+
"admin",
|
|
4167
|
+
"entity",
|
|
4168
|
+
"signal"
|
|
4169
|
+
]).describe("Wide-event category."),
|
|
4170
|
+
occurred_at: zod.iso.datetime({ offset: true }).describe("When the action happened (server/storage clock, dialect-owned)."),
|
|
4171
|
+
created_at: zod.iso.datetime({ offset: true }).describe("When the row was inserted (server/storage clock, dialect-owned)."),
|
|
4172
|
+
actor_id: zod.union([zod.string(), zod.null()]).optional().describe("Who triggered the event."),
|
|
4173
|
+
actor_type: zod.union([zod.enum([
|
|
4174
|
+
"human",
|
|
4175
|
+
"service",
|
|
4176
|
+
"system",
|
|
4177
|
+
"agent"
|
|
4178
|
+
]), zod.null()]).optional().describe("Actor kind."),
|
|
4179
|
+
entity_type: zod.union([zod.string(), zod.null()]).optional().describe("Resource type affected."),
|
|
4180
|
+
entity_id: zod.union([zod.string(), zod.null()]).optional().describe("Resource id affected."),
|
|
4181
|
+
client_id: zod.string().describe("Application or agent that produced the event."),
|
|
4182
|
+
token_id: zod.string().optional().describe("Token id present at emit time, when any."),
|
|
4183
|
+
delegation_type: zod.enum([
|
|
4184
|
+
"direct",
|
|
4185
|
+
"delegated",
|
|
4186
|
+
"pat_shared",
|
|
4187
|
+
"exchanged"
|
|
4188
|
+
]).optional().describe("Delegation kind (omit when unset)."),
|
|
4189
|
+
delegation_id: zod.string().optional(),
|
|
4190
|
+
grantor: zod.string().optional(),
|
|
4191
|
+
fingerprint: zod.string().optional().describe("Device fingerprint correlation id."),
|
|
4192
|
+
request_id: zod.union([zod.string(), zod.null()]).optional().describe("HTTP request correlation id."),
|
|
4193
|
+
session_id: zod.union([zod.string(), zod.null()]).optional().describe("Session correlation id."),
|
|
4194
|
+
flow_id: zod.union([zod.string(), zod.null()]).optional().describe("Login flow correlation id."),
|
|
4195
|
+
metadata: zod.record(zod.string(), zod.unknown()).optional().describe("Additional emit-time metadata (already redacted).")
|
|
4196
|
+
}).describe("Shared wide-event envelope (ADR 048 / ADR 049). Concrete events are\n`allOf` this schema plus a `const` `event_type` and a typed `payload`.\n").and(zod.object({
|
|
4197
|
+
event_type: zod.literal("user.deleted"),
|
|
4198
|
+
payload: zod.object({}).describe("Empty payload for event types with no typed fields\n(e.g. `project.deleted`, `user.deleted`, `session.expired`).\n")
|
|
4199
|
+
})).describe("Wide event with event_type=user.deleted.\n")
|
|
4200
|
+
]).describe("Discriminated wide-event union (ADR 048 / ADR 049). Clients select the\nmember via event_type; each member carries a typed payload.\n");
|
|
1618
4201
|
//#endregion
|
|
1619
|
-
export { ActivateFlowDefinitionParams, ActivateFlowDefinitionQueryParams, AuthorizeDeviceQueryParams, AuthorizeDeviceResponse, AuthorizeGetQueryParams, CreateAuthAttemptBody, CreateFlowBody, CreateFlowDefinitionBody, CreateHandoffHeader, CreateHandoffParams, CreateHandoffResponse, CreateProjectBody, CreateSchemaBody, CreateSchemaQueryParams, CreateSessionBody, CreateTeamBody, CreateTeamQueryParams, CreateUserBody, CreateUserQueryParams, DeactivateFlowDefinitionParams, DeactivateFlowDefinitionQueryParams, DeleteFlowDefinitionParams, DeleteFlowDefinitionQueryParams, EndSessionQueryParams, ExchangeHandoffBody, ExchangeHandoffHeader, ExchangeHandoffQueryParams, ExchangeHandoffResponse, GetAuthAttemptParams, GetAuthAttemptResponse, GetFlowDefinitionParams, GetFlowDefinitionQueryParams, GetFlowDefinitionResponse, GetFlowStepParams, GetFlowStepResponse, GetKeysResponse, GetMySessionResponse, GetMyUserResponse, GetOpenIDConfigurationResponse, GetProjectParams, GetProjectResponse, GetSchemaByIdParams, GetSchemaByIdQueryParams, GetSchemaByIdResponse, GetSessionParams, GetSessionQueryParams, GetSessionResponse, GetTeamParams, GetTeamQueryParams, GetTeamResponse, GetTokenResponse, GetUserByIDParams, GetUserByIDQueryParams, GetUserByIDResponse, GetUserInfoResponse, IntrospectResponse, IssueChallengeBody, IssueChallengeParams, ListFlowDefinitionsQueryParams, ListFlowDefinitionsResponse, ListSchemasQueryParams, ListSchemasResponse, ListSchemasResponseItem, ListSessionsQueryParams, ListSessionsResponse, ListUsersQueryParams, ListUsersResponse, ListUsersResponseItem, PatchProjectBody, PatchProjectParams, PatchProjectResponse, QueryProjectsBody, QueryProjectsResponse, RevokeSessionParams, RevokeSessionQueryParams, SetUserPasswordBody, SetUserPasswordParams, SetUserPasswordQueryParams, SubmitFlowEventBody, SubmitFlowEventParams, SubmitFlowStepBody, SubmitFlowStepHeader, SubmitFlowStepParams, SubmitFlowStepResponse, UpdateFlowDefinitionBody, UpdateFlowDefinitionParams, UpdateFlowDefinitionQueryParams, UpdateFlowDefinitionResponse, VerifyChallengeProofBody, VerifyChallengeProofHeader, VerifyChallengeProofParams, VerifyChallengeProofResponse, activateFlowDefinitionQueryProjectIdRegExp, createAuthAttemptBodyProjectIdRegExp, createAuthAttemptBodySessionIdOneRegExp, createFlowBodyDryRunDefault, createFlowBodyFlowDefinitionNameRegExp, createFlowBodyProjectIdRegExp, createFlowBodySchemaVersionRegExp, createFlowDefinitionBodyFlowDefinitionNameRegExp, createFlowDefinitionBodyFlowDefinitionStepsItemActionsDefault, createFlowDefinitionBodyFlowDefinitionStepsItemActionsItemPrimaryDefault, createFlowDefinitionBodyFlowDefinitionStepsItemFieldsDefault, createFlowDefinitionBodyFlowDefinitionStepsItemGatesDefault, createFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersDefault, createFlowDefinitionBodyProjectIdRegExp, createHandoffPathAttemptIdRegExp, createProjectBodySeedDefaultsDefault, createSchemaBodyOneObjectTypeMax, createSchemaBodyOnePropertiesXEditableDefault, createSchemaBodyOnePropertiesXMfaDefault, createSchemaBodyOnePropertiesXSensitiveDefault, createSchemaBodyOneXAuthMethodsMagicLinkPositionMin, createSchemaBodyOneXAuthMethodsOtpPositionMin, createSchemaBodyOneXAuthMethodsPasskeyPositionMin, createSchemaBodyOneXAuthMethodsPasswordPositionMin, createSchemaBodyOneXAuthMethodsSsoPositionMin, createSchemaQueryProjectIdRegExp, createSchemaQueryTeamIdRegExp, createSessionBodyProjectIdRegExp, createTeamQueryProjectIdRegExp, createUserQueryProjectIdRegExp, createUserQueryTeamIdRegExp, deactivateFlowDefinitionQueryProjectIdRegExp, deleteFlowDefinitionQueryProjectIdRegExp, exchangeHandoffQueryProjectIdRegExp, exchangeHandoffResponseSessionFactorsItemPayloadOneUserIdRegExp, exchangeHandoffResponseSessionProjectIdRegExp, exchangeHandoffResponseSessionSessionIdRegExp, exchangeHandoffResponseSessionUserIdOneRegExp, getAuthAttemptPathAttemptIdRegExp, getAuthAttemptResponseAttemptIdRegExp, getAuthAttemptResponseChallengesItemChallengeIdRegExp, getAuthAttemptResponseCompletedFactorsItemPayloadOneUserIdRegExp, getAuthAttemptResponseProjectIdRegExp, getAuthAttemptResponseSessionIdOneRegExp, getAuthAttemptResponseUserIdOneRegExp, getFlowDefinitionQueryProjectIdRegExp, getFlowDefinitionResponseFlowDefinitionNameRegExp, getFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault, getFlowDefinitionResponseFlowDefinitionStepsItemActionsItemPrimaryDefault, getFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault, getFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault, getFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault, getFlowStepResponseBrandingLayoutDefault, getFlowStepResponseStepActionsDefault, getFlowStepResponseStepActionsItemPrimaryDefault, getFlowStepResponseStepFieldsDefault, getFlowStepResponseStepFieldsItemRequiredDefault, getFlowStepResponseStepFieldsItemValidationMaxLengthMin, getFlowStepResponseStepFieldsItemValidationMinLengthMin, getFlowStepResponseStepGatesDefault, getFlowStepResponseStepSsoProvidersDefault, getMySessionResponseFactorsItemPayloadOneUserIdRegExp, getMySessionResponseProjectIdRegExp, getMySessionResponseSessionIdRegExp, getMySessionResponseUserIdOneRegExp, getOpenIDConfigurationResponseClaimsParameterSupportedDefault, getOpenIDConfigurationResponseRequestParameterSupportedDefault, getOpenIDConfigurationResponseRequestUriParameterSupportedDefault, getOpenIDConfigurationResponseRequireRequestUriRegistrationDefault, getProjectPathProjectIdRegExp, getSchemaByIdQueryProjectIdRegExp, getSchemaByIdQueryTeamIdRegExp, getSchemaByIdResponseOneObjectTypeMax, getSchemaByIdResponseOnePropertiesXEditableDefault, getSchemaByIdResponseOnePropertiesXMfaDefault, getSchemaByIdResponseOnePropertiesXSensitiveDefault, getSchemaByIdResponseOneXAuthMethodsMagicLinkPositionMin, getSchemaByIdResponseOneXAuthMethodsOtpPositionMin, getSchemaByIdResponseOneXAuthMethodsPasskeyPositionMin, getSchemaByIdResponseOneXAuthMethodsPasswordPositionMin, getSchemaByIdResponseOneXAuthMethodsSsoPositionMin, getSessionPathSessionIdRegExp, getSessionQueryProjectIdRegExp, getSessionResponseFactorsItemPayloadOneUserIdRegExp, getSessionResponseProjectIdRegExp, getSessionResponseSessionIdRegExp, getSessionResponseUserIdOneRegExp, getTeamPathTeamIdRegExp, getTeamQueryProjectIdRegExp, getUserByIDPathUserIdRegExp, getUserByIDQueryProjectIdRegExp, getUserByIDQueryTeamIdRegExp, issueChallengePathAttemptIdRegExp, listFlowDefinitionsQueryLimitDefault, listFlowDefinitionsQueryLimitMax, listFlowDefinitionsQueryProjectIdRegExp, listFlowDefinitionsResponseFlowDefinitionsItemNameRegExp, listSchemasQueryObjectTypeMax, listSchemasQueryOffsetDefault, listSchemasQueryOffsetMin, listSchemasQueryProjectIdRegExp, listSessionsQueryLimitDefault, listSessionsQueryLimitMax, listSessionsQueryProjectIdRegExp, listSessionsQueryUserIdRegExp, listSessionsResponseSessionsItemFactorsItemPayloadOneUserIdRegExp, listSessionsResponseSessionsItemProjectIdRegExp, listSessionsResponseSessionsItemSessionIdRegExp, listSessionsResponseSessionsItemUserIdOneRegExp, listUsersQueryLimitDefault, listUsersQueryLimitMax, listUsersQueryOffsetDefault, listUsersQueryOffsetMin, patchProjectPathProjectIdRegExp, queryProjectsBodyLimitDefault, queryProjectsBodyLimitMax, revokeSessionPathSessionIdRegExp, revokeSessionQueryProjectIdRegExp, setUserPasswordPathUserIdRegExp, setUserPasswordQueryProjectIdRegExp, submitFlowStepResponseBrandingLayoutDefault, submitFlowStepResponseStepActionsDefault, submitFlowStepResponseStepActionsItemPrimaryDefault, submitFlowStepResponseStepFieldsDefault, submitFlowStepResponseStepFieldsItemRequiredDefault, submitFlowStepResponseStepFieldsItemValidationMaxLengthMin, submitFlowStepResponseStepFieldsItemValidationMinLengthMin, submitFlowStepResponseStepGatesDefault, submitFlowStepResponseStepSsoProvidersDefault, updateFlowDefinitionBodyFlowDefinitionNameRegExp, updateFlowDefinitionBodyFlowDefinitionStepsItemActionsDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemActionsItemPrimaryDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemFieldsDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemGatesDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersDefault, updateFlowDefinitionQueryProjectIdRegExp, updateFlowDefinitionResponseFlowDefinitionNameRegExp, updateFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemActionsItemPrimaryDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault, verifyChallengeProofPathAttemptIdRegExp, verifyChallengeProofPathChallengeIdRegExp, verifyChallengeProofResponseAttemptIdRegExp, verifyChallengeProofResponseChallengesItemChallengeIdRegExp, verifyChallengeProofResponseCompletedFactorsItemPayloadOneUserIdRegExp, verifyChallengeProofResponseProjectIdRegExp, verifyChallengeProofResponseSessionIdOneRegExp, verifyChallengeProofResponseUserIdOneRegExp };
|
|
4202
|
+
export { CompleteClaimBody, CompleteClaimParams, CompleteClaimResponse, CreateAuthAttemptBody, CreateBrandingBody, CreateBrandingQueryParams, CreateFlowBody, CreateFlowDefinitionBody, CreateHandoffHeader, CreateHandoffParams, CreateHandoffResponse, CreateProjectBody, CreateSchemaBody, CreateSchemaQueryParams, CreateSessionBody, CreateTeamBody, CreateTeamQueryParams, CreateUserBody, CreateUserQueryParams, DeleteFlowDefinitionParams, DeleteTeamParams, DeleteUserByIDParams, ExchangeHandoffBody, ExchangeHandoffHeader, ExchangeHandoffQueryParams, ExchangeHandoffResponse, GetAuthAttemptParams, GetAuthAttemptResponse, GetBrandingByIdParams, GetBrandingByIdResponse, GetClaimStatusParams, GetClaimStatusQueryParams, GetClaimStatusResponse, GetEventParams, GetEventQueryParams, GetEventResponse, GetFlowDefinitionParams, GetFlowDefinitionResponse, GetFlowStepParams, GetFlowStepResponse, GetMySessionResponse, GetMyUserResponse, GetProjectParams, GetProjectResponse, GetSchemaByIdParams, GetSchemaByIdQueryParams, GetSchemaByIdResponse, GetSessionParams, GetSessionResponse, GetTeamParams, GetTeamResponse, GetUserByIDParams, GetUserByIDQueryParams, GetUserByIDResponse, InitClaimParams, IssueChallengeBody, IssueChallengeParams, ListBrandingQueryParams, ListBrandingResponse, ListBrandingResponseItem, ListEventsQueryParams, ListEventsResponse, ListFlowDefinitionsQueryParams, ListFlowDefinitionsResponse, ListSchemasQueryParams, ListSchemasResponse, ListSchemasResponseItem, ListUserPasskeysParams, ListUserPasskeysQueryParams, ListUserPasskeysResponse, ListUserTeamsParams, ListUserTeamsQueryParams, ListUserTeamsResponse, ListUsersQueryParams, ListUsersResponse, PatchProjectBody, PatchProjectParams, PatchProjectResponse, QueryProjectsBody, QueryProjectsResponse, QuerySessionsBody, QuerySessionsQueryParams, QuerySessionsResponse, QueryTeamsBody, QueryTeamsQueryParams, QueryTeamsResponse, RevokeSessionParams, SetUserPasswordBody, SetUserPasswordParams, SubmitFlowStepBody, SubmitFlowStepHeader, SubmitFlowStepParams, SubmitFlowStepResponse, UpdateFlowDefinitionBody, UpdateFlowDefinitionParams, UpdateFlowDefinitionResponse, UpdateTeamBody, UpdateTeamParams, UpdateTeamResponse, VerifyChallengeProofBody, VerifyChallengeProofHeader, VerifyChallengeProofParams, VerifyChallengeProofResponse, completeClaimBodyChallengeIdRegExp, completeClaimPathProjectIdRegExp, completeClaimResponseProjectIdRegExp, completeClaimResponseTeamIdRegExp, createAuthAttemptBodyProjectIdRegExp, createAuthAttemptBodySessionIdOneRegExp, createBrandingBodyLayoutDefault, createBrandingBodyLiquidTemplateMax, createBrandingQueryProjectIdRegExp, createFlowBodyDryRunDefault, createFlowBodyFlowDefinitionNameRegExp, createFlowBodyProjectIdRegExp, createFlowBodySchemaVersionRegExp, createFlowDefinitionBodyFlowDefinitionNameRegExp, createFlowDefinitionBodyFlowDefinitionStepsItemActionsDefault, createFlowDefinitionBodyFlowDefinitionStepsItemActionsItemPrimaryDefault, createFlowDefinitionBodyFlowDefinitionStepsItemFieldsDefault, createFlowDefinitionBodyFlowDefinitionStepsItemGatesDefault, createFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersDefault, createFlowDefinitionBodyProjectIdRegExp, createHandoffPathAttemptIdRegExp, createProjectBodySeedDefaultsDefault, createSchemaBodyOneObjectTypeMax, createSchemaBodyOnePropertiesXAuditDefault, createSchemaQueryProjectIdRegExp, createSchemaQueryTeamIdRegExp, createSessionBodyProjectIdRegExp, createTeamBodyNameMax, createTeamQueryProjectIdRegExp, createUserQueryProjectIdRegExp, createUserQueryTeamIdRegExp, deleteTeamPathTeamIdRegExp, deleteUserByIDPathUserIdRegExp, exchangeHandoffQueryProjectIdRegExp, exchangeHandoffResponseSessionFactorsItemPayloadOneUserIdRegExp, exchangeHandoffResponseSessionProjectIdRegExp, exchangeHandoffResponseSessionSessionIdRegExp, exchangeHandoffResponseSessionUserIdOneRegExp, getAuthAttemptPathAttemptIdRegExp, getAuthAttemptResponseAttemptIdRegExp, getAuthAttemptResponseChallengesItemChallengeIdRegExp, getAuthAttemptResponseCompletedFactorsItemPayloadOneUserIdRegExp, getAuthAttemptResponseProjectIdRegExp, getAuthAttemptResponseSessionIdOneRegExp, getAuthAttemptResponseUserIdOneRegExp, getBrandingByIdResponseBrandingLayoutDefault, getBrandingByIdResponseBrandingLiquidTemplateMax, getClaimStatusPathProjectIdRegExp, getClaimStatusQueryChallengeIdRegExp, getClaimStatusResponseTwoTeamIdRegExp, getEventQueryProjectIdRegExp, getEventResponseEightOneProjectIdRegExp, getEventResponseFiveOneProjectIdRegExp, getEventResponseFourOneProjectIdRegExp, getEventResponseNineOneProjectIdRegExp, getEventResponseOneOneProjectIdRegExp, getEventResponseOneeightOneProjectIdRegExp, getEventResponseOnefiveOneProjectIdRegExp, getEventResponseOnefourOneProjectIdRegExp, getEventResponseOnenineOneProjectIdRegExp, getEventResponseOneoneOneProjectIdRegExp, getEventResponseOnesevenOneProjectIdRegExp, getEventResponseOnesevenTwoPayloadDurationMsMin, getEventResponseOnesevenTwoPayloadStatusMax, getEventResponseOnesevenTwoPayloadStatusMin, getEventResponseOnesixOneProjectIdRegExp, getEventResponseOnethreeOneProjectIdRegExp, getEventResponseOnetwoOneProjectIdRegExp, getEventResponseOnezeroOneProjectIdRegExp, getEventResponseSevenOneProjectIdRegExp, getEventResponseSixOneProjectIdRegExp, getEventResponseThreeOneProjectIdRegExp, getEventResponseTwoOneProjectIdRegExp, getEventResponseTwofiveOneProjectIdRegExp, getEventResponseTwofourOneProjectIdRegExp, getEventResponseTwooneOneProjectIdRegExp, getEventResponseTwosixOneProjectIdRegExp, getEventResponseTwothreeOneProjectIdRegExp, getEventResponseTwotwoOneProjectIdRegExp, getEventResponseTwozeroOneProjectIdRegExp, getFlowDefinitionResponseFlowDefinitionNameRegExp, getFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault, getFlowDefinitionResponseFlowDefinitionStepsItemActionsItemPrimaryDefault, getFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault, getFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault, getFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault, getFlowStepResponseBrandingLayoutDefault, getFlowStepResponseBrandingLiquidTemplateMax, getFlowStepResponseStepActionsDefault, getFlowStepResponseStepActionsItemPrimaryDefault, getFlowStepResponseStepFieldsDefault, getFlowStepResponseStepFieldsItemRequiredDefault, getFlowStepResponseStepFieldsItemValidationMaxLengthMin, getFlowStepResponseStepFieldsItemValidationMinLengthMin, getFlowStepResponseStepGatesDefault, getFlowStepResponseStepSsoProvidersDefault, getMySessionResponseFactorsItemPayloadOneUserIdRegExp, getMySessionResponseProjectIdRegExp, getMySessionResponseSessionIdRegExp, getMySessionResponseUserIdOneRegExp, getMyUserResponseIdRegExp, getProjectPathProjectIdRegExp, getSchemaByIdQueryTeamIdRegExp, getSchemaByIdResponseOneObjectTypeMax, getSchemaByIdResponseOnePropertiesXAuditDefault, getSessionPathSessionIdRegExp, getSessionResponseFactorsItemPayloadOneUserIdRegExp, getSessionResponseProjectIdRegExp, getSessionResponseSessionIdRegExp, getSessionResponseUserIdOneRegExp, getTeamPathTeamIdRegExp, getUserByIDPathUserIdRegExp, getUserByIDQueryTeamIdRegExp, getUserByIDResponseIdRegExp, initClaimPathProjectIdRegExp, issueChallengePathAttemptIdRegExp, listBrandingQueryProjectIdRegExp, listEventsQueryLimitDefault, listEventsQueryLimitMax, listEventsQueryOrderDefault, listEventsQueryProjectIdRegExp, listEventsResponseDataItemEightOneProjectIdRegExp, listEventsResponseDataItemFiveOneProjectIdRegExp, listEventsResponseDataItemFourOneProjectIdRegExp, listEventsResponseDataItemNineOneProjectIdRegExp, listEventsResponseDataItemOneOneProjectIdRegExp, listEventsResponseDataItemOneeightOneProjectIdRegExp, listEventsResponseDataItemOnefiveOneProjectIdRegExp, listEventsResponseDataItemOnefourOneProjectIdRegExp, listEventsResponseDataItemOnenineOneProjectIdRegExp, listEventsResponseDataItemOneoneOneProjectIdRegExp, listEventsResponseDataItemOnesevenOneProjectIdRegExp, listEventsResponseDataItemOnesevenTwoPayloadDurationMsMin, listEventsResponseDataItemOnesevenTwoPayloadStatusMax, listEventsResponseDataItemOnesevenTwoPayloadStatusMin, listEventsResponseDataItemOnesixOneProjectIdRegExp, listEventsResponseDataItemOnethreeOneProjectIdRegExp, listEventsResponseDataItemOnetwoOneProjectIdRegExp, listEventsResponseDataItemOnezeroOneProjectIdRegExp, listEventsResponseDataItemSevenOneProjectIdRegExp, listEventsResponseDataItemSixOneProjectIdRegExp, listEventsResponseDataItemThreeOneProjectIdRegExp, listEventsResponseDataItemTwoOneProjectIdRegExp, listEventsResponseDataItemTwofiveOneProjectIdRegExp, listEventsResponseDataItemTwofourOneProjectIdRegExp, listEventsResponseDataItemTwooneOneProjectIdRegExp, listEventsResponseDataItemTwosixOneProjectIdRegExp, listEventsResponseDataItemTwothreeOneProjectIdRegExp, listEventsResponseDataItemTwotwoOneProjectIdRegExp, listEventsResponseDataItemTwozeroOneProjectIdRegExp, listFlowDefinitionsQueryLimitDefault, listFlowDefinitionsQueryLimitMax, listFlowDefinitionsQueryProjectIdRegExp, listFlowDefinitionsResponseFlowDefinitionsItemNameRegExp, listSchemasQueryObjectTypeMax, listSchemasQueryOffsetDefault, listSchemasQueryOffsetMin, listSchemasQueryProjectIdRegExp, listUserPasskeysPathUserIdRegExp, listUserPasskeysQueryLimitDefault, listUserPasskeysQueryLimitMax, listUserTeamsPathUserIdRegExp, listUserTeamsQueryLimitDefault, listUserTeamsQueryLimitMax, listUsersQueryLimitDefault, listUsersQueryLimitMax, listUsersResponseUsersItemIdRegExp, patchProjectPathProjectIdRegExp, queryProjectsBodyLimitDefault, queryProjectsBodyLimitMax, querySessionsBodyLimitDefault, querySessionsBodyLimitMax, querySessionsQueryProjectIdRegExp, querySessionsResponseSessionsItemFactorsItemPayloadOneUserIdRegExp, querySessionsResponseSessionsItemProjectIdRegExp, querySessionsResponseSessionsItemSessionIdRegExp, querySessionsResponseSessionsItemUserIdOneRegExp, queryTeamsBodyLimitDefault, queryTeamsBodyLimitMax, queryTeamsQueryProjectIdRegExp, revokeSessionPathSessionIdRegExp, setUserPasswordPathUserIdRegExp, submitFlowStepResponseBrandingLayoutDefault, submitFlowStepResponseBrandingLiquidTemplateMax, submitFlowStepResponseStepActionsDefault, submitFlowStepResponseStepActionsItemPrimaryDefault, submitFlowStepResponseStepFieldsDefault, submitFlowStepResponseStepFieldsItemRequiredDefault, submitFlowStepResponseStepFieldsItemValidationMaxLengthMin, submitFlowStepResponseStepFieldsItemValidationMinLengthMin, submitFlowStepResponseStepGatesDefault, submitFlowStepResponseStepSsoProvidersDefault, updateFlowDefinitionBodyFlowDefinitionNameRegExp, updateFlowDefinitionBodyFlowDefinitionStepsItemActionsDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemActionsItemPrimaryDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemFieldsDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemGatesDefault, updateFlowDefinitionBodyFlowDefinitionStepsItemSsoProvidersDefault, updateFlowDefinitionResponseFlowDefinitionNameRegExp, updateFlowDefinitionResponseFlowDefinitionStepsItemActionsDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemActionsItemPrimaryDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemFieldsDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemGatesDefault, updateFlowDefinitionResponseFlowDefinitionStepsItemSsoProvidersDefault, updateTeamBodyNameMax, updateTeamPathTeamIdRegExp, verifyChallengeProofPathAttemptIdRegExp, verifyChallengeProofPathChallengeIdRegExp, verifyChallengeProofResponseAttemptIdRegExp, verifyChallengeProofResponseChallengesItemChallengeIdRegExp, verifyChallengeProofResponseCompletedFactorsItemPayloadOneUserIdRegExp, verifyChallengeProofResponseProjectIdRegExp, verifyChallengeProofResponseSessionIdOneRegExp, verifyChallengeProofResponseUserIdOneRegExp };
|
|
1620
4203
|
|
|
1621
4204
|
//# sourceMappingURL=zitadelNextGen.zod.mjs.map
|