UNPKG

@genkit-ai/firebase

Version:

Genkit AI framework plugin for Firebase including Firestore trace/state store and deployment helpers for Cloud Functions for Firebase.

114 lines 4.39 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var user_engagement_exports = {}; __export(user_engagement_exports, { FirebaseUserAcceptanceEnum: () => FirebaseUserAcceptanceEnum, FirebaseUserAcceptanceSchema: () => FirebaseUserAcceptanceSchema, FirebaseUserEngagementSchema: () => FirebaseUserEngagementSchema, FirebaseUserFeedbackEnum: () => FirebaseUserFeedbackEnum, FirebaseUserFeedbackSchema: () => FirebaseUserFeedbackSchema, collectUserEngagement: () => collectUserEngagement }); module.exports = __toCommonJS(user_engagement_exports); var import_genkit = require("genkit"); var import_tracing = require("genkit/tracing"); var FirebaseUserFeedbackEnum = /* @__PURE__ */ ((FirebaseUserFeedbackEnum2) => { FirebaseUserFeedbackEnum2["POSITIVE"] = "positive"; FirebaseUserFeedbackEnum2["NEGATIVE"] = "negative"; return FirebaseUserFeedbackEnum2; })(FirebaseUserFeedbackEnum || {}); var FirebaseUserAcceptanceEnum = /* @__PURE__ */ ((FirebaseUserAcceptanceEnum2) => { FirebaseUserAcceptanceEnum2["ACCEPTED"] = "accepted"; FirebaseUserAcceptanceEnum2["REJECTED"] = "rejected"; return FirebaseUserAcceptanceEnum2; })(FirebaseUserAcceptanceEnum || {}); const FirebaseUserFeedbackSchema = import_genkit.z.object({ /** User sentiment of response. */ value: import_genkit.z.nativeEnum(FirebaseUserFeedbackEnum), /** Optional free text feedback to supplement score. */ text: import_genkit.z.optional(import_genkit.z.string()) }); const FirebaseUserAcceptanceSchema = import_genkit.z.object({ /** Whether the user took the desired action based on the response. */ value: import_genkit.z.nativeEnum(FirebaseUserAcceptanceEnum) }); const FirebaseUserEngagementSchema = import_genkit.z.object({ /** Flow or feature name. */ name: import_genkit.z.string(), /** * The trace ID of the execution for which we've received user engagement data. */ traceId: import_genkit.z.string(), /** The root span ID of the execution for which we've received user engagement data. */ spanId: import_genkit.z.string(), /** Explicit user feedback on response. */ feedback: import_genkit.z.optional(FirebaseUserFeedbackSchema), /** Implicit user acceptance of response. */ acceptance: import_genkit.z.optional(FirebaseUserAcceptanceSchema) }); async function collectUserEngagement(userEngagement) { if (userEngagement.feedback?.value) { const metadata = { feedbackValue: userEngagement.feedback.value, subtype: "userFeedback" }; if (userEngagement.feedback.text) { metadata["textFeedback"] = userEngagement.feedback.text; } await (0, import_tracing.appendSpan)( userEngagement.traceId, userEngagement.spanId, { name: "user-feedback", path: `/{${userEngagement.name}}`, metadata }, { [import_tracing.SPAN_TYPE_ATTR]: "userEngagement" } ); } if (userEngagement.acceptance?.value) { await (0, import_tracing.appendSpan)( userEngagement.traceId, userEngagement.spanId, { name: "user-acceptance", path: `/{${userEngagement.name}}`, metadata: { acceptanceValue: userEngagement.acceptance.value, subtype: "userAcceptance" } }, { [import_tracing.SPAN_TYPE_ATTR]: "userEngagement" } ); } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { FirebaseUserAcceptanceEnum, FirebaseUserAcceptanceSchema, FirebaseUserEngagementSchema, FirebaseUserFeedbackEnum, FirebaseUserFeedbackSchema, collectUserEngagement }); //# sourceMappingURL=user-engagement.js.map