@posthog/wizard 2.57.0 → 2.58.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 (94) hide show
  1. package/dist/{add-mcp-server-to-clients-DWYny51f.js → add-mcp-server-to-clients-63P59vxz.js} +4 -4
  2. package/dist/{add-mcp-server-to-clients-DWYny51f.js.map → add-mcp-server-to-clients-63P59vxz.js.map} +1 -1
  3. package/dist/{agent-interface-IhcyCUgQ.js → agent-interface-DX6gTS9D.js} +54 -7
  4. package/dist/agent-interface-DX6gTS9D.js.map +1 -0
  5. package/dist/{agent-prompt-loader-QEyGIPE9.js → agent-prompt-loader-B6gToq6A.js} +5 -5
  6. package/dist/{agent-prompt-loader-QEyGIPE9.js.map → agent-prompt-loader-B6gToq6A.js.map} +1 -1
  7. package/dist/{agent-runner-CDW7mVZ4.js → agent-runner-Dp581Sva.js} +14 -16
  8. package/dist/{agent-runner-CDW7mVZ4.js.map → agent-runner-Dp581Sva.js.map} +1 -1
  9. package/dist/analytics-BJ8Iz5jm.js +2 -0
  10. package/dist/{analytics-BmiE0b4q.js → analytics-Bvq5-kCh.js} +2 -2
  11. package/dist/{analytics-BmiE0b4q.js.map → analytics-Bvq5-kCh.js.map} +1 -1
  12. package/dist/{api--kCd-MRf.js → api-Ca6ntEhK.js} +3 -3
  13. package/dist/{api--kCd-MRf.js.map → api-Ca6ntEhK.js.map} +1 -1
  14. package/dist/bin.js +38 -38
  15. package/dist/{bounded-fs-RsEDeRrP.js → bounded-fs-B4JlDu5o.js} +3 -3
  16. package/dist/{bounded-fs-RsEDeRrP.js.map → bounded-fs-B4JlDu5o.js.map} +1 -1
  17. package/dist/{ci-install-SRdZ4OhM.js → ci-install-Dv13uR0A.js} +4 -4
  18. package/dist/{ci-install-SRdZ4OhM.js.map → ci-install-Dv13uR0A.js.map} +1 -1
  19. package/dist/{debug-Cs5Fbwx3.js → debug-CXSslVYE.js} +1 -1
  20. package/dist/{debug-l3bYkVA9.js → debug-Di-I0xld.js} +4 -3
  21. package/dist/debug-Di-I0xld.js.map +1 -0
  22. package/dist/{environment-BX5O4Uej.js → environment-CDirVbtE.js} +4 -4
  23. package/dist/{environment-BX5O4Uej.js.map → environment-CDirVbtE.js.map} +1 -1
  24. package/dist/{file-watcher-BKXpTqdO.js → file-watcher-NMZvcGgN.js} +2 -2
  25. package/dist/{file-watcher-BKXpTqdO.js.map → file-watcher-NMZvcGgN.js.map} +1 -1
  26. package/dist/{headless-ui-H5sds5fF.js → headless-ui-DdWlD7hz.js} +5 -2
  27. package/dist/{headless-ui-H5sds5fF.js.map → headless-ui-DdWlD7hz.js.map} +1 -1
  28. package/dist/{interactive-zP7oNtJ6.js → interactive-CafIogBs.js} +2 -2
  29. package/dist/{interactive-zP7oNtJ6.js.map → interactive-CafIogBs.js.map} +1 -1
  30. package/dist/{mcp-5Ts84uw0.js → mcp-BNSNGjkQ.js} +2 -2
  31. package/dist/{mcp-5Ts84uw0.js.map → mcp-BNSNGjkQ.js.map} +1 -1
  32. package/dist/{mcp-prompt-streaming-Cs9Sxyrz.js → mcp-prompt-streaming-Cm51cE2c.js} +3 -3
  33. package/dist/{mcp-prompt-streaming-Cs9Sxyrz.js.map → mcp-prompt-streaming-Cm51cE2c.js.map} +1 -1
  34. package/dist/{non-interactive-BL47SIBm.js → non-interactive-B5Mw8p2W.js} +2 -2
  35. package/dist/{non-interactive-BL47SIBm.js.map → non-interactive-B5Mw8p2W.js.map} +1 -1
  36. package/dist/{orchestrator-tools-BpfcJjlz.js → orchestrator-tools-BpC54zL6.js} +3 -3
  37. package/dist/{orchestrator-tools-BpfcJjlz.js.map → orchestrator-tools-BpC54zL6.js.map} +1 -1
  38. package/dist/{package-manager-8tumrjdV.js → package-manager-C04G-yHj.js} +2 -2
  39. package/dist/{package-manager-8tumrjdV.js.map → package-manager-C04G-yHj.js.map} +1 -1
  40. package/dist/{pi-D7QKZ4IT.js → pi-CUwlmNp-.js} +11 -11
  41. package/dist/{pi-D7QKZ4IT.js.map → pi-CUwlmNp-.js.map} +1 -1
  42. package/dist/{playground-wNJgUbxf.js → playground-BOiANd3j.js} +6 -6
  43. package/dist/{playground-wNJgUbxf.js.map → playground-BOiANd3j.js.map} +1 -1
  44. package/dist/{posthog-DDLIrku0.js → posthog-Dz1JvV4p.js} +6 -2
  45. package/dist/posthog-Dz1JvV4p.js.map +1 -0
  46. package/dist/{posthog-integration-B4wOLuEM.js → posthog-integration-BbzluO9E.js} +24 -41
  47. package/dist/{posthog-integration-B4wOLuEM.js.map → posthog-integration-BbzluO9E.js.map} +1 -1
  48. package/dist/{provisioning-CuDNuYSJ.js → provisioning-BiZdXls3.js} +3 -3
  49. package/dist/{provisioning-CuDNuYSJ.js.map → provisioning-BiZdXls3.js.map} +1 -1
  50. package/dist/{queue-tools-DuDCyoOG.js → queue-tools-CogIYMnp.js} +3 -3
  51. package/dist/{queue-tools-DuDCyoOG.js.map → queue-tools-CogIYMnp.js.map} +1 -1
  52. package/dist/{registry-CwBz0S7O.js → registry-Cre35rWW.js} +5 -5
  53. package/dist/{registry-CwBz0S7O.js.map → registry-Cre35rWW.js.map} +1 -1
  54. package/dist/{security-DXTPsgKR.js → security-CbqWpm90.js} +4 -4
  55. package/dist/{security-DXTPsgKR.js.map → security-CbqWpm90.js.map} +1 -1
  56. package/dist/{setup-utils-DOCb_7Ib.js → setup-utils-DJzrAj8A.js} +8 -8
  57. package/dist/{setup-utils-DOCb_7Ib.js.map → setup-utils-DJzrAj8A.js.map} +1 -1
  58. package/dist/{start-tui-CXREjnJj.js → start-tui-DI-CdvAc.js} +21 -18
  59. package/dist/start-tui-DI-CdvAc.js.map +1 -0
  60. package/dist/{steps-BrhxUACc.js → steps-BG1S5Jcd.js} +7 -7
  61. package/dist/{steps-BrhxUACc.js.map → steps-BG1S5Jcd.js.map} +1 -1
  62. package/dist/{store-FMLVFTMn.js → store-DM0yBeJ8.js} +15 -4
  63. package/dist/store-DM0yBeJ8.js.map +1 -0
  64. package/dist/{subagent-BI7hcEfB.js → subagent-wK5z6Uwj.js} +2 -2
  65. package/dist/{subagent-BI7hcEfB.js.map → subagent-wK5z6Uwj.js.map} +1 -1
  66. package/dist/{task-z832Sfpx.js → task-DsdeBF3X.js} +14 -13
  67. package/dist/task-DsdeBF3X.js.map +1 -0
  68. package/dist/{task-stream-BXJjJ1wq.js → task-stream-CkkIJLFH.js} +7 -5
  69. package/dist/task-stream-CkkIJLFH.js.map +1 -0
  70. package/dist/{tasks-q7aRIZdo.js → tasks-CVqcXShx.js} +2 -2
  71. package/dist/{tasks-q7aRIZdo.js.map → tasks-CVqcXShx.js.map} +1 -1
  72. package/dist/{telemetry-BGm0PRse.js → telemetry-C5Aokvv-.js} +3 -3
  73. package/dist/{telemetry-BGm0PRse.js.map → telemetry-C5Aokvv-.js.map} +1 -1
  74. package/dist/{terminal-BY9GL1HK.js → terminal-CeyBQI8S.js} +11 -11
  75. package/dist/{terminal-BY9GL1HK.js.map → terminal-CeyBQI8S.js.map} +1 -1
  76. package/dist/{tools-C88_ihfS.js → tools-DqWBgJbS.js} +19 -7
  77. package/dist/tools-DqWBgJbS.js.map +1 -0
  78. package/dist/{wizard-abort-DWJ77MGo.js → wizard-abort-DjVeqr37.js} +1 -1
  79. package/dist/{wizard-abort-BY5rsRqQ.js → wizard-abort-XOuqDEDH.js} +3 -3
  80. package/dist/{wizard-abort-BY5rsRqQ.js.map → wizard-abort-XOuqDEDH.js.map} +1 -1
  81. package/dist/yara-hooks-CoSmTEgf.js +2 -0
  82. package/dist/{yara-hooks-CRz1ArdP.js → yara-hooks-QuIJX1gt.js} +4 -4
  83. package/dist/{yara-hooks-CRz1ArdP.js.map → yara-hooks-QuIJX1gt.js.map} +1 -1
  84. package/package.json +1 -1
  85. package/dist/agent-interface-IhcyCUgQ.js.map +0 -1
  86. package/dist/analytics-CTAQuXio.js +0 -2
  87. package/dist/debug-l3bYkVA9.js.map +0 -1
  88. package/dist/posthog-DDLIrku0.js.map +0 -1
  89. package/dist/start-tui-CXREjnJj.js.map +0 -1
  90. package/dist/store-FMLVFTMn.js.map +0 -1
  91. package/dist/task-stream-BXJjJ1wq.js.map +0 -1
  92. package/dist/task-z832Sfpx.js.map +0 -1
  93. package/dist/tools-C88_ihfS.js.map +0 -1
  94. package/dist/yara-hooks-CPcHyeur.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-q7aRIZdo.js","names":[],"sources":["../src/lib/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 pushes the list to the TUI via\n * `getUI().syncTodos`, so the todo panel updates live under pi exactly like the\n * anthropic path — the thing that was missing before.\n */\n\nimport { Type } from 'typebox';\nimport { defineTool } from '@earendil-works/pi-coding-agent';\nimport type { ToolDefinition } from '@earendil-works/pi-coding-agent';\nimport { getUI } from '@ui';\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 syncToTui(store: TaskStore): void {\n getUI().syncTodos(\n Array.from(store.values()).map((t) => ({\n content: t.content,\n status: t.status,\n activeForm: t.activeForm,\n })),\n );\n}\n\n/** Build the four Task tools over a fresh store. */\nexport function createWizardPiTaskTools(): {\n tools: ToolDefinition[];\n store: TaskStore;\n} {\n const store: TaskStore = new Map();\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(store);\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(store);\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":";;;;;;;;;;;AAqBA,SAAS,KAAK,GAGZ;AACA,QAAO;EAAE,SAAS,CAAC;GAAE,MAAM;GAAQ,MAAM;GAAG,CAAC;EAAE,SAAS,EAAE;EAAE;;AAG9D,SAAS,UAAU,OAAwB;AACzC,QAAO,CAAC,UACN,MAAM,KAAK,MAAM,QAAQ,CAAC,CAAC,KAAK,OAAO;EACrC,SAAS,EAAE;EACX,QAAQ,EAAE;EACV,YAAY,EAAE;EACf,EAAE,CACJ;;;AAIH,SAAgB,0BAGd;CACA,MAAM,wBAAmB,IAAI,KAAK;AA4FlC,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,eAAU,MAAM;AAChB,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,eAAU,MAAM;AAChB,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
+ {"version":3,"file":"tasks-CVqcXShx.js","names":[],"sources":["../src/lib/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 pushes the list to the TUI via\n * `getUI().syncTodos`, so the todo panel updates live under pi exactly like the\n * anthropic path — the thing that was missing before.\n */\n\nimport { Type } from 'typebox';\nimport { defineTool } from '@earendil-works/pi-coding-agent';\nimport type { ToolDefinition } from '@earendil-works/pi-coding-agent';\nimport { getUI } from '@ui';\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 syncToTui(store: TaskStore): void {\n getUI().syncTodos(\n Array.from(store.values()).map((t) => ({\n content: t.content,\n status: t.status,\n activeForm: t.activeForm,\n })),\n );\n}\n\n/** Build the four Task tools over a fresh store. */\nexport function createWizardPiTaskTools(): {\n tools: ToolDefinition[];\n store: TaskStore;\n} {\n const store: TaskStore = new Map();\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(store);\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(store);\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":";;;;;;;;;;;AAqBA,SAAS,KAAK,GAGZ;AACA,QAAO;EAAE,SAAS,CAAC;GAAE,MAAM;GAAQ,MAAM;GAAG,CAAC;EAAE,SAAS,EAAE;EAAE;;AAG9D,SAAS,UAAU,OAAwB;AACzC,QAAO,CAAC,UACN,MAAM,KAAK,MAAM,QAAQ,CAAC,CAAC,KAAK,OAAO;EACrC,SAAS,EAAE;EACX,QAAQ,EAAE;EACV,YAAY,EAAE;EACf,EAAE,CACJ;;;AAIH,SAAgB,0BAGd;CACA,MAAM,wBAAmB,IAAI,KAAK;AA4FlC,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,eAAU,MAAM;AAChB,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,eAAU,MAAM;AAChB,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,5 +1,5 @@
1
- import "./debug-l3bYkVA9.js";
2
- import { n as analytics } from "./analytics-BmiE0b4q.js";
1
+ import "./debug-Di-I0xld.js";
2
+ import { n as analytics } from "./analytics-Bvq5-kCh.js";
3
3
  import opn from "opn";
4
4
  //#region src/utils/links.ts
5
5
  /**
@@ -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-BGm0PRse.js.map
68
+ //# sourceMappingURL=telemetry-C5Aokvv-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-BGm0PRse.js","names":[],"sources":["../src/utils/links.ts","../src/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 '@utils/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
+ {"version":3,"file":"telemetry-C5Aokvv-.js","names":[],"sources":["../src/utils/links.ts","../src/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 '@utils/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,15 +1,15 @@
1
- import { V as POSTHOG_APP_URL, ft as WIZARD_USER_AGENT, h as SERVICE_LABELS, pt as getSkillsBaseUrl, s as logToFile } from "./debug-l3bYkVA9.js";
2
- import { n as analytics } from "./analytics-BmiE0b4q.js";
3
- import { i as withUtm, n as openTrackedLink } from "./telemetry-BGm0PRse.js";
4
- import { t as getOrAskForProjectData } from "./setup-utils-DOCb_7Ib.js";
5
- import { a as fetchUserData, i as fetchSlackConnected } from "./api--kCd-MRf.js";
1
+ import { V as POSTHOG_APP_URL, ft as WIZARD_USER_AGENT, h as SERVICE_LABELS, pt as getSkillsBaseUrl, s as logToFile } from "./debug-Di-I0xld.js";
2
+ import { n as analytics } from "./analytics-Bvq5-kCh.js";
3
+ import { i as withUtm, n as openTrackedLink } from "./telemetry-C5Aokvv-.js";
4
+ import { t as getOrAskForProjectData } from "./setup-utils-DJzrAj8A.js";
5
+ import { a as fetchUserData, i as fetchSlackConnected } from "./api-Ca6ntEhK.js";
6
6
  import "./wizard-session-CwgR5y3-.js";
7
- import { a as formatTokenCount, i as formatCostUsd } from "./agent-runner-CDW7mVZ4.js";
8
- import { x as fetchSkillMenu } from "./agent-interface-IhcyCUgQ.js";
9
- import { y as AUDIT_SEVERITY_STYLE } from "./yara-hooks-CRz1ArdP.js";
10
- import { c as TextBlock, d as isClearBlock, f as isLinesBlock, h as Icons, l as computeVisibleRange, m as Colors, p as isObjectBlock } from "./posthog-integration-B4wOLuEM.js";
7
+ import { a as formatTokenCount, i as formatCostUsd } from "./agent-runner-Dp581Sva.js";
8
+ import { T as fetchSkillMenu } from "./agent-interface-DX6gTS9D.js";
9
+ import { y as AUDIT_SEVERITY_STYLE } from "./yara-hooks-QuIJX1gt.js";
10
+ import { c as TextBlock, d as isClearBlock, f as isLinesBlock, h as Icons, l as computeVisibleRange, m as Colors, p as isObjectBlock } from "./posthog-integration-BbzluO9E.js";
11
11
  import { C as getKindMeta, a as useStdoutDimensions, f as Program, 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-FMLVFTMn.js";
12
+ import { r as totalTokenCount } from "./store-DM0yBeJ8.js";
13
13
  import { n as AVAILABLE_FEATURES, o as isAllFeaturesSelected, t as ALL_FEATURE_VALUES } from "./defaults-BWLIffh5.js";
14
14
  import opn from "opn";
15
15
  import * as fs$1 from "fs";
@@ -6256,4 +6256,4 @@ function releaseTerminal() {
6256
6256
  //#endregion
6257
6257
  export { LogViewer as A, TipsCard as C, TabContainer as D, HNViewer as E, GroupedPickerMenu as F, ProgressList as I, LoadingBox as L, extractUrls as M, ModalOverlay as N, ScreenContainer as O, ConfirmationInput as P, SplitView as R, ServiceHealthList as S, ContentSequencer as T, TAILORED_ROLES as _, useSkillEntry as a, SEVERITY_LABEL as b, SlackConnectScreen as c, AuditChecksViewer as d, seedDemoEvents as f, probeProjectData as g, assembleProfile as h, SkillSourceInfo as i, LinkText as j, EventPlanViewer as k, AUDIT_AREA_SLIDES as l, McpSuggestedPromptsScreen as m, releaseTerminal as n, OutroScreen as o, seededProfile as p, AiOptInRequiredScreen as r, useDismissOnAnyKey as s, enterDarkTerminal as t, VisualBox as u, McpScreen as v, LearnCard as w, SEVERITY_ORDER as x, IssueTable as y, CardLayout as z };
6258
6258
 
6259
- //# sourceMappingURL=terminal-BY9GL1HK.js.map
6259
+ //# sourceMappingURL=terminal-CeyBQI8S.js.map