@posthog/wizard 2.77.0 → 2.79.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 +50 -26
- package/dist/{add-mcp-server-to-clients-BnRyE4pw.js → add-mcp-server-to-clients-amlJWW7W.js} +6 -5
- package/dist/{add-mcp-server-to-clients-BnRyE4pw.js.map → add-mcp-server-to-clients-amlJWW7W.js.map} +1 -1
- package/dist/agent-CNrEC-9v.js +3184 -0
- package/dist/agent-CNrEC-9v.js.map +1 -0
- package/dist/{agent-interface-Avtr_5M5.js → agent-interface-BXvmAm4c.js} +462 -385
- package/dist/agent-interface-BXvmAm4c.js.map +1 -0
- package/dist/{agent-prompt-loader-CHixNPgY.js → agent-prompt-loader-DiKUbhi_.js} +6 -6
- package/dist/agent-prompt-loader-DiKUbhi_.js.map +1 -0
- package/dist/analytics-DxwRi2Hf.js +2 -0
- package/dist/{analytics-C67F2vee.js → analytics-VRYdebXW.js} +10 -6
- package/dist/analytics-VRYdebXW.js.map +1 -0
- package/dist/{api-Dj1yabTj.js → api-DGuJTzjr.js} +4 -17
- package/dist/api-DGuJTzjr.js.map +1 -0
- package/dist/bin.js +415 -70
- package/dist/bin.js.map +1 -1
- package/dist/{bounded-fs-CWRYuLAn.js → bounded-fs-Cpn129A4.js} +4 -4
- package/dist/bounded-fs-Cpn129A4.js.map +1 -0
- package/dist/check-screens.tsx +1 -1
- package/dist/{ci-install-CvXL5h13.js → ci-install-BPA6gzEq.js} +6 -5
- package/dist/ci-install-BPA6gzEq.js.map +1 -0
- package/dist/constants-CuJfQEcC.js +260 -0
- package/dist/constants-CuJfQEcC.js.map +1 -0
- package/dist/{debug-CziFS0cA.js → debug-B9k4ideV.js} +1 -1
- package/dist/debug-Cj-8vfXY.js +171 -0
- package/dist/debug-Cj-8vfXY.js.map +1 -0
- package/dist/{defaults-4c4YwTmW.js → defaults-C6J7yL4O.js} +1 -1
- package/dist/{defaults-4c4YwTmW.js.map → defaults-C6J7yL4O.js.map} +1 -1
- package/dist/endpoints-DnIX0pZH.js +108 -0
- package/dist/endpoints-DnIX0pZH.js.map +1 -0
- package/dist/{env-api-key-BZ5wE3Y4.js → env-api-key-BWdKpGEr.js} +3 -3
- package/dist/env-api-key-BWdKpGEr.js.map +1 -0
- package/dist/{environment-BEvsey6i.js → environment-DZYUSCpV.js} +6 -6
- package/dist/environment-DZYUSCpV.js.map +1 -0
- package/dist/{errors-BoJvrdw8.js → errors-ddDE6MbA.js} +27 -76
- package/dist/errors-ddDE6MbA.js.map +1 -0
- package/dist/{file-BoD3REGB.js → file-dEhr-l3n.js} +3 -3
- package/dist/file-dEhr-l3n.js.map +1 -0
- package/dist/{file-watcher-BPFazvG_.js → file-watcher-CPM-Nn9L.js} +2 -2
- package/dist/{file-watcher-BPFazvG_.js.map → file-watcher-CPM-Nn9L.js.map} +1 -1
- package/dist/{gateway-session-xPFv6p5c.js → gateway-CVU1G0H3.js} +205 -20
- package/dist/gateway-CVU1G0H3.js.map +1 -0
- package/dist/generate-version.cjs +1 -1
- package/dist/{headless-ui-CsmQrDIl.js → headless-ui-pY2xB5ug.js} +13 -2
- package/dist/headless-ui-pY2xB5ug.js.map +1 -0
- package/dist/{interactive-Dej-sxvR.js → interactive-BOGlinZe.js} +2 -2
- package/dist/interactive-BOGlinZe.js.map +1 -0
- package/dist/{local-dev-DPZiIPCK.js → local-dev-McsurOC-.js} +2 -2
- package/dist/local-dev-McsurOC-.js.map +1 -0
- package/dist/logging-ui-CUxNYF2t.js +226 -0
- package/dist/logging-ui-CUxNYF2t.js.map +1 -0
- package/dist/mcp-JcsBBnWv.js +97 -0
- package/dist/mcp-JcsBBnWv.js.map +1 -0
- package/dist/{mcp-prompt-streaming-BU_kuur_.js → mcp-prompt-streaming-B-p_Pvb2.js} +7 -6
- package/dist/mcp-prompt-streaming-B-p_Pvb2.js.map +1 -0
- package/dist/{mint-failure-BrleGqMd.js → mint-failure-CZFZpHpW.js} +749 -130
- package/dist/mint-failure-CZFZpHpW.js.map +1 -0
- package/dist/models-DnAY67Lg.js +83 -0
- package/dist/models-DnAY67Lg.js.map +1 -0
- package/dist/{non-interactive-DcOjH2fw.js → non-interactive-DR1CWXY1.js} +3 -3
- package/dist/non-interactive-DR1CWXY1.js.map +1 -0
- package/dist/oauth-session-CQTFOk-I.js +74 -0
- package/dist/oauth-session-CQTFOk-I.js.map +1 -0
- package/dist/{orchestrator-tools-DXwr8Sp3.js → orchestrator-tools-CBdt-SXO.js} +4 -4
- package/dist/orchestrator-tools-CBdt-SXO.js.map +1 -0
- package/dist/{package-json-xt3eeyBI.js → package-json-DY70kkNp.js} +2 -2
- package/dist/package-json-DY70kkNp.js.map +1 -0
- package/dist/{pi-mY8I2XkG.js → pi-BtqcLX3y.js} +444 -81
- package/dist/pi-BtqcLX3y.js.map +1 -0
- package/dist/{playground-CDUUKLkC.js → playground-Dz-ZVjBk.js} +11 -7
- package/dist/playground-Dz-ZVjBk.js.map +1 -0
- package/dist/{posthog-Hc_-9wrr.js → posthog-6Uqw_Eux.js} +9 -4
- package/dist/posthog-6Uqw_Eux.js.map +1 -0
- package/dist/{provisioning-xfdjhFtA.js → provisioning-Zf7yPcEs.js} +6 -5
- package/dist/provisioning-Zf7yPcEs.js.map +1 -0
- package/dist/{queue-tools-C8y_xZJi.js → queue-tools-B7_aCyd-.js} +7 -86
- package/dist/queue-tools-B7_aCyd-.js.map +1 -0
- package/dist/{registry-DTmREJ-f.js → registry-B6iLGorH.js} +307 -48
- package/dist/registry-B6iLGorH.js.map +1 -0
- package/dist/run-agent-legacy-6WcYMaR9.js +3541 -0
- package/dist/run-agent-legacy-6WcYMaR9.js.map +1 -0
- package/dist/{security-Dw2oFJjP.js → security-lkBwWbrK.js} +17 -7
- package/dist/security-lkBwWbrK.js.map +1 -0
- package/dist/{setup-utils-fjJTBhaB.js → setup-utils-dCViCC6s.js} +47 -19
- package/dist/setup-utils-dCViCC6s.js.map +1 -0
- package/dist/smoke-test.sh +1 -1
- package/dist/{start-tui-UNe2xQ0U.js → start-tui-oCWMgsDP.js} +40 -46
- package/dist/start-tui-oCWMgsDP.js.map +1 -0
- package/dist/{steps-C2yqOk_h.js → steps-gx0Pq4I4.js} +7 -7
- package/dist/{steps-C2yqOk_h.js.map → steps-gx0Pq4I4.js.map} +1 -1
- package/dist/{store-Bic4Cr3L.js → store-xYy_6Ruv.js} +19 -29
- package/dist/store-xYy_6Ruv.js.map +1 -0
- package/dist/{subagent-Dz41vV9j.js → subagent-Bfy0sfhU.js} +8 -3
- package/dist/subagent-Bfy0sfhU.js.map +1 -0
- package/dist/{task-5-fw_Vw3.js → task-BOfw7GPc.js} +124 -36
- package/dist/task-BOfw7GPc.js.map +1 -0
- package/dist/{task-stream-dVzl6b_q.js → task-stream-kYlm9qd0.js} +47 -17
- package/dist/task-stream-kYlm9qd0.js.map +1 -0
- package/dist/{tasks-D1c2z1aw.js → tasks-Bbv_lOBG.js} +17 -13
- package/dist/tasks-Bbv_lOBG.js.map +1 -0
- package/dist/{telemetry-BRnxBRWK.js → telemetry-Bpv-Mh5B.js} +5 -5
- package/dist/telemetry-Bpv-Mh5B.js.map +1 -0
- package/dist/{terminal-9bvRa4Qt.js → terminal-D07EQ2y0.js} +41 -76
- package/dist/terminal-D07EQ2y0.js.map +1 -0
- package/dist/{tools-Dp6i9k70.js → tools-Cc41af5W.js} +11 -11
- package/dist/tools-Cc41af5W.js.map +1 -0
- package/dist/ui-CGXtC7Vn.js +15 -0
- package/dist/ui-CGXtC7Vn.js.map +1 -0
- package/dist/version-Cadof0Z_.js +6 -0
- package/dist/version-Cadof0Z_.js.map +1 -0
- package/dist/warlock-smoke-test.ts +2 -2
- package/dist/{wizard-abort-lE6umflt.js → wizard-abort-HDbP3YcS.js} +23 -20
- package/dist/wizard-abort-HDbP3YcS.js.map +1 -0
- package/dist/wizard-abort-Y-Ip2K4z.js +3 -0
- package/dist/{wizard-session-FSJCkTcP.js → wizard-session-2w4Ru-Wz.js} +12 -16
- package/dist/wizard-session-2w4Ru-Wz.js.map +1 -0
- package/dist/wizard-session-DGaUHOF3.js +2 -0
- package/dist/wizard-ui-DoyOZxK8.js +16 -0
- package/dist/wizard-ui-DoyOZxK8.js.map +1 -0
- package/dist/yara-hooks-B49RIk5d.js +2 -0
- package/dist/{yara-hooks-BTNJ6MGW.js → yara-hooks-DCfROpZt.js} +19 -68
- package/dist/yara-hooks-DCfROpZt.js.map +1 -0
- package/package.json +2 -1
- package/dist/agent-interface-Avtr_5M5.js.map +0 -1
- package/dist/agent-prompt-loader-CHixNPgY.js.map +0 -1
- package/dist/agent-runner-COOIUJCP.js +0 -6188
- package/dist/agent-runner-COOIUJCP.js.map +0 -1
- package/dist/analytics-C67F2vee.js.map +0 -1
- package/dist/analytics-CJA1uLlk.js +0 -2
- package/dist/api-Dj1yabTj.js.map +0 -1
- package/dist/bounded-fs-CWRYuLAn.js.map +0 -1
- package/dist/ci-install-CvXL5h13.js.map +0 -1
- package/dist/debug-B4kzIZPi.js +0 -754
- package/dist/debug-B4kzIZPi.js.map +0 -1
- package/dist/env-api-key-BZ5wE3Y4.js.map +0 -1
- package/dist/environment-BEvsey6i.js.map +0 -1
- package/dist/errors-BoJvrdw8.js.map +0 -1
- package/dist/file-BoD3REGB.js.map +0 -1
- package/dist/gateway-session-C118uACz.js +0 -2
- package/dist/gateway-session-xPFv6p5c.js.map +0 -1
- package/dist/headless-ui-CsmQrDIl.js.map +0 -1
- package/dist/interactive-Dej-sxvR.js.map +0 -1
- package/dist/local-dev-DPZiIPCK.js.map +0 -1
- package/dist/mcp-Cbuw_xss.js +0 -64
- package/dist/mcp-Cbuw_xss.js.map +0 -1
- package/dist/mcp-prompt-streaming-BU_kuur_.js.map +0 -1
- package/dist/mint-failure-BrleGqMd.js.map +0 -1
- package/dist/non-interactive-DcOjH2fw.js.map +0 -1
- package/dist/orchestrator-tools-DXwr8Sp3.js.map +0 -1
- package/dist/package-json-xt3eeyBI.js.map +0 -1
- package/dist/package-manager-DR23m5Jg.js +0 -290
- package/dist/package-manager-DR23m5Jg.js.map +0 -1
- package/dist/pi-mY8I2XkG.js.map +0 -1
- package/dist/playground-CDUUKLkC.js.map +0 -1
- package/dist/posthog-Hc_-9wrr.js.map +0 -1
- package/dist/provisioning-xfdjhFtA.js.map +0 -1
- package/dist/queue-tools-C8y_xZJi.js.map +0 -1
- package/dist/registry-DTmREJ-f.js.map +0 -1
- package/dist/security-Dw2oFJjP.js.map +0 -1
- package/dist/setup-utils-fjJTBhaB.js.map +0 -1
- package/dist/start-tui-UNe2xQ0U.js.map +0 -1
- package/dist/store-Bic4Cr3L.js.map +0 -1
- package/dist/subagent-Dz41vV9j.js.map +0 -1
- package/dist/task-5-fw_Vw3.js.map +0 -1
- package/dist/task-stream-dVzl6b_q.js.map +0 -1
- package/dist/tasks-D1c2z1aw.js.map +0 -1
- package/dist/telemetry-BRnxBRWK.js.map +0 -1
- package/dist/terminal-9bvRa4Qt.js.map +0 -1
- package/dist/tools-Dp6i9k70.js.map +0 -1
- package/dist/wizard-abort-CAcInAxg.js +0 -2
- package/dist/wizard-abort-lE6umflt.js.map +0 -1
- package/dist/wizard-session-CYvyYnti.js +0 -2
- package/dist/wizard-session-FSJCkTcP.js.map +0 -1
- package/dist/yara-hooks-BTNJ6MGW.js.map +0 -1
- package/dist/yara-hooks-CFY4pGcW.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks-Bbv_lOBG.js","names":[],"sources":["../src/agent/runner/harness/pi/tasks.ts"],"sourcesContent":["/**\n * Task/todo parity for pi (#526). The same four Task tools the anthropic path\n * exposes (TaskCreate/Update/Get/List), as pi `defineTool` tools backed by a\n * shared in-memory store. Every mutation reports the list through `onSync`\n * (a `tasks` progress event), so the todo panel updates live under pi exactly\n * like the anthropic path — the thing that was missing before.\n */\n\nimport { randomUUID } from 'node:crypto';\nimport { Type } from 'typebox';\nimport { defineTool } from '@earendil-works/pi-coding-agent';\nimport type { ToolDefinition } from '@earendil-works/pi-coding-agent';\nimport type { TaskSnapshot } from '@agent/progress';\n\nexport type TaskStatus = 'pending' | 'in_progress' | 'completed';\nexport interface TaskEntry {\n content: string;\n status: TaskStatus;\n activeForm?: string;\n}\nexport type TaskStore = Map<string, TaskEntry>;\n\nfunction text(s: string): {\n content: [{ type: 'text'; text: string }];\n details: unknown;\n} {\n return { content: [{ type: 'text', text: s }], details: {} };\n}\n\nfunction snapshot(store: TaskStore, source: string): TaskSnapshot[] {\n return Array.from(store.entries()).map(([id, t]) => ({\n id: `${source}:${id}`,\n source,\n content: t.content,\n status: t.status,\n activeForm: t.activeForm,\n }));\n}\n\n/** Build the four Task tools over a fresh store. `onSync` gets the list after every mutation. */\nexport function createWizardPiTaskTools(\n onSync: (tasks: TaskSnapshot[]) => void = () => undefined,\n): {\n tools: ToolDefinition[];\n store: TaskStore;\n} {\n const store: TaskStore = new Map();\n const source = randomUUID();\n const syncToTui = (): void => onSync(snapshot(store, source));\n\n const taskCreate = defineTool({\n name: 'TaskCreate',\n label: 'Create task',\n description:\n 'Create a task in the shared todo list. Returns its assigned id.',\n promptSnippet:\n 'TaskCreate(content) — add a todo (surfaces progress in the UI)',\n parameters: Type.Object({\n content: Type.String({ description: 'Imperative task description' }),\n activeForm: Type.Optional(\n Type.String({ description: 'Present-continuous form for the spinner' }),\n ),\n }),\n // eslint-disable-next-line @typescript-eslint/require-await -- pi tool contract returns a Promise\n async execute(_id, args) {\n const id = `task-${store.size + 1}`;\n store.set(id, {\n content: args.content,\n status: 'pending',\n activeForm: args.activeForm,\n });\n syncToTui();\n return text(`Created ${id}`);\n },\n });\n\n const taskUpdate = defineTool({\n name: 'TaskUpdate',\n label: 'Update task',\n description:\n 'Update an existing task by id (status, content, or activeForm).',\n promptSnippet:\n 'TaskUpdate(taskId, status) — mark a todo in_progress/completed',\n parameters: Type.Object({\n taskId: Type.String(),\n status: Type.Optional(\n Type.Union([\n Type.Literal('pending'),\n Type.Literal('in_progress'),\n Type.Literal('completed'),\n ]),\n ),\n content: Type.Optional(Type.String()),\n activeForm: Type.Optional(Type.String()),\n }),\n // eslint-disable-next-line @typescript-eslint/require-await -- pi tool contract returns a Promise\n async execute(_id, args) {\n const existing = store.get(args.taskId);\n if (!existing) return text(`No such task: ${args.taskId}`);\n store.set(args.taskId, {\n content: args.content ?? existing.content,\n status: (args.status as TaskStatus) ?? existing.status,\n activeForm: args.activeForm ?? existing.activeForm,\n });\n syncToTui();\n return text(`Updated ${args.taskId}`);\n },\n });\n\n const taskGet = defineTool({\n name: 'TaskGet',\n label: 'Get task',\n description: 'Fetch a single task by id.',\n parameters: Type.Object({ taskId: Type.String() }),\n // eslint-disable-next-line @typescript-eslint/require-await -- pi tool contract returns a Promise\n async execute(_id, args) {\n const t = store.get(args.taskId);\n return text(\n t\n ? JSON.stringify({ id: args.taskId, ...t })\n : `No such task: ${args.taskId}`,\n );\n },\n });\n\n const taskList = defineTool({\n name: 'TaskList',\n label: 'List tasks',\n description: 'List all tasks in the shared todo list.',\n parameters: Type.Object({}),\n // eslint-disable-next-line @typescript-eslint/require-await -- pi tool contract returns a Promise\n async execute() {\n return text(\n JSON.stringify(\n Array.from(store.entries()).map(([id, t]) => ({ id, ...t })),\n ),\n );\n },\n });\n\n return { tools: [taskCreate, taskUpdate, taskGet, taskList], store };\n}\n"],"mappings":";;;;;;;;;;;AAsBA,SAAS,KAAK,GAGZ;AACA,QAAO;EAAE,SAAS,CAAC;GAAE,MAAM;GAAQ,MAAM;GAAG,CAAC;EAAE,SAAS,EAAE;EAAE;;AAG9D,SAAS,SAAS,OAAkB,QAAgC;AAClE,QAAO,MAAM,KAAK,MAAM,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ;EACnD,IAAI,GAAG,OAAO,GAAG;EACjB;EACA,SAAS,EAAE;EACX,QAAQ,EAAE;EACV,YAAY,EAAE;EACf,EAAE;;;AAIL,SAAgB,wBACd,eAAgD,KAAA,GAIhD;CACA,MAAM,wBAAmB,IAAI,KAAK;CAClC,MAAM,SAAS,YAAY;CAC3B,MAAM,kBAAwB,OAAO,SAAS,OAAO,OAAO,CAAC;AA4F7D,QAAO;EAAE,OAAO;GA1FG,WAAW;IAC5B,MAAM;IACN,OAAO;IACP,aACE;IACF,eACE;IACF,YAAY,KAAK,OAAO;KACtB,SAAS,KAAK,OAAO,EAAE,aAAa,+BAA+B,CAAC;KACpE,YAAY,KAAK,SACf,KAAK,OAAO,EAAE,aAAa,2CAA2C,CAAC,CACxE;KACF,CAAC;IAEF,MAAM,QAAQ,KAAK,MAAM;KACvB,MAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,WAAM,IAAI,IAAI;MACZ,SAAS,KAAK;MACd,QAAQ;MACR,YAAY,KAAK;MAClB,CAAC;AACF,gBAAW;AACX,YAAO,KAAK,WAAW,KAAK;;IAE/B,CAAC;GAEiB,WAAW;IAC5B,MAAM;IACN,OAAO;IACP,aACE;IACF,eACE;IACF,YAAY,KAAK,OAAO;KACtB,QAAQ,KAAK,QAAQ;KACrB,QAAQ,KAAK,SACX,KAAK,MAAM;MACT,KAAK,QAAQ,UAAU;MACvB,KAAK,QAAQ,cAAc;MAC3B,KAAK,QAAQ,YAAY;MAC1B,CAAC,CACH;KACD,SAAS,KAAK,SAAS,KAAK,QAAQ,CAAC;KACrC,YAAY,KAAK,SAAS,KAAK,QAAQ,CAAC;KACzC,CAAC;IAEF,MAAM,QAAQ,KAAK,MAAM;KACvB,MAAM,WAAW,MAAM,IAAI,KAAK,OAAO;AACvC,SAAI,CAAC,SAAU,QAAO,KAAK,iBAAiB,KAAK,SAAS;AAC1D,WAAM,IAAI,KAAK,QAAQ;MACrB,SAAS,KAAK,WAAW,SAAS;MAClC,QAAS,KAAK,UAAyB,SAAS;MAChD,YAAY,KAAK,cAAc,SAAS;MACzC,CAAC;AACF,gBAAW;AACX,YAAO,KAAK,WAAW,KAAK,SAAS;;IAExC,CAAC;GAEc,WAAW;IACzB,MAAM;IACN,OAAO;IACP,aAAa;IACb,YAAY,KAAK,OAAO,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAElD,MAAM,QAAQ,KAAK,MAAM;KACvB,MAAM,IAAI,MAAM,IAAI,KAAK,OAAO;AAChC,YAAO,KACL,IACI,KAAK,UAAU;MAAE,IAAI,KAAK;MAAQ,GAAG;MAAG,CAAC,GACzC,iBAAiB,KAAK,SAC3B;;IAEJ,CAAC;GAEe,WAAW;IAC1B,MAAM;IACN,OAAO;IACP,aAAa;IACb,YAAY,KAAK,OAAO,EAAE,CAAC;IAE3B,MAAM,UAAU;AACd,YAAO,KACL,KAAK,UACH,MAAM,KAAK,MAAM,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ;MAAE;MAAI,GAAG;MAAG,EAAE,CAC7D,CACF;;IAEJ,CAAC;GAEyD;EAAE;EAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./debug-
|
|
2
|
-
import { n as analytics } from "./analytics-
|
|
1
|
+
import "./debug-Cj-8vfXY.js";
|
|
2
|
+
import { n as analytics } from "./analytics-VRYdebXW.js";
|
|
3
3
|
import opn from "opn";
|
|
4
|
-
//#region src/utils/links.ts
|
|
4
|
+
//#region src/shared/utils/links.ts
|
|
5
5
|
/**
|
|
6
6
|
* Outbound links: UTM tagging and tracked opens.
|
|
7
7
|
*
|
|
@@ -54,7 +54,7 @@ function openTrackedLink(url, content, opts) {
|
|
|
54
54
|
opn(finalUrl, { wait: false }).catch(() => {});
|
|
55
55
|
}
|
|
56
56
|
//#endregion
|
|
57
|
-
//#region src/telemetry.ts
|
|
57
|
+
//#region src/shared/utils/telemetry.ts
|
|
58
58
|
function withProgress(step, callback) {
|
|
59
59
|
updateProgress(step);
|
|
60
60
|
return callback();
|
|
@@ -65,4 +65,4 @@ function updateProgress(step) {
|
|
|
65
65
|
//#endregion
|
|
66
66
|
export { withUtm as i, openTrackedLink as n, setEntryCommand as r, withProgress as t };
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=telemetry-
|
|
68
|
+
//# sourceMappingURL=telemetry-Bpv-Mh5B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry-Bpv-Mh5B.js","names":[],"sources":["../src/shared/utils/links.ts","../src/shared/utils/telemetry.ts"],"sourcesContent":["/**\n * Outbound links: UTM tagging and tracked opens.\n *\n * Every URL the wizard sends a user to — auto-opened or printed in the TUI —\n * carries `utm_source=wizard`, `utm_medium=cli`, `utm_content=<which link>`.\n * The command dimension rides on every wizard event as the `command` tag.\n * Opening a link also captures a wizard event.\n */\nimport opn from 'opn';\nimport { NODE_ENV } from '@env';\nimport { analytics } from './analytics';\n\n/**\n * Record the CLI command this run was started with (e.g. `integrate`,\n * `slack`, `mcp-add`). Set once at dispatch; tagged onto every wizard\n * event so wizard-side events segment by command.\n */\nexport function setEntryCommand(command: string): void {\n analytics.setTag('command', command);\n}\n\n/**\n * Tag a URL with the wizard's UTM params. `content` names the specific link\n * (e.g. `oauth-signup`, `slack-connect-setup`). URLs that already carry a\n * utm_source — or don't parse — are returned untouched.\n */\nexport function withUtm(url: string, content: string): string {\n let parsed: URL;\n try {\n parsed = new URL(url);\n } catch {\n return url;\n }\n if (parsed.searchParams.has('utm_source')) return url;\n parsed.searchParams.set('utm_source', 'wizard');\n parsed.searchParams.set('utm_medium', 'cli');\n parsed.searchParams.set('utm_content', content);\n return parsed.toString();\n}\n\n/**\n * Open a URL in the user's browser, UTM-tagged (pass `skipUtm` for\n * destinations that aren't PostHog properties or are already final), and\n * capture the interaction. `auto` marks opens the wizard initiated itself,\n * as opposed to a user picking a link on screen. opn throws in headless\n * environments — the URL is always also printed on screen, so the failure\n * is swallowed.\n */\nexport function openTrackedLink(\n url: string,\n content: string,\n opts?: { auto?: boolean; skipUtm?: boolean },\n): void {\n const finalUrl = opts?.skipUtm ? url : withUtm(url, content);\n analytics.wizardCapture('link opened', {\n content,\n url: finalUrl,\n auto: opts?.auto ?? false,\n });\n if (NODE_ENV !== 'test') {\n opn(finalUrl, { wait: false }).catch(() => {\n // No browser available — the printed URL is the fallback.\n });\n }\n}\n","import { analytics } from './analytics';\n\nexport function withProgress<T>(step: string, callback: () => T): T {\n updateProgress(step);\n return callback();\n}\n\nexport function updateProgress(step: string) {\n analytics.setTag('progress', step);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,SAAgB,gBAAgB,SAAuB;AACrD,WAAU,OAAO,WAAW,QAAQ;;;;;;;AAQtC,SAAgB,QAAQ,KAAa,SAAyB;CAC5D,IAAI;AACJ,KAAI;AACF,WAAS,IAAI,IAAI,IAAI;SACf;AACN,SAAO;;AAET,KAAI,OAAO,aAAa,IAAI,aAAa,CAAE,QAAO;AAClD,QAAO,aAAa,IAAI,cAAc,SAAS;AAC/C,QAAO,aAAa,IAAI,cAAc,MAAM;AAC5C,QAAO,aAAa,IAAI,eAAe,QAAQ;AAC/C,QAAO,OAAO,UAAU;;;;;;;;;;AAW1B,SAAgB,gBACd,KACA,SACA,MACM;CACN,MAAM,WAAW,MAAM,UAAU,MAAM,QAAQ,KAAK,QAAQ;AAC5D,WAAU,cAAc,eAAe;EACrC;EACA,KAAK;EACL,MAAM,MAAM,QAAQ;EACrB,CAAC;AAEA,KAAI,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,YAAY,GAEzC;;;;AC5DN,SAAgB,aAAgB,MAAc,UAAsB;AAClE,gBAAe,KAAK;AACpB,QAAO,UAAU;;AAGnB,SAAgB,eAAe,MAAc;AAC3C,WAAU,OAAO,YAAY,KAAK"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { s as logToFile } from "./debug-Cj-8vfXY.js";
|
|
2
|
+
import { $ as getSkillsBaseUrl, D as POSTHOG_APP_URL, Q as WIZARD_USER_AGENT } from "./constants-CuJfQEcC.js";
|
|
3
|
+
import "./wizard-session-2w4Ru-Wz.js";
|
|
4
|
+
import { n as analytics } from "./analytics-VRYdebXW.js";
|
|
5
|
+
import { i as withUtm, n as openTrackedLink } from "./telemetry-Bpv-Mh5B.js";
|
|
6
|
+
import { t as getOrAskForProjectData } from "./setup-utils-dCViCC6s.js";
|
|
7
|
+
import { n as SERVICE_LABELS } from "./logging-ui-CUxNYF2t.js";
|
|
8
|
+
import { a as fetchSlackConnected, o as fetchUserData } from "./api-DGuJTzjr.js";
|
|
9
|
+
import { et as fetchSkillMenu } from "./agent-interface-BXvmAm4c.js";
|
|
10
|
+
import { o as formatCostUsd, s as formatTokenCount } from "./agent-CNrEC-9v.js";
|
|
11
|
+
import { u as AUDIT_SEVERITY_STYLE } from "./run-agent-legacy-6WcYMaR9.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-CZFZpHpW.js";
|
|
11
13
|
import { a as useStdoutDimensions, i as useKeyboardHintsContext, n as useKeyBindings, o as ConfirmButton, r as KeyboardHintsProvider, s as PromptLabel, t as PickerMenu } from "./bin.js";
|
|
12
|
-
import { r as totalTokenCount } from "./store-
|
|
13
|
-
import { c as isOk, f as summarizeFailure, l as namesWithStatus, n as AVAILABLE_FEATURES, o as isAllFeaturesSelected, t as ALL_FEATURE_VALUES } from "./defaults-
|
|
14
|
+
import { r as totalTokenCount } from "./store-xYy_6Ruv.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-C6J7yL4O.js";
|
|
14
16
|
import opn from "opn";
|
|
15
17
|
import * as fs$1 from "fs";
|
|
16
18
|
import axios from "axios";
|
|
@@ -86,8 +88,8 @@ const ProgressList = ({ items, title }) => {
|
|
|
86
88
|
}), /* @__PURE__ */ jsx(Text, { children: " " })] }),
|
|
87
89
|
visible.length === 0 && /* @__PURE__ */ jsx(LoadingBox, { message: "Analyzing project..." }),
|
|
88
90
|
visible.map((item, i) => {
|
|
89
|
-
const icon = item.status === "completed" ? Icons.squareFilled : item.status === "in_progress" ? Icons.triangleRight : Icons.squareOpen;
|
|
90
|
-
const color = item.status === "completed" ? Colors.success : item.status === "in_progress" ? Colors.primary : Colors.muted;
|
|
91
|
+
const icon = item.status === "failed" ? Icons.warning : item.status === "completed" ? Icons.squareFilled : item.status === "in_progress" ? Icons.triangleRight : Icons.squareOpen;
|
|
92
|
+
const color = item.status === "failed" ? Colors.error : item.status === "completed" ? Colors.success : item.status === "in_progress" ? Colors.primary : Colors.muted;
|
|
91
93
|
const label = item.status === "in_progress" && item.activeForm ? item.activeForm : item.label;
|
|
92
94
|
return /* @__PURE__ */ jsxs(Text, {
|
|
93
95
|
wrap: "truncate",
|
|
@@ -1595,8 +1597,8 @@ const BlockRenderer = ({ block, active, completed, onComplete, mode, bullet, ani
|
|
|
1595
1597
|
/**
|
|
1596
1598
|
* LearnCard — Generic render shell for an animated content deck.
|
|
1597
1599
|
*
|
|
1598
|
-
*
|
|
1599
|
-
*
|
|
1600
|
+
* Callers pass the script via `blocks`. The script lives under
|
|
1601
|
+
* `src/ui/tui/decks/<name>/`. The shell handles
|
|
1600
1602
|
* dimension tracking, status-bar height math, and the `display="none"`
|
|
1601
1603
|
* clamp on narrow terminals.
|
|
1602
1604
|
*/
|
|
@@ -1640,7 +1642,6 @@ const LearnCard = ({ store, blocks, onComplete }) => {
|
|
|
1640
1642
|
/**
|
|
1641
1643
|
* TipsCard — Shows PostHog tips during the agent run.
|
|
1642
1644
|
* Reactively shows/hides tips based on discovered features.
|
|
1643
|
-
* Supports toggling additional features via key bindings.
|
|
1644
1645
|
*/
|
|
1645
1646
|
/**
|
|
1646
1647
|
* The default deck — generic PostHog onboarding tips, shown for any
|
|
@@ -1672,25 +1673,9 @@ const DEFAULT_TIPS = [
|
|
|
1672
1673
|
description: "Add Stripe as a data source while you wait:",
|
|
1673
1674
|
url: "https://app.posthog.com/data-warehouse/new-source?kind=Stripe",
|
|
1674
1675
|
visible: (store) => store.session.discoveredFeatures.includes("stripe")
|
|
1675
|
-
},
|
|
1676
|
-
{
|
|
1677
|
-
id: "llm",
|
|
1678
|
-
title: "PostHog can also help you track your LLM costs",
|
|
1679
|
-
description: "",
|
|
1680
|
-
visible: (store) => store.session.discoveredFeatures.includes("llm"),
|
|
1681
|
-
toggle: {
|
|
1682
|
-
key: "l",
|
|
1683
|
-
feature: "llm",
|
|
1684
|
-
enabledLabel: "AI observability setup queued next",
|
|
1685
|
-
prompt: "We detected LLM dependencies in your project.",
|
|
1686
|
-
isEnabled: (store) => store.session.llmOptIn
|
|
1687
|
-
}
|
|
1688
1676
|
}
|
|
1689
1677
|
];
|
|
1690
1678
|
const TipsCard = ({ store, tips = DEFAULT_TIPS }) => {
|
|
1691
|
-
useInput((input) => {
|
|
1692
|
-
for (const tip of tips) if (tip.toggle && input.toLowerCase() === tip.toggle.key && (!tip.visible || tip.visible(store)) && !tip.toggle.isEnabled(store)) store.enableFeature(tip.toggle.feature);
|
|
1693
|
-
});
|
|
1694
1679
|
return /* @__PURE__ */ jsxs(Box, {
|
|
1695
1680
|
flexDirection: "column",
|
|
1696
1681
|
paddingX: 1,
|
|
@@ -1710,28 +1695,7 @@ const TipsCard = ({ store, tips = DEFAULT_TIPS }) => {
|
|
|
1710
1695
|
}), /* @__PURE__ */ jsx(Text, {
|
|
1711
1696
|
bold: true,
|
|
1712
1697
|
children: tip.title
|
|
1713
|
-
})] }),
|
|
1714
|
-
color: Colors.success,
|
|
1715
|
-
children: [
|
|
1716
|
-
Icons.check,
|
|
1717
|
-
" ",
|
|
1718
|
-
tip.toggle.enabledLabel
|
|
1719
|
-
]
|
|
1720
|
-
}) : /* @__PURE__ */ jsxs(Text, {
|
|
1721
|
-
dimColor: true,
|
|
1722
|
-
children: [
|
|
1723
|
-
tip.toggle.prompt,
|
|
1724
|
-
" Press",
|
|
1725
|
-
" ",
|
|
1726
|
-
/* @__PURE__ */ jsx(Text, {
|
|
1727
|
-
bold: true,
|
|
1728
|
-
color: Colors.accent,
|
|
1729
|
-
children: tip.toggle.key.toUpperCase()
|
|
1730
|
-
}),
|
|
1731
|
-
" ",
|
|
1732
|
-
"to enable."
|
|
1733
|
-
]
|
|
1734
|
-
}) : /* @__PURE__ */ jsxs(Text, {
|
|
1698
|
+
})] }), /* @__PURE__ */ jsxs(Text, {
|
|
1735
1699
|
dimColor: true,
|
|
1736
1700
|
children: [tip.description, tip.url && /* @__PURE__ */ jsxs(Fragment$1, { children: [" ", /* @__PURE__ */ jsx(Text, {
|
|
1737
1701
|
color: "cyan",
|
|
@@ -5813,6 +5777,12 @@ const Legend = () => /* @__PURE__ */ jsxs(Text, { children: [
|
|
|
5813
5777
|
})
|
|
5814
5778
|
] });
|
|
5815
5779
|
//#endregion
|
|
5780
|
+
//#region src/shared/utils/count-noun.ts
|
|
5781
|
+
/** `1 error`, `2 errors`, `0 errors`. Zero stays plural. */
|
|
5782
|
+
function countNoun(n, noun, plural = `${noun}s`) {
|
|
5783
|
+
return `${n} ${n === 1 ? noun : plural}`;
|
|
5784
|
+
}
|
|
5785
|
+
//#endregion
|
|
5816
5786
|
//#region src/ui/tui/screens/audit/AuditChecksViewer/Header.tsx
|
|
5817
5787
|
function statusCounts(checks) {
|
|
5818
5788
|
const out = {
|
|
@@ -5851,24 +5821,16 @@ const Header = ({ layout }) => /* @__PURE__ */ jsxs(Box, { children: [
|
|
|
5851
5821
|
})
|
|
5852
5822
|
})
|
|
5853
5823
|
] });
|
|
5854
|
-
const Summary = ({ total, counts }) => /* @__PURE__ */
|
|
5824
|
+
const Summary = ({ total, counts }) => /* @__PURE__ */ jsx(Text, {
|
|
5855
5825
|
dimColor: true,
|
|
5856
5826
|
children: [
|
|
5857
|
-
total
|
|
5858
|
-
|
|
5859
|
-
counts.
|
|
5860
|
-
|
|
5861
|
-
counts.
|
|
5862
|
-
"
|
|
5863
|
-
|
|
5864
|
-
counts.warning,
|
|
5865
|
-
" warnings · ",
|
|
5866
|
-
counts.suggestion,
|
|
5867
|
-
" suggestions · ",
|
|
5868
|
-
counts.pass,
|
|
5869
|
-
" ",
|
|
5870
|
-
"passes"
|
|
5871
|
-
]
|
|
5827
|
+
`${total} total`,
|
|
5828
|
+
`${counts.pending} pending`,
|
|
5829
|
+
countNoun(counts.error, "error"),
|
|
5830
|
+
countNoun(counts.warning, "warning"),
|
|
5831
|
+
countNoun(counts.suggestion, "suggestion"),
|
|
5832
|
+
countNoun(counts.pass, "pass", "passes")
|
|
5833
|
+
].join(" · ")
|
|
5872
5834
|
});
|
|
5873
5835
|
//#endregion
|
|
5874
5836
|
//#region src/ui/tui/screens/audit/AuditChecksViewer/Footer.tsx
|
|
@@ -6323,7 +6285,7 @@ const ReportVisual = () => /* @__PURE__ */ jsxs(VisualBox, { children: [
|
|
|
6323
6285
|
const WriteReportSlide = {
|
|
6324
6286
|
area: "Write report",
|
|
6325
6287
|
intro: [
|
|
6326
|
-
"Now we write an audit report at ./posthog-audit-report.md
|
|
6288
|
+
"Now we write an audit report at ./posthog-audit-report.md that summarizes our findings.",
|
|
6327
6289
|
"The report leads with a summary, then a prioritized list of fixes with file:line citations, then every check we ran grouped by area so nothing is hidden.",
|
|
6328
6290
|
"We will upload the report into a PostHog notebook in the next step."
|
|
6329
6291
|
],
|
|
@@ -6744,7 +6706,10 @@ const OutroScreen = ({ store }) => {
|
|
|
6744
6706
|
})
|
|
6745
6707
|
] })
|
|
6746
6708
|
}),
|
|
6747
|
-
outroData.notebookUrl && /* @__PURE__ */ jsx(Box, {
|
|
6709
|
+
outroData.notebookUrl && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Box, {
|
|
6710
|
+
marginTop: 1,
|
|
6711
|
+
children: /* @__PURE__ */ jsx(Text, { children: "The wizard has set up PostHog in your codebase and written a full report of what it instrumented. Read the notebook for more details!" })
|
|
6712
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
6748
6713
|
marginTop: 1,
|
|
6749
6714
|
children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
6750
6715
|
"Notebook:",
|
|
@@ -6754,7 +6719,7 @@ const OutroScreen = ({ store }) => {
|
|
|
6754
6719
|
children: withUtm(outroData.notebookUrl, "outro-notebook")
|
|
6755
6720
|
})
|
|
6756
6721
|
] })
|
|
6757
|
-
}),
|
|
6722
|
+
})] }),
|
|
6758
6723
|
outroData.dashboardUrl && /* @__PURE__ */ jsx(Box, {
|
|
6759
6724
|
marginTop: 1,
|
|
6760
6725
|
children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
@@ -7226,6 +7191,6 @@ function releaseTerminal() {
|
|
|
7226
7191
|
process.stdout.write(RESET_ATTRS + LEAVE_ALT_SCREEN);
|
|
7227
7192
|
}
|
|
7228
7193
|
//#endregion
|
|
7229
|
-
export {
|
|
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 };
|
|
7230
7195
|
|
|
7231
|
-
//# sourceMappingURL=terminal-
|
|
7196
|
+
//# sourceMappingURL=terminal-D07EQ2y0.js.map
|