@posthog/wizard 2.22.1 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiOptInRequiredScreen-B8mgZbe5.js → AiOptInRequiredScreen-BOMyYFep.js} +9 -9
- package/dist/AiOptInRequiredScreen-BOMyYFep.js.map +1 -0
- package/dist/{add-mcp-server-to-clients-lCxOS1A1.js → add-mcp-server-to-clients-BEziI3z9.js} +4 -4
- package/dist/{add-mcp-server-to-clients-lCxOS1A1.js.map → add-mcp-server-to-clients-BEziI3z9.js.map} +1 -1
- package/dist/{agent-interface-BPCzPvK-.js → agent-interface-DjMPlXl0.js} +5 -5
- package/dist/{agent-interface-BPCzPvK-.js.map → agent-interface-DjMPlXl0.js.map} +1 -1
- package/dist/{agent-runner-DgzF2mga.js → agent-runner-Bv-7z-pQ.js} +8 -8
- package/dist/{agent-runner-DgzF2mga.js.map → agent-runner-Bv-7z-pQ.js.map} +1 -1
- package/dist/{analytics-BZv-cKyn.js → analytics-9D4eGgmT.js} +13 -2
- package/dist/analytics-9D4eGgmT.js.map +1 -0
- package/dist/{api-BkLZ8BWm.js → api-Dwd0B-E9.js} +3 -3
- package/dist/{api-BkLZ8BWm.js.map → api-Dwd0B-E9.js.map} +1 -1
- package/dist/bin.js +31 -31
- package/dist/{ci-install-DBARq5LX.js → ci-install-DGXCpvKh.js} +4 -4
- package/dist/{ci-install-DBARq5LX.js.map → ci-install-DGXCpvKh.js.map} +1 -1
- package/dist/{debug-Ckumcrye.js → debug-CgT5MmVB.js} +2 -2
- package/dist/{debug-Ckumcrye.js.map → debug-CgT5MmVB.js.map} +1 -1
- package/dist/{debug-DLsuyfln.js → debug-DayHBBST.js} +1 -1
- package/dist/{environment-DUh_8hqW.js → environment-CI2pTYTG.js} +3 -3
- package/dist/{environment-DUh_8hqW.js.map → environment-CI2pTYTG.js.map} +1 -1
- package/dist/{interactive-DeiHgviS.js → interactive-D52p_opJ.js} +2 -2
- package/dist/{interactive-DeiHgviS.js.map → interactive-D52p_opJ.js.map} +1 -1
- package/dist/{mcp-prompt-streaming-kEJgmB30.js → mcp-prompt-streaming-tdoy9UJ2.js} +4 -4
- package/dist/{mcp-prompt-streaming-kEJgmB30.js.map → mcp-prompt-streaming-tdoy9UJ2.js.map} +1 -1
- package/dist/{non-interactive-I4ifOSau.js → non-interactive-6hadW20x.js} +2 -2
- package/dist/{non-interactive-I4ifOSau.js.map → non-interactive-6hadW20x.js.map} +1 -1
- package/dist/{package-manager-fUeLORHg.js → package-manager-BI0J5E7t.js} +2 -2
- package/dist/{package-manager-fUeLORHg.js.map → package-manager-BI0J5E7t.js.map} +1 -1
- package/dist/{playground-DLLIz4Ql.js → playground-z4A5dHPv.js} +4 -4
- package/dist/{playground-DLLIz4Ql.js.map → playground-z4A5dHPv.js.map} +1 -1
- package/dist/{posthog-integration-COcPewVt.js → posthog-integration-BWbZU9Xq.js} +11 -11
- package/dist/{posthog-integration-COcPewVt.js.map → posthog-integration-BWbZU9Xq.js.map} +1 -1
- package/dist/{provisioning-7xU12_S9.js → provisioning-B30Be2NA.js} +3 -3
- package/dist/{provisioning-7xU12_S9.js.map → provisioning-B30Be2NA.js.map} +1 -1
- package/dist/{registry-YwaF-aD8.js → registry-CD_DplSQ.js} +4 -4
- package/dist/{registry-YwaF-aD8.js.map → registry-CD_DplSQ.js.map} +1 -1
- package/dist/{setup-utils-Cr4FxJDl.js → setup-utils-Dwgkk8AQ.js} +8 -8
- package/dist/{setup-utils-Cr4FxJDl.js.map → setup-utils-Dwgkk8AQ.js.map} +1 -1
- package/dist/{start-tui--E4PXdwG.js → start-tui-SLeEzlJs.js} +34 -15
- package/dist/start-tui-SLeEzlJs.js.map +1 -0
- package/dist/{steps-CxUxdK4V.js → steps-B1gzyRkC.js} +6 -6
- package/dist/{steps-CxUxdK4V.js.map → steps-B1gzyRkC.js.map} +1 -1
- package/dist/{telemetry-BS7yw3TP.js → telemetry-5rkeTd2_.js} +3 -3
- package/dist/{telemetry-BS7yw3TP.js.map → telemetry-5rkeTd2_.js.map} +1 -1
- package/dist/{urls-BW23_XbC.js → urls-Cb4SI9kf.js} +2 -2
- package/dist/{urls-BW23_XbC.js.map → urls-Cb4SI9kf.js.map} +1 -1
- package/dist/{wizard-abort-BPsnXKY5.js → wizard-abort-DW2-ZjiS.js} +1 -1
- package/dist/{wizard-abort-E66_R4S7.js → wizard-abort-DovHQa-j.js} +3 -3
- package/dist/{wizard-abort-E66_R4S7.js.map → wizard-abort-DovHQa-j.js.map} +1 -1
- package/package.json +2 -2
- package/dist/AiOptInRequiredScreen-B8mgZbe5.js.map +0 -1
- package/dist/analytics-BZv-cKyn.js.map +0 -1
- package/dist/start-tui--E4PXdwG.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-BZv-cKyn.js","names":["uuidv4"],"sources":["../src/utils/analytics.ts"],"sourcesContent":["import { PostHog } from 'posthog-node';\nimport {\n ANALYTICS_HOST_URL,\n ANALYTICS_POSTHOG_PUBLIC_PROJECT_WRITE_KEY,\n ANALYTICS_TEAM_TAG,\n} from '@lib/constants';\nimport type { WizardSession } from '@lib/wizard-session';\nimport type { ApiUser } from '@lib/api';\nimport { v4 as uuidv4 } from 'uuid';\nimport { IS_PRODUCTION_BUILD } from '@env';\nimport { debug } from './debug';\n\n/**\n * Extract a standard property bag from the current session.\n * Used by store-level analytics and available for ad-hoc captures.\n */\nexport function sessionProperties(\n session: WizardSession,\n): Record<string, unknown> {\n return {\n integration: session.integration,\n detected_framework: session.detectedFrameworkLabel,\n typescript: session.typescript,\n project_id: session.credentials?.projectId,\n discovered_features: session.discoveredFeatures,\n additional_features: session.additionalFeatureQueue,\n run_phase: session.runPhase,\n };\n}\n\nexport function groupsFromUser(\n user: ApiUser | null,\n host: string,\n): Record<string, string> {\n const groups: Record<string, string> = { instance: host };\n if (!user) return groups;\n\n const organizationId = user.organization?.id;\n if (organizationId) groups.organization = organizationId;\n\n const customerId = user.organization?.customer_id;\n if (customerId) groups.customer = customerId;\n\n const projectUuid = user.team?.uuid;\n if (projectUuid) groups.project = projectUuid;\n\n return groups;\n}\n\nexport class Analytics {\n private client: PostHog;\n private tags: Record<string, string | boolean | number | null | undefined> =\n {};\n private distinctId?: string;\n private anonymousId: string;\n private appName = 'wizard';\n private activeFlags: Record<string, string> | null = null;\n private groups: Record<string, string> = {};\n\n constructor() {\n this.client = new PostHog(ANALYTICS_POSTHOG_PUBLIC_PROJECT_WRITE_KEY, {\n host: ANALYTICS_HOST_URL,\n flushAt: 1,\n flushInterval: 0,\n enableExceptionAutocapture: true,\n before_send: (event) => {\n if (!event) return event;\n if (Object.keys(this.groups).length > 0) {\n event.groups = { ...this.groups, ...event.groups };\n }\n // Autocaptured exceptions arrive with a random uuid and\n // `$process_person_profile: false` — reattach the run's identity\n // and tags so they land on the same person as everything else.\n if (event.event === '$exception') {\n event.distinctId = this.distinctId ?? this.anonymousId;\n const { $process_person_profile, ...properties } =\n event.properties ?? {};\n void $process_person_profile;\n event.properties = { ...this.tags, ...properties };\n }\n return event;\n },\n });\n\n this.tags = { $app_name: this.appName };\n // Non-production builds tag every event so they segment out of prod\n // data. CI runs upgrade the tag to 'ci' (see runWizardCI).\n if (!IS_PRODUCTION_BUILD) {\n this.tags.build = 'dev';\n }\n\n this.anonymousId = uuidv4();\n\n this.distinctId = undefined;\n }\n\n /**\n * Associate the run with the logged-in user, once per id: identify them\n * (email, name), then alias the run's anonymous id onto the identified\n * person so pre-login events merge in. Alias only ever fires after\n * identification.\n */\n identifyUser(user: ApiUser) {\n const distinctId = user.distinct_id;\n if (this.distinctId === distinctId || distinctId === this.anonymousId) {\n return;\n }\n this.distinctId = distinctId;\n this.client.identify({\n distinctId,\n properties: {\n $set: {\n ...(user.email ? { email: user.email } : {}),\n ...(user.first_name || user.last_name\n ? {\n name: [user.first_name, user.last_name]\n .filter(Boolean)\n .join(' '),\n }\n : {}),\n },\n },\n });\n this.client.alias({\n distinctId,\n alias: this.anonymousId,\n });\n }\n\n setTag(key: string, value: string | boolean | number | null | undefined) {\n this.tags[key] = value;\n }\n\n setGroups(groups: Record<string, string>) {\n this.groups = groups;\n }\n\n captureException(error: Error, properties: Record<string, unknown> = {}) {\n this.client.captureException(error, this.distinctId ?? this.anonymousId, {\n team: ANALYTICS_TEAM_TAG,\n ...this.tags,\n ...properties,\n });\n }\n\n capture(eventName: string, properties?: Record<string, unknown>) {\n this.client.capture({\n distinctId: this.distinctId ?? this.anonymousId,\n event: eventName,\n properties: {\n ...this.tags,\n ...properties,\n },\n });\n }\n\n /**\n * Capture a wizard-specific event. Automatically prepends \"wizard: \" to the event name.\n * All new wizard analytics should use this method instead of capture() directly.\n */\n wizardCapture(eventName: string, properties?: Record<string, unknown>): void {\n this.capture(`wizard: ${eventName}`, properties);\n }\n\n async getFeatureFlag(flagKey: string): Promise<string | boolean | undefined> {\n try {\n const distinctId = this.distinctId ?? this.anonymousId;\n return await this.client.getFeatureFlag(flagKey, distinctId, {\n sendFeatureFlagEvents: true,\n personProperties: {\n $app_name: this.appName,\n },\n });\n } catch (error) {\n debug('Failed to get feature flag:', flagKey, error);\n return undefined;\n }\n }\n\n /**\n * Evaluate all feature flags for the current user at the start of a run.\n * Result is cached; subsequent calls in the same run return the same map.\n * Returns flag key -> string value (booleans become 'true'/'false').\n */\n async getAllFlagsForWizard(): Promise<Record<string, string>> {\n if (this.activeFlags !== null) {\n return this.activeFlags;\n }\n try {\n const distinctId = this.distinctId ?? this.anonymousId;\n const result = await this.client.getAllFlagsAndPayloads(distinctId, {\n personProperties: { $app_name: this.appName },\n });\n const flags = result.featureFlags ?? {};\n const out: Record<string, string> = {};\n for (const [key, value] of Object.entries(flags)) {\n if (value === undefined) continue;\n out[key] = typeof value === 'boolean' ? String(value) : String(value);\n }\n this.activeFlags = out;\n return out;\n } catch (error) {\n debug('Failed to get all feature flags:', error);\n return {};\n }\n }\n\n async shutdown(status: 'success' | 'error' | 'cancelled') {\n if (Object.keys(this.tags).length === 0) {\n return;\n }\n\n this.client.capture({\n distinctId: this.distinctId ?? this.anonymousId,\n event: 'setup wizard finished',\n properties: {\n status,\n tags: this.tags,\n },\n });\n\n await this.client.shutdown();\n }\n}\n\nexport const analytics = new Analytics();\n"],"mappings":"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"}
|