@posthog/wizard 2.14.3 → 2.15.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/README.md +43 -1
- package/dist/{TextBlock-DEHERFec.js → TextBlock-B_8bXLLs.js} +2 -2
- package/dist/{TextBlock-DEHERFec.js.map → TextBlock-B_8bXLLs.js.map} +1 -1
- package/dist/{add-mcp-server-to-clients-B48J7VVO.js → add-mcp-server-to-clients-Dq0n2yzq.js} +5 -5
- package/dist/{add-mcp-server-to-clients-B48J7VVO.js.map → add-mcp-server-to-clients-Dq0n2yzq.js.map} +1 -1
- package/dist/{agent-interface-cEdS_bNo.js → agent-interface-yB_27jG8.js} +106 -21
- package/dist/agent-interface-yB_27jG8.js.map +1 -0
- package/dist/{agent-runner-CK5r-zQF.js → agent-runner-C9sSudE0.js} +7 -8
- package/dist/agent-runner-C9sSudE0.js.map +1 -0
- package/dist/analytics-BnR9904x.js +2 -0
- package/dist/{analytics-DaDpDus8.js → analytics-Da4QHjMw.js} +2 -2
- package/dist/{analytics-DaDpDus8.js.map → analytics-Da4QHjMw.js.map} +1 -1
- package/dist/bin.js +896 -80
- package/dist/bin.js.map +1 -1
- package/dist/{debug-B_PK52GI.js → debug-D5kt4fxB.js} +1 -1
- package/dist/{debug-BOogNcWX.js → debug-DRKLej5r.js} +55 -46
- package/dist/debug-DRKLej5r.js.map +1 -0
- package/dist/{defaults-DgKAzsD1.js → defaults-CPH6eWhN.js} +1 -1
- package/dist/{defaults-DgKAzsD1.js.map → defaults-CPH6eWhN.js.map} +1 -1
- package/dist/{detection-OCF8fpfp.js → detection-0Pz2NncX.js} +3 -3
- package/dist/{detection-OCF8fpfp.js.map → detection-0Pz2NncX.js.map} +1 -1
- package/dist/{env-api-key-D5G2PrXW.js → env-api-key-HFqv1l-z.js} +1 -1
- package/dist/{env-api-key-D5G2PrXW.js.map → env-api-key-HFqv1l-z.js.map} +1 -1
- package/dist/{file-utils-DPmgn9Vm.js → file-utils-DnTSiTJw.js} +1 -1
- package/dist/file-utils-DnTSiTJw.js.map +1 -0
- package/dist/package-json-Cttzi3C8.js +2 -0
- package/dist/package-json-v_g2YlN1.js +35 -0
- package/dist/package-json-v_g2YlN1.js.map +1 -0
- package/dist/{package-manager-CmMJAD-V.js → package-manager-DlTISyej.js} +2 -2
- package/dist/package-manager-DlTISyej.js.map +1 -0
- package/dist/posthog-B1G0raJU.js +120 -0
- package/dist/posthog-B1G0raJU.js.map +1 -0
- package/dist/{posthog-integration-By5930Gz.js → posthog-integration-D-DyEJvz.js} +13 -12
- package/dist/{posthog-integration-By5930Gz.js.map → posthog-integration-D-DyEJvz.js.map} +1 -1
- package/dist/provisioning-COeHnCVG.js +2 -0
- package/dist/{provisioning-BHa8VWaa.js → provisioning-DmN8ZDbE.js} +3 -3
- package/dist/{provisioning-BHa8VWaa.js.map → provisioning-DmN8ZDbE.js.map} +1 -1
- package/dist/{registry-DpROZPnl.js → registry-CofBzIdU.js} +31 -31
- package/dist/registry-CofBzIdU.js.map +1 -0
- package/dist/setup-utils-C5iSJ3eg.js +2 -0
- package/dist/{setup-utils-Mzpk1vqG.js → setup-utils-_P-or31U.js} +91 -51
- package/dist/setup-utils-_P-or31U.js.map +1 -0
- package/dist/{slides-BtDXEXdn.js → slides-D3I6JzlG.js} +41 -8
- package/dist/slides-D3I6JzlG.js.map +1 -0
- package/dist/smoke-test-ci.sh +5 -2
- package/dist/smoke-test.sh +43 -0
- package/dist/{start-playground-zZL5y9id.js → start-playground-Bxd2KG2L.js} +5 -6
- package/dist/{start-playground-zZL5y9id.js.map → start-playground-Bxd2KG2L.js.map} +1 -1
- package/dist/{start-tui-Cz7RZSn_.js → start-tui-Bl8fCbp_.js} +576 -23
- package/dist/start-tui-Bl8fCbp_.js.map +1 -0
- package/dist/{steps-C2XEzN79.js → steps-B-vmvb2V.js} +6 -6
- package/dist/{steps-C2XEzN79.js.map → steps-B-vmvb2V.js.map} +1 -1
- package/dist/task-stream-z6QFZtpC.js +195 -0
- package/dist/task-stream-z6QFZtpC.js.map +1 -0
- package/dist/{telemetry-BG2bOwCp.js → telemetry-XO0SlTFs.js} +2 -2
- package/dist/{telemetry-BG2bOwCp.js.map → telemetry-XO0SlTFs.js.map} +1 -1
- package/dist/{wizard-abort-CYW83OG5.js → wizard-abort-CuaS1eXn.js} +1 -1
- package/dist/{wizard-abort-BmT-F0Vr.js → wizard-abort-uolun8Q3.js} +3 -3
- package/dist/{wizard-abort-BmT-F0Vr.js.map → wizard-abort-uolun8Q3.js.map} +1 -1
- package/dist/{wizard-session-CsI33S4_.js → wizard-session-BlgiX-5d.js} +16 -2
- package/dist/wizard-session-BlgiX-5d.js.map +1 -0
- package/dist/wizard-session-DxU5ZMBN.js +2 -0
- package/dist/wizard-ui-YdGFRyu_.js.map +1 -1
- package/package.json +3 -2
- package/dist/agent-interface-cEdS_bNo.js.map +0 -1
- package/dist/agent-runner-CK5r-zQF.js.map +0 -1
- package/dist/analytics-Bw8E-yhX.js +0 -2
- package/dist/craft-pre-release.sh +0 -10
- package/dist/debug-BOogNcWX.js.map +0 -1
- package/dist/file-BKbKreWF.js +0 -16
- package/dist/file-BKbKreWF.js.map +0 -1
- package/dist/file-utils-DPmgn9Vm.js.map +0 -1
- package/dist/package-json-DZpnf6vU.js +0 -23
- package/dist/package-json-DZpnf6vU.js.map +0 -1
- package/dist/package-json-_4PEss19.js +0 -2
- package/dist/package-manager-CmMJAD-V.js.map +0 -1
- package/dist/paths-DJS47p5x.js +0 -26
- package/dist/paths-DJS47p5x.js.map +0 -1
- package/dist/posthog-BbQf_Hzq.js +0 -11
- package/dist/posthog-BbQf_Hzq.js.map +0 -1
- package/dist/provisioning-gHqu_MXL.js +0 -2
- package/dist/registry-DpROZPnl.js.map +0 -1
- package/dist/setup-utils-Mzpk1vqG.js.map +0 -1
- package/dist/setup-utils-ptemIB6g.js +0 -2
- package/dist/slides-BtDXEXdn.js.map +0 -1
- package/dist/start-tui-Cz7RZSn_.js.map +0 -1
- package/dist/task-stream-DUpUZmFQ.js +0 -61
- package/dist/task-stream-DUpUZmFQ.js.map +0 -1
- package/dist/wizard-session-CPhhll4P.js +0 -2
- package/dist/wizard-session-CsI33S4_.js.map +0 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { a as
|
|
13
|
-
import { C as ProgressList, D as WizardStore, S as useKeyBindings, T as SplitView, _ as ModalOverlay, a as IssueTable, b as useStdoutDimensions, c as ServiceHealthList, f as HNViewer, g as LogViewer, h as EventPlanViewer, i as McpScreen, l as TipsCard, m as ScreenContainer, n as AUDIT_AREA_SLIDES, o as SEVERITY_LABEL, p as TabContainer, r as AuditChecksViewer, s as SEVERITY_ORDER, t as AUDIT_3000_AREA_SLIDES, u as LearnCard, v as ConfirmationInput, w as LoadingBox, x as PickerMenu } from "./slides-BtDXEXdn.js";
|
|
1
|
+
import { M as POSTHOG_DOCS_URL, O as Integration, R as REMOTE_SKILLS_BASE_URL, U as WIZARD_TOOLS_MENU_FLAG_KEY, _ as SIGNUP_WIZARD_READINESS_CONFIG, d as relativeToInstallDir, k as OAUTH_PORTS, l as WIZARD_LOG_FILE, m as setUI, q as getSkillsBaseUrl, s as logToFile, y as getBlockingServiceKeys } from "./debug-DRKLej5r.js";
|
|
2
|
+
import { n as analytics } from "./analytics-Da4QHjMw.js";
|
|
3
|
+
import { d as extractOAuthCode, l as ApiError, m as getUiHostFromHost } from "./setup-utils-_P-or31U.js";
|
|
4
|
+
import { t as ADDITIONAL_FEATURE_LABELS } from "./wizard-session-BlgiX-5d.js";
|
|
5
|
+
import { r as wizardAbort } from "./wizard-abort-uolun8Q3.js";
|
|
6
|
+
import { _ as AUDIT_SEVERITY_STYLE, d as downloadSkill, f as fetchSkillMenu, h as AUDIT_CHECKS_KEY, m as AUDIT_CHECKS_FILE, v as coerceAuditChecks, y as getAuditChecks } from "./agent-interface-yB_27jG8.js";
|
|
7
|
+
import { o as Colors, s as Icons } from "./TextBlock-B_8bXLLs.js";
|
|
8
|
+
import { t as EVENT_PLAN_FILE } from "./posthog-integration-D-DyEJvz.js";
|
|
9
|
+
import { a as SOURCE_MAPS_CONTEXT_KEYS, c as fetchHealthIssues, d as STRIPE_SDKS, i as DISPLAY_NAME, l as getContentBlocks, n as Program, r as getProgramConfig, u as POSTHOG_SDKS } from "./bin.js";
|
|
10
|
+
import { t as ALL_FEATURE_VALUES } from "./defaults-CPH6eWhN.js";
|
|
11
|
+
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-Dq0n2yzq.js";
|
|
12
|
+
import { C as ProgressList, D as WizardStore, S as useKeyBindings, T as SplitView, _ as ModalOverlay, a as IssueTable, b as useStdoutDimensions, c as ServiceHealthList, f as HNViewer, g as LogViewer, h as EventPlanViewer, i as McpScreen, l as TipsCard, m as ScreenContainer, n as AUDIT_AREA_SLIDES, o as SEVERITY_LABEL, p as TabContainer, r as AuditChecksViewer, s as SEVERITY_ORDER, t as AUDIT_3000_AREA_SLIDES, u as LearnCard, v as ConfirmationInput, w as LoadingBox, x as PickerMenu } from "./slides-D3I6JzlG.js";
|
|
14
13
|
import { spawn, spawnSync } from "node:child_process";
|
|
15
14
|
import { join } from "node:path";
|
|
16
15
|
import * as fs$1 from "fs";
|
|
@@ -71,6 +70,9 @@ var InkUI = class {
|
|
|
71
70
|
setLoginUrl(url) {
|
|
72
71
|
this.store.setLoginUrl(url);
|
|
73
72
|
}
|
|
73
|
+
setAuthorizeUrl(url) {
|
|
74
|
+
this.store.setAuthorizeUrl(url);
|
|
75
|
+
}
|
|
74
76
|
showBlockingOutage(result) {
|
|
75
77
|
this.store.setReadinessResult(result);
|
|
76
78
|
return Promise.resolve();
|
|
@@ -81,6 +83,9 @@ var InkUI = class {
|
|
|
81
83
|
showPortConflict(processInfo) {
|
|
82
84
|
return this.store.showPortConflict(processInfo);
|
|
83
85
|
}
|
|
86
|
+
waitForManualAuthCode() {
|
|
87
|
+
return this.store.waitForManualAuthCode();
|
|
88
|
+
}
|
|
84
89
|
showSettingsOverride(conflicts, backupAndFix) {
|
|
85
90
|
return this.store.showSettingsOverride(conflicts, backupAndFix);
|
|
86
91
|
}
|
|
@@ -679,6 +684,107 @@ const PortConflictScreen = ({ store }) => {
|
|
|
679
684
|
});
|
|
680
685
|
};
|
|
681
686
|
//#endregion
|
|
687
|
+
//#region src/ui/tui/screens/ManualAuthCodeScreen.tsx
|
|
688
|
+
/**
|
|
689
|
+
* ManualAuthCodeScreen — Paste an OAuth authorization code by hand.
|
|
690
|
+
*
|
|
691
|
+
* Fallback for headless/remote shells where the browser can't reach the
|
|
692
|
+
* wizard's local callback server. Shows the direct authorize URL (the localhost
|
|
693
|
+
* one is unreachable from another machine), then the user pastes either the
|
|
694
|
+
* full callback URL the browser was redirected to
|
|
695
|
+
* (`http://localhost:8239/callback?code=...`) or just the code. On submit we
|
|
696
|
+
* extract the code and resolve the in-flight OAuth flow; bad input shows inline
|
|
697
|
+
* feedback without leaving the screen.
|
|
698
|
+
*
|
|
699
|
+
* Opened from AuthScreen via a keypress; Esc dismisses it.
|
|
700
|
+
*/
|
|
701
|
+
const ManualAuthCodeScreen = ({ store }) => {
|
|
702
|
+
useSyncExternalStore((cb) => store.subscribe(cb), () => store.getSnapshot());
|
|
703
|
+
const { session } = store;
|
|
704
|
+
const [error, setError] = useState(null);
|
|
705
|
+
useInput((_input, key) => {
|
|
706
|
+
if (key.escape) store.dismissManualAuthCode();
|
|
707
|
+
});
|
|
708
|
+
const handleSubmit = (value) => {
|
|
709
|
+
const code = extractOAuthCode(value);
|
|
710
|
+
if (!code) {
|
|
711
|
+
setError("Couldn't find a code in that input. Paste the full callback URL or just the code.");
|
|
712
|
+
return;
|
|
713
|
+
}
|
|
714
|
+
store.submitManualAuthCode(code);
|
|
715
|
+
};
|
|
716
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
717
|
+
flexDirection: "column",
|
|
718
|
+
flexGrow: 1,
|
|
719
|
+
children: [
|
|
720
|
+
/* @__PURE__ */ jsx(Box, {
|
|
721
|
+
marginBottom: 1,
|
|
722
|
+
children: /* @__PURE__ */ jsxs(Text, {
|
|
723
|
+
bold: true,
|
|
724
|
+
color: Colors.accent,
|
|
725
|
+
children: [Icons.diamond, " Paste authorization code"]
|
|
726
|
+
})
|
|
727
|
+
}),
|
|
728
|
+
session.authorizeUrl && /* @__PURE__ */ jsxs(Box, {
|
|
729
|
+
flexDirection: "column",
|
|
730
|
+
marginBottom: 1,
|
|
731
|
+
children: [/* @__PURE__ */ jsx(Text, {
|
|
732
|
+
dimColor: true,
|
|
733
|
+
children: "On a remote/headless machine the local login link won't open. Open this URL in a browser on any machine to authorize:"
|
|
734
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
735
|
+
flexShrink: 0,
|
|
736
|
+
marginTop: 1,
|
|
737
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
738
|
+
color: "cyan",
|
|
739
|
+
children: session.authorizeUrl
|
|
740
|
+
})
|
|
741
|
+
})]
|
|
742
|
+
}),
|
|
743
|
+
/* @__PURE__ */ jsx(Text, { children: "After authorizing, paste the callback URL it lands on — or just the code from it — here:" }),
|
|
744
|
+
/* @__PURE__ */ jsx(Box, {
|
|
745
|
+
marginTop: 1,
|
|
746
|
+
width: "100%",
|
|
747
|
+
children: /* @__PURE__ */ jsx(TextInput, {
|
|
748
|
+
placeholder: "http://localhost:8239/callback?code=… or the code",
|
|
749
|
+
onSubmit: handleSubmit
|
|
750
|
+
})
|
|
751
|
+
}),
|
|
752
|
+
error && /* @__PURE__ */ jsx(Box, {
|
|
753
|
+
marginTop: 1,
|
|
754
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
755
|
+
color: "yellow",
|
|
756
|
+
children: error
|
|
757
|
+
})
|
|
758
|
+
}),
|
|
759
|
+
/* @__PURE__ */ jsx(Box, {
|
|
760
|
+
marginTop: 1,
|
|
761
|
+
children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
762
|
+
/* @__PURE__ */ jsx(Text, {
|
|
763
|
+
color: Colors.accent,
|
|
764
|
+
children: "ENTER"
|
|
765
|
+
}),
|
|
766
|
+
/* @__PURE__ */ jsx(Text, {
|
|
767
|
+
dimColor: true,
|
|
768
|
+
children: " submit"
|
|
769
|
+
}),
|
|
770
|
+
/* @__PURE__ */ jsx(Text, {
|
|
771
|
+
dimColor: true,
|
|
772
|
+
children: " · "
|
|
773
|
+
}),
|
|
774
|
+
/* @__PURE__ */ jsx(Text, {
|
|
775
|
+
color: Colors.accent,
|
|
776
|
+
children: "ESC"
|
|
777
|
+
}),
|
|
778
|
+
/* @__PURE__ */ jsx(Text, {
|
|
779
|
+
dimColor: true,
|
|
780
|
+
children: " cancel"
|
|
781
|
+
})
|
|
782
|
+
] })
|
|
783
|
+
})
|
|
784
|
+
]
|
|
785
|
+
});
|
|
786
|
+
};
|
|
787
|
+
//#endregion
|
|
682
788
|
//#region src/ui/tui/screens/IntroScreenLayout.tsx
|
|
683
789
|
/**
|
|
684
790
|
* IntroScreenLayout ��� Shared visual shell for all program intro screens.
|
|
@@ -919,7 +1025,7 @@ const FrameworkPicker = ({ store, onComplete }) => {
|
|
|
919
1025
|
})),
|
|
920
1026
|
onSelect: (value) => {
|
|
921
1027
|
const integration = Array.isArray(value) ? value[0] : value;
|
|
922
|
-
import("./registry-
|
|
1028
|
+
import("./registry-CofBzIdU.js").then((n) => n.n).then(({ FRAMEWORK_REGISTRY }) => {
|
|
923
1029
|
const config = FRAMEWORK_REGISTRY[integration];
|
|
924
1030
|
store.setFrameworkConfig(integration, config);
|
|
925
1031
|
store.setDetectedFramework(config.metadata.name);
|
|
@@ -1249,7 +1355,7 @@ const RevenueIntroScreen = ({ store }) => {
|
|
|
1249
1355
|
}), /* @__PURE__ */ jsx(Box, {
|
|
1250
1356
|
marginTop: 1,
|
|
1251
1357
|
flexDirection: "column",
|
|
1252
|
-
children: /* @__PURE__ */ jsx(DetectErrorBody, { error: detectError })
|
|
1358
|
+
children: /* @__PURE__ */ jsx(DetectErrorBody$1, { error: detectError })
|
|
1253
1359
|
})]
|
|
1254
1360
|
}), /* @__PURE__ */ jsx(PickerMenu, {
|
|
1255
1361
|
options: [{
|
|
@@ -1293,7 +1399,7 @@ const RevenueIntroScreen = ({ store }) => {
|
|
|
1293
1399
|
}
|
|
1294
1400
|
});
|
|
1295
1401
|
};
|
|
1296
|
-
const DetectErrorBody = ({ error }) => {
|
|
1402
|
+
const DetectErrorBody$1 = ({ error }) => {
|
|
1297
1403
|
switch (error.kind) {
|
|
1298
1404
|
case "bad-directory": {
|
|
1299
1405
|
const reasonText = {
|
|
@@ -1445,6 +1551,425 @@ const MigrationIntroScreen = ({ store }) => {
|
|
|
1445
1551
|
});
|
|
1446
1552
|
};
|
|
1447
1553
|
//#endregion
|
|
1554
|
+
//#region src/ui/tui/screens/SourceMapsIntroScreen.tsx
|
|
1555
|
+
/**
|
|
1556
|
+
* SourceMapsIntroScreen — Welcome screen for the source-maps upload flow.
|
|
1557
|
+
*
|
|
1558
|
+
* Reads detection results from frameworkContext (written by
|
|
1559
|
+
* detectSourceMapsPrerequisites). On success: shows the detected platform.
|
|
1560
|
+
* On failure: shows the structured error with an Exit prompt.
|
|
1561
|
+
*/
|
|
1562
|
+
const SourceMapsIntroScreen = ({ store }) => {
|
|
1563
|
+
useSyncExternalStore((cb) => store.subscribe(cb), () => store.getSnapshot());
|
|
1564
|
+
const { session } = store;
|
|
1565
|
+
const detectError = session.frameworkContext[SOURCE_MAPS_CONTEXT_KEYS.detectError];
|
|
1566
|
+
const variant = session.frameworkContext[SOURCE_MAPS_CONTEXT_KEYS.skillVariant];
|
|
1567
|
+
const displayName = session.frameworkContext[SOURCE_MAPS_CONTEXT_KEYS.displayName];
|
|
1568
|
+
const packagePaths = session.frameworkContext[SOURCE_MAPS_CONTEXT_KEYS.packagePaths] ?? [];
|
|
1569
|
+
const detectionRows = [];
|
|
1570
|
+
if (displayName) detectionRows.push({
|
|
1571
|
+
label: "Platform",
|
|
1572
|
+
value: displayName
|
|
1573
|
+
});
|
|
1574
|
+
if (variant) detectionRows.push({
|
|
1575
|
+
label: "Skill",
|
|
1576
|
+
value: `error-tracking-upload-source-maps-${variant}`
|
|
1577
|
+
});
|
|
1578
|
+
const body = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Box, {
|
|
1579
|
+
flexDirection: "column",
|
|
1580
|
+
alignItems: "center",
|
|
1581
|
+
children: [/* @__PURE__ */ jsx(Text, { children: "Upload source maps for accurate error stack traces." }), /* @__PURE__ */ jsx(Box, {
|
|
1582
|
+
flexDirection: "column",
|
|
1583
|
+
marginTop: 1,
|
|
1584
|
+
children: /* @__PURE__ */ jsx(Text, { children: "The agent will wire it into your build." })
|
|
1585
|
+
})]
|
|
1586
|
+
}), packagePaths.length > 1 && /* @__PURE__ */ jsxs(Box, {
|
|
1587
|
+
flexDirection: "column",
|
|
1588
|
+
marginTop: 1,
|
|
1589
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1590
|
+
dimColor: true,
|
|
1591
|
+
children: [
|
|
1592
|
+
"Found ",
|
|
1593
|
+
packagePaths.length,
|
|
1594
|
+
" package.json files:"
|
|
1595
|
+
]
|
|
1596
|
+
}), packagePaths.map((p) => /* @__PURE__ */ jsxs(Text, {
|
|
1597
|
+
dimColor: true,
|
|
1598
|
+
children: [
|
|
1599
|
+
" ",
|
|
1600
|
+
"•",
|
|
1601
|
+
" ",
|
|
1602
|
+
p
|
|
1603
|
+
]
|
|
1604
|
+
}, p))]
|
|
1605
|
+
})] });
|
|
1606
|
+
const errorView = detectError ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Box, {
|
|
1607
|
+
flexDirection: "column",
|
|
1608
|
+
marginBottom: 1,
|
|
1609
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1610
|
+
color: "red",
|
|
1611
|
+
bold: true,
|
|
1612
|
+
children: ["✘", " Cannot set up source map upload"]
|
|
1613
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
1614
|
+
marginTop: 1,
|
|
1615
|
+
flexDirection: "column",
|
|
1616
|
+
children: /* @__PURE__ */ jsx(DetectErrorBody, { error: detectError })
|
|
1617
|
+
})]
|
|
1618
|
+
}), /* @__PURE__ */ jsx(PickerMenu, {
|
|
1619
|
+
options: [{
|
|
1620
|
+
label: "Exit",
|
|
1621
|
+
value: "exit"
|
|
1622
|
+
}],
|
|
1623
|
+
onSelect: () => process.exit(1)
|
|
1624
|
+
})] }) : void 0;
|
|
1625
|
+
return /* @__PURE__ */ jsx(IntroScreenLayout, {
|
|
1626
|
+
installDir: session.installDir,
|
|
1627
|
+
body,
|
|
1628
|
+
showDetection: true,
|
|
1629
|
+
detectionRows,
|
|
1630
|
+
errorView,
|
|
1631
|
+
programLabel: session.programLabel,
|
|
1632
|
+
skillId: session.skillId,
|
|
1633
|
+
menuOptions: [{
|
|
1634
|
+
label: "Continue",
|
|
1635
|
+
value: "continue"
|
|
1636
|
+
}, {
|
|
1637
|
+
label: "Cancel",
|
|
1638
|
+
value: "cancel"
|
|
1639
|
+
}],
|
|
1640
|
+
onSelect: (value) => {
|
|
1641
|
+
if (value === "cancel") process.exit(0);
|
|
1642
|
+
else store.completeSetup();
|
|
1643
|
+
}
|
|
1644
|
+
});
|
|
1645
|
+
};
|
|
1646
|
+
const SOURCE_MAP_DOCS = "https://posthog.com/docs/error-tracking/upload-source-maps";
|
|
1647
|
+
const ERROR_TRACKING_INSTALL_DOCS = "https://posthog.com/docs/error-tracking/installation";
|
|
1648
|
+
const WIZARD_ISSUES_URL = "https://github.com/PostHog/wizard/issues";
|
|
1649
|
+
/**
|
|
1650
|
+
* Platforms PostHog Error Tracking supports with published source-map / symbol
|
|
1651
|
+
* upload docs, but that the wizard can't automate yet. The user (or their own
|
|
1652
|
+
* coding agent) can follow these docs to wire it up by hand. Anything not in
|
|
1653
|
+
* this map falls through to the generic "not supported yet" message — we don't
|
|
1654
|
+
* hardcode the full supported-platform list (it lives in the docs and changes
|
|
1655
|
+
* server-side), we just point there.
|
|
1656
|
+
*/
|
|
1657
|
+
const NATIVE_PLATFORM_DOCS = {
|
|
1658
|
+
ios: {
|
|
1659
|
+
label: "iOS",
|
|
1660
|
+
url: "https://posthog.com/docs/error-tracking/upload-source-maps/ios"
|
|
1661
|
+
},
|
|
1662
|
+
android: {
|
|
1663
|
+
label: "Android",
|
|
1664
|
+
url: "https://posthog.com/docs/error-tracking/upload-mappings/android"
|
|
1665
|
+
},
|
|
1666
|
+
"react-native": {
|
|
1667
|
+
label: "React Native",
|
|
1668
|
+
url: "https://posthog.com/docs/error-tracking/upload-source-maps/react-native"
|
|
1669
|
+
},
|
|
1670
|
+
flutter: {
|
|
1671
|
+
label: "Flutter",
|
|
1672
|
+
url: "https://posthog.com/docs/error-tracking/upload-source-maps/flutter"
|
|
1673
|
+
}
|
|
1674
|
+
};
|
|
1675
|
+
const DetectErrorBody = ({ error }) => {
|
|
1676
|
+
switch (error.kind) {
|
|
1677
|
+
case "bad-directory": {
|
|
1678
|
+
const reasonText = {
|
|
1679
|
+
missing: "does not exist",
|
|
1680
|
+
"not-dir": "is not a directory",
|
|
1681
|
+
unreadable: "could not be accessed"
|
|
1682
|
+
}[error.reason];
|
|
1683
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Text, { children: [
|
|
1684
|
+
"This path ",
|
|
1685
|
+
reasonText,
|
|
1686
|
+
":"
|
|
1687
|
+
] }), /* @__PURE__ */ jsxs(Text, {
|
|
1688
|
+
dimColor: true,
|
|
1689
|
+
children: [" ", error.path]
|
|
1690
|
+
})] });
|
|
1691
|
+
}
|
|
1692
|
+
case "no-project-files": return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
1693
|
+
/* @__PURE__ */ jsx(Text, { children: "No recognizable project files were found." }),
|
|
1694
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1695
|
+
dimColor: true,
|
|
1696
|
+
children: "Source map upload needs a package.json, Xcode project, Gradle build, or Flutter pubspec.yaml."
|
|
1697
|
+
}),
|
|
1698
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1699
|
+
dimColor: true,
|
|
1700
|
+
children: "Run this command from your project root."
|
|
1701
|
+
}),
|
|
1702
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
1703
|
+
marginTop: 1,
|
|
1704
|
+
flexDirection: "column",
|
|
1705
|
+
children: [/* @__PURE__ */ jsx(Text, {
|
|
1706
|
+
dimColor: true,
|
|
1707
|
+
children: "How source map upload works:"
|
|
1708
|
+
}), /* @__PURE__ */ jsxs(Text, {
|
|
1709
|
+
dimColor: true,
|
|
1710
|
+
children: [" ", SOURCE_MAP_DOCS]
|
|
1711
|
+
})]
|
|
1712
|
+
})
|
|
1713
|
+
] });
|
|
1714
|
+
case "unsupported-platform": {
|
|
1715
|
+
const native = NATIVE_PLATFORM_DOCS[error.detected];
|
|
1716
|
+
if (native) return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Text, { children: [
|
|
1717
|
+
"The wizard can't set up source map upload for ",
|
|
1718
|
+
native.label,
|
|
1719
|
+
" yet."
|
|
1720
|
+
] }), /* @__PURE__ */ jsxs(Box, {
|
|
1721
|
+
marginTop: 1,
|
|
1722
|
+
flexDirection: "column",
|
|
1723
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1724
|
+
dimColor: true,
|
|
1725
|
+
children: [
|
|
1726
|
+
"PostHog Error Tracking does support ",
|
|
1727
|
+
native.label,
|
|
1728
|
+
". You can set it up yourself by following the docs below — or hand them to your own coding agent to do it for you:"
|
|
1729
|
+
]
|
|
1730
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
1731
|
+
marginTop: 1,
|
|
1732
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1733
|
+
dimColor: true,
|
|
1734
|
+
children: native.url
|
|
1735
|
+
})
|
|
1736
|
+
})]
|
|
1737
|
+
})] });
|
|
1738
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Text, { children: "Source map upload isn't supported for this stack yet." }), /* @__PURE__ */ jsxs(Box, {
|
|
1739
|
+
marginTop: 1,
|
|
1740
|
+
flexDirection: "column",
|
|
1741
|
+
children: [
|
|
1742
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1743
|
+
dimColor: true,
|
|
1744
|
+
children: "Check which platforms PostHog Error Tracking supports:"
|
|
1745
|
+
}),
|
|
1746
|
+
/* @__PURE__ */ jsx(Box, {
|
|
1747
|
+
marginTop: 1,
|
|
1748
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1749
|
+
dimColor: true,
|
|
1750
|
+
children: ERROR_TRACKING_INSTALL_DOCS
|
|
1751
|
+
})
|
|
1752
|
+
}),
|
|
1753
|
+
/* @__PURE__ */ jsx(Box, {
|
|
1754
|
+
marginTop: 1,
|
|
1755
|
+
children: /* @__PURE__ */ jsxs(Text, {
|
|
1756
|
+
dimColor: true,
|
|
1757
|
+
children: [
|
|
1758
|
+
"If yours isn't listed and you'd like it added, open an issue at",
|
|
1759
|
+
" ",
|
|
1760
|
+
WIZARD_ISSUES_URL,
|
|
1761
|
+
" with details about your build setup."
|
|
1762
|
+
]
|
|
1763
|
+
})
|
|
1764
|
+
})
|
|
1765
|
+
]
|
|
1766
|
+
})] });
|
|
1767
|
+
}
|
|
1768
|
+
case "no-posthog-sdk": {
|
|
1769
|
+
const platformLabel = DISPLAY_NAME[error.platform] ?? error.platform;
|
|
1770
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Text, { children: [
|
|
1771
|
+
"Detected ",
|
|
1772
|
+
platformLabel,
|
|
1773
|
+
" but no PostHog SDK is installed."
|
|
1774
|
+
] }), /* @__PURE__ */ jsxs(Box, {
|
|
1775
|
+
marginTop: 1,
|
|
1776
|
+
flexDirection: "column",
|
|
1777
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1778
|
+
dimColor: true,
|
|
1779
|
+
children: [
|
|
1780
|
+
"Source map upload only resolves stack traces from errors the SDK reports. Run ",
|
|
1781
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1782
|
+
bold: true,
|
|
1783
|
+
children: "npx @posthog/wizard"
|
|
1784
|
+
}),
|
|
1785
|
+
" first to install the SDK, then run this command again."
|
|
1786
|
+
]
|
|
1787
|
+
}), /* @__PURE__ */ jsxs(Box, {
|
|
1788
|
+
marginTop: 1,
|
|
1789
|
+
flexDirection: "column",
|
|
1790
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1791
|
+
dimColor: true,
|
|
1792
|
+
children: [
|
|
1793
|
+
"Set up source map upload for ",
|
|
1794
|
+
platformLabel,
|
|
1795
|
+
":"
|
|
1796
|
+
]
|
|
1797
|
+
}), /* @__PURE__ */ jsxs(Text, {
|
|
1798
|
+
dimColor: true,
|
|
1799
|
+
children: [" ", SOURCE_MAP_DOCS]
|
|
1800
|
+
})]
|
|
1801
|
+
})]
|
|
1802
|
+
})] });
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
};
|
|
1806
|
+
//#endregion
|
|
1807
|
+
//#region src/ui/tui/screens/SourceMapsOutroScreen.tsx
|
|
1808
|
+
/**
|
|
1809
|
+
* SourceMapsOutroScreen — post-run summary for the source-maps upload flow.
|
|
1810
|
+
*
|
|
1811
|
+
* Unlike the generic OutroScreen, this spells out the operational facts a user
|
|
1812
|
+
* needs to actually get de-minified stack traces: that packages were installed
|
|
1813
|
+
* and upload credentials written to .env, plus the three gotchas (builds
|
|
1814
|
+
* upload, run the build, mirror the env vars in CI). All static guidance —
|
|
1815
|
+
* driven only by the program's `buildOutroData` (kind / message / report /
|
|
1816
|
+
* docs), no per-run data.
|
|
1817
|
+
*/
|
|
1818
|
+
const SourceMapsOutroScreen = ({ store }) => {
|
|
1819
|
+
useSyncExternalStore((cb) => store.subscribe(cb), () => store.getSnapshot());
|
|
1820
|
+
useInput(() => {
|
|
1821
|
+
store.setOutroDismissed();
|
|
1822
|
+
});
|
|
1823
|
+
const outroData = store.session.outroData;
|
|
1824
|
+
if (!outroData) return /* @__PURE__ */ jsx(Box, {
|
|
1825
|
+
flexDirection: "column",
|
|
1826
|
+
flexGrow: 1,
|
|
1827
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1828
|
+
dimColor: true,
|
|
1829
|
+
children: "Finishing up..."
|
|
1830
|
+
})
|
|
1831
|
+
});
|
|
1832
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
1833
|
+
flexDirection: "column",
|
|
1834
|
+
flexGrow: 1,
|
|
1835
|
+
children: [
|
|
1836
|
+
outroData.kind === "success" && /* @__PURE__ */ jsxs(Box, {
|
|
1837
|
+
flexDirection: "column",
|
|
1838
|
+
children: [
|
|
1839
|
+
/* @__PURE__ */ jsxs(Text, {
|
|
1840
|
+
color: Colors.success,
|
|
1841
|
+
bold: true,
|
|
1842
|
+
children: ["✔ ", outroData.message || "Source maps wired up!"]
|
|
1843
|
+
}),
|
|
1844
|
+
/* @__PURE__ */ jsxs(Section, {
|
|
1845
|
+
title: "What the wizard did",
|
|
1846
|
+
children: [/* @__PURE__ */ jsx(Text, { children: "• Installed the packages needed for source map upload." }), /* @__PURE__ */ jsxs(Text, { children: [
|
|
1847
|
+
"• Wrote the PostHog upload credentials to your",
|
|
1848
|
+
" ",
|
|
1849
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1850
|
+
bold: true,
|
|
1851
|
+
children: ".env"
|
|
1852
|
+
}),
|
|
1853
|
+
" file."
|
|
1854
|
+
] })]
|
|
1855
|
+
}),
|
|
1856
|
+
/* @__PURE__ */ jsxs(Section, {
|
|
1857
|
+
title: "How uploads work now",
|
|
1858
|
+
children: [
|
|
1859
|
+
/* @__PURE__ */ jsxs(Text, { children: [
|
|
1860
|
+
"• Every ",
|
|
1861
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1862
|
+
bold: true,
|
|
1863
|
+
children: "build"
|
|
1864
|
+
}),
|
|
1865
|
+
" now uploads source maps to PostHog automatically — no extra command to remember."
|
|
1866
|
+
] }),
|
|
1867
|
+
/* @__PURE__ */ jsxs(Text, { children: [
|
|
1868
|
+
"• Run your app from the ",
|
|
1869
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1870
|
+
bold: true,
|
|
1871
|
+
children: "built output"
|
|
1872
|
+
}),
|
|
1873
|
+
". Source maps only resolve for errors thrown by the build that was uploaded."
|
|
1874
|
+
] }),
|
|
1875
|
+
/* @__PURE__ */ jsxs(Text, { children: [
|
|
1876
|
+
"• In ",
|
|
1877
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1878
|
+
bold: true,
|
|
1879
|
+
children: "CI"
|
|
1880
|
+
}),
|
|
1881
|
+
", make sure the build job exposes the same env vars the wizard added to your ",
|
|
1882
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1883
|
+
bold: true,
|
|
1884
|
+
children: ".env"
|
|
1885
|
+
}),
|
|
1886
|
+
"."
|
|
1887
|
+
] })
|
|
1888
|
+
]
|
|
1889
|
+
}),
|
|
1890
|
+
outroData.reportFile && /* @__PURE__ */ jsx(Box, {
|
|
1891
|
+
marginTop: 1,
|
|
1892
|
+
children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
1893
|
+
"Details in",
|
|
1894
|
+
" ",
|
|
1895
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1896
|
+
bold: true,
|
|
1897
|
+
children: join(store.session.installDir, outroData.reportFile)
|
|
1898
|
+
})
|
|
1899
|
+
] })
|
|
1900
|
+
}),
|
|
1901
|
+
outroData.docsUrl && /* @__PURE__ */ jsx(Box, {
|
|
1902
|
+
marginTop: 1,
|
|
1903
|
+
children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
1904
|
+
"Learn more:",
|
|
1905
|
+
" ",
|
|
1906
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1907
|
+
color: Colors.primary,
|
|
1908
|
+
children: outroData.docsUrl
|
|
1909
|
+
})
|
|
1910
|
+
] })
|
|
1911
|
+
}),
|
|
1912
|
+
/* @__PURE__ */ jsx(Box, {
|
|
1913
|
+
marginTop: 1,
|
|
1914
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1915
|
+
dimColor: true,
|
|
1916
|
+
children: "Note: This wizard uses an LLM agent to analyze and modify your project. Please review the changes made."
|
|
1917
|
+
})
|
|
1918
|
+
}),
|
|
1919
|
+
/* @__PURE__ */ jsx(Text, {
|
|
1920
|
+
dimColor: true,
|
|
1921
|
+
children: "How did this work for you? Drop us a line: wizard@posthog.com"
|
|
1922
|
+
})
|
|
1923
|
+
]
|
|
1924
|
+
}),
|
|
1925
|
+
outroData.kind === "error" && /* @__PURE__ */ jsxs(Box, {
|
|
1926
|
+
flexDirection: "column",
|
|
1927
|
+
children: [
|
|
1928
|
+
/* @__PURE__ */ jsxs(Text, {
|
|
1929
|
+
color: Colors.error,
|
|
1930
|
+
bold: true,
|
|
1931
|
+
children: ["✘ ", outroData.message || "An error occurred"]
|
|
1932
|
+
}),
|
|
1933
|
+
outroData.body && /* @__PURE__ */ jsx(Box, {
|
|
1934
|
+
marginTop: 1,
|
|
1935
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1936
|
+
dimColor: true,
|
|
1937
|
+
children: outroData.body
|
|
1938
|
+
})
|
|
1939
|
+
}),
|
|
1940
|
+
outroData.docsUrl && /* @__PURE__ */ jsx(Box, {
|
|
1941
|
+
marginTop: 1,
|
|
1942
|
+
children: /* @__PURE__ */ jsxs(Text, { children: ["Docs: ", /* @__PURE__ */ jsx(Text, {
|
|
1943
|
+
color: Colors.primary,
|
|
1944
|
+
children: outroData.docsUrl
|
|
1945
|
+
})] })
|
|
1946
|
+
})
|
|
1947
|
+
]
|
|
1948
|
+
}),
|
|
1949
|
+
outroData.kind === "cancel" && /* @__PURE__ */ jsxs(Text, {
|
|
1950
|
+
color: "yellow",
|
|
1951
|
+
children: ["■ ", outroData.message || "Cancelled"]
|
|
1952
|
+
}),
|
|
1953
|
+
/* @__PURE__ */ jsx(Box, {
|
|
1954
|
+
marginTop: 1,
|
|
1955
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
1956
|
+
color: Colors.muted,
|
|
1957
|
+
children: "Press any key to continue"
|
|
1958
|
+
})
|
|
1959
|
+
})
|
|
1960
|
+
]
|
|
1961
|
+
});
|
|
1962
|
+
};
|
|
1963
|
+
const Section = ({ title, children }) => /* @__PURE__ */ jsxs(Box, {
|
|
1964
|
+
flexDirection: "column",
|
|
1965
|
+
marginTop: 1,
|
|
1966
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
1967
|
+
color: Colors.primary,
|
|
1968
|
+
bold: true,
|
|
1969
|
+
children: [title, ":"]
|
|
1970
|
+
}), children]
|
|
1971
|
+
});
|
|
1972
|
+
//#endregion
|
|
1448
1973
|
//#region src/ui/tui/screens/AgentSkillIntroScreen.tsx
|
|
1449
1974
|
/**
|
|
1450
1975
|
* AgentSkillIntroScreen — Default intro for generic agent-skill programs.
|
|
@@ -3193,6 +3718,12 @@ const SetupScreen = ({ store }) => {
|
|
|
3193
3718
|
const AuthScreen = ({ store }) => {
|
|
3194
3719
|
useSyncExternalStore((cb) => store.subscribe(cb), () => store.getSnapshot());
|
|
3195
3720
|
const { session } = store;
|
|
3721
|
+
useKeyBindings("auth", Boolean(session.loginUrl) ? [{
|
|
3722
|
+
match: ["p", "P"],
|
|
3723
|
+
label: "P",
|
|
3724
|
+
action: "paste auth code",
|
|
3725
|
+
handler: () => store.showManualAuthCode()
|
|
3726
|
+
}] : []);
|
|
3196
3727
|
const config = session.frameworkConfig;
|
|
3197
3728
|
const frameworkLabel = session.detectedFrameworkLabel ?? config?.metadata.name;
|
|
3198
3729
|
return /* @__PURE__ */ jsxs(Box, {
|
|
@@ -3229,13 +3760,32 @@ const AuthScreen = ({ store }) => {
|
|
|
3229
3760
|
/* @__PURE__ */ jsx(LoadingBox, { message: "Waiting for authentication..." }),
|
|
3230
3761
|
session.loginUrl && /* @__PURE__ */ jsxs(Box, {
|
|
3231
3762
|
marginTop: 1,
|
|
3763
|
+
marginBottom: 1,
|
|
3232
3764
|
flexDirection: "column",
|
|
3233
|
-
children: [/* @__PURE__ */
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3765
|
+
children: [/* @__PURE__ */ jsxs(Text, { children: [
|
|
3766
|
+
/* @__PURE__ */ jsx(Text, {
|
|
3767
|
+
dimColor: true,
|
|
3768
|
+
children: "If the browser didn't open, copy and paste this URL:"
|
|
3769
|
+
}),
|
|
3770
|
+
"\n\n",
|
|
3771
|
+
/* @__PURE__ */ jsx(Text, {
|
|
3772
|
+
color: "cyan",
|
|
3773
|
+
children: session.loginUrl
|
|
3774
|
+
})
|
|
3775
|
+
] }), /* @__PURE__ */ jsx(Box, {
|
|
3776
|
+
marginTop: 1,
|
|
3777
|
+
children: /* @__PURE__ */ jsxs(Text, {
|
|
3778
|
+
dimColor: true,
|
|
3779
|
+
children: [
|
|
3780
|
+
"On a remote machine or devbox? Press",
|
|
3781
|
+
" ",
|
|
3782
|
+
/* @__PURE__ */ jsx(Text, {
|
|
3783
|
+
color: Colors.accent,
|
|
3784
|
+
children: "[P]"
|
|
3785
|
+
}),
|
|
3786
|
+
" to paste the callback URL."
|
|
3787
|
+
]
|
|
3788
|
+
})
|
|
3239
3789
|
})]
|
|
3240
3790
|
})
|
|
3241
3791
|
]
|
|
@@ -3935,10 +4485,13 @@ function createScreens(store, services) {
|
|
|
3935
4485
|
["settings-override"]: /* @__PURE__ */ jsx(SettingsOverrideScreen, { store }),
|
|
3936
4486
|
["managed-settings"]: /* @__PURE__ */ jsx(ManagedSettingsScreen, { store }),
|
|
3937
4487
|
["port-conflict"]: /* @__PURE__ */ jsx(PortConflictScreen, { store }),
|
|
4488
|
+
["manual-auth-code"]: /* @__PURE__ */ jsx(ManualAuthCodeScreen, { store }),
|
|
3938
4489
|
["auth-error"]: /* @__PURE__ */ jsx(AuthErrorScreen, { store }),
|
|
3939
4490
|
["wizard-ask"]: /* @__PURE__ */ jsx(WizardAskScreen, { store }),
|
|
3940
4491
|
["intro"]: /* @__PURE__ */ jsx(PostHogIntegrationIntroScreen, { store }),
|
|
3941
4492
|
["revenue-intro"]: /* @__PURE__ */ jsx(RevenueIntroScreen, { store }),
|
|
4493
|
+
["source-maps-intro"]: /* @__PURE__ */ jsx(SourceMapsIntroScreen, { store }),
|
|
4494
|
+
["source-maps-outro"]: /* @__PURE__ */ jsx(SourceMapsOutroScreen, { store }),
|
|
3942
4495
|
["migration-intro"]: /* @__PURE__ */ jsx(MigrationIntroScreen, { store }),
|
|
3943
4496
|
["agent-skill-intro"]: /* @__PURE__ */ jsx(AgentSkillIntroScreen, { store }),
|
|
3944
4497
|
["audit-intro"]: /* @__PURE__ */ jsx(AuditIntroScreen, { store }),
|
|
@@ -4034,4 +4587,4 @@ function startTUI(version, program = Program.PostHogIntegration) {
|
|
|
4034
4587
|
//#endregion
|
|
4035
4588
|
export { startTUI };
|
|
4036
4589
|
|
|
4037
|
-
//# sourceMappingURL=start-tui-
|
|
4590
|
+
//# sourceMappingURL=start-tui-Bl8fCbp_.js.map
|