@posthog/wizard 2.55.0 → 2.56.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.
Files changed (86) hide show
  1. package/dist/{add-mcp-server-to-clients-D6PkSBh4.js → add-mcp-server-to-clients-CVA6Wbmu.js} +4 -4
  2. package/dist/{add-mcp-server-to-clients-D6PkSBh4.js.map → add-mcp-server-to-clients-CVA6Wbmu.js.map} +1 -1
  3. package/dist/{agent-interface-CpFBADlw.js → agent-interface-CaSQlcUF.js} +6 -6
  4. package/dist/{agent-interface-CpFBADlw.js.map → agent-interface-CaSQlcUF.js.map} +1 -1
  5. package/dist/{agent-prompt-loader-puPxllME.js → agent-prompt-loader-BON_ZfNn.js} +5 -5
  6. package/dist/{agent-prompt-loader-puPxllME.js.map → agent-prompt-loader-BON_ZfNn.js.map} +1 -1
  7. package/dist/{agent-runner-CpRxcnos.js → agent-runner-DmqRgcNz.js} +13 -13
  8. package/dist/{agent-runner-CpRxcnos.js.map → agent-runner-DmqRgcNz.js.map} +1 -1
  9. package/dist/{analytics-DnWQLKT5.js → analytics-Bcj98zOG.js} +2 -2
  10. package/dist/{analytics-DnWQLKT5.js.map → analytics-Bcj98zOG.js.map} +1 -1
  11. package/dist/analytics-CUMQqMBD.js +2 -0
  12. package/dist/{api-DMNftHUP.js → api-BT317Fnl.js} +3 -3
  13. package/dist/{api-DMNftHUP.js.map → api-BT317Fnl.js.map} +1 -1
  14. package/dist/bin.js +82 -45
  15. package/dist/bin.js.map +1 -1
  16. package/dist/{bounded-fs-D-VnHUkH.js → bounded-fs-DZEUmLFS.js} +4 -4
  17. package/dist/{bounded-fs-D-VnHUkH.js.map → bounded-fs-DZEUmLFS.js.map} +1 -1
  18. package/dist/{ci-install-BuVd4Z5O.js → ci-install-Jcf6VvMs.js} +4 -4
  19. package/dist/{ci-install-BuVd4Z5O.js.map → ci-install-Jcf6VvMs.js.map} +1 -1
  20. package/dist/{debug-Dp9OMl7B.js → debug-B6VsAfeE.js} +3 -3
  21. package/dist/{debug-Dp9OMl7B.js.map → debug-B6VsAfeE.js.map} +1 -1
  22. package/dist/{debug-BRe2lTl9.js → debug-B_d72khs.js} +1 -1
  23. package/dist/{environment-_Htke7Dm.js → environment-Dn-Vd-J3.js} +4 -4
  24. package/dist/{environment-_Htke7Dm.js.map → environment-Dn-Vd-J3.js.map} +1 -1
  25. package/dist/{file-watcher-DxwhtY-v.js → file-watcher-ucN_7-SB.js} +2 -2
  26. package/dist/{file-watcher-DxwhtY-v.js.map → file-watcher-ucN_7-SB.js.map} +1 -1
  27. package/dist/{headless-ui-CUJT6bP6.js → headless-ui-DhtLuoOS.js} +2 -2
  28. package/dist/{headless-ui-CUJT6bP6.js.map → headless-ui-DhtLuoOS.js.map} +1 -1
  29. package/dist/{interactive-CgjnlcLr.js → interactive-BU4h53in.js} +2 -2
  30. package/dist/{interactive-CgjnlcLr.js.map → interactive-BU4h53in.js.map} +1 -1
  31. package/dist/{mcp-BImh1cSl.js → mcp-BT6xPsZJ.js} +2 -2
  32. package/dist/{mcp-BImh1cSl.js.map → mcp-BT6xPsZJ.js.map} +1 -1
  33. package/dist/{mcp-prompt-streaming-C0Hd1fW-.js → mcp-prompt-streaming-Ba9zJ2JZ.js} +3 -3
  34. package/dist/{mcp-prompt-streaming-C0Hd1fW-.js.map → mcp-prompt-streaming-Ba9zJ2JZ.js.map} +1 -1
  35. package/dist/{non-interactive-C6l4BRQ2.js → non-interactive-DWiL-3rV.js} +2 -2
  36. package/dist/{non-interactive-C6l4BRQ2.js.map → non-interactive-DWiL-3rV.js.map} +1 -1
  37. package/dist/{orchestrator-tools-CC5RnJdr.js → orchestrator-tools-DAoHvBKb.js} +3 -3
  38. package/dist/{orchestrator-tools-CC5RnJdr.js.map → orchestrator-tools-DAoHvBKb.js.map} +1 -1
  39. package/dist/{package-manager-B3wbHpGJ.js → package-manager-CQjuD9E0.js} +2 -2
  40. package/dist/{package-manager-B3wbHpGJ.js.map → package-manager-CQjuD9E0.js.map} +1 -1
  41. package/dist/{pi-D1KNd_2R.js → pi-DdVeXjmn.js} +11 -11
  42. package/dist/{pi-D1KNd_2R.js.map → pi-DdVeXjmn.js.map} +1 -1
  43. package/dist/{playground-B_3YPtlb.js → playground-CkMYkXiw.js} +113 -8
  44. package/dist/{playground-B_3YPtlb.js.map → playground-CkMYkXiw.js.map} +1 -1
  45. package/dist/{posthog-integration-B22dCMjz.js → posthog-integration-Cdwv-ohr.js} +15 -14
  46. package/dist/{posthog-integration-B22dCMjz.js.map → posthog-integration-Cdwv-ohr.js.map} +1 -1
  47. package/dist/{provisioning-CUGRpYeK.js → provisioning-sDvZgL0E.js} +3 -3
  48. package/dist/{provisioning-CUGRpYeK.js.map → provisioning-sDvZgL0E.js.map} +1 -1
  49. package/dist/{queue-tools-BYnHqauP.js → queue-tools-DfDkhfpu.js} +3 -3
  50. package/dist/{queue-tools-BYnHqauP.js.map → queue-tools-DfDkhfpu.js.map} +1 -1
  51. package/dist/{registry-BoIdcL-x.js → registry-Bs7-Q1J9.js} +5 -5
  52. package/dist/{registry-BoIdcL-x.js.map → registry-Bs7-Q1J9.js.map} +1 -1
  53. package/dist/{security-BtifxSc6.js → security-DPVT9zKY.js} +4 -4
  54. package/dist/{security-BtifxSc6.js.map → security-DPVT9zKY.js.map} +1 -1
  55. package/dist/{setup-utils-Cr9u_GAd.js → setup-utils-Bh_HUFPV.js} +8 -8
  56. package/dist/{setup-utils-Cr9u_GAd.js.map → setup-utils-Bh_HUFPV.js.map} +1 -1
  57. package/dist/{start-tui-p1oiV4Y6.js → start-tui-DEgpLYEQ.js} +152 -45
  58. package/dist/start-tui-DEgpLYEQ.js.map +1 -0
  59. package/dist/{steps-C-QxcbJm.js → steps-BjLuR8HU.js} +7 -7
  60. package/dist/{steps-C-QxcbJm.js.map → steps-BjLuR8HU.js.map} +1 -1
  61. package/dist/{store-DCoiR5X4.js → store-DGt4jqrg.js} +10 -7
  62. package/dist/{store-DCoiR5X4.js.map → store-DGt4jqrg.js.map} +1 -1
  63. package/dist/{subagent-DSLaQg5z.js → subagent-CaXNaC3O.js} +2 -2
  64. package/dist/{subagent-DSLaQg5z.js.map → subagent-CaXNaC3O.js.map} +1 -1
  65. package/dist/{task-DtHtqm3q.js → task-jhwY_uF-.js} +12 -12
  66. package/dist/{task-DtHtqm3q.js.map → task-jhwY_uF-.js.map} +1 -1
  67. package/dist/{task-stream-XXeIjdu1.js → task-stream-aKusWX0h.js} +3 -3
  68. package/dist/{task-stream-XXeIjdu1.js.map → task-stream-aKusWX0h.js.map} +1 -1
  69. package/dist/{tasks-CDC1rMTC.js → tasks-BWdKP9g7.js} +2 -2
  70. package/dist/{tasks-CDC1rMTC.js.map → tasks-BWdKP9g7.js.map} +1 -1
  71. package/dist/{telemetry-L3mGi3gj.js → telemetry-JfMjqBNP.js} +3 -3
  72. package/dist/{telemetry-L3mGi3gj.js.map → telemetry-JfMjqBNP.js.map} +1 -1
  73. package/dist/{terminal-D1G7fSuk.js → terminal-B6ojVY0g.js} +12 -12
  74. package/dist/{terminal-D1G7fSuk.js.map → terminal-B6ojVY0g.js.map} +1 -1
  75. package/dist/{tools-BvppPl5C.js → tools-DTBsb5U5.js} +6 -6
  76. package/dist/{tools-BvppPl5C.js.map → tools-DTBsb5U5.js.map} +1 -1
  77. package/dist/{wizard-abort-abTHW4U0.js → wizard-abort-CDIfvSu2.js} +3 -3
  78. package/dist/{wizard-abort-abTHW4U0.js.map → wizard-abort-CDIfvSu2.js.map} +1 -1
  79. package/dist/{wizard-abort-DFC6tm8V.js → wizard-abort-CeTBd8IM.js} +1 -1
  80. package/dist/yara-hooks-DAnlPC5v.js +2 -0
  81. package/dist/{yara-hooks-CWl6JOv1.js → yara-hooks-DyEPTBZF.js} +4 -4
  82. package/dist/{yara-hooks-CWl6JOv1.js.map → yara-hooks-DyEPTBZF.js.map} +1 -1
  83. package/package.json +1 -1
  84. package/dist/analytics-Cy9wgNoD.js +0 -2
  85. package/dist/start-tui-p1oiV4Y6.js.map +0 -1
  86. package/dist/yara-hooks-kLYtFhy7.js +0 -2
