@posthog/wizard 2.21.0 → 2.22.1
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/README.md +14 -1
- package/dist/{OutroScreen-CqF6SdBo.js → AiOptInRequiredScreen-B8mgZbe5.js} +482 -59
- package/dist/AiOptInRequiredScreen-B8mgZbe5.js.map +1 -0
- package/dist/{add-mcp-server-to-clients-DQHGhzt6.js → add-mcp-server-to-clients-lCxOS1A1.js} +12 -10
- package/dist/add-mcp-server-to-clients-lCxOS1A1.js.map +1 -0
- package/dist/{agent-interface-DE7txTqh.js → agent-interface-BPCzPvK-.js} +6 -5
- package/dist/{agent-interface-DE7txTqh.js.map → agent-interface-BPCzPvK-.js.map} +1 -1
- package/dist/{agent-runner-DUZ5OD6e.js → agent-runner-DgzF2mga.js} +13 -9
- package/dist/{agent-runner-DUZ5OD6e.js.map → agent-runner-DgzF2mga.js.map} +1 -1
- package/dist/{analytics-Bl5DPj_0.js → analytics-BZv-cKyn.js} +28 -4
- package/dist/analytics-BZv-cKyn.js.map +1 -0
- package/dist/{api-DuA0_88V.js → api-BkLZ8BWm.js} +3 -3
- package/dist/{api-DuA0_88V.js.map → api-BkLZ8BWm.js.map} +1 -1
- package/dist/bin.js +160 -49
- package/dist/bin.js.map +1 -1
- package/dist/{ci-install-BnOYI4mZ.js → ci-install-DBARq5LX.js} +4 -4
- package/dist/{ci-install-BnOYI4mZ.js.map → ci-install-DBARq5LX.js.map} +1 -1
- package/dist/{debug-h7Z9zEbD.js → debug-Ckumcrye.js} +189 -40
- package/dist/debug-Ckumcrye.js.map +1 -0
- package/dist/{debug-BVC48wlb.js → debug-DLsuyfln.js} +1 -1
- package/dist/{environment-uaLmtlH_.js → environment-DUh_8hqW.js} +3 -3
- package/dist/{environment-uaLmtlH_.js.map → environment-DUh_8hqW.js.map} +1 -1
- package/dist/{interactive-CW5gjyDd.js → interactive-DeiHgviS.js} +2 -2
- package/dist/{interactive-CW5gjyDd.js.map → interactive-DeiHgviS.js.map} +1 -1
- package/dist/{mcp-prompt-streaming-DMDwaark.js → mcp-prompt-streaming-kEJgmB30.js} +4 -4
- package/dist/{mcp-prompt-streaming-DMDwaark.js.map → mcp-prompt-streaming-kEJgmB30.js.map} +1 -1
- package/dist/{non-interactive-DJrVQ4nS.js → non-interactive-I4ifOSau.js} +2 -2
- package/dist/{non-interactive-DJrVQ4nS.js.map → non-interactive-I4ifOSau.js.map} +1 -1
- package/dist/{package-manager-DCUBRbr-.js → package-manager-fUeLORHg.js} +2 -2
- package/dist/{package-manager-DCUBRbr-.js.map → package-manager-fUeLORHg.js.map} +1 -1
- package/dist/{playground-DCVaVeVD.js → playground-DLLIz4Ql.js} +135 -19
- package/dist/playground-DLLIz4Ql.js.map +1 -0
- package/dist/{posthog-integration-ChdwFPMj.js → posthog-integration-COcPewVt.js} +48 -16
- package/dist/posthog-integration-COcPewVt.js.map +1 -0
- package/dist/{provisioning-GeMkBMSR.js → provisioning-7xU12_S9.js} +3 -3
- package/dist/{provisioning-GeMkBMSR.js.map → provisioning-7xU12_S9.js.map} +1 -1
- package/dist/{registry-VSSRH3sU.js → registry-YwaF-aD8.js} +7 -20
- package/dist/registry-YwaF-aD8.js.map +1 -0
- package/dist/{setup-utils-BfV4pydt.js → setup-utils-Cr4FxJDl.js} +114 -58
- package/dist/setup-utils-Cr4FxJDl.js.map +1 -0
- package/dist/{start-tui-BRvm5VP9.js → start-tui--E4PXdwG.js} +323 -134
- package/dist/start-tui--E4PXdwG.js.map +1 -0
- package/dist/{steps-DA4uvSbg.js → steps-CxUxdK4V.js} +6 -6
- package/dist/{steps-DA4uvSbg.js.map → steps-CxUxdK4V.js.map} +1 -1
- package/dist/telemetry-BS7yw3TP.js +68 -0
- package/dist/telemetry-BS7yw3TP.js.map +1 -0
- package/dist/{urls-B66Ib2jT.js → urls-BW23_XbC.js} +2 -2
- package/dist/{urls-B66Ib2jT.js.map → urls-BW23_XbC.js.map} +1 -1
- package/dist/{wizard-abort-gMB1eV6T.js → wizard-abort-BPsnXKY5.js} +1 -1
- package/dist/{wizard-abort-D1_DnFjm.js → wizard-abort-E66_R4S7.js} +3 -3
- package/dist/{wizard-abort-D1_DnFjm.js.map → wizard-abort-E66_R4S7.js.map} +1 -1
- package/dist/wizard-session-G3VWD6hv.js.map +1 -1
- package/dist/wizard-ui-YdGFRyu_.js.map +1 -1
- package/package.json +1 -1
- package/dist/OutroScreen-CqF6SdBo.js.map +0 -1
- package/dist/add-mcp-server-to-clients-DQHGhzt6.js.map +0 -1
- package/dist/analytics-Bl5DPj_0.js.map +0 -1
- package/dist/debug-h7Z9zEbD.js.map +0 -1
- package/dist/playground-DCVaVeVD.js.map +0 -1
- package/dist/posthog-integration-ChdwFPMj.js.map +0 -1
- package/dist/registry-VSSRH3sU.js.map +0 -1
- package/dist/setup-utils-BfV4pydt.js.map +0 -1
- package/dist/start-tui-BRvm5VP9.js.map +0 -1
- package/dist/telemetry-BRAonUea.js +0 -13
- package/dist/telemetry-BRAonUea.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisioning-GeMkBMSR.js","names":[],"sources":["../src/utils/provisioning.ts"],"sourcesContent":["/**\n * Provisioning API client for creating new PostHog accounts.\n *\n * Uses the agentic provisioning API with PKCE auth:\n * 1. POST /account_requests - create account, get auth code\n * 2. POST /oauth/token - exchange code for tokens (with PKCE)\n * 3. POST /resources - provision project, get API key\n */\n\nimport * as crypto from 'node:crypto';\nimport axios from 'axios';\nimport { z } from 'zod';\nimport {\n IS_DEV,\n POSTHOG_DEV_CLIENT_ID,\n POSTHOG_US_CLIENT_ID,\n WIZARD_PROVISIONING_SCOPES,\n WIZARD_USER_AGENT,\n} from '@lib/constants';\nimport { logToFile } from './debug';\nimport { analytics } from './analytics';\n\nconst WIZARD_CLIENT_ID = IS_DEV ? POSTHOG_DEV_CLIENT_ID : POSTHOG_US_CLIENT_ID;\nconst API_VERSION = '0.1d';\n\nconst PROVISIONING_BASE_URL = IS_DEV\n ? 'http://localhost:8010'\n : 'https://us.posthog.com';\n\nfunction generateCodeVerifier(): string {\n return crypto.randomBytes(32).toString('base64url');\n}\n\nfunction generateCodeChallenge(verifier: string): string {\n return crypto.createHash('sha256').update(verifier).digest('base64url');\n}\n\n// --- Response schemas ---\n\nconst AccountRequestResponseSchema = z.object({\n id: z.string(),\n type: z.enum(['oauth', 'requires_auth', 'error']),\n oauth: z\n .object({\n code: z.string(),\n })\n .optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n })\n .optional(),\n});\n\nconst TokenResponseSchema = z.object({\n token_type: z.string(),\n access_token: z.string(),\n refresh_token: z.string(),\n expires_in: z.number(),\n account: z\n .object({\n id: z.string(),\n })\n .optional(),\n});\n\nconst ResourceResponseSchema = z.object({\n status: z.string(),\n id: z.string(),\n service_id: z.string(),\n complete: z\n .object({\n access_configuration: z.object({\n api_key: z.string(),\n host: z.string(),\n personal_api_key: z.string().optional(),\n }),\n })\n .optional(),\n});\n\nexport interface ProvisioningResult {\n accessToken: string;\n refreshToken: string;\n projectApiKey: string;\n host: string;\n personalApiKey?: string;\n projectId: string;\n accountId: string;\n}\n\n/**\n * Create a new PostHog account and provision a project via the provisioning API.\n *\n * This is the \"no browser\" signup path: the wizard collects the email,\n * calls the provisioning API to create the account, and gets back\n * credentials without opening a browser.\n */\nexport async function provisionNewAccount(\n email: string,\n name: string,\n region: 'US' | 'EU' = 'US',\n opts?: { orgName?: string; projectName?: string },\n): Promise<ProvisioningResult> {\n const codeVerifier = generateCodeVerifier();\n const codeChallenge = generateCodeChallenge(codeVerifier);\n\n logToFile('[provisioning] starting account creation');\n\n // Step 1: Create account\n const accountRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/provisioning/account_requests`,\n {\n id: crypto.randomUUID(),\n email,\n name,\n client_id: WIZARD_CLIENT_ID,\n code_challenge: codeChallenge,\n code_challenge_method: 'S256',\n scopes: WIZARD_PROVISIONING_SCOPES,\n configuration: {\n region,\n ...(opts?.orgName ? { organization_name: opts.orgName } : {}),\n },\n },\n {\n headers: {\n 'Content-Type': 'application/json',\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const accountData = AccountRequestResponseSchema.parse(accountRes.data);\n\n if (accountData.type === 'error') {\n const msg = accountData.error?.message ?? 'Account creation failed';\n analytics.captureException(new Error(msg), {\n step: 'provisioning_account_request',\n error_code: accountData.error?.code,\n });\n throw new Error(msg);\n }\n\n if (accountData.type === 'requires_auth') {\n throw new Error(\n 'This email is already associated with a PostHog account. Please use the login flow instead.',\n );\n }\n\n const code = accountData.oauth?.code;\n if (!code) {\n throw new Error('No authorization code received from account creation');\n }\n\n logToFile('[provisioning] account created, exchanging code for tokens');\n\n // Step 2: Exchange code for tokens\n const tokenRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/oauth/token`,\n new URLSearchParams({\n grant_type: 'authorization_code',\n code,\n code_verifier: codeVerifier,\n }).toString(),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const tokenData = TokenResponseSchema.parse(tokenRes.data);\n\n logToFile('[provisioning] tokens received, provisioning resources');\n\n // Step 3: Provision resources\n const resourceRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/provisioning/resources`,\n {\n service_id: 'analytics',\n ...(opts?.projectName\n ? { configuration: { project_name: opts.projectName } }\n : {}),\n },\n {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${tokenData.access_token}`,\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const resourceData = ResourceResponseSchema.parse(resourceRes.data);\n\n if (resourceData.status !== 'complete' || !resourceData.complete) {\n throw new Error('Resource provisioning did not complete');\n }\n\n logToFile('[provisioning] resources provisioned successfully');\n\n return {\n accessToken: tokenData.access_token,\n refreshToken: tokenData.refresh_token,\n projectApiKey: resourceData.complete.access_configuration.api_key,\n host: resourceData.complete.access_configuration.host,\n personalApiKey: resourceData.complete.access_configuration.personal_api_key,\n projectId: resourceData.id,\n accountId: tokenData.account?.id ?? '',\n };\n}\n\n/**\n * Request a one-time deep link URL that logs the user into PostHog\n * and redirects to their project dashboard.\n */\nexport async function requestDeepLink(\n accessToken: string,\n host: string,\n): Promise<string | null> {\n try {\n const baseUrl = host\n .replace('us.i.posthog.com', 'us.posthog.com')\n .replace('eu.i.posthog.com', 'eu.posthog.com');\n\n const res = await axios.post(\n `${baseUrl}/api/agentic/provisioning/deep_links`,\n { purpose: 'dashboard' },\n {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 10_000,\n },\n );\n\n const url = res.data?.url;\n if (typeof url === 'string') {\n logToFile(`[provisioning] deep link created: ${url}`);\n return url;\n }\n return null;\n } catch {\n logToFile('[provisioning] deep link request failed, skipping');\n return null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provisioning-7xU12_S9.js","names":[],"sources":["../src/utils/provisioning.ts"],"sourcesContent":["/**\n * Provisioning API client for creating new PostHog accounts.\n *\n * Uses the agentic provisioning API with PKCE auth:\n * 1. POST /account_requests - create account, get auth code\n * 2. POST /oauth/token - exchange code for tokens (with PKCE)\n * 3. POST /resources - provision project, get API key\n */\n\nimport * as crypto from 'node:crypto';\nimport axios from 'axios';\nimport { z } from 'zod';\nimport {\n IS_DEV,\n POSTHOG_DEV_CLIENT_ID,\n POSTHOG_US_CLIENT_ID,\n WIZARD_PROVISIONING_SCOPES,\n WIZARD_USER_AGENT,\n} from '@lib/constants';\nimport { logToFile } from './debug';\nimport { analytics } from './analytics';\n\nconst WIZARD_CLIENT_ID = IS_DEV ? POSTHOG_DEV_CLIENT_ID : POSTHOG_US_CLIENT_ID;\nconst API_VERSION = '0.1d';\n\nconst PROVISIONING_BASE_URL = IS_DEV\n ? 'http://localhost:8010'\n : 'https://us.posthog.com';\n\nfunction generateCodeVerifier(): string {\n return crypto.randomBytes(32).toString('base64url');\n}\n\nfunction generateCodeChallenge(verifier: string): string {\n return crypto.createHash('sha256').update(verifier).digest('base64url');\n}\n\n// --- Response schemas ---\n\nconst AccountRequestResponseSchema = z.object({\n id: z.string(),\n type: z.enum(['oauth', 'requires_auth', 'error']),\n oauth: z\n .object({\n code: z.string(),\n })\n .optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n })\n .optional(),\n});\n\nconst TokenResponseSchema = z.object({\n token_type: z.string(),\n access_token: z.string(),\n refresh_token: z.string(),\n expires_in: z.number(),\n account: z\n .object({\n id: z.string(),\n })\n .optional(),\n});\n\nconst ResourceResponseSchema = z.object({\n status: z.string(),\n id: z.string(),\n service_id: z.string(),\n complete: z\n .object({\n access_configuration: z.object({\n api_key: z.string(),\n host: z.string(),\n personal_api_key: z.string().optional(),\n }),\n })\n .optional(),\n});\n\nexport interface ProvisioningResult {\n accessToken: string;\n refreshToken: string;\n projectApiKey: string;\n host: string;\n personalApiKey?: string;\n projectId: string;\n accountId: string;\n}\n\n/**\n * Create a new PostHog account and provision a project via the provisioning API.\n *\n * This is the \"no browser\" signup path: the wizard collects the email,\n * calls the provisioning API to create the account, and gets back\n * credentials without opening a browser.\n */\nexport async function provisionNewAccount(\n email: string,\n name: string,\n region: 'US' | 'EU' = 'US',\n opts?: { orgName?: string; projectName?: string },\n): Promise<ProvisioningResult> {\n const codeVerifier = generateCodeVerifier();\n const codeChallenge = generateCodeChallenge(codeVerifier);\n\n logToFile('[provisioning] starting account creation');\n\n // Step 1: Create account\n const accountRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/provisioning/account_requests`,\n {\n id: crypto.randomUUID(),\n email,\n name,\n client_id: WIZARD_CLIENT_ID,\n code_challenge: codeChallenge,\n code_challenge_method: 'S256',\n scopes: WIZARD_PROVISIONING_SCOPES,\n configuration: {\n region,\n ...(opts?.orgName ? { organization_name: opts.orgName } : {}),\n },\n },\n {\n headers: {\n 'Content-Type': 'application/json',\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const accountData = AccountRequestResponseSchema.parse(accountRes.data);\n\n if (accountData.type === 'error') {\n const msg = accountData.error?.message ?? 'Account creation failed';\n analytics.captureException(new Error(msg), {\n step: 'provisioning_account_request',\n error_code: accountData.error?.code,\n });\n throw new Error(msg);\n }\n\n if (accountData.type === 'requires_auth') {\n throw new Error(\n 'This email is already associated with a PostHog account. Please use the login flow instead.',\n );\n }\n\n const code = accountData.oauth?.code;\n if (!code) {\n throw new Error('No authorization code received from account creation');\n }\n\n logToFile('[provisioning] account created, exchanging code for tokens');\n\n // Step 2: Exchange code for tokens\n const tokenRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/oauth/token`,\n new URLSearchParams({\n grant_type: 'authorization_code',\n code,\n code_verifier: codeVerifier,\n }).toString(),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const tokenData = TokenResponseSchema.parse(tokenRes.data);\n\n logToFile('[provisioning] tokens received, provisioning resources');\n\n // Step 3: Provision resources\n const resourceRes = await axios.post(\n `${PROVISIONING_BASE_URL}/api/agentic/provisioning/resources`,\n {\n service_id: 'analytics',\n ...(opts?.projectName\n ? { configuration: { project_name: opts.projectName } }\n : {}),\n },\n {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${tokenData.access_token}`,\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 30_000,\n },\n );\n\n const resourceData = ResourceResponseSchema.parse(resourceRes.data);\n\n if (resourceData.status !== 'complete' || !resourceData.complete) {\n throw new Error('Resource provisioning did not complete');\n }\n\n logToFile('[provisioning] resources provisioned successfully');\n\n return {\n accessToken: tokenData.access_token,\n refreshToken: tokenData.refresh_token,\n projectApiKey: resourceData.complete.access_configuration.api_key,\n host: resourceData.complete.access_configuration.host,\n personalApiKey: resourceData.complete.access_configuration.personal_api_key,\n projectId: resourceData.id,\n accountId: tokenData.account?.id ?? '',\n };\n}\n\n/**\n * Request a one-time deep link URL that logs the user into PostHog\n * and redirects to their project dashboard.\n */\nexport async function requestDeepLink(\n accessToken: string,\n host: string,\n): Promise<string | null> {\n try {\n const baseUrl = host\n .replace('us.i.posthog.com', 'us.posthog.com')\n .replace('eu.i.posthog.com', 'eu.posthog.com');\n\n const res = await axios.post(\n `${baseUrl}/api/agentic/provisioning/deep_links`,\n { purpose: 'dashboard' },\n {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'API-Version': API_VERSION,\n 'User-Agent': WIZARD_USER_AGENT,\n },\n timeout: 10_000,\n },\n );\n\n const url = res.data?.url;\n if (typeof url === 'string') {\n logToFile(`[provisioning] deep link created: ${url}`);\n return url;\n }\n return null;\n } catch {\n logToFile('[provisioning] deep link request failed, skipping');\n return null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-B_-DWIq7.js";
|
|
2
|
-
import { p as getUI } from "./debug-
|
|
3
|
-
import { a as createVersionBucket, i as tryGetPackageJson, s as detectAllPackageManagers } from "./setup-utils-
|
|
2
|
+
import { p as getUI } from "./debug-Ckumcrye.js";
|
|
3
|
+
import { a as createVersionBucket, i as tryGetPackageJson, s as detectAllPackageManagers } from "./setup-utils-Cr4FxJDl.js";
|
|
4
4
|
import { n as getInstalledPackageVersion, r as hasDeclaredDependency, t as getDeclaredVersion } from "./package-json-DCuoye-H.js";
|
|
5
|
-
import { a as gradlePackageManager, c as getPackageManagerName$1, i as detectPythonPackageManagers, l as getPythonVersion, n as composerPackageManager, o as swiftPackageManager, r as detectNodePackageManagers, s as detectPackageManager$1, t as bundlerPackageManager, u as getPythonVersionBucket } from "./package-manager-
|
|
5
|
+
import { a as gradlePackageManager, c as getPackageManagerName$1, i as detectPythonPackageManagers, l as getPythonVersion, n as composerPackageManager, o as swiftPackageManager, r as detectNodePackageManagers, s as detectPackageManager$1, t as bundlerPackageManager, u as getPythonVersionBucket } from "./package-manager-fUeLORHg.js";
|
|
6
6
|
import * as semver from "semver";
|
|
7
7
|
import { major, minVersion } from "semver";
|
|
8
|
-
import * as fs$1 from "node:fs";
|
|
9
|
-
import * as path$1 from "node:path";
|
|
10
8
|
import path from "path";
|
|
9
|
+
import * as path$1 from "node:path";
|
|
10
|
+
import * as fs$1 from "node:fs";
|
|
11
11
|
import fg from "fast-glob";
|
|
12
12
|
import fs from "fs/promises";
|
|
13
13
|
//#region src/lib/framework-config.ts
|
|
@@ -135,7 +135,6 @@ const NUXT_AGENT_CONFIG = {
|
|
|
135
135
|
name: "Nuxt",
|
|
136
136
|
integration: "nuxt",
|
|
137
137
|
docsUrl: "https://posthog.com/docs/libraries/nuxt",
|
|
138
|
-
beta: true,
|
|
139
138
|
gatherContext: async (options) => {
|
|
140
139
|
const packageJson = await tryGetPackageJson(options);
|
|
141
140
|
if (!packageJson) return {};
|
|
@@ -187,8 +186,7 @@ const VUE_AGENT_CONFIG = {
|
|
|
187
186
|
metadata: {
|
|
188
187
|
name: "Vue",
|
|
189
188
|
integration: "vue",
|
|
190
|
-
docsUrl: "https://posthog.com/docs/libraries/vue"
|
|
191
|
-
beta: true
|
|
189
|
+
docsUrl: "https://posthog.com/docs/libraries/vue"
|
|
192
190
|
},
|
|
193
191
|
detection: {
|
|
194
192
|
packageName: "vue",
|
|
@@ -980,7 +978,6 @@ const DJANGO_AGENT_CONFIG = {
|
|
|
980
978
|
metadata: {
|
|
981
979
|
name: "Django",
|
|
982
980
|
integration: "django",
|
|
983
|
-
beta: true,
|
|
984
981
|
docsUrl: "https://posthog.com/docs/libraries/django",
|
|
985
982
|
unsupportedVersionDocsUrl: "https://posthog.com/docs/libraries/python",
|
|
986
983
|
gatherContext: async (options) => {
|
|
@@ -1303,7 +1300,6 @@ const FLASK_AGENT_CONFIG = {
|
|
|
1303
1300
|
metadata: {
|
|
1304
1301
|
name: "Flask",
|
|
1305
1302
|
integration: "flask",
|
|
1306
|
-
beta: true,
|
|
1307
1303
|
docsUrl: "https://posthog.com/docs/libraries/python",
|
|
1308
1304
|
unsupportedVersionDocsUrl: "https://posthog.com/docs/libraries/python",
|
|
1309
1305
|
gatherContext: async (options) => {
|
|
@@ -1827,7 +1823,6 @@ const LARAVEL_AGENT_CONFIG = {
|
|
|
1827
1823
|
metadata: {
|
|
1828
1824
|
name: "Laravel",
|
|
1829
1825
|
integration: "laravel",
|
|
1830
|
-
beta: true,
|
|
1831
1826
|
docsUrl: "https://posthog.com/docs/libraries/php",
|
|
1832
1827
|
unsupportedVersionDocsUrl: "https://posthog.com/docs/libraries/php",
|
|
1833
1828
|
gatherContext: async (options) => {
|
|
@@ -1924,7 +1919,6 @@ const SVELTEKIT_AGENT_CONFIG = {
|
|
|
1924
1919
|
name: "SvelteKit",
|
|
1925
1920
|
integration: "sveltekit",
|
|
1926
1921
|
docsUrl: "https://posthog.com/docs/libraries/svelte",
|
|
1927
|
-
beta: true,
|
|
1928
1922
|
additionalMcpServers: { svelte: { url: "https://mcp.svelte.dev/mcp" } }
|
|
1929
1923
|
},
|
|
1930
1924
|
detection: {
|
|
@@ -2006,7 +2000,6 @@ const SWIFT_AGENT_CONFIG = {
|
|
|
2006
2000
|
metadata: {
|
|
2007
2001
|
name: "Swift (iOS/macOS)",
|
|
2008
2002
|
integration: "swift",
|
|
2009
|
-
beta: true,
|
|
2010
2003
|
docsUrl: "https://posthog.com/docs/libraries/ios",
|
|
2011
2004
|
preRunNotice: "Please close the Xcode project before proceeding. Xcode may overwrite changes the wizard makes to project files.",
|
|
2012
2005
|
gatherContext: async (options) => {
|
|
@@ -2124,7 +2117,6 @@ const ANDROID_AGENT_CONFIG = {
|
|
|
2124
2117
|
metadata: {
|
|
2125
2118
|
name: "Android (Kotlin)",
|
|
2126
2119
|
integration: "android",
|
|
2127
|
-
beta: true,
|
|
2128
2120
|
docsUrl: "https://posthog.com/docs/libraries/android",
|
|
2129
2121
|
gatherContext: (options) => {
|
|
2130
2122
|
const kotlinVersion = getKotlinVersion(options);
|
|
@@ -2307,7 +2299,6 @@ const RAILS_AGENT_CONFIG = {
|
|
|
2307
2299
|
metadata: {
|
|
2308
2300
|
name: "Ruby on Rails",
|
|
2309
2301
|
integration: "rails",
|
|
2310
|
-
beta: true,
|
|
2311
2302
|
docsUrl: "https://posthog.com/docs/libraries/ruby-on-rails",
|
|
2312
2303
|
unsupportedVersionDocsUrl: "https://posthog.com/docs/libraries/ruby",
|
|
2313
2304
|
gatherContext: (options) => {
|
|
@@ -2376,7 +2367,6 @@ const PYTHON_AGENT_CONFIG = {
|
|
|
2376
2367
|
metadata: {
|
|
2377
2368
|
name: "Python Language",
|
|
2378
2369
|
integration: "python",
|
|
2379
|
-
beta: true,
|
|
2380
2370
|
docsUrl: "https://posthog.com/docs/libraries/python",
|
|
2381
2371
|
gatherContext: async (options) => {
|
|
2382
2372
|
return { packageManager: await detectPackageManager$1(options) };
|
|
@@ -2576,7 +2566,6 @@ const RUBY_AGENT_CONFIG = {
|
|
|
2576
2566
|
metadata: {
|
|
2577
2567
|
name: "Ruby",
|
|
2578
2568
|
integration: "ruby",
|
|
2579
|
-
beta: true,
|
|
2580
2569
|
docsUrl: "https://posthog.com/docs/libraries/ruby",
|
|
2581
2570
|
gatherContext: (options) => {
|
|
2582
2571
|
const packageManager = detectPackageManager(options);
|
|
@@ -2670,7 +2659,6 @@ const JAVASCRIPT_NODE_AGENT_CONFIG = {
|
|
|
2670
2659
|
metadata: {
|
|
2671
2660
|
name: "Node.js",
|
|
2672
2661
|
integration: "javascript_node",
|
|
2673
|
-
beta: true,
|
|
2674
2662
|
docsUrl: "https://posthog.com/docs/libraries/node"
|
|
2675
2663
|
},
|
|
2676
2664
|
detection: {
|
|
@@ -2806,7 +2794,6 @@ const JAVASCRIPT_WEB_AGENT_CONFIG = {
|
|
|
2806
2794
|
metadata: {
|
|
2807
2795
|
name: "JavaScript (Web)",
|
|
2808
2796
|
integration: "javascript_web",
|
|
2809
|
-
beta: true,
|
|
2810
2797
|
docsUrl: "https://posthog.com/docs/libraries/js",
|
|
2811
2798
|
gatherContext: (options) => {
|
|
2812
2799
|
const packageManagerName = detectJsPackageManager(options);
|
|
@@ -2918,4 +2905,4 @@ const FRAMEWORK_REGISTRY = {
|
|
|
2918
2905
|
//#endregion
|
|
2919
2906
|
export { SPINNER_MESSAGE as i, registry_exports as n, DEFAULT_PACKAGE_INSTALLATION as r, FRAMEWORK_REGISTRY as t };
|
|
2920
2907
|
|
|
2921
|
-
//# sourceMappingURL=registry-
|
|
2908
|
+
//# sourceMappingURL=registry-YwaF-aD8.js.map
|