import type { Vercel } from "@vercel/sdk" import { defineTokenVercelSdkAction } from "../lib/action" type FeatureFlags = Vercel["featureFlags"] export const listVercelFeatureFlags = defineTokenVercelSdkAction({ description: "Lists feature flags for one Vercel project.", handler: (api, request: Parameters[0]) => api.featureFlags.listFlags(request), name: "List Vercel feature flags", replaySafety: "safe", }) export const getVercelFeatureFlag = defineTokenVercelSdkAction({ description: "Gets one feature flag by ID or slug.", handler: (api, request: Parameters[0]) => api.featureFlags.getFlag(request), name: "Get Vercel feature flag", replaySafety: "safe", }) export const createVercelFeatureFlag = defineTokenVercelSdkAction({ description: "Creates a feature flag in one project.", handler: (api, request: Parameters[0]) => api.featureFlags.createFlag(request), name: "Create Vercel feature flag", replaySafety: "unsafe", }) export const updateVercelFeatureFlag = defineTokenVercelSdkAction({ description: "Updates one feature flag.", handler: (api, request: Parameters[0]) => api.featureFlags.updateFlag(request), name: "Update Vercel feature flag", replaySafety: "unsafe", }) export const deleteVercelFeatureFlag = defineTokenVercelSdkAction({ description: "Deletes one feature flag.", handler: (api, request: Parameters[0]) => api.featureFlags.deleteFlag(request), name: "Delete Vercel feature flag", replaySafety: "unsafe", }) export const listVercelFeatureFlagVersions = defineTokenVercelSdkAction({ description: "Lists the version history of one feature flag.", handler: (api, request: Parameters[0]) => api.featureFlags.listFlagVersions(request), name: "List Vercel feature flag versions", replaySafety: "safe", }) export const getVercelFeatureFlagSettings = defineTokenVercelSdkAction({ description: "Gets project settings for one feature flag.", handler: (api, request: Parameters[0]) => api.featureFlags.getFlagSettings(request), name: "Get Vercel feature flag settings", replaySafety: "safe", }) export const updateVercelFeatureFlagSettings = defineTokenVercelSdkAction({ description: "Updates project settings for one feature flag.", handler: (api, request: Parameters[0]) => api.featureFlags.updateFlagSettings(request), name: "Update Vercel feature flag settings", replaySafety: "unsafe", }) export const listVercelFeatureFlagSegments = defineTokenVercelSdkAction({ description: "Lists segments for one Vercel project.", handler: (api, request: Parameters[0]) => api.featureFlags.listFlagSegments(request), name: "List Vercel feature flag segments", replaySafety: "safe", }) export const getVercelFeatureFlagSegment = defineTokenVercelSdkAction({ description: "Gets one feature flag segment.", handler: (api, request: Parameters[0]) => api.featureFlags.getFlagSegment(request), name: "Get Vercel feature flag segment", replaySafety: "safe", }) export const createVercelFeatureFlagSegment = defineTokenVercelSdkAction({ description: "Creates a reusable feature flag segment.", handler: (api, request: Parameters[0]) => api.featureFlags.createFlagSegment(request), name: "Create Vercel feature flag segment", replaySafety: "unsafe", }) export const updateVercelFeatureFlagSegment = defineTokenVercelSdkAction({ description: "Updates one feature flag segment.", handler: (api, request: Parameters[0]) => api.featureFlags.updateFlagSegment(request), name: "Update Vercel feature flag segment", replaySafety: "unsafe", }) export const deleteVercelFeatureFlagSegment = defineTokenVercelSdkAction({ description: "Deletes one feature flag segment.", handler: (api, request: Parameters[0]) => api.featureFlags.deleteFlagSegment(request), name: "Delete Vercel feature flag segment", replaySafety: "unsafe", }) export const listVercelTeamFeatureFlags = defineTokenVercelSdkAction({ description: "Lists feature flags across a Vercel team.", handler: (api, request: Parameters[0]) => api.featureFlags.listTeamFlags(request), name: "List Vercel team feature flags", replaySafety: "safe", })