@levr-one/cli 0.12.11 → 0.12.13
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.
|
@@ -2752,7 +2752,16 @@ const PLUGIN_TIP = "Tip: the Levr plugin adds /levr:work, /levr:file and /levr:d
|
|
|
2752
2752
|
function nextStepsText(report) {
|
|
2753
2753
|
if (report.dryRun) return "Dry run — re-run without --dry-run to apply these changes.";
|
|
2754
2754
|
if (!report.outcomes.some((o) => o.result.ok && !o.result.alreadyConfigured && (o.result.wrote || o.result.executed || o.result.command))) return report.outcomes.some((o) => !o.result.ok) ? "Nothing was installed." : "Nothing to do.";
|
|
2755
|
-
const
|
|
2755
|
+
const installed = report.outcomes.filter((o) => o.result.ok && !o.result.alreadyConfigured);
|
|
2756
|
+
const claudeCode = installed.find((o) => o.id === "claude-code");
|
|
2757
|
+
const onlyClaudeCode = claudeCode && installed.length === 1;
|
|
2758
|
+
const entry = claudeCode?.entryName ?? report.entryName ?? DEFAULT_SERVER_NAME;
|
|
2759
|
+
const lines = onlyClaudeCode ? [`Next: restart Claude Code, run /mcp, pick ${entry} and choose Authenticate —`, "it opens your browser once. Then ask it: \"What issues are assigned to me?\""] : claudeCode ? [
|
|
2760
|
+
"Next: restart the client(s) above. Most prompt you to authorize Levr",
|
|
2761
|
+
`once in the browser; Claude Code does not: run /mcp, pick ${entry} and`,
|
|
2762
|
+
"choose Authenticate, and it opens your browser once. Then ask it:",
|
|
2763
|
+
"\"What issues are assigned to me?\""
|
|
2764
|
+
] : ["Next: restart the client(s) above — each will prompt you to authorize", "Levr once in the browser. Then ask it: \"What issues are assigned to me?\""];
|
|
2756
2765
|
const projectWrites = report.outcomes.filter((o) => o.result.scope === "project" && o.result.wrote);
|
|
2757
2766
|
if (projectWrites.some((o) => o.result.gitIgnored !== true)) lines.push("", "Project-scoped config was written into this repository — commit it to", "share the Levr MCP with everyone who checks it out.");
|
|
2758
2767
|
if (projectWrites.some((o) => o.result.gitIgnored === true)) lines.push("", "A project-scoped file above is git-ignored, so it stays on this machine.", "To share it, un-ignore that path (a `!` rule in .gitignore) or use --scope user.");
|
|
@@ -217,6 +217,52 @@ const CAPTURE_KINDS = Object.freeze({
|
|
|
217
217
|
maxBytes: 50 * MIB,
|
|
218
218
|
uploadTimeoutMs: uploadTimeoutFor(50 * MIB),
|
|
219
219
|
viewer: "video"
|
|
220
|
+
},
|
|
221
|
+
action_trace: {
|
|
222
|
+
id: "action_trace",
|
|
223
|
+
labelKey: "browserCaptures.kindActionTrace",
|
|
224
|
+
label: "Action trace",
|
|
225
|
+
noun: "action trace",
|
|
226
|
+
tools: ["browser_stop_trace"],
|
|
227
|
+
mime: "application/x-ndjson",
|
|
228
|
+
uploadMime: OCTET_STREAM,
|
|
229
|
+
ext: "jsonl",
|
|
230
|
+
filenamePrefix: "trace-actions",
|
|
231
|
+
maxBytes: 25 * MIB,
|
|
232
|
+
uploadTimeoutMs: uploadTimeoutFor(25 * MIB),
|
|
233
|
+
viewer: "action_trace"
|
|
234
|
+
},
|
|
235
|
+
demo_screencast: {
|
|
236
|
+
id: "demo_screencast",
|
|
237
|
+
labelKey: "browserCaptures.kindDemoRecording",
|
|
238
|
+
label: "Demo recording",
|
|
239
|
+
noun: "demo recording",
|
|
240
|
+
tools: [],
|
|
241
|
+
mime: "video/webm",
|
|
242
|
+
uploadMime: "video/webm",
|
|
243
|
+
ext: "webm",
|
|
244
|
+
filenamePrefix: "demo",
|
|
245
|
+
maxBytes: 1024 * MIB,
|
|
246
|
+
uploadTimeoutMs: uploadTimeoutFor(1024 * MIB),
|
|
247
|
+
viewer: "video",
|
|
248
|
+
multipart: true,
|
|
249
|
+
variantOf: "screencast"
|
|
250
|
+
},
|
|
251
|
+
demo_frames: {
|
|
252
|
+
id: "demo_frames",
|
|
253
|
+
labelKey: "browserCaptures.kindDemoFrames",
|
|
254
|
+
label: "Demo frames",
|
|
255
|
+
noun: "demo frame bundle",
|
|
256
|
+
tools: [],
|
|
257
|
+
mime: "application/x-tar",
|
|
258
|
+
uploadMime: OCTET_STREAM,
|
|
259
|
+
ext: "tar",
|
|
260
|
+
filenamePrefix: "demo-frames",
|
|
261
|
+
maxBytes: 1024 * MIB,
|
|
262
|
+
uploadTimeoutMs: uploadTimeoutFor(1024 * MIB),
|
|
263
|
+
viewer: "download",
|
|
264
|
+
multipart: true,
|
|
265
|
+
variantOf: "screencast"
|
|
220
266
|
}
|
|
221
267
|
});
|
|
222
268
|
/** Every tool of every kind. */
|
package/dist/cli.js
CHANGED
|
@@ -226,7 +226,7 @@ Examples:
|
|
|
226
226
|
aliases: { y: "yes" }
|
|
227
227
|
},
|
|
228
228
|
loader: async () => {
|
|
229
|
-
const { mcpAddHandler } = await import("./addHandler-
|
|
229
|
+
const { mcpAddHandler } = await import("./addHandler-Dafsu41N.js");
|
|
230
230
|
return mcpAddHandler;
|
|
231
231
|
}
|
|
232
232
|
});
|
|
@@ -688,7 +688,7 @@ Examples:
|
|
|
688
688
|
}
|
|
689
689
|
},
|
|
690
690
|
loader: async () => {
|
|
691
|
-
const { gatesBindingsExportHandler } = await import("./bindingsHandler-
|
|
691
|
+
const { gatesBindingsExportHandler } = await import("./bindingsHandler-CT-rFFn9.js");
|
|
692
692
|
return gatesBindingsExportHandler;
|
|
693
693
|
}
|
|
694
694
|
});
|
|
@@ -761,7 +761,7 @@ Examples:
|
|
|
761
761
|
aliases: { w: "workspace-id" }
|
|
762
762
|
},
|
|
763
763
|
loader: async () => {
|
|
764
|
-
const { gatesBindingsImportHandler } = await import("./bindingsHandler-
|
|
764
|
+
const { gatesBindingsImportHandler } = await import("./bindingsHandler-CT-rFFn9.js");
|
|
765
765
|
return gatesBindingsImportHandler;
|
|
766
766
|
}
|
|
767
767
|
});
|
|
@@ -1248,7 +1248,7 @@ Examples:
|
|
|
1248
1248
|
|
|
1249
1249
|
//#endregion
|
|
1250
1250
|
//#region package.json
|
|
1251
|
-
var version = "0.12.
|
|
1251
|
+
var version = "0.12.13";
|
|
1252
1252
|
|
|
1253
1253
|
//#endregion
|
|
1254
1254
|
//#region src/app.ts
|