@posthog/wizard 2.79.1 → 2.80.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 (192) hide show
  1. package/dist/{PickerMenu-dG5DQCZA.js → PickerMenu-m4CCPX4f.js} +10 -10
  2. package/dist/PickerMenu-m4CCPX4f.js.map +1 -0
  3. package/dist/{agent-BWFhuLgo.js → agent-BkBbVuNq.js} +48 -37
  4. package/dist/agent-BkBbVuNq.js.map +1 -0
  5. package/dist/agent-QGK2YzlX.js +6 -0
  6. package/dist/{agent-interface-FkbaBJwz.js → agent-interface-CzyCmp7q.js} +68 -31
  7. package/dist/agent-interface-CzyCmp7q.js.map +1 -0
  8. package/dist/{agent-prompt-loader-D0weQ-7k.js → agent-prompt-loader-4wMxlYSX.js} +5 -5
  9. package/dist/{agent-prompt-loader-D0weQ-7k.js.map → agent-prompt-loader-4wMxlYSX.js.map} +1 -1
  10. package/dist/{analytics-DXK1gc12.js → analytics-B6q5PN7a.js} +5 -5
  11. package/dist/analytics-B6q5PN7a.js.map +1 -0
  12. package/dist/analytics-BXtfK9o7.js +2 -0
  13. package/dist/{api-CrbCIQOz.js → api-C3Dc4LFl.js} +3 -3
  14. package/dist/{api-CrbCIQOz.js.map → api-C3Dc4LFl.js.map} +1 -1
  15. package/dist/api-yNjrfZs2.js +2 -0
  16. package/dist/bin.js +1 -1
  17. package/dist/{bounded-fs-vAq-T-K7.js → bounded-fs-CC_NDtoP.js} +3 -3
  18. package/dist/{bounded-fs-vAq-T-K7.js.map → bounded-fs-CC_NDtoP.js.map} +1 -1
  19. package/dist/check-screens.tsx +5 -5
  20. package/dist/{ci-install-COcV8SY2.js → ci-install-DfcAMhlu.js} +7 -7
  21. package/dist/ci-install-DfcAMhlu.js.map +1 -0
  22. package/dist/{constants-DHCBSfnx.js → constants-DO4X70po.js} +3 -3
  23. package/dist/{constants-DHCBSfnx.js.map → constants-DO4X70po.js.map} +1 -1
  24. package/dist/{debug-BuYHGr6_.js → debug-BueK5mRR.js} +1 -1
  25. package/dist/{debug-kAHwWGg7.js → debug-DyARf5TF.js} +3 -3
  26. package/dist/debug-DyARf5TF.js.map +1 -0
  27. package/dist/{defaults-a9TelDhJ.js → defaults-DpfMnH2q.js} +2 -2
  28. package/dist/defaults-DpfMnH2q.js.map +1 -0
  29. package/dist/{endpoints-BVMYm9F4.js → endpoints-D-4KxZiB.js} +3 -3
  30. package/dist/{endpoints-BVMYm9F4.js.map → endpoints-D-4KxZiB.js.map} +1 -1
  31. package/dist/env-api-key-CHGLe0iz.js +2 -0
  32. package/dist/{env-api-key-BP-NFFXt.js → env-api-key-COf0U-Au.js} +2 -2
  33. package/dist/{env-api-key-BP-NFFXt.js.map → env-api-key-COf0U-Au.js.map} +1 -1
  34. package/dist/{environment-BATlQxcQ.js → environment-DrLaSsA8.js} +4 -4
  35. package/dist/{environment-BATlQxcQ.js.map → environment-DrLaSsA8.js.map} +1 -1
  36. package/dist/environment-hBj7ngmO.js +2 -0
  37. package/dist/{file-DcRKycV8.js → file-CVA9ocIC.js} +3 -3
  38. package/dist/file-CVA9ocIC.js.map +1 -0
  39. package/dist/file-CmoKK_Pp.js +2 -0
  40. package/dist/{file-watcher-Brq2nnHV.js → file-watcher-C3Su8vXm.js} +3 -3
  41. package/dist/file-watcher-C3Su8vXm.js.map +1 -0
  42. package/dist/{gateway-C9-GlLO9.js → gateway-BmjYUSua.js} +6 -6
  43. package/dist/{gateway-C9-GlLO9.js.map → gateway-BmjYUSua.js.map} +1 -1
  44. package/dist/{headless-ui-CqI2gXlD.js → headless-ui-CUbv12Yx.js} +3 -3
  45. package/dist/headless-ui-CUbv12Yx.js.map +1 -0
  46. package/dist/host-resolution-DVSb7kXb.js +114 -0
  47. package/dist/host-resolution-DVSb7kXb.js.map +1 -0
  48. package/dist/{add-mcp-server-to-clients-DIaTRWMY.js → install-Bk5TNk27.js} +15 -14
  49. package/dist/install-Bk5TNk27.js.map +1 -0
  50. package/dist/{add-mcp-server-to-clients-artmN7mz.js → install-F4wm3RSl.js} +1 -1
  51. package/dist/interactive-C5LNvDj6.js +11 -0
  52. package/dist/interactive-C5LNvDj6.js.map +1 -0
  53. package/dist/{telemetry-B7zJdRmA.js → links-9LWZPSCq.js} +4 -13
  54. package/dist/links-9LWZPSCq.js.map +1 -0
  55. package/dist/{logging-ui-Dza4D0MK.js → logging-ui-p6XKVmTx.js} +6 -6
  56. package/dist/logging-ui-p6XKVmTx.js.map +1 -0
  57. package/dist/{main-CgKxbwMP.js → main-DKPjFHEV.js} +149 -141
  58. package/dist/main-DKPjFHEV.js.map +1 -0
  59. package/dist/{mcp-DnAyW0-w.js → mcp-Co8VRF62.js} +4 -4
  60. package/dist/{mcp-DnAyW0-w.js.map → mcp-Co8VRF62.js.map} +1 -1
  61. package/dist/mcp-install-smoke-test.ts +1 -1
  62. package/dist/{mcp-prompt-streaming-DDWQ-FCA.js → mcp-prompt-streaming-ljCVoQ9I.js} +6 -6
  63. package/dist/{mcp-prompt-streaming-DDWQ-FCA.js.map → mcp-prompt-streaming-ljCVoQ9I.js.map} +1 -1
  64. package/dist/{mint-failure-u8xQKNOn.js → mint-failure-C0HyvEwO.js} +103 -92
  65. package/dist/mint-failure-C0HyvEwO.js.map +1 -0
  66. package/dist/{models-WcwUnSKb.js → models-Dba8ITeo.js} +2 -2
  67. package/dist/{models-WcwUnSKb.js.map → models-Dba8ITeo.js.map} +1 -1
  68. package/dist/{non-interactive-DyVC1AGc.js → non-interactive-CLMJrj_7.js} +3 -3
  69. package/dist/non-interactive-CLMJrj_7.js.map +1 -0
  70. package/dist/{oauth-session-DYM2Hrl2.js → oauth-session-D-RfcVmr.js} +2 -2
  71. package/dist/{oauth-session-DYM2Hrl2.js.map → oauth-session-D-RfcVmr.js.map} +1 -1
  72. package/dist/{orchestrator-tools-DbgNBFGA.js → orchestrator-tools-CVJ1F9Ub.js} +3 -3
  73. package/dist/{orchestrator-tools-DbgNBFGA.js.map → orchestrator-tools-CVJ1F9Ub.js.map} +1 -1
  74. package/dist/package-json--ppioh2F.js +2 -0
  75. package/dist/{package-json-Atg34fa4.js → package-json-Cowya9-3.js} +1 -1
  76. package/dist/{package-json-Atg34fa4.js.map → package-json-Cowya9-3.js.map} +1 -1
  77. package/dist/{pi-8KsYsPmM.js → pi-B5YTBRDv.js} +18 -17
  78. package/dist/pi-B5YTBRDv.js.map +1 -0
  79. package/dist/{playground-BlYRBMj7.js → playground-BLsCfHmQ.js} +33 -33
  80. package/dist/playground-BLsCfHmQ.js.map +1 -0
  81. package/dist/posthog-B2E0hpZt.js +2 -0
  82. package/dist/{posthog-Bt0Aplb8.js → posthog-B42rt_1S.js} +3 -3
  83. package/dist/posthog-B42rt_1S.js.map +1 -0
  84. package/dist/project-data--L-WZyvj.js +2 -0
  85. package/dist/{setup-utils-B26Lf2yF.js → project-data-BO9IXn9y.js} +566 -947
  86. package/dist/project-data-BO9IXn9y.js.map +1 -0
  87. package/dist/provisioning-C01REIU2.js +2 -0
  88. package/dist/{provisioning-Bo2NRxFz.js → provisioning-CLhuKqXH.js} +6 -67
  89. package/dist/provisioning-CLhuKqXH.js.map +1 -0
  90. package/dist/{queue-tools-C8mXOh7e.js → queue-tools-knnPQP0e.js} +4 -4
  91. package/dist/{queue-tools-C8mXOh7e.js.map → queue-tools-knnPQP0e.js.map} +1 -1
  92. package/dist/{registry-CD5RQt38.js → registry-B3rC5U4b.js} +6 -6
  93. package/dist/{registry-CD5RQt38.js.map → registry-B3rC5U4b.js.map} +1 -1
  94. package/dist/registry-BamsM7J9.js +2 -0
  95. package/dist/run-agent-legacy-CwUmPfQF.js +2 -0
  96. package/dist/{run-agent-legacy-DOlM6DQu.js → run-agent-legacy-DWBajsMh.js} +38 -111
  97. package/dist/run-agent-legacy-DWBajsMh.js.map +1 -0
  98. package/dist/{runners-ov3EXF1n.js → runners-D1PqqpjA.js} +38 -38
  99. package/dist/runners-D1PqqpjA.js.map +1 -0
  100. package/dist/{security-C71pkwqH.js → security-BvdSFDuM.js} +5 -5
  101. package/dist/{security-C71pkwqH.js.map → security-BvdSFDuM.js.map} +1 -1
  102. package/dist/setup-utils-ChXXTi1m.js +301 -0
  103. package/dist/setup-utils-ChXXTi1m.js.map +1 -0
  104. package/dist/{start-tui-Bo2L0bar.js → start-tui-DicLfgsj.js} +92 -90
  105. package/dist/start-tui-DicLfgsj.js.map +1 -0
  106. package/dist/{steps-BPcg3_3Q.js → steps-Hc28zVc_.js} +10 -10
  107. package/dist/steps-Hc28zVc_.js.map +1 -0
  108. package/dist/store-COCO6U0P.js +5 -0
  109. package/dist/{store-BTzcvRGT.js → store-D3509G87.js} +66 -28
  110. package/dist/store-D3509G87.js.map +1 -0
  111. package/dist/{subagent-D1TrTchE.js → subagent-D_Sqak94.js} +3 -3
  112. package/dist/{subagent-D1TrTchE.js.map → subagent-D_Sqak94.js.map} +1 -1
  113. package/dist/{task-DqRlQBfs.js → task-DiTI6Sak.js} +16 -16
  114. package/dist/task-DiTI6Sak.js.map +1 -0
  115. package/dist/{wizard-ui-DVqrYaOM.js → task-status-CmrrR7zo.js} +2 -2
  116. package/dist/task-status-CmrrR7zo.js.map +1 -0
  117. package/dist/{task-stream-Bw6JaLCX.js → task-stream-BckhG_cB.js} +10 -10
  118. package/dist/task-stream-BckhG_cB.js.map +1 -0
  119. package/dist/{tasks-ChWufsdO.js → tasks-ChZ_F1YP.js} +1 -1
  120. package/dist/{tasks-ChWufsdO.js.map → tasks-ChZ_F1YP.js.map} +1 -1
  121. package/dist/telemetry-BNKsDxNS.js +13 -0
  122. package/dist/telemetry-BNKsDxNS.js.map +1 -0
  123. package/dist/{terminal-zgkEfoCL.js → terminal-PK9bCLRi.js} +123 -97
  124. package/dist/terminal-PK9bCLRi.js.map +1 -0
  125. package/dist/{tools-CkJ2y9Wt.js → tools-C8LQ8QFz.js} +8 -8
  126. package/dist/{tools-CkJ2y9Wt.js.map → tools-C8LQ8QFz.js.map} +1 -1
  127. package/dist/{ui-Q6-RvERF.js → ui-tPNpM6vj.js} +3 -3
  128. package/dist/ui-tPNpM6vj.js.map +1 -0
  129. package/dist/urls-BI4kJ4qQ.js +67 -0
  130. package/dist/urls-BI4kJ4qQ.js.map +1 -0
  131. package/dist/{version-CHhJjz_H.js → version-5_ydHkM6.js} +2 -2
  132. package/dist/{version-CHhJjz_H.js.map → version-5_ydHkM6.js.map} +1 -1
  133. package/dist/{wizard-abort-Br1qMDNa.js → wizard-abort-BVjqLyeA.js} +1 -1
  134. package/dist/{wizard-abort-BPdv07np.js → wizard-abort-DBKtfnBR.js} +18 -16
  135. package/dist/wizard-abort-DBKtfnBR.js.map +1 -0
  136. package/dist/wizard-session-B7BHnay0.js +2 -0
  137. package/dist/{wizard-session-2w4Ru-Wz.js → wizard-session-BYw6LzpS.js} +30 -28
  138. package/dist/wizard-session-BYw6LzpS.js.map +1 -0
  139. package/dist/{yara-hooks-BnxejtXK.js → yara-hooks-C3L6lBij.js} +5 -5
  140. package/dist/{yara-hooks-BnxejtXK.js.map → yara-hooks-C3L6lBij.js.map} +1 -1
  141. package/dist/yara-hooks-CF_IsoaA.js +2 -0
  142. package/package.json +2 -3
  143. package/dist/PickerMenu-dG5DQCZA.js.map +0 -1
  144. package/dist/add-mcp-server-to-clients-DIaTRWMY.js.map +0 -1
  145. package/dist/agent-BEjARD2a.js +0 -6
  146. package/dist/agent-BWFhuLgo.js.map +0 -1
  147. package/dist/agent-interface-FkbaBJwz.js.map +0 -1
  148. package/dist/analytics-DFtbRjYh.js +0 -2
  149. package/dist/analytics-DXK1gc12.js.map +0 -1
  150. package/dist/api-Cm9UtKZh.js +0 -2
  151. package/dist/ci-install-COcV8SY2.js.map +0 -1
  152. package/dist/debug-kAHwWGg7.js.map +0 -1
  153. package/dist/defaults-a9TelDhJ.js.map +0 -1
  154. package/dist/env-api-key-CaWEDj_9.js +0 -2
  155. package/dist/environment-CwD8OPYj.js +0 -2
  156. package/dist/file-C5JMsyR1.js +0 -2
  157. package/dist/file-DcRKycV8.js.map +0 -1
  158. package/dist/file-watcher-Brq2nnHV.js.map +0 -1
  159. package/dist/headless-ui-CqI2gXlD.js.map +0 -1
  160. package/dist/interactive-B_Ti_CsS.js +0 -11
  161. package/dist/interactive-B_Ti_CsS.js.map +0 -1
  162. package/dist/logging-ui-Dza4D0MK.js.map +0 -1
  163. package/dist/main-CgKxbwMP.js.map +0 -1
  164. package/dist/mint-failure-u8xQKNOn.js.map +0 -1
  165. package/dist/non-interactive-DyVC1AGc.js.map +0 -1
  166. package/dist/package-json-D8Ga03tK.js +0 -2
  167. package/dist/pi-8KsYsPmM.js.map +0 -1
  168. package/dist/playground-BlYRBMj7.js.map +0 -1
  169. package/dist/posthog-Bt0Aplb8.js.map +0 -1
  170. package/dist/posthog-CUgCEhH0.js +0 -2
  171. package/dist/provisioning-Bo2NRxFz.js.map +0 -1
  172. package/dist/provisioning-OGFGlzf7.js +0 -2
  173. package/dist/registry-C06e_x-p.js +0 -2
  174. package/dist/run-agent-legacy-ChacZImU.js +0 -2
  175. package/dist/run-agent-legacy-DOlM6DQu.js.map +0 -1
  176. package/dist/runners-ov3EXF1n.js.map +0 -1
  177. package/dist/setup-utils-B26Lf2yF.js.map +0 -1
  178. package/dist/setup-utils-CVS86NYR.js +0 -2
  179. package/dist/start-tui-Bo2L0bar.js.map +0 -1
  180. package/dist/steps-BPcg3_3Q.js.map +0 -1
  181. package/dist/store-BTzcvRGT.js.map +0 -1
  182. package/dist/store-BpqySPXm.js +0 -5
  183. package/dist/task-DqRlQBfs.js.map +0 -1
  184. package/dist/task-stream-Bw6JaLCX.js.map +0 -1
  185. package/dist/telemetry-B7zJdRmA.js.map +0 -1
  186. package/dist/terminal-zgkEfoCL.js.map +0 -1
  187. package/dist/ui-Q6-RvERF.js.map +0 -1
  188. package/dist/wizard-abort-BPdv07np.js.map +0 -1
  189. package/dist/wizard-session-2w4Ru-Wz.js.map +0 -1
  190. package/dist/wizard-session-DGaUHOF3.js +0 -2
  191. package/dist/wizard-ui-DVqrYaOM.js.map +0 -1
  192. package/dist/yara-hooks-DSuExwb4.js +0 -2