@@ -1,21 +1,22 @@
1
- import { $ as REMOTE_SKILLS_BASE_URL, K as POSTHOG_ORG_AI_SETTINGS_URL, L as Integration, R as OAUTH_PORTS, U as POSTHOG_DOCS_URL, Z as POSTHOG_TERMS_URL, d as relativeToInstallDir, g as SIGNUP_WIZARD_READINESS_CONFIG, l as WIZARD_LOG_FILE, p as setUI, q as POSTHOG_PRIVACY_URL, s as logToFile, v as getBlockingServiceKeys, z as OAUTH_TIMEOUT_MS } from "./debug-Dp9OMl7B.js";
2
- import { n as analytics } from "./analytics-DnWQLKT5.js";
3
- import { o as extractOAuthCode, t as getOrAskForProjectData } from "./setup-utils-Cr9u_GAd.js";
4
- import { t as ApiError } from "./api-DMNftHUP.js";
1
+ import { $ as REMOTE_SKILLS_BASE_URL, K as POSTHOG_ORG_AI_SETTINGS_URL, L as Integration, R as OAUTH_PORTS, U as POSTHOG_DOCS_URL, Z as POSTHOG_TERMS_URL, d as relativeToInstallDir, g as SIGNUP_WIZARD_READINESS_CONFIG, l as WIZARD_LOG_FILE, p as setUI, q as POSTHOG_PRIVACY_URL, s as logToFile, v as getBlockingServiceKeys, z as OAUTH_TIMEOUT_MS } from "./debug-B6VsAfeE.js";
2
+ import { n as analytics } from "./analytics-Bcj98zOG.js";
3
+ import { i as readProjectFile, t as IGNORED_DIRS } from "./bounded-fs-DZEUmLFS.js";
4
+ import { o as extractOAuthCode, t as getOrAskForProjectData } from "./setup-utils-Bh_HUFPV.js";
5
+ import { t as ApiError } from "./api-BT317Fnl.js";
5
6
  import { t as ADDITIONAL_FEATURE_LABELS } from "./wizard-session-CwgR5y3-.js";
