@posthog/wizard 2.10.3 → 2.11.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/dist/{McpScreen-23GY1pWz.js → McpScreen-DvUncZBi.js} +153 -23
- package/dist/McpScreen-DvUncZBi.js.map +1 -0
- package/dist/{add-mcp-server-to-clients-B6baHy_h.js → add-mcp-server-to-clients-Br1hDRiB.js} +157 -125
- package/dist/add-mcp-server-to-clients-Br1hDRiB.js.map +1 -0
- package/dist/{agent-runner-CBPBefLt.js → agent-runner-fWYFO4H0.js} +11 -9
- package/dist/agent-runner-fWYFO4H0.js.map +1 -0
- package/dist/{agent-skill-BVjJqol6.js → agent-skill-DJOzDaQV.js} +1 -1
- package/dist/{agent-skill-BVjJqol6.js.map → agent-skill-DJOzDaQV.js.map} +1 -1
- package/dist/analytics-CfAUlt6-.js +2 -0
- package/dist/{analytics-xANpxdVL.js → analytics-D3rY3TaN.js} +7 -4
- package/dist/analytics-D3rY3TaN.js.map +1 -0
- package/dist/bin.js +234 -41
- package/dist/bin.js.map +1 -1
- package/dist/{debug-CIyf0ZGx.js → debug-D-0xueVl.js} +1 -1
- package/dist/{debug-CyJ_3dTP.js → debug-gWEjmYVV.js} +4 -2
- package/dist/{debug-CyJ_3dTP.js.map → debug-gWEjmYVV.js.map} +1 -1
- package/dist/{defaults-DoVkE0gW.js → defaults-CPH6eWhN.js} +8 -8
- package/dist/defaults-CPH6eWhN.js.map +1 -0
- package/dist/{detection-Drfq0l8n.js → detection-B7GNzve-.js} +103 -19
- package/dist/detection-B7GNzve-.js.map +1 -0
- package/dist/{env-api-key-K8TdTDII.js → env-api-key-DU8uIEvo.js} +1 -1
- package/dist/{env-api-key-K8TdTDII.js.map → env-api-key-DU8uIEvo.js.map} +1 -1
- package/dist/file-DhSBlq-x.js +16 -0
- package/dist/file-DhSBlq-x.js.map +1 -0
- package/dist/{file-utils-BWneZy6p.js → file-utils-Dy9JncCo.js} +1 -1
- package/dist/{file-utils-BWneZy6p.js.map → file-utils-Dy9JncCo.js.map} +1 -1
- package/dist/package-json-BzVey4Bd.js +2 -0
- package/dist/{package-json-Ctq6LSl8.js → package-json-F_7oktsp.js} +1 -1
- package/dist/{package-json-Ctq6LSl8.js.map → package-json-F_7oktsp.js.map} +1 -1
- package/dist/{package-manager-Ls_8r9Ot.js → package-manager-D3Lo6nXf.js} +2 -2
- package/dist/{package-manager-Ls_8r9Ot.js.map → package-manager-D3Lo6nXf.js.map} +1 -1
- package/dist/paths-BL-x2rFy.js +16 -0
- package/dist/paths-BL-x2rFy.js.map +1 -0
- package/dist/posthog-ByrpqEjN.js +11 -0
- package/dist/posthog-ByrpqEjN.js.map +1 -0
- package/dist/{posthog-integration-DUZpiyxg.js → posthog-integration-D4SRhJIQ.js} +10 -9
- package/dist/posthog-integration-D4SRhJIQ.js.map +1 -0
- package/dist/{readiness-BAgN8xAg.js → readiness-gQvQNCeL.js} +10 -10
- package/dist/readiness-gQvQNCeL.js.map +1 -0
- package/dist/{registry-qfhSxTjo.js → registry-DaPKstG3.js} +6 -6
- package/dist/{registry-qfhSxTjo.js.map → registry-DaPKstG3.js.map} +1 -1
- package/dist/{router-D5A1Sb4p.js → router-SgzmfLGi.js} +11 -18
- package/dist/router-SgzmfLGi.js.map +1 -0
- package/dist/setup-utils-_ONxN-TT.js +2 -0
- package/dist/{setup-utils-C1h1QDiG.js → setup-utils-y4s-3uKT.js} +13 -7
- package/dist/setup-utils-y4s-3uKT.js.map +1 -0
- package/dist/{start-playground-xOLMYzst.js → start-playground-g1TxpCZ5.js} +84 -7
- package/dist/start-playground-g1TxpCZ5.js.map +1 -0
- package/dist/{start-tui-Ddo4TI9T.js → start-tui-CQef69NR.js} +305 -23
- package/dist/start-tui-CQef69NR.js.map +1 -0
- package/dist/{steps-BjvFG--8.js → steps-D1zKDqAo.js} +6 -6
- package/dist/{steps-BjvFG--8.js.map → steps-D1zKDqAo.js.map} +1 -1
- package/dist/task-stream-DX_jKDQu.js +61 -0
- package/dist/task-stream-DX_jKDQu.js.map +1 -0
- package/dist/{telemetry-CC6zPKJg.js → telemetry-CyUUSAYy.js} +2 -2
- package/dist/{telemetry-CC6zPKJg.js.map → telemetry-CyUUSAYy.js.map} +1 -1
- package/dist/{wizard-abort-XhapT0Ly.js → wizard-abort-Buodno3f.js} +3 -3
- package/dist/{wizard-abort-XhapT0Ly.js.map → wizard-abort-Buodno3f.js.map} +1 -1
- package/dist/{wizard-abort-Bc3lWNLb.js → wizard-abort-DZmO_sIZ.js} +1 -1
- package/dist/wizard-session-COhklXAF.js +2 -0
- package/dist/{wizard-session-Db6R023m.js → wizard-session-D5bggSsu.js} +1 -1
- package/dist/{wizard-session-Db6R023m.js.map → wizard-session-D5bggSsu.js.map} +1 -1
- package/dist/wizard-ui-BExOjdjA.js +14 -0
- package/dist/wizard-ui-BExOjdjA.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/dist/McpScreen-23GY1pWz.js.map +0 -1
- package/dist/add-mcp-server-to-clients-B6baHy_h.js.map +0 -1
- package/dist/agent-runner-CBPBefLt.js.map +0 -1
- package/dist/analytics-DdTDVjqs.js +0 -2
- package/dist/analytics-xANpxdVL.js.map +0 -1
- package/dist/defaults-DoVkE0gW.js.map +0 -1
- package/dist/detection-Drfq0l8n.js.map +0 -1
- package/dist/package-json-BQgl5C3Z.js +0 -2
- package/dist/posthog-integration-DUZpiyxg.js.map +0 -1
- package/dist/readiness-BAgN8xAg.js.map +0 -1
- package/dist/router-D5A1Sb4p.js.map +0 -1
- package/dist/setup-utils-C1h1QDiG.js.map +0 -1
- package/dist/start-playground-xOLMYzst.js.map +0 -1
- package/dist/start-tui-Ddo4TI9T.js.map +0 -1
- package/dist/wizard-session-y7nf6aKH.js +0 -2
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { n as analytics, r as sessionProperties } from "./analytics-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { n as analytics, r as sessionProperties } from "./analytics-D3rY3TaN.js";
|
|
2
|
+
import { n as isTaskStatus } from "./wizard-ui-BExOjdjA.js";
|
|
3
|
+
import { r as buildSession } from "./wizard-session-D5bggSsu.js";
|
|
4
|
+
import { t as SERVICE_LABELS } from "./readiness-gQvQNCeL.js";
|
|
5
|
+
import { n as getKindMeta } from "./bin.js";
|
|
6
|
+
import { n as AVAILABLE_FEATURES, t as ALL_FEATURE_VALUES } from "./defaults-CPH6eWhN.js";
|
|
7
|
+
import { i as WORKFLOW_STEPS, t as WizardRouter } from "./router-SgzmfLGi.js";
|
|
6
8
|
import * as fs$1 from "fs";
|
|
7
9
|
import { Box, Text, measureElement, useInput, useStdout } from "ink";
|
|
8
10
|
import { Component, createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -33,6 +35,7 @@ var WizardStore = class {
|
|
|
33
35
|
$learnCardBlockIdx = atom(0);
|
|
34
36
|
$learnCardComplete = atom(false);
|
|
35
37
|
$version = atom(0);
|
|
38
|
+
_onTasksChanged = null;
|
|
36
39
|
/** Last screen seen — used to detect screen transitions for analytics. */
|
|
37
40
|
_lastScreen = null;
|
|
38
41
|
/** Hooks run when transitioning onto a screen. */
|
|
@@ -414,16 +417,24 @@ var WizardStore = class {
|
|
|
414
417
|
this.emitChange();
|
|
415
418
|
}
|
|
416
419
|
syncTodos(todos) {
|
|
417
|
-
const incoming = todos.map((t) =>
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
420
|
+
const incoming = todos.map((t) => {
|
|
421
|
+
const status = isTaskStatus(t.status) ? t.status : "pending";
|
|
422
|
+
return {
|
|
423
|
+
label: t.content,
|
|
424
|
+
activeForm: t.activeForm,
|
|
425
|
+
status,
|
|
426
|
+
done: status === "completed"
|
|
427
|
+
};
|
|
428
|
+
});
|
|
423
429
|
const incomingLabels = new Set(incoming.map((t) => t.label));
|
|
424
430
|
const retained = this.$tasks.get().filter((t) => t.done && !incomingLabels.has(t.label));
|
|
425
431
|
this.$tasks.set([...retained, ...incoming]);
|
|
426
432
|
this.emitChange();
|
|
433
|
+
this._onTasksChanged?.();
|
|
434
|
+
}
|
|
435
|
+
/** Register a listener for task state changes (e.g. task stream push). */
|
|
436
|
+
set onTasksChanged(fn) {
|
|
437
|
+
this._onTasksChanged = fn;
|
|
427
438
|
}
|
|
428
439
|
subscribe(callback) {
|
|
429
440
|
return this.$version.listen(() => callback());
|
|
@@ -3185,6 +3196,120 @@ const ServiceHealthList = ({ health, filterKeys, showHealthy = true }) => {
|
|
|
3185
3196
|
});
|
|
3186
3197
|
};
|
|
3187
3198
|
//#endregion
|
|
3199
|
+
//#region src/ui/tui/screens/doctor/IssueTable.tsx
|
|
3200
|
+
const SEVERITY_ORDER = [
|
|
3201
|
+
"critical",
|
|
3202
|
+
"warning",
|
|
3203
|
+
"info"
|
|
3204
|
+
];
|
|
3205
|
+
const SEVERITY_COLOR = {
|
|
3206
|
+
critical: Colors.error,
|
|
3207
|
+
warning: Colors.accent,
|
|
3208
|
+
info: Colors.primary
|
|
3209
|
+
};
|
|
3210
|
+
const SEVERITY_LABEL = {
|
|
3211
|
+
critical: "Critical",
|
|
3212
|
+
warning: "Warning",
|
|
3213
|
+
info: "Info"
|
|
3214
|
+
};
|
|
3215
|
+
const ICON_COL = 2;
|
|
3216
|
+
const ROW_GAP = 2;
|
|
3217
|
+
const NARROW_TERM_THRESHOLD = 90;
|
|
3218
|
+
const MAX_DOCS_WIDTH = 50;
|
|
3219
|
+
const MIN_DOCS_WIDTH = 20;
|
|
3220
|
+
function computeDocsWidth(termCols) {
|
|
3221
|
+
if (termCols < NARROW_TERM_THRESHOLD) return 0;
|
|
3222
|
+
const inner = termCols - 12;
|
|
3223
|
+
return Math.min(MAX_DOCS_WIDTH, Math.max(MIN_DOCS_WIDTH, Math.floor(inner * .45)));
|
|
3224
|
+
}
|
|
3225
|
+
const IssueTable = ({ issues }) => {
|
|
3226
|
+
const [termCols] = useStdoutDimensions();
|
|
3227
|
+
const docsWidth = computeDocsWidth(termCols);
|
|
3228
|
+
const grouped = {};
|
|
3229
|
+
for (const issue of issues) (grouped[issue.severity] ??= []).push(issue);
|
|
3230
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
3231
|
+
flexDirection: "column",
|
|
3232
|
+
children: SEVERITY_ORDER.map((sev) => {
|
|
3233
|
+
const list = grouped[sev];
|
|
3234
|
+
if (!list || list.length === 0) return null;
|
|
3235
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
3236
|
+
flexDirection: "column",
|
|
3237
|
+
marginTop: 1,
|
|
3238
|
+
children: [/* @__PURE__ */ jsxs(Text, {
|
|
3239
|
+
bold: true,
|
|
3240
|
+
color: SEVERITY_COLOR[sev],
|
|
3241
|
+
children: [
|
|
3242
|
+
SEVERITY_LABEL[sev],
|
|
3243
|
+
" (",
|
|
3244
|
+
list.length,
|
|
3245
|
+
")"
|
|
3246
|
+
]
|
|
3247
|
+
}), list.map((issue) => /* @__PURE__ */ jsx(IssueRow, {
|
|
3248
|
+
issue,
|
|
3249
|
+
docsWidth
|
|
3250
|
+
}, issue.id))]
|
|
3251
|
+
}, sev);
|
|
3252
|
+
})
|
|
3253
|
+
});
|
|
3254
|
+
};
|
|
3255
|
+
const IssueRow = ({ issue, docsWidth }) => {
|
|
3256
|
+
const meta = getKindMeta(issue.kind);
|
|
3257
|
+
const sevColor = SEVERITY_COLOR[issue.severity];
|
|
3258
|
+
if (docsWidth === 0) return /* @__PURE__ */ jsxs(Box, {
|
|
3259
|
+
flexDirection: "column",
|
|
3260
|
+
children: [/* @__PURE__ */ jsxs(Box, { children: [/* @__PURE__ */ jsx(Box, {
|
|
3261
|
+
width: ICON_COL,
|
|
3262
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3263
|
+
color: sevColor,
|
|
3264
|
+
children: Icons.squareFilled
|
|
3265
|
+
})
|
|
3266
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
3267
|
+
flexGrow: 1,
|
|
3268
|
+
flexShrink: 1,
|
|
3269
|
+
overflow: "hidden",
|
|
3270
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3271
|
+
wrap: "truncate",
|
|
3272
|
+
children: meta.title
|
|
3273
|
+
})
|
|
3274
|
+
})] }), /* @__PURE__ */ jsx(Box, {
|
|
3275
|
+
paddingLeft: ICON_COL,
|
|
3276
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3277
|
+
color: Colors.primary,
|
|
3278
|
+
wrap: "truncate",
|
|
3279
|
+
children: meta.docsUrl
|
|
3280
|
+
})
|
|
3281
|
+
})]
|
|
3282
|
+
});
|
|
3283
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
3284
|
+
/* @__PURE__ */ jsx(Box, {
|
|
3285
|
+
width: ICON_COL,
|
|
3286
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3287
|
+
color: sevColor,
|
|
3288
|
+
children: Icons.squareFilled
|
|
3289
|
+
})
|
|
3290
|
+
}),
|
|
3291
|
+
/* @__PURE__ */ jsx(Box, {
|
|
3292
|
+
flexGrow: 1,
|
|
3293
|
+
flexShrink: 1,
|
|
3294
|
+
overflow: "hidden",
|
|
3295
|
+
marginRight: ROW_GAP,
|
|
3296
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3297
|
+
wrap: "truncate",
|
|
3298
|
+
children: meta.title
|
|
3299
|
+
})
|
|
3300
|
+
}),
|
|
3301
|
+
/* @__PURE__ */ jsx(Box, {
|
|
3302
|
+
width: docsWidth,
|
|
3303
|
+
flexShrink: 0,
|
|
3304
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
3305
|
+
color: Colors.primary,
|
|
3306
|
+
wrap: "truncate",
|
|
3307
|
+
children: meta.docsUrl
|
|
3308
|
+
})
|
|
3309
|
+
})
|
|
3310
|
+
] });
|
|
3311
|
+
};
|
|
3312
|
+
//#endregion
|
|
3188
3313
|
//#region src/ui/tui/screens/McpScreen.tsx
|
|
3189
3314
|
/**
|
|
3190
3315
|
* McpScreen — MCP server install/remove flow.
|
|
@@ -3209,6 +3334,7 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
|
|
|
3209
3334
|
const [clients, setClients] = useState([]);
|
|
3210
3335
|
const [selectedClientNames, setSelectedClientNames] = useState([]);
|
|
3211
3336
|
const [resultClients, setResultClients] = useState([]);
|
|
3337
|
+
const [pluginClients, setPluginClients] = useState([]);
|
|
3212
3338
|
useEffect(() => {
|
|
3213
3339
|
(async () => {
|
|
3214
3340
|
try {
|
|
@@ -3241,16 +3367,19 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
|
|
|
3241
3367
|
};
|
|
3242
3368
|
const doInstall = async (names, features) => {
|
|
3243
3369
|
setPhase("working");
|
|
3244
|
-
let
|
|
3370
|
+
let mcpResult = [];
|
|
3371
|
+
let pluginResult = [];
|
|
3245
3372
|
try {
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
}
|
|
3373
|
+
mcpResult = await installer.install(names, features, store.session.apiKey);
|
|
3374
|
+
} catch {}
|
|
3375
|
+
try {
|
|
3376
|
+
pluginResult = await installer.installPlugins(names);
|
|
3377
|
+
} catch {}
|
|
3378
|
+
setResultClients(mcpResult);
|
|
3379
|
+
setPluginClients(pluginResult);
|
|
3251
3380
|
setPhase("done");
|
|
3252
|
-
const outcome =
|
|
3253
|
-
setTimeout(() => markDone(store, outcome,
|
|
3381
|
+
const outcome = mcpResult.length > 0 ? "installed" : "failed";
|
|
3382
|
+
setTimeout(() => markDone(store, outcome, mcpResult), 2e3);
|
|
3254
3383
|
};
|
|
3255
3384
|
const doRemove = async () => {
|
|
3256
3385
|
setPhase("working");
|
|
@@ -3294,8 +3423,8 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
|
|
|
3294
3423
|
}), /* @__PURE__ */ jsx(Box, {
|
|
3295
3424
|
marginTop: 1,
|
|
3296
3425
|
children: /* @__PURE__ */ jsx(ConfirmationInput, {
|
|
3297
|
-
message: isRemove ? "Remove
|
|
3298
|
-
confirmLabel: isRemove ? "Remove
|
|
3426
|
+
message: `${isRemove ? "Remove" : "Install"} the PostHog MCP server${clients.some((c) => c.supportsPlugin) ? " and plugin" : ""}?`,
|
|
3427
|
+
confirmLabel: isRemove ? "Remove" : "Install",
|
|
3299
3428
|
cancelLabel: "No thanks",
|
|
3300
3429
|
onConfirm: handleConfirm,
|
|
3301
3430
|
onCancel: handleSkip
|
|
@@ -3332,6 +3461,7 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
|
|
|
3332
3461
|
children: [
|
|
3333
3462
|
"✔",
|
|
3334
3463
|
" MCP server",
|
|
3464
|
+
!isRemove && pluginClients.length > 0 ? " and plugin" : "",
|
|
3335
3465
|
" ",
|
|
3336
3466
|
isRemove ? "removed from" : "installed for",
|
|
3337
3467
|
":"
|
|
@@ -3351,6 +3481,6 @@ const McpScreen = ({ store, installer, mode = "install" }) => {
|
|
|
3351
3481
|
});
|
|
3352
3482
|
};
|
|
3353
3483
|
//#endregion
|
|
3354
|
-
export {
|
|
3484
|
+
export { Icons as C, Colors as S, PickerMenu as _, ServiceHealthList as a, SplitView as b, HNViewer as c, EventPlanViewer as d, LogViewer as f, useStdoutDimensions as g, GroupedPickerMenu as h, SEVERITY_ORDER as i, TabContainer as l, ConfirmationInput as m, IssueTable as n, TipsCard as o, ModalOverlay as p, SEVERITY_LABEL as r, LearnCard as s, McpScreen as t, ScreenContainer as u, ProgressList as v, WizardStore as w, CardLayout as x, LoadingBox as y };
|
|
3355
3485
|
|
|
3356
|
-
//# sourceMappingURL=McpScreen-
|
|
3486
|
+
//# sourceMappingURL=McpScreen-DvUncZBi.js.map
|