@@ -1,18 +1,17 @@
1
- import { et as fetchSkillMenu } from "./agent-interface-FkbaBJwz.js";
2
- import { s as logToFile } from "./debug-kAHwWGg7.js";
3
- import { $ as getSkillsBaseUrl, D as POSTHOG_APP_URL, Q as WIZARD_USER_AGENT } from "./constants-DHCBSfnx.js";
4
- import "./wizard-session-2w4Ru-Wz.js";
5
- import { n as analytics } from "./analytics-DXK1gc12.js";
6
- import { i as withUtm, n as openTrackedLink } from "./telemetry-B7zJdRmA.js";
7
- import { r as getOrAskForProjectData } from "./setup-utils-B26Lf2yF.js";
8
- import { n as SERVICE_LABELS } from "./logging-ui-Dza4D0MK.js";
9
- import { c as fetchUserData, s as fetchSlackConnected } from "./api-CrbCIQOz.js";
10
- import { o as formatCostUsd, s as formatTokenCount } from "./agent-BWFhuLgo.js";
11
- import { l as AUDIT_SEVERITY_STYLE } from "./run-agent-legacy-DOlM6DQu.js";
12
- import { $ as wordWrap, H as getKindMeta, Q as computeVisibleRange, Z as TextBlock, et as isClearBlock, it as Icons, nt as isObjectBlock, o as Program, rt as Colors, tt as isLinesBlock } from "./mint-failure-u8xQKNOn.js";
13
- import { a as useStdoutDimensions, i as useKeyboardHintsContext, n as useKeyBindings, o as ConfirmButton, r as KeyboardHintsProvider, s as PromptLabel, t as PickerMenu } from "./PickerMenu-dG5DQCZA.js";
14
- import { n as totalTokenCount } from "./store-BTzcvRGT.js";
15
- import { c as isOk, f as summarizeFailure, l as namesWithStatus, n as AVAILABLE_FEATURES, o as isAllFeaturesSelected, t as ALL_FEATURE_VALUES } from "./defaults-a9TelDhJ.js";
1
+ import { et as fetchSkillMenu } from "./agent-interface-CzyCmp7q.js";
2
+ import { s as logToFile } from "./debug-DyARf5TF.js";
3
+ import { $ as getSkillsBaseUrl, D as POSTHOG_APP_URL, Q as WIZARD_USER_AGENT } from "./constants-DO4X70po.js";
4
+ import "./wizard-session-BYw6LzpS.js";
5
+ import { n as analytics } from "./analytics-B6q5PN7a.js";
6
+ import { r as withUtm, t as openTrackedLink } from "./links-9LWZPSCq.js";
7
+ import { n as SERVICE_LABELS } from "./logging-ui-p6XKVmTx.js";
8
+ import { c as formatTokenCount, s as formatCostUsd } from "./agent-BkBbVuNq.js";
9
+ import { t as getOrAskForProjectData } from "./project-data-BO9IXn9y.js";
10
+ import { c as fetchUserData, s as fetchSlackConnected } from "./api-C3Dc4LFl.js";
11
+ import { $ as wordWrap, H as getKindMeta, Q as computeVisibleRange, Z as TextBlock, et as isClearBlock, it as Icons, nt as isObjectBlock, o as Program, rt as Colors, tt as isLinesBlock } from "./mint-failure-C0HyvEwO.js";
12
+ import { a as useStdoutDimensions, i as useKeyboardHintsContext, n as useKeyBindings, o as ConfirmButton, r as KeyboardHintsProvider, s as PromptLabel, t as PickerMenu } from "./PickerMenu-m4CCPX4f.js";
13
+ import { n as totalTokenCount } from "./store-D3509G87.js";
14
+ import { c as isOk, f as summarizeFailure, l as namesWithStatus, n as AVAILABLE_FEATURES, o as isAllFeaturesSelected, t as ALL_FEATURE_VALUES } from "./defaults-DpfMnH2q.js";
16
15
  import opn from "opn";
