export type AIImpactUserActivityModels = Array; export type AIImpactUserActivityTools = Array; export type AIImpactUserActivityAttributes = {day: string, is_active: boolean, models?: AIImpactUserActivityModels | undefined, tools: AIImpactUserActivityTools, user_email: string}; export type AIImpactUserActivityType = 'ai_impact_user_activity'; export type AIImpactUserActivityData = {attributes: AIImpactUserActivityAttributes, type: AIImpactUserActivityType}; export type AIImpactUserActivityDataArray = Array; export type AIImpactUserActivityRequest = {data: AIImpactUserActivityDataArray}; export type CreateApiApiV2AiImpactUserActivityArgs = {body: AIImpactUserActivityRequest}; export type CreateApiApiV2AiImpactUserActivityOptions = {baseUrl?: string | undefined, apiKeyAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Send AI tool user activity * * POST /api/v2/ai_impact/user_activity */ export const createApiApiV2AiImpactUserActivity = async (args: CreateApiApiV2AiImpactUserActivityArgs, options?: CreateApiApiV2AiImpactUserActivityOptions) => { const {baseUrl = "https://api.datadoghq.com", fetch: fetchFn = fetch, apiKeyAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (apiKeyAuth !== undefined) headers.set("DD-API-KEY", apiKeyAuth) const url = `${baseUrl.replace(/\/+$/, '')}/api/v2/ai_impact/user_activity${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };