@posthog/wizard 2.80.1 → 2.81.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 +19 -17
- package/dist/README.md +6 -4
- package/dist/{agent-interface-CemBvTAA.js → agent-interface-BFzBnz10.js} +184 -25
- package/dist/agent-interface-BFzBnz10.js.map +1 -0
- package/dist/{agent-prompt-loader-DPnj6SwU.js → agent-prompt-loader-CbCW6YbP.js} +6 -6
- package/dist/{agent-prompt-loader-DPnj6SwU.js.map → agent-prompt-loader-CbCW6YbP.js.map} +1 -1
- package/dist/{analytics-D21z3E5l.js → analytics-CGGE7OSa.js} +6 -3
- package/dist/analytics-CGGE7OSa.js.map +1 -0
- package/dist/analytics-D6NAIJxP.js +2 -0
- package/dist/api-DM4uMJ00.js +2 -0
- package/dist/{api-DtGIqQ2U.js → api-ZZhiRtbb.js} +3 -2
- package/dist/{api-DtGIqQ2U.js.map → api-ZZhiRtbb.js.map} +1 -1
- package/dist/api-key-login-C30LRht2.js +2 -0
- package/dist/{api-key-login-h3E2G3zu.js → api-key-login-D0KBr1dx.js} +5 -5
- package/dist/{api-key-login-h3E2G3zu.js.map → api-key-login-D0KBr1dx.js.map} +1 -1
- package/dist/bin.js +2 -2
- package/dist/{bounded-fs-CAsuF6al.js → bounded-fs-DwL2Tasp.js} +3 -3
- package/dist/{bounded-fs-CAsuF6al.js.map → bounded-fs-DwL2Tasp.js.map} +1 -1
- package/dist/{ci-install-CEYE02t-.js → ci-install-DKXrt_ow.js} +7 -7
- package/dist/{ci-install-CEYE02t-.js.map → ci-install-DKXrt_ow.js.map} +1 -1
- package/dist/{console-log-O828zyiq.js → console-log-DJiTqYT2.js} +3 -3
- package/dist/{console-log-O828zyiq.js.map → console-log-DJiTqYT2.js.map} +1 -1
- package/dist/{debug-BfQPD2Hg.js → debug-sB20p-Ek.js} +3 -3
- package/dist/{debug-BfQPD2Hg.js.map → debug-sB20p-Ek.js.map} +1 -1
- package/dist/{emit-RfAewcWv.js → emit-BqLCdV8Y.js} +2 -1
- package/dist/{emit-RfAewcWv.js.map → emit-BqLCdV8Y.js.map} +1 -1
- package/dist/{errors-CHrJzAZb.js → errors-DhFeR8Sp.js} +3 -3
- package/dist/{errors-CHrJzAZb.js.map → errors-DhFeR8Sp.js.map} +1 -1
- package/dist/{gateway-D3gIlR6b.js → gateway-Dg4Fm-nC.js} +7 -7
- package/dist/{gateway-D3gIlR6b.js.map → gateway-Dg4Fm-nC.js.map} +1 -1
- package/dist/{headless-DIX68UUA.js → headless-B3Ol1nkU.js} +1 -1
- package/dist/{headless-BJjhP0SI.js → headless-DhTDC9ga.js} +2 -2
- package/dist/{headless-BJjhP0SI.js.map → headless-DhTDC9ga.js.map} +1 -1
- package/dist/{host-resolution-D8GhEVoX.js → host-resolution-DDYJXiAQ.js} +4 -4
- package/dist/{host-resolution-D8GhEVoX.js.map → host-resolution-DDYJXiAQ.js.map} +1 -1
- package/dist/{install-Bw8tvDvS.js → install-CZeR38cD.js} +1 -1
- package/dist/{install-paPCzPHI.js → install-Dh8Z5R15.js} +41 -55
- package/dist/install-Dh8Z5R15.js.map +1 -0
- package/dist/{interactive-tdxZKWax.js → interactive-hqHk6kz4.js} +3 -3
- package/dist/{interactive-tdxZKWax.js.map → interactive-hqHk6kz4.js.map} +1 -1
- package/dist/{links-Cyj6v8kg.js → links-rMot83W2.js} +3 -3
- package/dist/{links-Cyj6v8kg.js.map → links-rMot83W2.js.map} +1 -1
- package/dist/{main-0p-YxUNa.js → main-DNIeasXx.js} +25 -25
- package/dist/main-DNIeasXx.js.map +1 -0
- package/dist/{mcp-D3Z5MXhA.js → mcp-SZcGfaOz.js} +3 -3
- package/dist/{mcp-D3Z5MXhA.js.map → mcp-SZcGfaOz.js.map} +1 -1
- package/dist/{mcp-prompt-streaming-COVbWnHt.js → mcp-prompt-streaming-BuRMBgbo.js} +5 -5
- package/dist/{mcp-prompt-streaming-COVbWnHt.js.map → mcp-prompt-streaming-BuRMBgbo.js.map} +1 -1
- package/dist/{models-D1SnCzvl.js → models-G1j-wgwe.js} +2 -2
- package/dist/{models-D1SnCzvl.js.map → models-G1j-wgwe.js.map} +1 -1
- package/dist/{non-interactive-DxRBc73O.js → non-interactive-DkldwWDM.js} +4 -4
- package/dist/{non-interactive-DxRBc73O.js.map → non-interactive-DkldwWDM.js.map} +1 -1
- package/dist/{oauth-session-Dde79Ycm.js → oauth-session-C2fVSGfr.js} +2 -2
- package/dist/{oauth-session-Dde79Ycm.js.map → oauth-session-C2fVSGfr.js.map} +1 -1
- package/dist/{orchestrator-tools-BSNhzzkT.js → orchestrator-tools-BchqG7Qi.js} +3 -3
- package/dist/{orchestrator-tools-BSNhzzkT.js.map → orchestrator-tools-BchqG7Qi.js.map} +1 -1
- package/dist/{package-manager-BRXlXo0p.js → package-manager-B3_qSybg.js} +4 -4
- package/dist/{package-manager-BRXlXo0p.js.map → package-manager-B3_qSybg.js.map} +1 -1
- package/dist/{pi-cM_4Gd_9.js → pi-Cw7CPXSl.js} +15 -15
- package/dist/{pi-cM_4Gd_9.js.map → pi-Cw7CPXSl.js.map} +1 -1
- package/dist/{playground-DTKy0XHT.js → playground-CPNrQfb3.js} +4 -4
- package/dist/{playground-DTKy0XHT.js.map → playground-CPNrQfb3.js.map} +1 -1
- package/dist/{posthog-integration-bwHwE87a.js → posthog-integration-FAWfClH3.js} +63 -50
- package/dist/posthog-integration-FAWfClH3.js.map +1 -0
- package/dist/programs-DjCmEcxb.js +3 -0
- package/dist/{programs-SeT1qNik.js → programs-Ml6OLybj.js} +88 -34
- package/dist/programs-Ml6OLybj.js.map +1 -0
- package/dist/{provisioning-JbJtq7hq.js → provisioning-BTVL49jD.js} +4 -4
- package/dist/{provisioning-JbJtq7hq.js.map → provisioning-BTVL49jD.js.map} +1 -1
- package/dist/provisioning-DL0xCJXH.js +2 -0
- package/dist/{queue-tools-BIZSJyt6.js → queue-tools-BQfRI_uD.js} +4 -4
- package/dist/{queue-tools-BIZSJyt6.js.map → queue-tools-BQfRI_uD.js.map} +1 -1
- package/dist/{results-DtKICAdz.js → results-ycm_Tf31.js} +37 -2
- package/dist/results-ycm_Tf31.js.map +1 -0
- package/dist/{run-CDurA5tO.js → run-Bgg-ctbA.js} +31 -15
- package/dist/run-Bgg-ctbA.js.map +1 -0
- package/dist/{run-DDCvLILJ.js → run-C6Ei6vvb.js} +10 -10
- package/dist/run-C6Ei6vvb.js.map +1 -0
- package/dist/{run-tool-DML8JJvt.js → run-tool-CrN2xWzU.js} +32 -16
- package/dist/{run-tool-DML8JJvt.js.map → run-tool-CrN2xWzU.js.map} +1 -1
- package/dist/run-tool-tNjm8S-E.js +2 -0
- package/dist/{runners-Dhu4pZTN.js → runners-GGYJs0Ny.js} +37 -19
- package/dist/runners-GGYJs0Ny.js.map +1 -0
- package/dist/{security-DEH8Rn0_.js → security-C36p8lu6.js} +44 -52
- package/dist/security-C36p8lu6.js.map +1 -0
- package/dist/{setup-utils-C5-WM-hS.js → setup-utils-Dfgse6pY.js} +3 -3
- package/dist/{setup-utils-C5-WM-hS.js.map → setup-utils-Dfgse6pY.js.map} +1 -1
- package/dist/{start-playground-DL4mVEUx.js → start-playground-D0TrdLmc.js} +7 -6
- package/dist/{start-playground-DL4mVEUx.js.map → start-playground-D0TrdLmc.js.map} +1 -1
- package/dist/{subagent-CnFvAq6E.js → subagent-DR5caRzL.js} +7 -7
- package/dist/subagent-DR5caRzL.js.map +1 -0
- package/dist/{task-BOScSm4W.js → task-C1qKgsAf.js} +18 -17
- package/dist/task-C1qKgsAf.js.map +1 -0
- package/dist/{telemetry-CP4rGicd.js → telemetry-Ch9ZJvm7.js} +2 -2
- package/dist/{telemetry-CP4rGicd.js.map → telemetry-Ch9ZJvm7.js.map} +1 -1
- package/dist/{terminal-J3OD3dN0.js → terminal-D20JFN3J.js} +97 -71
- package/dist/terminal-D20JFN3J.js.map +1 -0
- package/dist/{tools-CCMV3DmB.js → tools-BZseGChD.js} +15 -15
- package/dist/{tools-CCMV3DmB.js.map → tools-BZseGChD.js.map} +1 -1
- package/dist/{tools-Cz8tDptL.js → tools-CmSMclOD.js} +8 -8
- package/dist/{tools-Cz8tDptL.js.map → tools-CmSMclOD.js.map} +1 -1
- package/dist/{tui-Csf7VJxt.js → tui-BXe1D0tc.js} +4 -4
- package/dist/{tui-Csf7VJxt.js.map → tui-BXe1D0tc.js.map} +1 -1
- package/dist/{tui-BUZ2PWqN.js → tui-DJf3ZPRh.js} +1 -1
- package/dist/{upload-step-CEacB2RV.js → upload-step-BlAN7MC5.js} +3 -3
- package/dist/{upload-step-CEacB2RV.js.map → upload-step-BlAN7MC5.js.map} +1 -1
- package/dist/{urls-BDELGZHq.js → urls-eFaChZ9d.js} +2 -2
- package/dist/{urls-BDELGZHq.js.map → urls-eFaChZ9d.js.map} +1 -1
- package/dist/{wizard-abort-D3-75KyV.js → wizard-abort-BX3O4Hg4.js} +5 -5
- package/dist/{wizard-abort-D3-75KyV.js.map → wizard-abort-BX3O4Hg4.js.map} +1 -1
- package/dist/{yara-hooks-D8YDyX7o.js → yara-hooks-C4HOysrM.js} +4 -4
- package/dist/{yara-hooks-D8YDyX7o.js.map → yara-hooks-C4HOysrM.js.map} +1 -1
- package/dist/{yara-hooks-CZ1tKxy_.js → yara-hooks-DV4EkkZY.js} +1 -1
- package/package.json +2 -1
- package/dist/agent-interface-CemBvTAA.js.map +0 -1
- package/dist/analytics-B3ROGuIr.js +0 -2
- package/dist/analytics-D21z3E5l.js.map +0 -1
- package/dist/api-IhROOQNv.js +0 -2
- package/dist/api-key-login-OEntFvu5.js +0 -2
- package/dist/install-paPCzPHI.js.map +0 -1
- package/dist/main-0p-YxUNa.js.map +0 -1
- package/dist/posthog-integration-bwHwE87a.js.map +0 -1
- package/dist/programs-BhtyA3lE.js +0 -3
- package/dist/programs-SeT1qNik.js.map +0 -1
- package/dist/provisioning-BcXfeCMc.js +0 -2
- package/dist/results-DtKICAdz.js.map +0 -1
- package/dist/run-CDurA5tO.js.map +0 -1
- package/dist/run-DDCvLILJ.js.map +0 -1
- package/dist/run-tool-CTq9OOdT.js +0 -2
- package/dist/runners-Dhu4pZTN.js.map +0 -1
- package/dist/security-DEH8Rn0_.js.map +0 -1
- package/dist/subagent-CnFvAq6E.js.map +0 -1
- package/dist/task-BOScSm4W.js.map +0 -1
- package/dist/terminal-J3OD3dN0.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { n as ErrorCodes } from "./emit-
|
|
2
|
-
import { o as logToFile } from "./debug-
|
|
3
|
-
import { ct as getLocalDev, n as analytics, ot as POSTHOG_LOCAL_URL, st as checkLocalServices } from "./analytics-
|
|
4
|
-
import { a as PostHogDestination, c as buildSession, d as SessionStore,
|
|
5
|
-
import { t as classifyRunFailure } from "./errors-
|
|
6
|
-
import { n as printAbortOutro, t as consoleLog } from "./console-log-
|
|
7
|
-
import { m as runCleanups } from "./agent-interface-
|
|
8
|
-
import {
|
|
1
|
+
import { n as ErrorCodes } from "./emit-BqLCdV8Y.js";
|
|
2
|
+
import { o as logToFile } from "./debug-sB20p-Ek.js";
|
|
3
|
+
import { ct as getLocalDev, n as analytics, ot as POSTHOG_LOCAL_URL, st as checkLocalServices } from "./analytics-CGGE7OSa.js";
|
|
4
|
+
import { a as PostHogDestination, c as buildSession, d as SessionStore, i as createWizardRunSync, nt as getAuditChecks, o as createFileDestination, r as TaskStreamPush, t as apiKeyCredentials, u as runProgram } from "./programs-Ml6OLybj.js";
|
|
5
|
+
import { t as classifyRunFailure } from "./errors-DhFeR8Sp.js";
|
|
6
|
+
import { n as printAbortOutro, t as consoleLog } from "./console-log-DJiTqYT2.js";
|
|
7
|
+
import { m as runCleanups } from "./agent-interface-BFzBnz10.js";
|
|
8
|
+
import { y as loadWizardFlags } from "./posthog-integration-FAWfClH3.js";
|
|
9
9
|
import { t as modeLabel } from "./mode-label-DB3ol_sj.js";
|
|
10
|
-
import { n as startHostExit, r as wizardAbort, t as registerShutdown } from "./wizard-abort-
|
|
10
|
+
import { n as startHostExit, r as wizardAbort, t as registerShutdown } from "./wizard-abort-BX3O4Hg4.js";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import "node:fs";
|
|
13
13
|
//#region src/shared/ci-gateway.ts
|
|
@@ -243,4 +243,4 @@ async function main(config, launch, exit) {
|
|
|
243
243
|
//#endregion
|
|
244
244
|
export { runHeadless };
|
|
245
245
|
|
|
246
|
-
//# sourceMappingURL=run-
|
|
246
|
+
//# sourceMappingURL=run-C6Ei6vvb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-C6Ei6vvb.js","names":[],"sources":["../src/shared/ci-gateway.ts","../src/headless/renderers/progress-log.ts","../src/headless/renderers/logging-ui.ts","../src/headless/run.ts"],"sourcesContent":["import { readFileSync } from 'node:fs';\nimport { IS_PRODUCTION_BUILD, runtimeEnv } from '@env';\nimport type { GatewayCredential } from '@shared/api';\nimport type { CloudRegion } from '@utils/types';\n\n/** The pre-issued gateway token a dev or test `--ci` run uses, read once and then cleared from the environment. */\nexport function readCiGatewayCredential(\n region: CloudRegion,\n): GatewayCredential {\n if (IS_PRODUCTION_BUILD)\n throw new Error('CI gateway auth requires a non-production build');\n const path = runtimeEnv('WIZARD_CI_GATEWAY_TOKEN_FILE');\n if (!path) throw new Error('WIZARD_CI_GATEWAY_TOKEN_FILE is required for CI');\n const token = readFileSync(path, 'utf8');\n delete process.env.WIZARD_CI_GATEWAY_TOKEN_FILE;\n return {\n token,\n url:\n runtimeEnv('WIZARD_CI_GATEWAY_URL') ||\n `https://ai-gateway.${region}.posthog.com`,\n };\n}\n","/** A run's progress as log lines: one `LoggingUI` call per event that has something to print. */\nimport type { SpinnerHandle } from '@agent/types';\nimport type { ProgramProgress } from '@programs/types';\nimport type { LoggingUI } from './logging-ui';\n\nexport function logProgress(\n log: LoggingUI,\n): (progress: ProgramProgress) => void {\n let spinner: SpinnerHandle | undefined;\n return ({ event }) => {\n switch (event.kind) {\n case 'lifecycle':\n if (event.phase === 'completed') log.outro(event.message);\n return;\n case 'spinner': {\n const handle = (spinner ??= log.spinner());\n handle[event.action](event.message);\n return;\n }\n case 'log':\n log.log[event.level](event.message);\n return;\n case 'status':\n log.pushStatus(event.message);\n return;\n case 'tasks':\n log.syncTodos(event.tasks);\n return;\n case 'authError':\n log.showAuthError(event.detail);\n return;\n case 'stage':\n case 'url':\n case 'usage':\n case 'finalCost':\n case 'handoff':\n case 'completion':\n case 'binding':\n return;\n case 'activity':\n // Step lines belong to the caller that asked for them, not the run UI.\n return;\n default: {\n const unhandled: never = event;\n throw new Error(\n `Unhandled agent progress: ${JSON.stringify(unhandled)}`,\n );\n }\n }\n };\n}\n","/* eslint-disable no-console */\n/**\n * LoggingUI — Logging-only implementation for CI mode.\n * No prompts, no TUI, no interactivity. Just console output.\n */\n\nimport { consoleLog } from '@shared/console-log';\nimport { TaskStatus } from '@shared/task-status';\nimport type { AuthErrorDetail, SpinnerHandle } from '@agent/types';\n\nexport class LoggingUI {\n intro = (message: string): void => consoleLog.intro(message);\n outro = (message: string): void => consoleLog.outro(message);\n log = consoleLog.log;\n\n spinner(): SpinnerHandle {\n return {\n start(message?: string) {\n if (message) console.log(`◌ ${message}`);\n },\n stop(message?: string) {\n if (message) console.log(`● ${message}`);\n },\n message(msg?: string) {\n if (msg) console.log(`◌ ${msg}`);\n },\n };\n }\n\n pushStatus(message: string): void {\n console.log(`◇ ${message}`);\n }\n\n showAuthError(detail?: AuthErrorDetail): void {\n console.log(`✖ Authentication failed (401)`);\n if (detail?.hasSettingsConflict) {\n console.log(\n `│ Claude Code auth is conflicting with the wizard. Please try again after logging out:`,\n );\n console.log(`│ claude auth logout`);\n } else {\n console.log(\n `│ The PostHog LLM Gateway rejected the API key. Common causes:`,\n );\n console.log(\n `│ - Wrong key type: pass a personal API key (phx_xxx). pha_ is an OAuth access token, phc_ is a project key.`,\n );\n console.log(\n `│ - Missing scope: the personal API key needs the \"llm_gateway:read\" scope.`,\n );\n console.log(`│ - Expired or revoked key.`);\n console.log(\n `│ - Region mismatch: --region must match the region the key was issued in (us vs eu).`,\n );\n }\n if (detail?.logFilePath) {\n console.log(`│ Verbose log: ${detail.logFilePath}`);\n }\n }\n\n private lastTodoLine = '';\n\n syncTodos(\n todos: Array<{\n id?: string;\n source?: string;\n content: string;\n status: string;\n activeForm?: string;\n }>,\n ): void {\n const completed = todos.filter(\n (t) => t.status === TaskStatus.Completed,\n ).length;\n const active = todos.filter((t) => t.status === TaskStatus.InProgress);\n if (active.length === 0) return;\n const labels = active.map((t) => t.activeForm || t.content).join(' · ');\n const line = `◌ [${completed}/${todos.length}] ${labels}`;\n // The queue re-renders on every transition; print only what changed.\n if (line === this.lastTodoLine) return;\n this.lastTodoLine = line;\n console.log(line);\n }\n}\n","/**\n * The headless host: one program run with no screens. It builds its own\n * session store, prints progress as log lines, streams the run's state, and\n * calls `runProgram`. The CLI builds the launch values and owns the signals.\n */\nimport { join } from 'node:path';\nimport {\n apiKeyCredentials,\n buildSession,\n createFileDestination,\n createWizardRunSync,\n getAuditChecks,\n loadWizardFlags,\n PostHogDestination,\n RunOutcome,\n runProgram,\n SessionStore,\n TaskStreamPush,\n} from '@programs';\nimport type {\n ProgramConfig,\n SessionArgs,\n TaskStreamOutcome,\n} from '@programs/types';\nimport { readCiGatewayCredential } from '@shared/ci-gateway';\nimport { ErrorCodes, classifyRunFailure } from '@shared/errors';\nimport {\n checkLocalServices,\n getLocalDev,\n POSTHOG_LOCAL_URL,\n} from '@shared/local-dev';\nimport { OutroKind } from '@shared/outro';\nimport { RunPhase } from '@shared/run-state';\nimport { POSTHOG_DOCS_URL } from '@shared/constants';\nimport { analytics } from '@utils/analytics';\nimport { runCleanups } from '@utils/cleanup';\nimport { logToFile } from '@utils/debug';\nimport { printAbortOutro } from '@shared/console-log';\nimport {\n registerShutdown,\n startHostExit,\n wizardAbort,\n type HostExit,\n} from '@host/wizard-abort';\nimport { modeLabel } from './mode-label';\nimport { logProgress } from './renderers/progress-log';\nimport { LoggingUI } from './renderers/logging-ui';\n\n/**\n * The two non-interactive run modes. Both drive the same pipeline today; the\n * mode is threaded explicitly (rather than sniffed from a flag) so the dispatch\n * picks an entry point — runWizardCI vs runWizardHeadless — and this core stays\n * mode-agnostic except at the few documented forks. The string values double as\n * the analytics `build` tag, so they segment runs in analytics and on\n * LLM-gateway traces (which read analytics.build).\n */\nexport type NonInteractiveMode = 'ci' | 'headless';\n\nexport type HeadlessLaunch = {\n mode: NonInteractiveMode;\n session: SessionArgs; // launch values, flags already merged over the environment\n taskStreamLog?: string; // --task-stream-log: a path, or '' for the default one\n runId?: string; // the cloud WizardRun this run reports under\n signal: AbortSignal; // the CLI aborts it on SIGINT, SIGTERM or SIGHUP, with the signal name as the reason\n};\n\n/** Run `config` headlessly. Resolves with the exit code: 0, a failure's through `wizardAbort`, or 130 or 143 on a signal. */\nexport function runHeadless(\n config: ProgramConfig,\n launch: HeadlessLaunch,\n): Promise<number> {\n const exit = startHostExit();\n void main(config, launch, exit).catch((error: unknown) => exit.fail(error));\n return exit.exited;\n}\n\nasync function main(\n config: ProgramConfig,\n launch: HeadlessLaunch,\n exit: HostExit,\n): Promise<void> {\n const log = new LoggingUI();\n const abortHost = { present: printAbortOutro, exit };\n analytics.setTag('build', launch.mode);\n\n const store = new SessionStore(buildSession({ ...launch.session, ci: true }));\n if (config.skillId) store.update({ skillId: config.skillId });\n const { session } = store;\n\n log.intro('Welcome to the PostHog setup wizard');\n log.log.info(`Running ${config.id} in ${modeLabel(launch.mode)} mode`);\n\n // Before auth: a dead local PostHog otherwise surfaces as \"Failed to fetch\n // user data\". Aborts even non-interactively — a CI run pointed at a local\n // server that isn't there is testing nothing.\n const localServicesError = await checkLocalServices({\n ...getLocalDev(),\n localMcp: session.localMcp,\n localPosthog: session.baseUrl === POSTHOG_LOCAL_URL,\n });\n if (localServicesError) {\n await wizardAbort(abortHost, {\n code: ErrorCodes.EnvLocalServicesDown,\n message: localServicesError,\n });\n return;\n }\n\n // Headless streams run state to the PostHog backend so the web app can show\n // live progress. Headless pushes to PostHog (the web app is that run's only\n // UI); `--ci` is synthetic, so it dumps locally and pushes nothing. Telemetry\n // consent gates the push only.\n // `''` resolves to the default path, so `--ci` always dumps.\n const logTarget =\n launch.mode === 'ci' ? launch.taskStreamLog ?? '' : launch.taskStreamLog;\n const fileDestination = createFileDestination(logTarget);\n const posthogDestination =\n launch.mode === 'headless' && !session.noTelemetry\n ? new PostHogDestination({\n getCredentials: () => store.session.credentials,\n onError: (e) => logToFile('[headless task-stream]', e.message),\n })\n : null;\n const destinations = [\n ...(posthogDestination ? [posthogDestination] : []),\n ...(fileDestination ? [fileDestination] : []),\n ];\n const taskStream = new TaskStreamPush({\n store,\n getFlags: () => analytics.getCachedWizardFlags(),\n programId: config.streamWorkflowId ?? config.id,\n runSync: createWizardRunSync({\n mode: launch.mode,\n programId: config.id,\n assignedId: launch.runId,\n noTelemetry: session.noTelemetry,\n getSession: () => store.session,\n }),\n destinations,\n eventPlanPath: config.eventPlanFile\n ? join(session.installDir, config.eventPlanFile)\n : undefined,\n auditChecks: config.auditLedgerFile\n ? () => getAuditChecks(store.session)\n : undefined,\n enabled: destinations.length > 0,\n });\n taskStream.attach();\n if (fileDestination) {\n logToFile(`[task-stream] ${launch.mode} dump: ${fileDestination.path}`);\n }\n\n // wizardAbort ends the run, so flush the terminal phase before any exit.\n // No-op for CI.\n const settleStream = async (outcome: TaskStreamOutcome): Promise<void> => {\n if (outcome !== 'completed') store.setRunPhase(RunPhase.Error);\n await taskStream.shutdown(2000, outcome);\n unregisterShutdown();\n };\n const unregisterShutdown = registerShutdown((outcome) =>\n settleStream(outcome),\n );\n\n // A signal cancels the run and any pending question, then ends it 130 or 143.\n const runAbort = new AbortController();\n const onSignal = (): void => {\n runAbort.abort();\n runCleanups();\n void settleStream('cancelled').then(() =>\n wizardAbort(abortHost, {\n exitCode: launch.signal.reason === 'SIGTERM' ? 143 : 130,\n }),\n );\n };\n if (launch.signal.aborted) return onSignal();\n launch.signal.addEventListener('abort', onSignal, { once: true });\n\n const credentials = apiKeyCredentials(session.apiKey ?? '', {\n region: session.region,\n baseUrl: session.baseUrl,\n localMcp: session.localMcp,\n projectId: session.projectId,\n onInfo: (message) => log.log.info(message),\n onWarning: (message) => log.log.warn(message),\n });\n\n try {\n if (launch.mode === 'ci') {\n store.update({\n ciGateway: readCiGatewayCredential(session.region ?? 'us'),\n });\n }\n\n const result = await runProgram(\n config.id,\n { store, config },\n {\n credentials,\n onProgress: logProgress(log),\n featureFlags: loadWizardFlags,\n signal: runAbort.signal,\n },\n );\n // A signal cancelled the run; its handler settles and ends it.\n if (runAbort.signal.aborted) return;\n\n if (result.outcome === RunOutcome.Crashed) throw result.failure?.error;\n if (result.outcome !== RunOutcome.Success) {\n if (result.failure?.authErrorDetail) {\n log.showAuthError(result.failure.authErrorDetail);\n }\n // The store already holds the error outro, so the stream's last push carries its code.\n await wizardAbort(abortHost, {\n ...result.failure,\n status: result.outcome === RunOutcome.Aborted ? 'cancelled' : 'error',\n });\n return;\n }\n try {\n await analytics.shutdown('success');\n } catch (error) {\n logToFile('[agent-runner] analytics shutdown failed:', error);\n }\n await settleStream('completed');\n launch.signal.removeEventListener('abort', onSignal);\n exit.end(0);\n } catch (error) {\n if (runAbort.signal.aborted) return;\n const errorMessage = error instanceof Error ? error.message : String(error);\n const errorStack =\n error instanceof Error && error.stack ? error.stack : undefined;\n logToFile(`[${launch.mode}] ERROR: ${errorMessage}`);\n if (errorStack) logToFile(`[${launch.mode}] STACK: ${errorStack}`);\n\n const debugInfo =\n store.session.debug && errorStack ? `\\n\\n${errorStack}` : '';\n const docsUrl =\n store.session.frameworkConfig?.metadata.docsUrl ??\n (typeof config.run === 'object' ? config.run.docsUrl : undefined) ??\n POSTHOG_DOCS_URL;\n // A coded failure is a decision with its own message; anything else is\n // unexpected and gets the generic framing.\n const failure = classifyRunFailure(error);\n store.setOutroData({\n kind: OutroKind.Error,\n message: errorMessage,\n errorCode: failure.code,\n });\n store.setRunPhase(RunPhase.Error);\n await wizardAbort(abortHost, {\n code: failure.code,\n message: failure.coded\n ? `${errorMessage}${debugInfo}`\n : `Something went wrong: ${errorMessage}\\n\\nYou can read the documentation at ${docsUrl} to set up manually.${debugInfo}`,\n error: error as Error,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { n as ErrorCodes, t as emitWizardError } from "./emit-
|
|
2
|
-
import { f as VERSION, i as getLogFilePath, o as logToFile } from "./debug-
|
|
3
|
-
import { M as POSTHOG_DOCS_URL, O as OAUTH_PORTS, ct as getLocalDev, k as OAUTH_TIMEOUT_MS, n as analytics, rt as getSkillsBaseUrl, st as checkLocalServices, y as GITHUB_SKILLS_BASE_URL } from "./analytics-
|
|
4
|
-
import { c as buildSession, it as
|
|
5
|
-
import { a as WizardError, t as classifyRunFailure } from "./errors-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
1
|
+
import { n as ErrorCodes, t as emitWizardError } from "./emit-BqLCdV8Y.js";
|
|
2
|
+
import { f as VERSION, i as getLogFilePath, o as logToFile } from "./debug-sB20p-Ek.js";
|
|
3
|
+
import { M as POSTHOG_DOCS_URL, O as OAUTH_PORTS, ct as getLocalDev, k as OAUTH_TIMEOUT_MS, n as analytics, rt as getSkillsBaseUrl, st as checkLocalServices, y as GITHUB_SKILLS_BASE_URL } from "./analytics-CGGE7OSa.js";
|
|
4
|
+
import { c as buildSession, it as SIGNUP_WIZARD_READINESS_CONFIG, k as getProgramConfig, m as logIn, ot as getBlockingServiceKeys } from "./programs-Ml6OLybj.js";
|
|
5
|
+
import { a as WizardError, t as classifyRunFailure } from "./errors-DhFeR8Sp.js";
|
|
6
|
+
import { r as readFileHead } from "./bounded-fs-DwL2Tasp.js";
|
|
7
|
+
import { n as printAbortOutro } from "./console-log-DJiTqYT2.js";
|
|
8
|
+
import { T as readNeedsAttention, m as runCleanups, w as NEEDS_ATTENTION_HEADING } from "./agent-interface-BFzBnz10.js";
|
|
9
|
+
import { A as formatCostUsd, T as scanInstalledSkill, j as formatTokenCount } from "./posthog-integration-FAWfClH3.js";
|
|
10
|
+
import { _ as downloadSkill, y as fetchSkillMenu } from "./yara-hooks-C4HOysrM.js";
|
|
11
|
+
import { n as namesWithStatus, r as redactSecrets, s as toClientResult } from "./results-ycm_Tf31.js";
|
|
12
|
+
import { c as flushAnalytics } from "./tools-BZseGChD.js";
|
|
12
13
|
import { t as ALL_FEATURE_VALUES } from "./defaults-DDVl3tKN.js";
|
|
13
|
-
import { n as startHostExit, r as wizardAbort } from "./wizard-abort-
|
|
14
|
-
import { a as installPlugins, i as getSupportedPluginClients, n as getInstalledClients, o as removeMCPServer, r as getSupportedClients, s as isPluginCapable } from "./install-
|
|
14
|
+
import { n as startHostExit, r as wizardAbort } from "./wizard-abort-BX3O4Hg4.js";
|
|
15
|
+
import { a as installPlugins, i as getSupportedPluginClients, n as getInstalledClients, o as removeMCPServer, r as getSupportedClients, s as isPluginCapable } from "./install-Dh8Z5R15.js";
|
|
15
16
|
import { a as useStdoutDimensions, h as Icons, m as Colors, n as useKeyBindings, t as PickerMenu } from "./PickerMenu-BGGeYqd-.js";
|
|
16
|
-
import { B as totalTokenCount, G as ModalOverlay, H as LogViewer, I as HNViewer, J as ProgressList, K as ConfirmationInput, L as TabContainer, M as IntroScreenLayout, N as PRIVACY_PANEL_LABEL, P as PrivacyPanel, Q as getContentBlocks, R as ScreenContainer, T as McpScreen, U as LinkText, V as EventPlanViewer, W as extractUrls, X as SplitView, Y as LoadingBox, _ as getTuiTool, a as SlackConnectScreen, b as extractOAuthCode, c as LearnCard, d as MINT_FAILURE_BODY, f as MINT_FAILURE_CONTACT, g as listFlowOwners, h as flowOwner, i as OutroScreen, k as useDismissOnAnyKey, l as AiOptInRequiredScreen, m as isRunFailure, n as releaseTerminal, o as TipsCard, p as MINT_FAILURE_MESSAGE, r as WizardStore, s as VisualizerTab, t as enterDarkTerminal, u as ServiceHealthList, x as abortOnScreens, y as getOrAskForProjectData } from "./terminal-
|
|
17
|
-
import path from "path";
|
|
17
|
+
import { B as totalTokenCount, G as ModalOverlay, H as LogViewer, I as HNViewer, J as ProgressList, K as ConfirmationInput, L as TabContainer, M as IntroScreenLayout, N as PRIVACY_PANEL_LABEL, P as PrivacyPanel, Q as getContentBlocks, R as ScreenContainer, T as McpScreen, U as LinkText, V as EventPlanViewer, W as extractUrls, X as SplitView, Y as LoadingBox, _ as getTuiTool, a as SlackConnectScreen, b as extractOAuthCode, c as LearnCard, d as MINT_FAILURE_BODY, f as MINT_FAILURE_CONTACT, g as listFlowOwners, h as flowOwner, i as OutroScreen, k as useDismissOnAnyKey, l as AiOptInRequiredScreen, m as isRunFailure, n as releaseTerminal, o as TipsCard, p as MINT_FAILURE_MESSAGE, r as WizardStore, s as VisualizerTab, t as enterDarkTerminal, u as ServiceHealthList, x as abortOnScreens, y as getOrAskForProjectData } from "./terminal-D20JFN3J.js";
|
|
18
|
+
import path, { join } from "path";
|
|
18
19
|
import { tmpdir } from "node:os";
|
|
19
20
|
import path$1, { join as join$1 } from "node:path";
|
|
20
21
|
import { spawn } from "node:child_process";
|
|
@@ -2199,6 +2200,8 @@ const RESET_ATTRS = "\x1B[0m";
|
|
|
2199
2200
|
const GREEN = "\x1B[32m";
|
|
2200
2201
|
const BOLD = "\x1B[1m";
|
|
2201
2202
|
const DIM = "\x1B[2m";
|
|
2203
|
+
const YELLOW = "\x1B[33m";
|
|
2204
|
+
const REPORT_HEAD_BYTES = 16 * 1024;
|
|
2202
2205
|
/**
|
|
2203
2206
|
* Mirrors the hidden Ctrl+T HUD's tally into post-exit scrollback — but only
|
|
2204
2207
|
* when the HUD is actually visible at exit (`store.tokenHudVisible`, which
|
|
@@ -2225,7 +2228,20 @@ function mcpLoginBlock(store) {
|
|
|
2225
2228
|
if (!commands || commands.length === 0) return null;
|
|
2226
2229
|
return `${GREEN}${BOLD}\u2714 Authenticate to finish (opens your browser):${RESET_ATTRS}\n` + commands.join("\n");
|
|
2227
2230
|
}
|
|
2231
|
+
/** The report's warning items, from the published handoff or else the report file. */
|
|
2232
|
+
function needsAttentionBlock(store) {
|
|
2233
|
+
const reportFile = store.session.outroData?.reportFile;
|
|
2234
|
+
const markdown = store.handoffText ?? (reportFile ? readFileHead(join(store.session.installDir, reportFile), REPORT_HEAD_BYTES) : null);
|
|
2235
|
+
const items = markdown ? readNeedsAttention(markdown) : [];
|
|
2236
|
+
if (items.length === 0) return null;
|
|
2237
|
+
return `${YELLOW}${BOLD}⚠ ${NEEDS_ATTENTION_HEADING}:${RESET_ATTRS}\n` + items.map((item) => ` • ${item}`).join("\n");
|
|
2238
|
+
}
|
|
2228
2239
|
function getExitLine(store) {
|
|
2240
|
+
const attention = isRunFailure(store.session) ? null : needsAttentionBlock(store);
|
|
2241
|
+
const body = exitSummary(store);
|
|
2242
|
+
return attention ? `${attention}\n\n${body}` : body;
|
|
2243
|
+
}
|
|
2244
|
+
function exitSummary(store) {
|
|
2229
2245
|
const outro = store.session.outroData;
|
|
2230
2246
|
const label = store.programLabel ?? "Wizard";
|
|
2231
2247
|
const costLine = tokenCostLine(store);
|
|
@@ -2417,4 +2433,4 @@ function reportFatal(error) {
|
|
|
2417
2433
|
//#endregion
|
|
2418
2434
|
export { startTUI as a, runTuiTool as i, localServicesError as n, oauthCredentials as o, reportFatal as r, driveTuiTool as t };
|
|
2419
2435
|
|
|
2420
|
-
//# sourceMappingURL=run-tool-
|
|
2436
|
+
//# sourceMappingURL=run-tool-CrN2xWzU.js.map
|