17
16
  import * as fs$1 from "fs";
18
17
  import axios from "axios";
@@ -20,7 +19,7 @@ import { Box, Text, measureElement, useInput, useStdout } from "ink";
20
19
  import { Component, Fragment, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
21
20
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
21
  import { Spinner } from "@inkjs/ui";
23
- //#region src/ui/tui/primitives/CardLayout.tsx
22
+ //#region src/tui/primitives/CardLayout.tsx
24
23
  /**
25
24
  * CardLayout — Aligns a single child within available space.
26
25
  */
@@ -34,7 +33,7 @@ const CardLayout = ({ hAlign = "flex-start", vAlign = "flex-start", children })
34
33
  });
35
34
  };
36
35
  //#endregion
37
- //#region src/ui/tui/primitives/SplitView.tsx
36
+ //#region src/tui/primitives/SplitView.tsx
38
37
  /**
39
38
  * SplitView — Two-pane horizontal layout: 50/50.
40
39
  */
@@ -58,7 +57,7 @@ const SplitView = ({ left, right, gap = 2 }) => {
58
57
  });
59
58
  };
60
59
  //#endregion
61
- //#region src/ui/tui/primitives/LoadingBox.tsx
60
+ //#region src/tui/primitives/LoadingBox.tsx
62
61
  /**
63
62
  * LoadingBox — Spinner with message.
64
63
  */
@@ -69,7 +68,7 @@ const LoadingBox = ({ message }) => {
69
68
  });
70
69
  };
71
70
  //#endregion
72
- //#region src/ui/tui/primitives/ProgressList.tsx
71
+ //#region src/tui/primitives/ProgressList.tsx
73
72
  /**
74
73
  * ProgressList — Reusable task checklist with status icons.
75
74
  * Extracted from StatusTab logic.
@@ -126,7 +125,7 @@ const ProgressList = ({ items, title }) => {
126
125
  });
127
126
  };
128
127
  //#endregion
129
- //#region src/ui/tui/primitives/GroupedPickerMenu.tsx
128
+ //#region src/tui/primitives/GroupedPickerMenu.tsx
130
129
  /**
131
130
  * GroupedPickerMenu — Multi-select with category headers.
132
131
  *
@@ -351,7 +350,7 @@ const GroupedPickerMenu = ({ message, groups, initialSelected, onSelect }) => {
351
350
  });
352
351
  };
353
352
  //#endregion
354
- //#region src/ui/tui/primitives/ConfirmationInput.tsx
353
+ //#region src/tui/primitives/ConfirmationInput.tsx
355
354
  /**
356
355
  * ConfirmationInput — Continue/cancel prompt.
357
356
  * Enter confirms, escape cancels. Arrow keys toggle focus.
@@ -415,7 +414,7 @@ const ConfirmationInput = ({ message, onConfirm, onCancel, confirmLabel = "Conti
415
414
  });
416
415
  };
417
416
  //#endregion
418
- //#region src/ui/tui/primitives/Divider.tsx
417
+ //#region src/tui/primitives/Divider.tsx
419
418
  const Divider = ({ dimColor = true, char = "─" }) => {
420
419
  const ref = useRef(null);
421
420
  const [width, setWidth] = useState(0);
@@ -435,7 +434,7 @@ const Divider = ({ dimColor = true, char = "─" }) => {
435
434
  });
436
435
  };
437
436
  //#endregion
438
- //#region src/ui/tui/primitives/ModalOverlay.tsx
437
+ //#region src/tui/primitives/ModalOverlay.tsx
439
438
  const ModalOverlay = ({ borderColor, title, titleColor, width = 68, children, feedback, footer }) => {
440
439
  return /* @__PURE__ */ jsx(Box, {
441
440
  flexDirection: "column",
@@ -476,7 +475,7 @@ const ModalOverlay = ({ borderColor, title, titleColor, width = 68, children, fe
476
475
  });
477
476
  };
478
477
  //#endregion
479
- //#region src/ui/tui/primitives/link-helpers.ts
478
+ //#region src/tui/primitives/link-helpers.ts
480
479
  /**
481
480
  * Link-rendering helpers for terminal prompts.
482
481
  *
@@ -601,7 +600,7 @@ function splitPromptIntoSegments(text) {
601
600
  return segments;
602
601
  }
603
602
  //#endregion
604
- //#region src/ui/tui/primitives/LinkText.tsx
603
+ //#region src/tui/primitives/LinkText.tsx
605
604
  /**
606
605
  * LinkText — renders prompt text with URLs as OSC 8 hyperlinks.
607
606
  *
@@ -628,7 +627,7 @@ const LinkText = ({ text }) => {
628
627
  });
629
628
  };
630
629
  //#endregion
631
- //#region src/ui/tui/primitives/LogViewer.tsx
630
+ //#region src/tui/primitives/LogViewer.tsx
632
631
  /**
633
632
  * LogViewer — Real-time log tail, pinned to available terminal height.
634
633
  * Only renders the last N lines that fit on screen.
@@ -733,7 +732,7 @@ const LogViewer = ({ filePath, height }) => {
733
732
  });
734
733
  };
735
734
  //#endregion
736
- //#region src/ui/tui/primitives/EventPlanViewer.tsx
735
+ //#region src/tui/primitives/EventPlanViewer.tsx
737
736
  /**
738
737
  * EventPlanViewer — Renders a table of planned analytics events.
739
738
  */
@@ -758,7 +757,7 @@ const EventPlanViewer = ({ events }) => {
758
757
  });
759
758
  };
760
759
  //#endregion
761
- //#region src/ui/tui/components/TitleBar.tsx
760
+ //#region src/tui/components/TitleBar.tsx
762
761
  const FEEDBACK = "Feedback: wizard@posthog.com ";
763
762
  const FEEDBACK_SHORT = " wizard@posthog.com ";
764
763
  const TitleBar = ({ version, width }) => {
@@ -783,7 +782,7 @@ const TitleBar = ({ version, width }) => {
783
782
  });
784
783
  };
785
784
  //#endregion