6
- import { i as wizardAbort } from "./wizard-abort-abTHW4U0.js";
7
- import { a as formatTokenCount, i as formatCostUsd } from "./agent-runner-CpRxcnos.js";
8
- import { x as fetchSkillMenu, y as downloadSkill } from "./agent-interface-CpFBADlw.js";
9
- import { _ as AUDIT_CHECKS_KEY, b as coerceAuditChecks, g as AUDIT_CHECKS_FILE, x as getAuditChecks, y as AUDIT_SEVERITY_STYLE } from "./yara-hooks-CWl6JOv1.js";
10
- import { t as FRAMEWORK_REGISTRY } from "./registry-BoIdcL-x.js";
11
- import { S as detectProjectsWithAgent, h as Icons, m as Colors, t as SETUP_REPORT_FILE, y as getDetectedWarehouseSources } from "./posthog-integration-B22dCMjz.js";
12
- import { C as STRIPE_SDKS, S as POSTHOG_SDKS, _ as DISPLAY_NAME, a as useStdoutDimensions, b as fetchHealthIssues, f as Program, g as AUTOMATABLE_VARIANTS, h as SELF_DRIVING_INTEGRATE_PATH_KEY, m as detectSelfDrivingIntegrationProjects, n as useKeyBindings, p as getProgramConfig, t as PickerMenu, v as SOURCE_MAPS_CONTEXT_KEYS, x as getContentBlocks } from "./bin.js";
13
- import { r as totalTokenCount, t as WizardStore } from "./store-DCoiR5X4.js";
14
- import { A as LogViewer, C as TipsCard, D as TabContainer, E as HNViewer, I as ProgressList, L as LoadingBox, M as extractUrls, N as ModalOverlay, O as ScreenContainer, P as ConfirmationInput, R as SplitView, S as ServiceHealthList, a as useSkillEntry, b as SEVERITY_LABEL, c as SlackConnectScreen, d as AuditChecksViewer, f as seedDemoEvents, g as probeProjectData, i as SkillSourceInfo, j as LinkText, k as EventPlanViewer, l as AUDIT_AREA_SLIDES, m as McpSuggestedPromptsScreen, n as releaseTerminal, o as OutroScreen, r as AiOptInRequiredScreen, s as useDismissOnAnyKey, t as enterDarkTerminal, u as VisualBox, v as McpScreen, w as LearnCard, x as SEVERITY_ORDER, y as IssueTable } from "./terminal-D1G7fSuk.js";
7
+ import { i as wizardAbort } from "./wizard-abort-CDIfvSu2.js";
8
+ import { a as formatTokenCount, i as formatCostUsd } from "./agent-runner-DmqRgcNz.js";
9
+ import { x as fetchSkillMenu, y as downloadSkill } from "./agent-interface-CaSQlcUF.js";
10
+ import { _ as AUDIT_CHECKS_KEY, b as coerceAuditChecks, g as AUDIT_CHECKS_FILE, x as getAuditChecks, y as AUDIT_SEVERITY_STYLE } from "./yara-hooks-DyEPTBZF.js";
11
+ import { t as FRAMEWORK_REGISTRY } from "./registry-Bs7-Q1J9.js";
12
+ import { S as detectProjectsWithAgent, h as Icons, m as Colors, t as SETUP_REPORT_FILE, y as getDetectedWarehouseSources } from "./posthog-integration-Cdwv-ohr.js";
13
+ import { D as STRIPE_SDKS, E as POSTHOG_SDKS, S as SOURCE_MAPS_CONTEXT_KEYS, T as getContentBlocks, _ as DISPLAY_NAME, a as useStdoutDimensions, b as MANUAL_SDK_VARIANTS, f as Program, g as AUTOMATABLE_VARIANTS, h as SELF_DRIVING_INTEGRATE_PATH_KEY, m as detectSelfDrivingIntegrationProjects, n as useKeyBindings, p as getProgramConfig, t as PickerMenu, w as fetchHealthIssues, y as MANUAL_SDK_INSTALL } from "./bin.js";
14
+ import { r as totalTokenCount, t as WizardStore } from "./store-DGt4jqrg.js";
15
+ import { A as LogViewer, C as TipsCard, D as TabContainer, E as HNViewer, I as ProgressList, L as LoadingBox, M as extractUrls, N as ModalOverlay, O as ScreenContainer, P as ConfirmationInput, R as SplitView, S as ServiceHealthList, a as useSkillEntry, b as SEVERITY_LABEL, c as SlackConnectScreen, d as AuditChecksViewer, f as seedDemoEvents, g as probeProjectData, i as SkillSourceInfo, j as LinkText, k as EventPlanViewer, l as AUDIT_AREA_SLIDES, m as McpSuggestedPromptsScreen, n as releaseTerminal, o as OutroScreen, r as AiOptInRequiredScreen, s as useDismissOnAnyKey, t as enterDarkTerminal, u as VisualBox, v as McpScreen, w as LearnCard, x as SEVERITY_ORDER, y as IssueTable } from "./terminal-B6ojVY0g.js";
15
16
  import { t as ALL_FEATURE_VALUES } from "./defaults-BWLIffh5.js";
16
- import { t as startFileWatcher } from "./file-watcher-DxwhtY-v.js";
17
- import { a as getSupportedClients, c as removeMCPServer, i as getInstalledClients, o as getSupportedPluginClients, s as installPlugins, u as isPluginCapable } from "./add-mcp-server-to-clients-D6PkSBh4.js";
18
- import { existsSync, readFileSync } from "fs";
17
+ import { t as startFileWatcher } from "./file-watcher-ucN_7-SB.js";
18
+ import { a as getSupportedClients, c as removeMCPServer, i as getInstalledClients, o as getSupportedPluginClients, s as installPlugins, u as isPluginCapable } from "./add-mcp-server-to-clients-CVA6Wbmu.js";
19
+ import { existsSync, readFileSync, readdirSync } from "fs";
19
20
  import path, { join } from "path";
20
21
  import { join as join$1 } from "node:path";
21
22
  import { spawn } from "node:child_process";
@@ -1072,7 +1073,7 @@ const FrameworkPicker = ({ store, onComplete }) => {
1072
1073
  })),
1073
1074
  onSelect: (value) => {
1074
1075
  const integration = Array.isArray(value) ? value[0] : value;
1075
- import("./registry-BoIdcL-x.js").then((n) => n.n).then(({ FRAMEWORK_REGISTRY }) => {
1076
+ import("./registry-Bs7-Q1J9.js").then((n) => n.n).then(({ FRAMEWORK_REGISTRY }) => {
1076
1077
  const config = FRAMEWORK_REGISTRY[integration];
1077
1078
  store.setFrameworkConfig(integration, config);
1078
1079
  store.setDetectedFramework(config.metadata.name);
@@ -1883,6 +1884,8 @@ const VARIANT_PRECEDENCE = [
1883
1884
  "rollup",
1884
1885
  "react",
1885
1886
  "node",
1887
+ "go",
1888
+ "rust",
1886
1889
  "web"
1887
1890
  ];
1888
1891
  const precedenceRank = (v) => {
@@ -1894,6 +1897,91 @@ const SOURCE_MAPS_TARGETS = [...AUTOMATABLE_VARIANTS].sort((a, b) => precedenceR
1894
1897
  id: v,
1895
1898
  name: DISPLAY_NAME[v]
1896
1899
  }));
1900
+ /** Comment-stripped substring check for the Rust SDK in one manifest. */
1901
+ function manifestMentionsSdk(manifestPath) {
1902
+ const content = readProjectFile(manifestPath);
1903
+ return content != null && content.split("\n").some((line) => {
1904
+ return line.split("#", 1)[0].includes("posthog-rs");
1905
+ });
1906
+ }
1907
+ /**
1908
+ * A workspace root is often a virtual manifest (`[workspace]` only, no
1909
+ * `[dependencies]`) — the SDK then lives in a member crate's manifest, so a
1910
+ * miss on the root must fall through to a bounded walk over nested
1911
+ * manifests. Depth 3 covers the common `crates/<name>/` layouts.
1912
+ */
1913
+ function anyNestedManifestMentionsSdk(dir, depth) {
1914
+ if (depth > 3) return false;
1915
+ let entries;
1916
+ try {
1917
+ entries = readdirSync(dir, { withFileTypes: true });
1918
+ } catch {
1919
+ return false;
1920
+ }
1921
+ for (const entry of entries) {
1922
+ if (!entry.isDirectory()) continue;
1923
+ if (entry.name.startsWith(".")) continue;
1924
+ if (IGNORED_DIRS.has(entry.name) || entry.name === "target") continue;
1925
+ const child = join(dir, entry.name);
1926
+ if (manifestMentionsSdk(join(child, "Cargo.toml"))) return true;
1927
+ if (anyNestedManifestMentionsSdk(child, depth + 1)) return true;
1928
+ }
1929
+ return false;
1930
+ }
1931
+ /**
1932
+ * Checks a project's Cargo manifests for the Rust SDK. The agentic detector
1933
+ * reports a single `hasPostHog` boolean for ANY PostHog dependency in the
1934
+ * project — for `rust` that could be satisfied by an unrelated JS SDK in the
1935
+ * same directory, so the deterministic manifest read is authoritative.
1936
+ * Comment-stripped substring matching, not TOML parsing: it still catches
1937
+ * renamed (`package = "posthog-rs"`) and workspace-inherited deps, while a
1938
+ * commented-out dependency no longer counts. Known miss: selecting a
1939
+ * workspace MEMBER whose dep is aliased at the workspace root
1940
+ * (`posthog.workspace = true` with the `package = "posthog-rs"` mapping only
1941
+ * in the root manifest, which sits above the member) — accepted; resolving
1942
+ * that needs full workspace metadata. Exported for testing.
1943
+ */
1944
+ function rustSdkVerifier(installDir) {
1945
+ return (projectPath) => {
1946
+ const dir = projectPath === "." ? installDir : join(installDir, projectPath);
1947
+ return manifestMentionsSdk(join(dir, "Cargo.toml")) || anyNestedManifestMentionsSdk(dir, 0);
1948
+ };
1949
+ }
1950
+ /**
1951
+ * True when go.mod actively `require`s the SDK — single-line requires and
1952
+ * `require ( … )` blocks only, so a `module` declaration, `replace`, or
1953
+ * `exclude` mention of the path never counts.
1954
+ */
1955
+ function goModRequiresSdk(content) {
1956
+ let inBlock = null;
1957
+ for (const raw of content.split("\n")) {
1958
+ const code = raw.split("//", 1)[0].trim();
1959
+ if (code === "") continue;
1960
+ if (inBlock != null) {
1961
+ if (code === ")") inBlock = null;
1962
+ else if (inBlock === "require" && code.includes("github.com/posthog/posthog-go")) return true;
1963
+ continue;
1964
+ }
1965
+ if (code.endsWith("(")) {
1966
+ inBlock = code.startsWith("require") ? "require" : "other";
1967
+ continue;
1968
+ }
1969
+ if (code.startsWith("require ") && code.includes("github.com/posthog/posthog-go")) return true;
1970
+ }
1971
+ return false;
1972
+ }
1973
+ /**
1974
+ * Checks a project's go.mod for the Go SDK — the same authoritative override
1975
+ * as `rustSdkVerifier`, for the same reason. Only `require` directives count;
1976
+ * no multi-module walk — unlike Cargo workspaces, a Go module's requirements
1977
+ * always live in the selected module's own go.mod. Exported for testing.
1978
+ */
1979
+ function goSdkVerifier(installDir) {
1980
+ return (projectPath) => {
1981
+ const content = readProjectFile(join(projectPath === "." ? installDir : join(installDir, projectPath), "go.mod"));
1982
+ return content != null && goModRequiresSdk(content);
1983
+ };
1984
+ }
1897
1985
  function isAutomatableVariant(value) {
1898
1986
  return value !== null && AUTOMATABLE_VARIANTS.includes(value);
1899
1987
  }
@@ -1920,10 +2008,12 @@ function projectHasExpo(installDir, projectPath) {
1920
2008
  }
1921
2009
  /** Classify one agent-detected project for source-map upload. */
1922
2010
  function classifyProject(p, probes) {
2011
+ const sdkVerifier = p.targetId === "rust" ? probes.verifyRustSdk : p.targetId === "go" ? probes.verifyGoSdk : void 0;
2012
+ const hasPostHog = sdkVerifier ? sdkVerifier(p.path) : p.hasPostHog;
1923
2013
  const base = {
1924
2014
  path: p.path,
1925
2015
  framework: p.framework,
1926
- hasPostHog: p.hasPostHog
2016
+ hasPostHog
1927
2017
  };
1928
2018
  const namesForeignNativePlatform = /\b(?:react[\s-]*native|expo)\b/i.test(p.framework) && p.targetId !== "react-native" || /\bflutter\b/i.test(p.framework) && p.targetId !== "flutter";
1929
2019
  if (!isAutomatableVariant(p.targetId) || namesForeignNativePlatform) return {
@@ -1944,12 +2034,15 @@ function classifyProject(p, probes) {
1944
2034
  instrumentable: false,
1945
2035
  reason: BARE_REACT_NATIVE_REASON
1946
2036
  };
1947
- if (!p.hasPostHog) return {
1948
- ...base,
1949
- variant: p.targetId,
1950
- instrumentable: false,
1951
- reason: "No PostHog SDK installed yet — run `npx @posthog/wizard` first"
1952
- };
2037
+ if (!hasPostHog) {
2038
+ const install = MANUAL_SDK_INSTALL[p.targetId] ?? "run `npx @posthog/wizard` first";
2039
+ return {
2040
+ ...base,
2041
+ variant: p.targetId,
2042
+ instrumentable: false,
2043
+ reason: `No PostHog SDK installed yet — ${install}`
2044
+ };
2045
+ }
1953
2046
  return {
1954
2047
  ...base,
1955
2048
  variant: p.targetId,
@@ -1971,7 +2064,9 @@ async function detectSourceMapsProjects(session, onEvent) {
1971
2064
  onEvent
1972
2065
  }), {
1973
2066
  hasBuildTarget: (path) => projectHasBuildTarget(session.installDir, path),
1974
- isExpoProject: (path) => projectHasExpo(session.installDir, path)
2067
+ isExpoProject: (path) => projectHasExpo(session.installDir, path),
2068
+ verifyRustSdk: rustSdkVerifier(session.installDir),
2069
+ verifyGoSdk: goSdkVerifier(session.installDir)
1975
2070
  });
1976
2071
  }
1977
2072
  //#endregion
@@ -2162,27 +2257,39 @@ const SourceMapsDetectScreen = ({ store }) => {
2162
2257
  */
2163
2258
  const BlockedSummary = ({ blocked }) => {
2164
2259
  const unsupported = blocked.filter((p) => p.variant == null).length;
2165
- const missingSdk = blocked.length - unsupported;
2260
+ const manualSdk = blocked.filter((p) => p.variant != null && MANUAL_SDK_VARIANTS.includes(p.variant)).length;
2261
+ const missingSdk = blocked.length - unsupported - manualSdk;
2166
2262
  if (blocked.length === 0) return null;
2167
2263
  return /* @__PURE__ */ jsxs(Box, {
2168
2264
  flexDirection: "column",
2169
- children: [unsupported > 0 && /* @__PURE__ */ jsxs(Text, {
2170
- dimColor: true,
2171
- children: [
2172
- "(… ",
2173
- unsupported,
2174
- " other project",
2175
- unsupported === 1 ? "" : "s",
2176
- " not supported)"
2177
- ]
2178
- }), missingSdk > 0 && /* @__PURE__ */ jsxs(Text, {
2179
- dimColor: true,
2180
- children: [
2181
- "(… ",
2182
- missingSdk,
2183
- " supported but missing the PostHog SDK — install it first with `npx @posthog/wizard`)"
2184
- ]
2185
- })]
2265
+ children: [
2266
+ unsupported > 0 && /* @__PURE__ */ jsxs(Text, {
2267
+ dimColor: true,
2268
+ children: [
2269
+ "(… ",
2270
+ unsupported,
2271
+ " other project",
2272
+ unsupported === 1 ? "" : "s",
2273
+ " not supported)"
2274
+ ]
2275
+ }),
2276
+ missingSdk > 0 && /* @__PURE__ */ jsxs(Text, {
2277
+ dimColor: true,
2278
+ children: [
2279
+ "(… ",
2280
+ missingSdk,
2281
+ " supported but missing the PostHog SDK — install it first with `npx @posthog/wizard`)"
2282
+ ]
2283
+ }),
2284
+ manualSdk > 0 && /* @__PURE__ */ jsxs(Text, {
2285
+ dimColor: true,
2286
+ children: [
2287
+ "(… ",
2288
+ manualSdk,
2289
+ " supported but missing the PostHog SDK — add it to the project first (posthog-go / posthog-rs), then re-run)"
2290
+ ]
2291
+ })
2292
+ ]
2186
2293
  });
2187
2294
  };
2188
2295
  //#endregion
@@ -5307,7 +5414,7 @@ function createMcpSuggestedPromptsServices(store) {
5307
5414
  };
5308
5415
  }
5309
5416
  async function* runProductionPromptStreaming(args) {
5310
- const { runMcpPromptViaSdk } = await import("./mcp-prompt-streaming-C0Hd1fW-.js");
5417
+ const { runMcpPromptViaSdk } = await import("./mcp-prompt-streaming-Ba9zJ2JZ.js");
5311
5418
  yield* runMcpPromptViaSdk(args);
5312
5419
  }
5313
5420
  //#endregion
@@ -5484,4 +5591,4 @@ function startTUI(version, program = Program.PostHogIntegration) {
5484
5591
  //#endregion
5485
5592
  export { startTUI };
5486
5593
 
5487
- //# sourceMappingURL=start-tui-p1oiV4Y6.js.map
5594
+ //# sourceMappingURL=start-tui-DEgpLYEQ.js.map