@posthog/wizard 2.16.1 → 2.17.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/{TextBlock-CdeZog_6.js → TextBlock-D0Ep3zC9.js} +2 -2
- package/dist/{TextBlock-CdeZog_6.js.map → TextBlock-D0Ep3zC9.js.map} +1 -1
- package/dist/{add-mcp-server-to-clients-BS6Rjcwh.js → add-mcp-server-to-clients-D4PK6ulR.js} +38 -5
- package/dist/add-mcp-server-to-clients-D4PK6ulR.js.map +1 -0
- package/dist/{agent-interface-B4eUlMso.js → agent-interface-7t5DBo2A.js} +7 -7
- package/dist/{agent-interface-B4eUlMso.js.map → agent-interface-7t5DBo2A.js.map} +1 -1
- package/dist/{agent-runner-BxqiKVEf.js → agent-runner-CTkKLVhp.js} +8 -7
- package/dist/{agent-runner-BxqiKVEf.js.map → agent-runner-CTkKLVhp.js.map} +1 -1
- package/dist/{analytics-DUuUurR3.js → analytics-DN_Gy87F.js} +2 -2
- package/dist/{analytics-DUuUurR3.js.map → analytics-DN_Gy87F.js.map} +1 -1
- package/dist/{api-CGJ1iGps.js → api-serd0SMY.js} +14 -4
- package/dist/{api-CGJ1iGps.js.map → api-serd0SMY.js.map} +1 -1
- package/dist/bin.js +44 -43
- package/dist/bin.js.map +1 -1
- package/dist/{ci-install-DD7WMmIF.js → ci-install-BbJ7c3WK.js} +4 -4
- package/dist/{ci-install-DD7WMmIF.js.map → ci-install-BbJ7c3WK.js.map} +1 -1
- package/dist/{debug-Cd0hPlZy.js → debug-BI-Js0PB.js} +1 -1
- package/dist/{debug-ubpO6102.js → debug-Bx7nvCWW.js} +2 -2
- package/dist/{debug-ubpO6102.js.map → debug-Bx7nvCWW.js.map} +1 -1
- package/dist/{defaults-zrYmZ2ID.js → defaults-CPH6eWhN.js} +1 -1
- package/dist/{defaults-zrYmZ2ID.js.map → defaults-CPH6eWhN.js.map} +1 -1
- package/dist/{env-api-key-DEl3LJBv.js → env-api-key-B3gE9Un0.js} +1 -1
- package/dist/{env-api-key-DEl3LJBv.js.map → env-api-key-B3gE9Un0.js.map} +1 -1
- package/dist/{environment-BAaC5THg.js → environment-CiZVSSYt.js} +3 -3
- package/dist/{environment-BAaC5THg.js.map → environment-CiZVSSYt.js.map} +1 -1
- package/dist/{file-utils-DPmgn9Vm.js → file-utils-Dy9JncCo.js} +1 -1
- package/dist/{file-utils-DPmgn9Vm.js.map → file-utils-Dy9JncCo.js.map} +1 -1
- package/dist/{interactive-BaMAq88Q.js → interactive-BwIzklw0.js} +2 -2
- package/dist/{interactive-BaMAq88Q.js.map → interactive-BwIzklw0.js.map} +1 -1
- package/dist/{mcp-prompt-streaming-clGsVw8q.js → mcp-prompt-streaming-8U9Qs9EV.js} +62 -12
- package/dist/mcp-prompt-streaming-8U9Qs9EV.js.map +1 -0
- package/dist/{non-interactive-l2AKE3jD.js → non-interactive-DTaZnVq_.js} +2 -2
- package/dist/{non-interactive-l2AKE3jD.js.map → non-interactive-DTaZnVq_.js.map} +1 -1
- package/dist/{package-json-Cynjr9k4.js → package-json-DCuoye-H.js} +8 -2
- package/dist/{package-json-Cynjr9k4.js.map → package-json-DCuoye-H.js.map} +1 -1
- package/dist/{package-manager-BqsJK3ej.js → package-manager-CKQLR20D.js} +2 -2
- package/dist/{package-manager-BqsJK3ej.js.map → package-manager-CKQLR20D.js.map} +1 -1
- package/dist/{playground-DlE5RNfE.js → playground-CR81Mwe3.js} +21 -10
- package/dist/playground-CR81Mwe3.js.map +1 -0
- package/dist/{posthog-DWL8uOcl.js → posthog-BrLFkaji.js} +1 -1
- package/dist/{posthog-DWL8uOcl.js.map → posthog-BrLFkaji.js.map} +1 -1
- package/dist/{posthog-integration-Bf_vtWI9.js → posthog-integration-Bv7987YJ.js} +13 -12
- package/dist/{posthog-integration-Bf_vtWI9.js.map → posthog-integration-Bv7987YJ.js.map} +1 -1
- package/dist/{provisioning-D_hAuxUN.js → provisioning-C96Kw-9D.js} +9 -4
- package/dist/{provisioning-D_hAuxUN.js.map → provisioning-C96Kw-9D.js.map} +1 -1
- package/dist/{registry-DKgYqROt.js → registry-B9k73FKR.js} +5 -5
- package/dist/{registry-DKgYqROt.js.map → registry-B9k73FKR.js.map} +1 -1
- package/dist/{setup-utils-D-uTycLX.js → setup-utils-Bpfsap9L.js} +80 -39
- package/dist/setup-utils-Bpfsap9L.js.map +1 -0
- package/dist/{skill-CnOQAZXp.js → skill-CPqcV8zp.js} +2 -2
- package/dist/{skill-CnOQAZXp.js.map → skill-CPqcV8zp.js.map} +1 -1
- package/dist/{slides-CL1mv_Kq.js → slides-DRbBgsdd.js} +1426 -181
- package/dist/slides-DRbBgsdd.js.map +1 -0
- package/dist/{start-tui-DXrv6cof.js → start-tui-BZ7rEf3e.js} +28 -17
- package/dist/start-tui-BZ7rEf3e.js.map +1 -0
- package/dist/{steps-CgScwqso.js → steps-DDx35170.js} +6 -6
- package/dist/{steps-CgScwqso.js.map → steps-DDx35170.js.map} +1 -1
- package/dist/{task-stream-CF6QMVMv.js → task-stream-BI8rJg9H.js} +3 -3
- package/dist/{task-stream-CF6QMVMv.js.map → task-stream-BI8rJg9H.js.map} +1 -1
- package/dist/{telemetry-v6O12Bep.js → telemetry-ByYtIfW0.js} +2 -2
- package/dist/{telemetry-v6O12Bep.js.map → telemetry-ByYtIfW0.js.map} +1 -1
- package/dist/urls-CTCJIxbR.js +35 -0
- package/dist/urls-CTCJIxbR.js.map +1 -0
- package/dist/{wizard-abort-iTaJ8wC8.js → wizard-abort-CY0ibdq1.js} +3 -3
- package/dist/{wizard-abort-iTaJ8wC8.js.map → wizard-abort-CY0ibdq1.js.map} +1 -1
- package/dist/{wizard-abort-BGoBKgvC.js → wizard-abort-QdRxGQp_.js} +1 -1
- package/dist/{wizard-session-gsn8Z3bZ.js → wizard-session-d27JGRGi.js} +1 -1
- package/dist/{wizard-session-gsn8Z3bZ.js.map → wizard-session-d27JGRGi.js.map} +1 -1
- package/dist/{wizard-session-7tMjgOvP.js → wizard-session-y304gEEI.js} +1 -1
- package/package.json +1 -1
- package/dist/add-mcp-server-to-clients-BS6Rjcwh.js.map +0 -1
- package/dist/api-B8OR0N1V.js +0 -2
- package/dist/mcp-prompt-streaming-clGsVw8q.js.map +0 -1
- package/dist/package-json-CumwmZpv.js +0 -2
- package/dist/playground-DlE5RNfE.js.map +0 -1
- package/dist/provisioning-BlBnlcFd.js +0 -2
- package/dist/setup-utils-BHZEdkNZ.js +0 -2
- package/dist/setup-utils-D-uTycLX.js.map +0 -1
- package/dist/slides-CL1mv_Kq.js.map +0 -1
- package/dist/start-tui-DXrv6cof.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-CGJ1iGps.js","names":[],"sources":["../src/lib/api.ts"],"sourcesContent":["import axios, { AxiosError } from 'axios';\nimport { z } from 'zod';\nimport { analytics } from '@utils/analytics';\nimport { WIZARD_USER_AGENT } from './constants';\n\n/**\n * User payload from `/api/users/@me/`. Schema typed for the fields the\n * wizard actually reads + passthrough on everything else so the full\n * upstream response rides through to the session for downstream features\n * (account-aware copy, plan-gated flows, org/team metadata, etc.).\n *\n * Top-level uses `.passthrough()` so unknown fields aren't stripped;\n * the few nested objects we care about (team, organization,\n * organizations[]) do the same so their additional fields survive too.\n *\n * Keep `distinct_id` required — analytics depends on it. Everything\n * else added here is nullish so partial responses don't fail parsing.\n */\nexport const ApiUserSchema = z\n .object({\n // Identifiers\n distinct_id: z.string(),\n uuid: z.string().nullish(),\n id: z.number().nullish(),\n\n // Profile\n email: z.string().nullish(),\n first_name: z.string().nullish(),\n last_name: z.string().nullish(),\n date_joined: z.string().nullish(),\n is_email_verified: z.boolean().nullish(),\n is_2fa_enabled: z.boolean().nullish(),\n is_staff: z.boolean().nullish(),\n\n // Preferences\n theme_mode: z.string().nullish(),\n toolbar_mode: z.string().nullish(),\n hide_mcp_hints: z.boolean().nullish(),\n\n // Optional / nullable on the backend — pre-onboarding signup paths\n // return null and older accounts may not have it set. Treat as a\n // hint, never a guarantee.\n role_at_organization: z.string().nullish(),\n\n // Current team + organization (objects from the API, kept typed on\n // the fields the wizard uses; passthrough preserves the rest).\n team: z\n .object({\n id: z.number(),\n uuid: z.string().nullish(),\n organization: z.string().uuid(),\n api_token: z.string().nullish(),\n project_id: z.number().nullish(),\n name: z.string().nullish(),\n timezone: z.string().nullish(),\n })\n .passthrough(),\n organization: z\n .object({\n id: z.string().uuid(),\n name: z.string().nullish(),\n slug: z.string().nullish(),\n membership_level: z.number().nullish(),\n customer_id: z.string().nullish(),\n })\n .passthrough(),\n organizations: z.array(\n z\n .object({\n id: z.string().uuid(),\n name: z.string().nullish(),\n membership_level: z.number().nullish(),\n })\n .passthrough(),\n ),\n })\n .passthrough();\n\n/**\n * Single activity log entry the wizard cares about. The PostHog endpoint\n * returns much more — schema kept minimal so changes upstream don't break us.\n *\n * @unused — no current caller after the Phase 6 streaming-agent pivot\n * dropped activity_log polling. Deliberately retained: this is a thin,\n * well-typed wrapper around a stable PostHog endpoint, and we're likely\n * to want it again for a future feature (e.g. \"what changed in your\n * project recently\"). Re-deriving the schema is more work than letting\n * it sit dormant.\n */\nexport const ActivityLogEntrySchema = z\n .object({\n scope: z.string().nullish(),\n activity: z.string().nullish(),\n created_at: z.string().nullish(),\n })\n .passthrough();\n\n/** @unused — see ActivityLogEntrySchema. */\nexport const ActivityLogResponseSchema = z.object({\n results: z.array(ActivityLogEntrySchema),\n});\n\n/** @unused — see ActivityLogEntrySchema. */\nexport type ActivityLogEntry = z.infer<typeof ActivityLogEntrySchema>;\n\nexport const ApiProjectSchema = z.object({\n id: z.number(),\n uuid: z.string().uuid(),\n organization: z.string().uuid(),\n api_token: z.string(),\n name: z.string(),\n});\n\nexport type ApiUser = z.infer<typeof ApiUserSchema>;\nexport type ApiProject = z.infer<typeof ApiProjectSchema>;\n\nexport class ApiError extends Error {\n constructor(\n message: string,\n public readonly statusCode?: number,\n public readonly endpoint?: string,\n ) {\n super(message);\n this.name = 'ApiError';\n }\n}\n\nexport async function fetchUserData(\n accessToken: string,\n baseUrl: string,\n): Promise<ApiUser> {\n try {\n const response = await axios.get(`${baseUrl}/api/users/@me/`, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n });\n\n return ApiUserSchema.parse(response.data);\n } catch (error) {\n const apiError = handleApiError(error, 'fetch user data');\n analytics.captureException(apiError, {\n endpoint: '/api/users/@me/',\n baseUrl,\n });\n throw apiError;\n }\n}\n\n/**\n * Best-effort fetch of recent activity log entries. Returns [] on any error\n * so callers can treat absence of results as \"haven't detected anything yet\"\n * rather than a hard failure.\n *\n * @unused — no current caller after the Phase 6 streaming-agent pivot\n * dropped activity_log polling from McpSuggestedPromptsScreen.\n * Deliberately retained for future features that want a soft signal of\n * recent project changes (e.g. dashboards, audit summaries). See the\n * ActivityLogEntrySchema doc comment for the keep-vs-delete rationale.\n */\nexport async function fetchRecentActivity(\n accessToken: string,\n projectId: number,\n baseUrl: string,\n since: Date,\n): Promise<ActivityLogEntry[]> {\n try {\n const response = await axios.get(\n `${baseUrl}/api/projects/${projectId}/activity_log/`,\n {\n params: { limit: 10 },\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n // Short timeout — best-effort probe, not a critical path.\n timeout: 4000,\n },\n );\n const parsed = ActivityLogResponseSchema.safeParse(response.data);\n if (!parsed.success) return [];\n const sinceMs = since.getTime();\n return parsed.data.results.filter((entry) => {\n if (!entry.created_at) return false;\n const t = Date.parse(entry.created_at);\n return Number.isFinite(t) && t >= sinceMs;\n });\n } catch {\n return [];\n }\n}\n\nexport async function fetchProjectData(\n accessToken: string,\n projectId: number,\n baseUrl: string,\n): Promise<ApiProject> {\n try {\n const response = await axios.get(`${baseUrl}/api/projects/${projectId}/`, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n });\n\n return ApiProjectSchema.parse(response.data);\n } catch (error) {\n const apiError = handleApiError(error, 'fetch project data');\n analytics.captureException(apiError, {\n endpoint: `/api/projects/${projectId}/`,\n baseUrl,\n projectId,\n });\n throw apiError;\n }\n}\n\nexport function handleApiError(error: unknown, operation: string): ApiError {\n if (axios.isAxiosError(error)) {\n const axiosError = error as AxiosError<{ detail?: string }>;\n const status = axiosError.response?.status;\n const detail = axiosError.response?.data?.detail;\n const endpoint = axiosError.config?.url;\n\n if (status === 401) {\n return new ApiError(\n `Authentication failed while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n if (status === 403) {\n return new ApiError(\n `Access denied while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n if (status === 404) {\n return new ApiError(\n `Resource not found while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n const message = detail || `Failed to ${operation}`;\n return new ApiError(message, status, endpoint);\n }\n\n if (error instanceof z.ZodError) {\n return new ApiError(`Invalid response format while trying to ${operation}`);\n }\n\n return new ApiError(\n `Unexpected error while trying to ${operation}: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`,\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-serd0SMY.js","names":[],"sources":["../src/lib/api.ts"],"sourcesContent":["import axios, { AxiosError } from 'axios';\nimport { z } from 'zod';\nimport { analytics } from '@utils/analytics';\nimport { WIZARD_USER_AGENT } from './constants';\n\n/**\n * User payload from `/api/users/@me/`. Schema typed for the fields the\n * wizard actually reads + passthrough on everything else so the full\n * upstream response rides through to the session for downstream features\n * (account-aware copy, plan-gated flows, org/team metadata, etc.).\n *\n * Top-level uses `.passthrough()` so unknown fields aren't stripped;\n * the few nested objects we care about (team, organization,\n * organizations[]) do the same so their additional fields survive too.\n *\n * Keep `distinct_id` required — analytics depends on it. Everything\n * else added here is nullish so partial responses don't fail parsing.\n */\nexport const ApiUserSchema = z\n .object({\n // Identifiers\n distinct_id: z.string(),\n uuid: z.string().nullish(),\n id: z.number().nullish(),\n\n // Profile\n email: z.string().nullish(),\n first_name: z.string().nullish(),\n last_name: z.string().nullish(),\n date_joined: z.string().nullish(),\n is_email_verified: z.boolean().nullish(),\n is_2fa_enabled: z.boolean().nullish(),\n is_staff: z.boolean().nullish(),\n\n // Preferences\n theme_mode: z.string().nullish(),\n toolbar_mode: z.string().nullish(),\n hide_mcp_hints: z.boolean().nullish(),\n\n // Optional / nullable on the backend — pre-onboarding signup paths\n // return null and older accounts may not have it set. Treat as a\n // hint, never a guarantee.\n role_at_organization: z.string().nullish(),\n\n // Current team + organization (objects from the API, kept typed on\n // the fields the wizard uses; passthrough preserves the rest).\n team: z\n .object({\n id: z.number(),\n uuid: z.string().nullish(),\n organization: z.string().uuid(),\n api_token: z.string().nullish(),\n project_id: z.number().nullish(),\n name: z.string().nullish(),\n timezone: z.string().nullish(),\n })\n .passthrough(),\n organization: z\n .object({\n id: z.string().uuid(),\n name: z.string().nullish(),\n slug: z.string().nullish(),\n membership_level: z.number().nullish(),\n customer_id: z.string().nullish(),\n })\n .passthrough(),\n organizations: z.array(\n z\n .object({\n id: z.string().uuid(),\n name: z.string().nullish(),\n membership_level: z.number().nullish(),\n })\n .passthrough(),\n ),\n })\n .passthrough();\n\n/**\n * Single activity log entry the wizard cares about. The PostHog endpoint\n * returns much more — schema kept minimal so changes upstream don't break us.\n *\n * @unused — no current caller after the Phase 6 streaming-agent pivot\n * dropped activity_log polling. Deliberately retained: this is a thin,\n * well-typed wrapper around a stable PostHog endpoint, and we're likely\n * to want it again for a future feature (e.g. \"what changed in your\n * project recently\"). Re-deriving the schema is more work than letting\n * it sit dormant.\n */\nexport const ActivityLogEntrySchema = z\n .object({\n scope: z.string().nullish(),\n activity: z.string().nullish(),\n created_at: z.string().nullish(),\n })\n .passthrough();\n\n/** @unused — see ActivityLogEntrySchema. */\nexport const ActivityLogResponseSchema = z.object({\n results: z.array(ActivityLogEntrySchema),\n});\n\n/** @unused — see ActivityLogEntrySchema. */\nexport type ActivityLogEntry = z.infer<typeof ActivityLogEntrySchema>;\n\nexport const ApiProjectSchema = z.object({\n id: z.number(),\n uuid: z.string().uuid(),\n organization: z.string().uuid(),\n api_token: z.string(),\n name: z.string(),\n});\n\nexport type ApiUser = z.infer<typeof ApiUserSchema>;\nexport type ApiProject = z.infer<typeof ApiProjectSchema>;\n\nexport class ApiError extends Error {\n constructor(\n message: string,\n public readonly statusCode?: number,\n public readonly endpoint?: string,\n ) {\n super(message);\n this.name = 'ApiError';\n }\n}\n\nexport async function fetchUserData(\n accessToken: string,\n baseUrl: string,\n): Promise<ApiUser> {\n try {\n const response = await axios.get(`${baseUrl}/api/users/@me/`, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n });\n\n return ApiUserSchema.parse(response.data);\n } catch (error) {\n const apiError = handleApiError(error, 'fetch user data');\n analytics.captureException(apiError, {\n endpoint: '/api/users/@me/',\n baseUrl,\n });\n throw apiError;\n }\n}\n\n/**\n * Best-effort fetch of recent activity log entries. Returns [] on any error\n * so callers can treat absence of results as \"haven't detected anything yet\"\n * rather than a hard failure.\n *\n * @unused — no current caller after the Phase 6 streaming-agent pivot\n * dropped activity_log polling from McpSuggestedPromptsScreen.\n * Deliberately retained for future features that want a soft signal of\n * recent project changes (e.g. dashboards, audit summaries). See the\n * ActivityLogEntrySchema doc comment for the keep-vs-delete rationale.\n */\nexport async function fetchRecentActivity(\n accessToken: string,\n projectId: number,\n baseUrl: string,\n since: Date,\n): Promise<ActivityLogEntry[]> {\n try {\n const response = await axios.get(\n `${baseUrl}/api/projects/${projectId}/activity_log/`,\n {\n params: { limit: 10 },\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n // Short timeout — best-effort probe, not a critical path.\n timeout: 4000,\n },\n );\n const parsed = ActivityLogResponseSchema.safeParse(response.data);\n if (!parsed.success) return [];\n const sinceMs = since.getTime();\n return parsed.data.results.filter((entry) => {\n if (!entry.created_at) return false;\n const t = Date.parse(entry.created_at);\n return Number.isFinite(t) && t >= sinceMs;\n });\n } catch {\n return [];\n }\n}\n\nexport async function fetchProjectData(\n accessToken: string,\n projectId: number,\n baseUrl: string,\n): Promise<ApiProject> {\n try {\n const response = await axios.get(`${baseUrl}/api/projects/${projectId}/`, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n });\n\n return ApiProjectSchema.parse(response.data);\n } catch (error) {\n const apiError = handleApiError(error, 'fetch project data');\n analytics.captureException(apiError, {\n endpoint: `/api/projects/${projectId}/`,\n baseUrl,\n projectId,\n });\n throw apiError;\n }\n}\n\nexport function handleApiError(error: unknown, operation: string): ApiError {\n if (axios.isAxiosError(error)) {\n const axiosError = error as AxiosError<{ detail?: string }>;\n const status = axiosError.response?.status;\n const detail = axiosError.response?.data?.detail;\n const endpoint = axiosError.config?.url;\n\n if (status === 401) {\n return new ApiError(\n `Authentication failed while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n if (status === 403) {\n return new ApiError(\n `Access denied while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n if (status === 404) {\n return new ApiError(\n `Resource not found while trying to ${operation}`,\n status,\n endpoint,\n );\n }\n\n const message = detail || `Failed to ${operation}`;\n return new ApiError(message, status, endpoint);\n }\n\n if (error instanceof z.ZodError) {\n return new ApiError(`Invalid response format while trying to ${operation}`);\n }\n\n return new ApiError(\n `Unexpected error while trying to ${operation}: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`,\n );\n}\n"],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { J as VERSION, M as POSTHOG_DOCS_URL, W as WIZARD_USER_AGENT, X as runtimeEnv, _ as SIGNUP_WIZARD_READINESS_CONFIG, h as LoggingUI, m as setUI, p as getUI, s as logToFile, v as evaluateWizardReadiness, y as getBlockingServiceKeys } from "./debug-
|
|
3
|
-
import { t as analytics } from "./analytics-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
2
|
+
import { J as VERSION, M as POSTHOG_DOCS_URL, W as WIZARD_USER_AGENT, X as runtimeEnv, _ as SIGNUP_WIZARD_READINESS_CONFIG, h as LoggingUI, m as setUI, p as getUI, s as logToFile, v as evaluateWizardReadiness, y as getBlockingServiceKeys } from "./debug-Bx7nvCWW.js";
|
|
3
|
+
import { t as analytics } from "./analytics-DN_Gy87F.js";
|
|
4
|
+
import { n as isUsingTypeScript } from "./setup-utils-Bpfsap9L.js";
|
|
5
|
+
import { a as getUiHostFromHost, n as getCloudUrlFromRegion } from "./urls-CTCJIxbR.js";
|
|
6
|
+
import { a as handleApiError } from "./api-serd0SMY.js";
|
|
7
|
+
import "./wizard-session-d27JGRGi.js";
|
|
8
|
+
import { n as isNonInteractiveEnvironment } from "./environment-CiZVSSYt.js";
|
|
9
|
+
import { _ as AUDIT_REPORT_FILE, d as WIZARD_TOOL_NAMES, g as AUDIT_CHECKS_KEY, h as AUDIT_CHECKS_FILE, t as AgentSignals } from "./agent-interface-7t5DBo2A.js";
|
|
10
|
+
import { i as SPINNER_MESSAGE } from "./registry-B9k73FKR.js";
|
|
11
|
+
import { a as PRODUCT_SUITE_BLOCK, i as LINE_CHART_BLOCK, n as posthogIntegrationConfig, o as StatusPeekTrigger, r as FUNNEL_BLOCK } from "./posthog-integration-Bv7987YJ.js";
|
|
12
|
+
import { c as HEALTH_CHECK_STEP, o as Colors, r as isClearBlock } from "./TextBlock-D0Ep3zC9.js";
|
|
13
|
+
import { t as IGNORED_DIRS } from "./file-utils-Dy9JncCo.js";
|
|
14
|
+
import { n as readApiKeyFromEnv } from "./env-api-key-B3gE9Un0.js";
|
|
14
15
|
import { satisfies } from "semver";
|
|
15
16
|
import yargs from "yargs";
|
|
16
17
|
import { hideBin } from "yargs/helpers";
|
|
@@ -160,7 +161,7 @@ function runProvision(argv) {
|
|
|
160
161
|
}
|
|
161
162
|
async function provision({ email, region, name, jsonMode }) {
|
|
162
163
|
try {
|
|
163
|
-
const { provisionNewAccount } = await import("./provisioning-
|
|
164
|
+
const { provisionNewAccount } = await import("./provisioning-C96Kw-9D.js").then((n) => n.n);
|
|
164
165
|
if (!jsonMode) getUI().log.info(`Provisioning account for ${email} in ${region}...`);
|
|
165
166
|
emitResult(await provisionNewAccount(email, name, region), jsonMode);
|
|
166
167
|
process.exit(0);
|
|
@@ -239,26 +240,26 @@ const basicIntegrationCommand = {
|
|
|
239
240
|
handler: (argv) => {
|
|
240
241
|
(async () => {
|
|
241
242
|
if (argv.ci && argv.skill) {
|
|
242
|
-
const { runSkillMode } = await import("./skill-
|
|
243
|
+
const { runSkillMode } = await import("./skill-CPqcV8zp.js");
|
|
243
244
|
return runSkillMode(argv);
|
|
244
245
|
}
|
|
245
246
|
if (argv.ci) {
|
|
246
|
-
const { runCIInstall } = await import("./ci-install-
|
|
247
|
+
const { runCIInstall } = await import("./ci-install-BbJ7c3WK.js");
|
|
247
248
|
return runCIInstall(argv);
|
|
248
249
|
}
|
|
249
250
|
if (isNonInteractiveEnvironment()) {
|
|
250
|
-
const { failNonInteractive } = await import("./non-interactive-
|
|
251
|
+
const { failNonInteractive } = await import("./non-interactive-DTaZnVq_.js");
|
|
251
252
|
return failNonInteractive();
|
|
252
253
|
}
|
|
253
254
|
if (argv.playground) {
|
|
254
|
-
const { runPlayground } = await import("./playground-
|
|
255
|
+
const { runPlayground } = await import("./playground-CR81Mwe3.js");
|
|
255
256
|
return runPlayground();
|
|
256
257
|
}
|
|
257
258
|
if (argv.skill) {
|
|
258
|
-
const { runSkillMode } = await import("./skill-
|
|
259
|
+
const { runSkillMode } = await import("./skill-CPqcV8zp.js");
|
|
259
260
|
return runSkillMode(argv);
|
|
260
261
|
}
|
|
261
|
-
const { runInteractive } = await import("./interactive-
|
|
262
|
+
const { runInteractive } = await import("./interactive-BwIzklw0.js");
|
|
262
263
|
runInteractive(argv);
|
|
263
264
|
})();
|
|
264
265
|
}
|
|
@@ -2684,13 +2685,13 @@ const mcpAddCommand = {
|
|
|
2684
2685
|
function runMcpAdd(argv) {
|
|
2685
2686
|
const features = parseFeatures(argv.features);
|
|
2686
2687
|
(async () => {
|
|
2687
|
-
const { readApiKeyFromEnv } = await import("./env-api-key-
|
|
2688
|
+
const { readApiKeyFromEnv } = await import("./env-api-key-B3gE9Un0.js").then((n) => n.t);
|
|
2688
2689
|
const apiKey = argv.apiKey || readApiKeyFromEnv();
|
|
2689
2690
|
const debug = argv.debug;
|
|
2690
2691
|
const localMcp = argv.local;
|
|
2691
2692
|
try {
|
|
2692
|
-
const { startTUI } = await import("./start-tui-
|
|
2693
|
-
const { buildSession } = await import("./wizard-session-
|
|
2693
|
+
const { startTUI } = await import("./start-tui-BZ7rEf3e.js");
|
|
2694
|
+
const { buildSession } = await import("./wizard-session-y304gEEI.js");
|
|
2694
2695
|
const tui = startTUI(VERSION, Program.McpAdd);
|
|
2695
2696
|
tui.store.session = buildSession({
|
|
2696
2697
|
debug,
|
|
@@ -2701,7 +2702,7 @@ function runMcpAdd(argv) {
|
|
|
2701
2702
|
} catch (error) {
|
|
2702
2703
|
if (!isTUIUnavailable(error)) throw error;
|
|
2703
2704
|
setUI(new LoggingUI());
|
|
2704
|
-
const { addMCPServerToClientsStep } = await import("./add-mcp-server-to-clients-
|
|
2705
|
+
const { addMCPServerToClientsStep } = await import("./add-mcp-server-to-clients-D4PK6ulR.js").then((n) => n.r);
|
|
2705
2706
|
await addMCPServerToClientsStep({
|
|
2706
2707
|
local: localMcp,
|
|
2707
2708
|
features,
|
|
@@ -2740,8 +2741,8 @@ function runMcpRemove(argv) {
|
|
|
2740
2741
|
const debug = argv.debug;
|
|
2741
2742
|
const localMcp = argv.local;
|
|
2742
2743
|
try {
|
|
2743
|
-
const { startTUI } = await import("./start-tui-
|
|
2744
|
-
const { buildSession } = await import("./wizard-session-
|
|
2744
|
+
const { startTUI } = await import("./start-tui-BZ7rEf3e.js");
|
|
2745
|
+
const { buildSession } = await import("./wizard-session-y304gEEI.js");
|
|
2745
2746
|
const tui = startTUI(VERSION, Program.McpRemove);
|
|
2746
2747
|
tui.store.session = buildSession({
|
|
2747
2748
|
debug,
|
|
@@ -2749,7 +2750,7 @@ function runMcpRemove(argv) {
|
|
|
2749
2750
|
});
|
|
2750
2751
|
} catch {
|
|
2751
2752
|
setUI(new LoggingUI());
|
|
2752
|
-
const { removeMCPServerFromClientsStep } = await import("./add-mcp-server-to-clients-
|
|
2753
|
+
const { removeMCPServerFromClientsStep } = await import("./add-mcp-server-to-clients-D4PK6ulR.js").then((n) => n.r);
|
|
2753
2754
|
await removeMCPServerFromClientsStep({ local: localMcp });
|
|
2754
2755
|
}
|
|
2755
2756
|
})();
|
|
@@ -2771,8 +2772,8 @@ function runMcpTutorial(argv) {
|
|
|
2771
2772
|
const debug = argv.debug;
|
|
2772
2773
|
const localMcp = argv.local;
|
|
2773
2774
|
try {
|
|
2774
|
-
const { startTUI } = await import("./start-tui-
|
|
2775
|
-
const { buildSession } = await import("./wizard-session-
|
|
2775
|
+
const { startTUI } = await import("./start-tui-BZ7rEf3e.js");
|
|
2776
|
+
const { buildSession } = await import("./wizard-session-y304gEEI.js");
|
|
2776
2777
|
const tui = startTUI(VERSION, Program.McpTutorial);
|
|
2777
2778
|
tui.store.session = buildSession({
|
|
2778
2779
|
debug,
|
|
@@ -2826,11 +2827,11 @@ function runWizard(config, options) {
|
|
|
2826
2827
|
(async () => {
|
|
2827
2828
|
try {
|
|
2828
2829
|
const installDir = options.installDir || process.cwd();
|
|
2829
|
-
const { startTUI } = await import("./start-tui-
|
|
2830
|
-
const { buildSession, RunPhase } = await import("./wizard-session-
|
|
2831
|
-
const { TaskStreamPush } = await import("./task-stream-
|
|
2832
|
-
const { PostHogDestination } = await import("./posthog-
|
|
2833
|
-
const { logToFile } = await import("./debug-
|
|
2830
|
+
const { startTUI } = await import("./start-tui-BZ7rEf3e.js");
|
|
2831
|
+
const { buildSession, RunPhase } = await import("./wizard-session-y304gEEI.js");
|
|
2832
|
+
const { TaskStreamPush } = await import("./task-stream-BI8rJg9H.js");
|
|
2833
|
+
const { PostHogDestination } = await import("./posthog-BrLFkaji.js");
|
|
2834
|
+
const { logToFile } = await import("./debug-BI-Js0PB.js");
|
|
2834
2835
|
tui = startTUI(WIZARD_VERSION, config.id);
|
|
2835
2836
|
const activeTui = tui;
|
|
2836
2837
|
const session = buildSession({
|
|
@@ -2881,7 +2882,7 @@ function runWizard(config, options) {
|
|
|
2881
2882
|
await activeTui.store.getGate("health-check");
|
|
2882
2883
|
const skipAgent = config.run == null;
|
|
2883
2884
|
if (skipAgent) {
|
|
2884
|
-
const { getOrAskForProjectData } = await import("./setup-utils-
|
|
2885
|
+
const { getOrAskForProjectData } = await import("./setup-utils-Bpfsap9L.js").then((n) => n.r);
|
|
2885
2886
|
const { projectApiKey, host, accessToken, projectId } = await getOrAskForProjectData({
|
|
2886
2887
|
signup: session.signup,
|
|
2887
2888
|
ci: session.ci,
|
|
@@ -2895,7 +2896,7 @@ function runWizard(config, options) {
|
|
|
2895
2896
|
projectId
|
|
2896
2897
|
});
|
|
2897
2898
|
} else {
|
|
2898
|
-
const { runAgent } = await import("./agent-runner-
|
|
2899
|
+
const { runAgent } = await import("./agent-runner-CTkKLVhp.js");
|
|
2899
2900
|
await runAgent(config, activeTui.store.session);
|
|
2900
2901
|
}
|
|
2901
2902
|
const isDone = () => skipAgent ? activeTui.store.session.outroDismissed : activeTui.store.session.skillsComplete;
|
|
@@ -2967,11 +2968,11 @@ function runWizardCI(config, options) {
|
|
|
2967
2968
|
validateCiOptions(options);
|
|
2968
2969
|
(async () => {
|
|
2969
2970
|
const path = await import("path");
|
|
2970
|
-
const { buildSession } = await import("./wizard-session-
|
|
2971
|
-
const { readEnvironment } = await import("./environment-
|
|
2972
|
-
const { readApiKeyFromEnv } = await import("./env-api-key-
|
|
2973
|
-
const { configureLogFileFromEnvironment, logToFile } = await import("./debug-
|
|
2974
|
-
const { wizardAbort, WizardError } = await import("./wizard-abort-
|
|
2971
|
+
const { buildSession } = await import("./wizard-session-y304gEEI.js");
|
|
2972
|
+
const { readEnvironment } = await import("./environment-CiZVSSYt.js").then((n) => n.t);
|
|
2973
|
+
const { readApiKeyFromEnv } = await import("./env-api-key-B3gE9Un0.js").then((n) => n.t);
|
|
2974
|
+
const { configureLogFileFromEnvironment, logToFile } = await import("./debug-BI-Js0PB.js");
|
|
2975
|
+
const { wizardAbort, WizardError } = await import("./wizard-abort-QdRxGQp_.js");
|
|
2975
2976
|
configureLogFileFromEnvironment();
|
|
2976
2977
|
const env = readEnvironment();
|
|
2977
2978
|
const apiKey = options.apiKey ?? readApiKeyFromEnv() ?? void 0;
|
|
@@ -3019,7 +3020,7 @@ function runWizardCI(config, options) {
|
|
|
3019
3020
|
})
|
|
3020
3021
|
});
|
|
3021
3022
|
}
|
|
3022
|
-
const { runAgent } = await import("./agent-runner-
|
|
3023
|
+
const { runAgent } = await import("./agent-runner-CTkKLVhp.js");
|
|
3023
3024
|
await runAgent(config, session);
|
|
3024
3025
|
} catch (error) {
|
|
3025
3026
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -3158,7 +3159,7 @@ async function runDoctorCI(options) {
|
|
|
3158
3159
|
getUI().intro("Welcome to the PostHog setup wizard");
|
|
3159
3160
|
getUI().log.info("Running posthog-doctor in CI mode");
|
|
3160
3161
|
try {
|
|
3161
|
-
const { getOrAskForProjectData } = await import("./setup-utils-
|
|
3162
|
+
const { getOrAskForProjectData } = await import("./setup-utils-Bpfsap9L.js").then((n) => n.r);
|
|
3162
3163
|
const { host, accessToken, projectId } = await getOrAskForProjectData({
|
|
3163
3164
|
signup: false,
|
|
3164
3165
|
ci: true,
|
|
@@ -3175,7 +3176,7 @@ async function runDoctorCI(options) {
|
|
|
3175
3176
|
for (const issue of sorted) getUI().log.info(` • [${issue.severity}] ${getKindMeta(issue.kind).title}`);
|
|
3176
3177
|
process.exit(1);
|
|
3177
3178
|
} catch (error) {
|
|
3178
|
-
const { ApiError } = await import("./api-
|
|
3179
|
+
const { ApiError } = await import("./api-serd0SMY.js").then((n) => n.n);
|
|
3179
3180
|
const message = error instanceof ApiError && error.statusCode === 401 ? "Your PostHog API key is invalid or expired." : error instanceof Error ? error.message : String(error);
|
|
3180
3181
|
getUI().log.error(`Doctor failed: ${message}`);
|
|
3181
3182
|
process.exit(1);
|