786
- //#region src/ui/tui/components/TokenCostHud.tsx
785
+ //#region src/tui/components/TokenCostHud.tsx
787
786
  /**
788
787
  * TokenCostHud — Ctrl+T panel showing the running (then final) LLM
789
788
  * token/cost estimate for this wizard run. Toggled from `ScreenContainer`;
@@ -869,7 +868,7 @@ const TokenCostHud = ({ usage, width }) => {
869
868
  });
870
869
  };
871
870
  //#endregion
872
- //#region src/ui/tui/primitives/DissolveTransition.tsx
871
+ //#region src/tui/primitives/DissolveTransition.tsx
873
872
  /**
874
873
  * DissolveTransition — Column-sweep inspired by TTE's Sweep effect.
875
874
  *
@@ -983,7 +982,7 @@ const DissolveTransition = ({ transitionKey, width, height, children, direction
983
982
  });
984
983
  };
985
984
  //#endregion
986
- //#region src/ui/tui/primitives/KeyboardHintsBar.tsx
985
+ //#region src/tui/primitives/KeyboardHintsBar.tsx
987
986
  /**
988
987
  * KeyboardHintsBar — Row showing active keyboard shortcuts.
989
988
  *
@@ -1009,7 +1008,7 @@ const KeyboardHintsBar = () => {
1009
1008
  });
1010
1009
  };
1011
1010
  //#endregion
1012
- //#region src/ui/tui/primitives/ScreenErrorBoundary.tsx
1011
+ //#region src/tui/primitives/ScreenErrorBoundary.tsx
1013
1012
  /**
1014
1013
  * ScreenErrorBoundary — catches React render errors in screens
1015
1014
  * and routes to the outro screen with an error message.
@@ -1086,7 +1085,7 @@ const ViewportTooSmall = ({ columns, rows }) => {
1086
1085
  });
1087
1086
  };
1088
1087
  //#endregion
1089
- //#region src/ui/tui/primitives/ScreenContainer.tsx
1088
+ //#region src/tui/primitives/ScreenContainer.tsx
1090
1089
  /**
1091
1090
  * ScreenContainer — Renders TitleBar + routes between screens with transitions.
1092
1091
  * Takes a screens map and renders the one matching store.currentScreen.
@@ -1180,7 +1179,7 @@ const ScreenContainer = ({ store, screens }) => {
1180
1179
  });
1181
1180
  };
1182
1181
  //#endregion
1183
- //#region src/ui/tui/primitives/TabContainer.tsx
1182
+ //#region src/tui/primitives/TabContainer.tsx
1184
1183
  /**
1185
1184
  * TabContainer — Self-contained tabbed interface.
1186
1185
  * Absorbs BottomTabBar + StatusPanel functionality.
@@ -1273,7 +1272,7 @@ const TabContainer = ({ tabs, statusMessage, expandableStatus = false, store })
1273
1272
  });
1274
1273
  };
1275
1274
  //#endregion
1276
- //#region src/ui/tui/primitives/HNViewer.tsx
1275
+ //#region src/tui/primitives/HNViewer.tsx
1277
1276
  /**
1278
1277
  * HNViewer — Top 10 Hacker News stories.
1279
1278
  *
@@ -1385,7 +1384,7 @@ function openStory(input, stories) {
1385
1384
  });
1386
1385
  }
1387
1386
  //#endregion
1388
- //#region src/ui/tui/primitives/LinesBlock.tsx
1387
+ //#region src/tui/primitives/LinesBlock.tsx
1389
1388
  /**
1390
1389
  * LinesBlock — Reveals ReactNode lines one at a time.
1391
1390
  * Each line can contain colors, bold, ASCII art — any JSX.
@@ -1424,7 +1423,7 @@ const LinesBlock = ({ lines, interval, active, completed, onComplete, maxHeight
1424
1423
  });
1425
1424
  };
1426
1425
  //#endregion
1427
- //#region src/ui/tui/primitives/NodeBlock.tsx
1426
+ //#region src/tui/primitives/NodeBlock.tsx
1428
1427
  /**
1429
1428
  * NodeBlock — Renders static JSX, fires onComplete immediately.
1430
1429
  * The sequencer's blockInterval handles dwell time.
@@ -1440,7 +1439,7 @@ const NodeBlock = ({ content, active, completed, onComplete }) => {
1440
1439
  return /* @__PURE__ */ jsx(Fragment$1, { children: content });
1441
1440
  };
1442
1441
  //#endregion
1443
- //#region src/ui/tui/primitives/ContentSequencer.tsx
1442
+ //#region src/tui/primitives/ContentSequencer.tsx
1444
1443
  /**
1445
1444
  * ContentSequencer — Plays content blocks in order.
1446
1445
  *
@@ -1593,7 +1592,7 @@ const BlockRenderer = ({ block, active, completed, onComplete, mode, bullet, ani
1593
1592
  });
1594
1593
  };
1595
1594
  //#endregion
1596
- //#region src/ui/tui/components/LearnCard.tsx
1595
+ //#region src/tui/components/LearnCard.tsx
1597
1596
  /**
1598
1597
  * LearnCard — Generic render shell for an animated content deck.
1599
1598
  *
@@ -1638,7 +1637,7 @@ const LearnCard = ({ store, blocks, onComplete }) => {
1638
1637
  });
1639
1638
  };
1640
1639
  //#endregion
1641
- //#region src/ui/tui/components/TipsCard.tsx
1640
+ //#region src/tui/components/TipsCard.tsx
1642
1641
  /**
1643
1642
  * TipsCard — Shows PostHog tips during the agent run.
1644
1643
  * Reactively shows/hides tips based on discovered features.
@@ -1707,7 +1706,7 @@ const TipsCard = ({ store, tips = DEFAULT_TIPS }) => {
1707
1706
  });
1708
1707
  };
1709
1708
  //#endregion
1710
- //#region src/ui/tui/hooks/useTick.ts
1709
+ //#region src/tui/hooks/useTick.ts
1711
1710
  /**
1712
1711
  * useTick — forces a re-render every `intervalMs`. Returns a monotonically
1713
1712
  * increasing counter, which is rarely needed — most callers just want the
@@ -1722,7 +1721,7 @@ function useTick(intervalMs) {
1722
1721
  return tick;
1723
1722
  }
1724
1723
  //#endregion
1725
- //#region src/ui/tui/components/visualizer/palette.ts
1724
+ //#region src/tui/components/visualizer/palette.ts
1726
1725
  const VISUALIZER_PALETTE = {
1727
1726
  fade: "#0E7A0E",
1728
1727
  bright: "#7CFF7C",
@@ -1739,7 +1738,7 @@ const VISUALIZER_PALETTE = {
1739
1738
  upGreen: "#7CFF7C"
1740
1739
  };
1741
1740
  //#endregion
1742
- //#region src/ui/tui/components/visualizer/panel.tsx
1741
+ //#region src/tui/components/visualizer/panel.tsx
1743
1742
  /**
1744
1743
  * Shared scaffolding for the phase visuals — Matrix-green color, common
1745
1744
  * VisualProps shape, and the rounded `Panel` shell every visual sits in.
@@ -1755,7 +1754,7 @@ const Panel = ({ children }) => /* @__PURE__ */ jsx(Box, {
1755
1754
  children
1756
1755
  });
1757
1756
  //#endregion
1758
- //#region src/ui/tui/components/visualizer/MatrixRain.tsx
1757
+ //#region src/tui/components/visualizer/MatrixRain.tsx
1759
1758
  /**
1760
1759
  * MatrixRain — code-rain visual used for the codebase-scan phase.
1761
1760
  *
@@ -1849,7 +1848,7 @@ const MatrixRain = ({ width, height, tickMs = DEFAULT_TICK_MS, maxTail = DEFAULT
1849
1848
  });
1850
1849
  };
1851
1850
  //#endregion
1852
- //#region src/ui/tui/components/visualizer/grid.ts
1851
+ //#region src/tui/components/visualizer/grid.ts
1853
1852
  /** Allocate a blank `width`×`height` grid of spaces. Degenerate or negative
1854
1853
  * dimensions collapse to an empty grid rather than throwing. */
1855
1854
  const createGrid = (width, height) => {
@@ -1873,7 +1872,7 @@ const writeText = (grid, x, y, text, maxW) => {
1873
1872
  for (let i = 0; i < text.length && i < limit; i++) plot(grid, x + i, y, text[i]);
1874
1873
  };
1875
1874
  //#endregion
1876
- //#region src/ui/tui/components/visualizer/LibraryShelf.tsx
1875
+ //#region src/tui/components/visualizer/LibraryShelf.tsx
1877
1876
  /**
1878
1877
  * LibraryShelf — skill-selection phase.
1879
1878
  *
@@ -1944,7 +1943,7 @@ const LibraryShelf = ({ width, height }) => {
1944
1943
  }) }, y)) });
1945
1944
  };
1946
1945
  //#endregion
1947
- //#region src/ui/tui/components/visualizer/CrateStack.tsx
1946
+ //#region src/tui/components/visualizer/CrateStack.tsx
1948
1947
  /**
1949
1948
  * CrateStack — dependency-install phase.
1950
1949
  *
@@ -2016,7 +2015,7 @@ const CrateStack = ({ width, height }) => {
2016
2015
  }) }, y)) });
2017
2016
  };
2018
2017
  //#endregion
2019
- //#region src/ui/tui/components/visualizer/DiffCascade.tsx
2018
+ //#region src/tui/components/visualizer/DiffCascade.tsx
2020
2019
  /**
2021
2020
  * DiffCascade — code-edits phase.
2022
2021
  *
@@ -2070,7 +2069,7 @@ const DiffCascade = ({ width, height }) => {
2070
2069
  }) });
2071
2070
  };
2072
2071
  //#endregion
2073
- //#region src/ui/tui/components/visualizer/Tumblers.tsx
2072
+ //#region src/tui/components/visualizer/Tumblers.tsx
2074
2073
  /**
2075
2074
  * Tumblers — env-setup phase.
2076
2075
  *
@@ -2136,7 +2135,7 @@ const Tumblers = ({ width, height }) => {
2136
2135
  }) }, y)) });
2137
2136
  };
2138
2137
  //#endregion
2139
- //#region src/ui/tui/components/visualizer/DashboardGrid.tsx
2138
+ //#region src/tui/components/visualizer/DashboardGrid.tsx
2140
2139
  /**
2141
2140
  * DashboardGrid — dashboards phase.
2142
2141
  *
@@ -2272,7 +2271,7 @@ function tileValue(kind, tick, seed) {
2272
2271
  return `${Math.round(1 + wave * 5)} ▼`;
2273
2272
  }
2274
2273
  //#endregion
2275
- //#region src/ui/tui/components/PhaseVisuals.tsx
2274
+ //#region src/tui/components/PhaseVisuals.tsx
2276
2275
  /**
2277
2276
  * Phase visuals — ambient ASCII visualizations of what the agent is currently
2278
2277
  * doing. The active phase is derived from the in-progress task labels (best-
@@ -2491,7 +2490,7 @@ const PhaseBody = ({ phase, width, height }) => {
2491
2490
  }
2492
2491
  };
2493
2492
  //#endregion
2494
- //#region src/ui/tui/components/ServiceHealthList.tsx
2493
+ //#region src/tui/components/ServiceHealthList.tsx
2495
2494
  function statusIcon(status) {
2496
2495
  switch (status) {
2497
2496
  case "down": return {
@@ -2540,7 +2539,7 @@ const ServiceHealthList = ({ health, filterKeys, showHealthy = true }) => {
2540
2539
  });
2541
2540
  };
2542
2541
  //#endregion
2543
- //#region src/ui/tui/screens/doctor/IssueTable.tsx
2542
+ //#region src/tui/tools/doctor/screens/IssueTable.tsx
2544
2543
  const SEVERITY_ORDER = [
2545
2544
  "critical",
2546
2545
  "warning",
@@ -2654,7 +2653,7 @@ const IssueRow = ({ issue, docsWidth }) => {
2654
2653
  ] });
2655
2654
  };
2656
2655
  //#endregion
2657
- //#region src/ui/tui/screens/McpScreen.tsx
2656
+ //#region src/tui/screens/McpScreen.tsx
2658
2657
  /**
2659
2658
  * McpScreen — MCP server install/remove flow.
2660
2659
  *
@@ -3076,7 +3075,7 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
3076
3075
  });
3077
3076
  };
3078
3077
  //#endregion
3079
- //#region src/lib/mcp-role-prompts.copy.json
3078
+ //#region src/tui/tools/mcp/services/mcp-role-prompts.copy.json
3080
3079
  var pinnedFirstPrompt = {
3081
3080
  "prompt": "Show me my top 5 events from the last 7 days",
3082
3081
  "description": "A safe first pick — works on any project regardless of role or setup."
@@ -3984,7 +3983,7 @@ var slackApp = {
3984
3983
  "capabilities": ["Tag @PostHog with a bug, edit, or a feature idea. It will spin up a sandboxed environment, plan, edit files, run tests, and open a draft PR.", "Tag @PostHog with any data question. It's the same SQL-writing, statistically-minded assistant as PostHog AI, but it responds where you send work memes."]
3985
3984
  };
3986
3985
  //#endregion
3987
- //#region src/lib/mcp-role-prompts.ts
3986
+ //#region src/tui/tools/mcp/services/mcp-role-prompts.ts
3988
3987
  /**
3989
3988
  * Roles that ship from `role_at_organization` on the PostHog user object.
3990
3989
  * `security` isn't in the enum upstream — the engineering kit covers
@@ -4305,22 +4304,8 @@ function getTutorialPicker(role, integration, profile) {
4305
4304
  ...getActivationCrossSell(role, profile, 1)
4306
4305
  ];
4307
4306
  }
4308
- /**
4309
- * Resolve the "Take PostHog to Slack" card. Role-independent — the Slack
4310
- * agent's two capabilities (code/PR + data) describe the product itself,
4311
- * not role-specific examples.
4312
- */
4313
- function getSlackAppCard() {
4314
- return {
4315
- headline: SLACK_APP.headline,
4316
- pitch: SLACK_APP.pitch,
4317
- learnMoreUrl: SLACK_APP.learnMoreUrl,
4318
- setupUrl: SLACK_APP.setupUrl,
4319
- capabilities: SLACK_APP.capabilities
4320
- };
4321
- }
4322
4307
  //#endregion
4323
- //#region src/lib/mcp-project-profile.ts
4308
+ //#region src/tui/tools/mcp/services/mcp-project-profile.ts
4324
4309
  /**
4325
4310
  * Project data profile — a cheap, best-effort "scout" of what a user's
4326
4311
  * PostHog project actually contains. Run once after auth, before the MCP
@@ -4531,7 +4516,7 @@ async function probeProjectData(args) {
4531
4516
  }
4532
4517
  }
4533
4518
  //#endregion
4534
- //#region src/ui/tui/screens/McpSuggestedPromptsScreen.tsx
4519
+ //#region src/tui/tools/mcp/screens/McpSuggestedPromptsScreen.tsx
4535
4520
  /**
4536
4521
  * McpSuggestedPromptsScreen — shown after MCP install succeeds in the
4537
4522
  * standalone `wizard mcp add` program, and as the entry point for
@@ -5469,7 +5454,7 @@ const GoodbyePhase = ({ installedClients, role, integration, profile, engaged, l
5469
5454
  });
5470
5455
  };
5471
5456
  //#endregion
5472
- //#region src/lib/mcp-seed-events.ts
5457
+ //#region src/tui/tools/mcp/services/seed-events.ts
5473
5458
  /**
5474
5459
  * Demo-event seeder for the MCP tutorial's empty-project path.
5475
5460
  *
@@ -5603,7 +5588,7 @@ async function seedDemoEvents(args) {
5603
5588
  return seededProfile(baseProfile, now);
5604
5589
  }
5605
5590
  //#endregion
5606
- //#region src/ui/tui/screens/audit/AuditChecksViewer/AreaHeaderRow.tsx
5591
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/AreaHeaderRow.tsx
5607
5592
  /** Sub-header row inside the scrollable body — one per area group. */
5608
5593
  const AreaHeaderRow = ({ area, resolved, total }) => /* @__PURE__ */ jsxs(Box, {
5609
5594
  flexShrink: 0,
@@ -5623,6 +5608,31 @@ const AreaHeaderRow = ({ area, resolved, total }) => /* @__PURE__ */ jsxs(Box, {
5623
5608
  ]
5624
5609
  })]
5625
5610
  });
5611
+ //#endregion
5612
+ //#region src/tui/programs/audit/severity-style.ts
5613
+ /** Single source of truth for status glyph + color across audit views. */
5614
+ const AUDIT_SEVERITY_STYLE = {
5615
+ pending: {
5616
+ glyph: "◌",
5617
+ color: "gray"
5618
+ },
5619
+ pass: {
5620
+ glyph: "✔",
5621
+ color: "green"
5622
+ },
5623
+ error: {
5624
+ glyph: "✘",
5625
+ color: "red"
5626
+ },
5627
+ warning: {
5628
+ glyph: "⚠",
5629
+ color: "yellow"
5630
+ },
5631
+ suggestion: {
5632
+ glyph: "•",
5633
+ color: "cyan"
5634
+ }
5635
+ };
5626
5636
  /** ScreenContainer wraps content in paddingX={1} inside a width capped at
5627
5637
  * MAX_WIDTH, so the actual width available to the viewer is
5628
5638
  * min(cols, MAX_WIDTH) - 2. */
@@ -5657,7 +5667,7 @@ function truncate(text, max) {
5657
5667
  return text.slice(0, Math.max(1, max - 1)) + "…";
5658
5668
  }
5659
5669
  //#endregion
5660
- //#region src/ui/tui/screens/audit/AuditChecksViewer/CheckRow.tsx
5670
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/CheckRow.tsx
5661
5671
  const CheckRow = ({ item, layout }) => {
5662
5672
  const style = AUDIT_SEVERITY_STYLE[item.status];
5663
5673
  return /* @__PURE__ */ jsxs(Box, {
@@ -5689,7 +5699,7 @@ const CheckRow = ({ item, layout }) => {
5689
5699
  });
5690
5700
  };
5691
5701
  //#endregion
5692
- //#region src/ui/tui/screens/audit/AuditChecksViewer/DetailRow.tsx
5702
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/DetailRow.tsx
5693
5703
  /** Format a `details` string. If it parses as a JSON object, render it as
5694
5704
  * indented key: value lines (skipping huge nested arrays/objects which we
5695
5705
  * truncate). Otherwise return the original text. v3000 emits structured
@@ -5745,7 +5755,7 @@ const DetailRow = ({ item, layout }) => {
5745
5755
  });
5746
5756
  };
5747
5757
  //#endregion
5748
- //#region src/ui/tui/screens/audit/AuditChecksViewer/Legend.tsx
5758
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/Legend.tsx
5749
5759
  const Legend = () => /* @__PURE__ */ jsxs(Text, { children: [
5750
5760
  /* @__PURE__ */ jsx(Text, {
5751
5761
  color: "green",
@@ -5783,7 +5793,7 @@ function countNoun(n, noun, plural = `${noun}s`) {
5783
5793
  return `${n} ${n === 1 ? noun : plural}`;
5784
5794
  }
5785
5795
  //#endregion
5786
- //#region src/ui/tui/screens/audit/AuditChecksViewer/Header.tsx
5796
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/Header.tsx
5787
5797
  function statusCounts(checks) {
5788
5798
  const out = {
5789
5799
  pending: 0,
@@ -5833,13 +5843,13 @@ const Summary = ({ total, counts }) => /* @__PURE__ */ jsx(Text, {
5833
5843
  ].join(" · ")
5834
5844
  });
5835
5845
  //#endregion
5836
- //#region src/ui/tui/screens/audit/AuditChecksViewer/Footer.tsx
5846
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/Footer.tsx
5837
5847
  const Footer = ({ total, counts }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Legend, {}), /* @__PURE__ */ jsx(Summary, {
5838
5848
  total,
5839
5849
  counts
5840
5850
  })] });
5841
5851
  //#endregion
5842
- //#region src/ui/tui/screens/audit/AuditChecksViewer/sort.ts
5852
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/sort.ts
5843
5853
  const STATUS_ORDER = {
5844
5854
  error: 0,
5845
5855
  warning: 1,
@@ -5895,7 +5905,7 @@ function groupChecksByArea(checks) {
5895
5905
  return groups;
5896
5906
  }
5897
5907
  //#endregion
5898
- //#region src/ui/tui/screens/audit/AuditChecksViewer/AuditChecksViewer.tsx
5908
+ //#region src/tui/programs/audit/screens/AuditChecksViewer/AuditChecksViewer.tsx
5899
5909
  /**
5900
5910
  * AuditChecksViewer — "Audit plan" tab.
5901
5911
  *
@@ -6014,7 +6024,7 @@ const AuditChecksViewer = ({ checks }) => {
6014
6024
  });
6015
6025
  };
6016
6026
  //#endregion
6017
- //#region src/ui/tui/screens/audit/slides/shared.tsx
6027
+ //#region src/tui/programs/audit/screens/slides/shared.tsx
6018
6028
  /** Narrow bordered box for the small ASCII illustrations in baseline slides. */
6019
6029
  const VisualBox = ({ children }) => /* @__PURE__ */ jsx(Box, {
6020
6030
  borderStyle: "single",
@@ -6025,7 +6035,7 @@ const VisualBox = ({ children }) => /* @__PURE__ */ jsx(Box, {
6025
6035
  children
6026
6036
  });
6027
6037
  //#endregion
6028
- //#region src/ui/tui/screens/audit/slides/installation.tsx
6038
+ //#region src/tui/programs/audit/screens/slides/installation.tsx
6029
6039
  const InstallationVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6030
6040
  /* @__PURE__ */ jsx(Text, {
6031
6041
  dimColor: true,
@@ -6082,7 +6092,7 @@ const InstallationSlide = {
6082
6092
  docsUrl: "https://posthog.com/docs/getting-started/install"
6083
6093
  };
6084
6094
  //#endregion
6085
- //#region src/ui/tui/screens/audit/slides/identification.tsx
6095
+ //#region src/tui/programs/audit/screens/slides/identification.tsx
6086
6096
  const IdentificationVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6087
6097
  /* @__PURE__ */ jsxs(Text, { children: [
6088
6098
  /* @__PURE__ */ jsx(Text, {
@@ -6143,7 +6153,7 @@ const IdentificationSlide = {
6143
6153
  docsUrl: "https://posthog.com/docs/product-analytics/identify"
6144
6154
  };
6145
6155
  //#endregion
6146
- //#region src/ui/tui/screens/audit/slides/eventCapture.tsx
6156
+ //#region src/tui/programs/audit/screens/slides/eventCapture.tsx
6147
6157
  const CaptureVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6148
6158
  /* @__PURE__ */ jsxs(Text, { children: [
6149
6159
  /* @__PURE__ */ jsx(Text, {
@@ -6213,7 +6223,7 @@ const EventCaptureSlide = {
6213
6223
  docsUrl: "https://posthog.com/docs/product-analytics/capture-events"
6214
6224
  };
6215
6225
  //#endregion
6216
- //#region src/ui/tui/screens/audit/slides/liveData.tsx
6226
+ //#region src/tui/programs/audit/screens/slides/liveData.tsx
6217
6227
  const LiveDataVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6218
6228
  /* @__PURE__ */ jsx(Text, {
6219
6229
  dimColor: true,
@@ -6263,7 +6273,7 @@ const LiveDataSlide = {
6263
6273
  docsUrl: "https://posthog.com/docs/error-tracking/upload-source-maps"
6264
6274
  };
6265
6275
  //#endregion
6266
- //#region src/ui/tui/screens/audit/slides/writeReport.tsx
6276
+ //#region src/tui/programs/audit/screens/slides/writeReport.tsx
6267
6277
  const ReportVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6268
6278
  /* @__PURE__ */ jsx(Text, {
6269
6279
  dimColor: true,
@@ -6293,7 +6303,7 @@ const WriteReportSlide = {
6293
6303
  docsUrl: "https://posthog.com/docs/product-analytics/best-practices"
6294
6304
  };
6295
6305
  //#endregion
6296
- //#region src/ui/tui/screens/audit/slides/uploadNotebook.tsx
6306
+ //#region src/tui/programs/audit/screens/slides/uploadNotebook.tsx
6297
6307
  const NotebookVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6298
6308
  /* @__PURE__ */ jsx(Text, {
6299
6309
  dimColor: true,
@@ -6324,7 +6334,7 @@ const NotebookVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
6324
6334
  })
6325
6335
  ] });
6326
6336
  //#endregion
6327
- //#region src/ui/tui/screens/audit/slides/index.ts
6337
+ //#region src/tui/programs/audit/screens/slides/index.ts
6328
6338
  const AUDIT_AREA_SLIDES = [
6329
6339
  InstallationSlide,
6330
6340
  IdentificationSlide,
@@ -6343,7 +6353,23 @@ const AUDIT_AREA_SLIDES = [
6343
6353
  }
6344
6354
  ];
6345
6355
  //#endregion
6346
- //#region src/ui/tui/screens/SlackConnectScreen.tsx
6356
+ //#region src/tui/services/slack-app-card.ts
6357
+ /**
6358
+ * Resolve the "Take PostHog to Slack" card. Role-independent — the Slack
6359
+ * agent's two capabilities (code/PR + data) describe the product itself,
6360
+ * not role-specific examples.
6361
+ */
6362
+ function getSlackAppCard() {
6363
+ return {
6364
+ headline: SLACK_APP.headline,
6365
+ pitch: SLACK_APP.pitch,
6366
+ learnMoreUrl: SLACK_APP.learnMoreUrl,
6367
+ setupUrl: SLACK_APP.setupUrl,
6368
+ capabilities: SLACK_APP.capabilities
6369
+ };
6370
+ }
6371
+ //#endregion
6372
+ //#region src/tui/screens/SlackConnectScreen.tsx
6347
6373
  /**
6348
6374
  * SlackConnectScreen — the dedicated "Connect Slack" step shown after the
6349
6375
  * MCP tutorial (`wizard mcp tutorial`), after a successful install
@@ -6631,7 +6657,7 @@ const SlackConnectScreen = ({ store }) => {
6631
6657
  });
6632
6658
  };
6633
6659
  //#endregion
6634
- //#region src/ui/tui/hooks/useDismissOnAnyKey.ts
6660
+ //#region src/tui/hooks/useDismissOnAnyKey.ts
6635
6661
  /**
6636
6662
  * useDismissOnAnyKey — "press any key to continue/exit" screens.
6637
6663
  *
@@ -6662,7 +6688,7 @@ function useDismissOnAnyKey(handler) {
6662
6688
  });
6663
6689
  }
6664
6690
  //#endregion
6665
- //#region src/ui/tui/screens/OutroScreen.tsx
6691
+ //#region src/tui/screens/OutroScreen.tsx
6666
6692
  /**
6667
6693
  * OutroScreen — Default post-run summary.
6668
6694
  *
@@ -6863,7 +6889,7 @@ const OutroScreen = ({ store }) => {
6863
6889
  });
6864
6890
  };
6865
6891
  //#endregion
6866
- //#region src/ui/tui/screens/SkillSourceInfo.tsx
6892
+ //#region src/tui/screens/SkillSourceInfo.tsx
6867
6893
  /**
6868
6894
  * Shared "Skill: <id> / URL: <downloadUrl>" block for intro screens.
6869
6895
  *
@@ -6949,7 +6975,7 @@ const SkillSourceInfo = ({ skillId, skillEntry, fetchFailed }) => /* @__PURE__ *
6949
6975
  ] })]
6950
6976
  });
6951
6977
  //#endregion
6952
- //#region src/ui/tui/screens/AiOptInRequiredScreen.tsx
6978
+ //#region src/tui/screens/AiOptInRequiredScreen.tsx
6953
6979
  /**
6954
6980
  * AiOptInRequiredScreen — Renders when the wizard authenticates against an
6955
6981
  * org whose `is_ai_data_processing_approved` is not `true`. Mirrors Max's
@@ -7168,7 +7194,7 @@ const AiOptInRequiredScreen = ({ store }) => {
7168
7194
  });
7169
7195
  };
7170
7196
  //#endregion
7171
- //#region src/ui/tui/terminal.ts
7197
+ //#region src/tui/terminal.ts
7172
7198
  /**
7173
7199
  * Terminal setup shared by the wizard TUI and the primitives playground.
7174
7200
  *
@@ -7191,6 +7217,6 @@ function releaseTerminal() {
7191
7217
  process.stdout.write(RESET_ATTRS + LEAVE_ALT_SCREEN);
7192
7218
  }
7193
7219
  //#endregion
7194
- export { ScreenContainer as A, LoadingBox as B, ServiceHealthList as C, ContentSequencer as D, LearnCard as E, extractUrls as F, CardLayout as H, ModalOverlay as I, ConfirmationInput as L, EventPlanViewer as M, LogViewer as N, HNViewer as O, LinkText as P, GroupedPickerMenu as R, SEVERITY_ORDER as S, TipsCard as T, SplitView as V, probeProjectData as _, useSkillEntry as a, IssueTable as b, SlackConnectScreen as c, AuditChecksViewer as d, countNoun as f, assembleProfile as g, McpSuggestedPromptsScreen as h, SkillSourceInfo as i, ViewportTooSmall as j, TabContainer as k, AUDIT_AREA_SLIDES as l, seededProfile as m, releaseTerminal as n, OutroScreen as o, seedDemoEvents as p, AiOptInRequiredScreen as r, useDismissOnAnyKey as s, enterDarkTerminal as t, VisualBox as u, TAILORED_ROLES as v, VisualizerTab as w, SEVERITY_LABEL as x, McpScreen as y, ProgressList as z };
7220
+ export { TabContainer as A, ProgressList as B, SEVERITY_ORDER as C, LearnCard as D, TipsCard as E, LinkText as F, SplitView as H, extractUrls as I, ModalOverlay as L, ViewportTooSmall as M, EventPlanViewer as N, ContentSequencer as O, LogViewer as P, ConfirmationInput as R, SEVERITY_LABEL as S, VisualizerTab as T, CardLayout as U, LoadingBox as V, assembleProfile as _, useSkillEntry as a, McpScreen as b, SlackConnectScreen as c, AuditChecksViewer as d, countNoun as f, McpSuggestedPromptsScreen as g, seededProfile as h, SkillSourceInfo as i, ScreenContainer as j, HNViewer as k, AUDIT_AREA_SLIDES as l, seedDemoEvents as m, releaseTerminal as n, OutroScreen as o, AUDIT_SEVERITY_STYLE as p, AiOptInRequiredScreen as r, useDismissOnAnyKey as s, enterDarkTerminal as t, VisualBox as u, probeProjectData as v, ServiceHealthList as w, IssueTable as x, TAILORED_ROLES as y, GroupedPickerMenu as z };
7195
7221
 
7196
- //# sourceMappingURL=terminal-zgkEfoCL.js.map
7222
+ //# sourceMappingURL=terminal-PK9bCLRi.js.map