@funnycode/myclaude 0.1.185 → 0.1.187
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/myclaude.js +124 -15
- package/dist/myclaude.mjs +124 -15
- package/package.json +1 -1
package/dist/myclaude.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
// MACRO - build-time constants (injected by build.ts)
|
|
5
5
|
// MACRO injected by build script
|
|
6
6
|
globalThis.MACRO = {
|
|
7
|
-
VERSION: "0.1.
|
|
8
|
-
BUILD_TIME: "2026-08-
|
|
7
|
+
VERSION: "0.1.187",
|
|
8
|
+
BUILD_TIME: "2026-08-10T04:38:27.202Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -117152,7 +117152,7 @@ var package_default;
|
|
|
117152
117152
|
var init_package = __esm(() => {
|
|
117153
117153
|
package_default = {
|
|
117154
117154
|
name: "@funnycode/myclaude",
|
|
117155
|
-
version: "0.1.
|
|
117155
|
+
version: "0.1.187",
|
|
117156
117156
|
private: false,
|
|
117157
117157
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117158
117158
|
license: "MIT",
|
|
@@ -209359,6 +209359,13 @@ function parseEventData(event) {
|
|
|
209359
209359
|
return null;
|
|
209360
209360
|
}
|
|
209361
209361
|
}
|
|
209362
|
+
function isDumpPromptsEnabled() {
|
|
209363
|
+
if (false)
|
|
209364
|
+
;
|
|
209365
|
+
if (process.env.DUMP_PROMPTS !== "1")
|
|
209366
|
+
return false;
|
|
209367
|
+
return process.env.USER_TYPE === "ant" || process.env.MYCLAUDE_ALLOW_DUMP_PROMPTS === "1";
|
|
209368
|
+
}
|
|
209362
209369
|
function hashString3(str) {
|
|
209363
209370
|
return createHash5("sha256").update(str).digest("hex");
|
|
209364
209371
|
}
|
|
@@ -209415,7 +209422,7 @@ function clearAllDumpState() {
|
|
|
209415
209422
|
dumpState.clear();
|
|
209416
209423
|
}
|
|
209417
209424
|
function addApiRequestToCache(requestData) {
|
|
209418
|
-
if (
|
|
209425
|
+
if (!isDumpPromptsEnabled())
|
|
209419
209426
|
return;
|
|
209420
209427
|
const metadata = {
|
|
209421
209428
|
timestamp: new Date().toISOString(),
|
|
@@ -209454,7 +209461,7 @@ function initFingerprint(req) {
|
|
|
209454
209461
|
async function dumpRequest(body, ts, state, filePath) {
|
|
209455
209462
|
if (false)
|
|
209456
209463
|
;
|
|
209457
|
-
if (
|
|
209464
|
+
if (!isDumpPromptsEnabled())
|
|
209458
209465
|
return;
|
|
209459
209466
|
try {
|
|
209460
209467
|
const req = jsonParse(body);
|
|
@@ -209512,7 +209519,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
209512
209519
|
trimDumpState();
|
|
209513
209520
|
let timestamp;
|
|
209514
209521
|
if (init2?.method === "POST" && init2.body) {
|
|
209515
|
-
if (
|
|
209522
|
+
if (isDumpPromptsEnabled()) {
|
|
209516
209523
|
timestamp = new Date().toISOString();
|
|
209517
209524
|
enqueueDumpRequest(agentIdOrSessionId, async () => {
|
|
209518
209525
|
await dumpRequest(init2.body, timestamp, state, filePath);
|
|
@@ -209520,7 +209527,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
209520
209527
|
}
|
|
209521
209528
|
}
|
|
209522
209529
|
const response = await globalThis.fetch(input, init2);
|
|
209523
|
-
if (timestamp && response.ok &&
|
|
209530
|
+
if (timestamp && response.ok && isDumpPromptsEnabled()) {
|
|
209524
209531
|
const cloned = response.clone();
|
|
209525
209532
|
(async () => {
|
|
209526
209533
|
try {
|
|
@@ -209624,7 +209631,7 @@ var init_dumpPrompts = __esm(() => {
|
|
|
209624
209631
|
init_debug();
|
|
209625
209632
|
init_log3();
|
|
209626
209633
|
init_async_mutex();
|
|
209627
|
-
if (
|
|
209634
|
+
if (isDumpPromptsEnabled()) {
|
|
209628
209635
|
logForDebugging("DUMP_PROMPTS is enabled. This will write full API payloads (including system prompts, user messages, and tool definitions) to the filesystem. This is intended for debugging only and should NOT be used in production.", { level: "warn" });
|
|
209629
209636
|
}
|
|
209630
209637
|
cachedApiRequests = [];
|
|
@@ -481384,16 +481391,117 @@ var exports_rewind = {};
|
|
|
481384
481391
|
__export(exports_rewind, {
|
|
481385
481392
|
call: () => call53
|
|
481386
481393
|
});
|
|
481387
|
-
async function call53(
|
|
481388
|
-
|
|
481389
|
-
|
|
481394
|
+
async function call53(args, _context) {
|
|
481395
|
+
const isGit = await getIsGit();
|
|
481396
|
+
if (!isGit) {
|
|
481397
|
+
return {
|
|
481398
|
+
type: "text",
|
|
481399
|
+
value: "Checkpoint requires a git repository. Run `git init` first, or use this command inside a git worktree."
|
|
481400
|
+
};
|
|
481401
|
+
}
|
|
481402
|
+
const trimmed = args.trim();
|
|
481403
|
+
if (trimmed === "" || trimmed === "list") {
|
|
481404
|
+
return listCheckpoints();
|
|
481405
|
+
}
|
|
481406
|
+
if (trimmed === "restore" || trimmed === "undo") {
|
|
481407
|
+
return {
|
|
481408
|
+
type: "text",
|
|
481409
|
+
value: "Usage: /checkpoint restore <n> — restore checkpoint #n (see /checkpoint list)."
|
|
481410
|
+
};
|
|
481411
|
+
}
|
|
481412
|
+
const restoreMatch = trimmed.match(/^(?:restore|undo)\s+(\d+)$/);
|
|
481413
|
+
if (restoreMatch) {
|
|
481414
|
+
return restoreCheckpoint(Number(restoreMatch[1]));
|
|
481415
|
+
}
|
|
481416
|
+
return createCheckpoint(trimmed);
|
|
481417
|
+
}
|
|
481418
|
+
async function getCheckpointListRaw() {
|
|
481419
|
+
const { stdout } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "list"], { preserveOutputOnError: false });
|
|
481420
|
+
return stdout;
|
|
481421
|
+
}
|
|
481422
|
+
async function createCheckpoint(description) {
|
|
481423
|
+
const cwd2 = getCwd();
|
|
481424
|
+
const label = `myclaude-checkpoint: ${description}`;
|
|
481425
|
+
const { stderr } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "push", "-m", label], { cwd: cwd2, preserveOutputOnError: true });
|
|
481426
|
+
const status2 = await getCheckpointListRaw();
|
|
481427
|
+
if (status2 === "") {
|
|
481428
|
+
return {
|
|
481429
|
+
type: "text",
|
|
481430
|
+
value: "No changes to checkpoint — the workspace is already clean."
|
|
481431
|
+
};
|
|
481432
|
+
}
|
|
481433
|
+
return {
|
|
481434
|
+
type: "text",
|
|
481435
|
+
value: `Checkpoint created: ${label}
|
|
481436
|
+
${stderr.trim() || ""}
|
|
481437
|
+
|
|
481438
|
+
Use /checkpoint list to see all checkpoints.`.trim()
|
|
481439
|
+
};
|
|
481440
|
+
}
|
|
481441
|
+
async function listCheckpoints() {
|
|
481442
|
+
const stdout = await getCheckpointListRaw();
|
|
481443
|
+
if (stdout.trim() === "") {
|
|
481444
|
+
return {
|
|
481445
|
+
type: "text",
|
|
481446
|
+
value: `No checkpoints yet.
|
|
481447
|
+
|
|
481448
|
+
Usage:
|
|
481449
|
+
/checkpoint <description> — save current workspace state
|
|
481450
|
+
/checkpoint list — list checkpoints
|
|
481451
|
+
/checkpoint restore <n> — restore checkpoint #n`
|
|
481452
|
+
};
|
|
481453
|
+
}
|
|
481454
|
+
const lines2 = stdout.trim().split(`
|
|
481455
|
+
`);
|
|
481456
|
+
const annotated = lines2.map((line, index) => {
|
|
481457
|
+
const marker = line.includes("myclaude-checkpoint") ? " ← /checkpoint" : "";
|
|
481458
|
+
return ` ${index}: ${line.trim()}${marker}`;
|
|
481459
|
+
}).join(`
|
|
481460
|
+
`);
|
|
481461
|
+
return {
|
|
481462
|
+
type: "text",
|
|
481463
|
+
value: `Saved checkpoints:
|
|
481464
|
+
${annotated}
|
|
481465
|
+
|
|
481466
|
+
Restore with: /checkpoint restore <n>`
|
|
481467
|
+
};
|
|
481468
|
+
}
|
|
481469
|
+
async function restoreCheckpoint(index) {
|
|
481470
|
+
const listRaw = await getCheckpointListRaw();
|
|
481471
|
+
const lines2 = listRaw.trim().split(`
|
|
481472
|
+
`).filter(Boolean);
|
|
481473
|
+
if (lines2.length === 0) {
|
|
481474
|
+
return { type: "text", value: "No checkpoints to restore." };
|
|
481390
481475
|
}
|
|
481391
|
-
|
|
481476
|
+
if (index < 0 || index >= lines2.length) {
|
|
481477
|
+
return {
|
|
481478
|
+
type: "text",
|
|
481479
|
+
value: `Invalid checkpoint index ${index}. Run /checkpoint list to see valid indices (0–${lines2.length - 1}).`
|
|
481480
|
+
};
|
|
481481
|
+
}
|
|
481482
|
+
const cwd2 = getCwd();
|
|
481483
|
+
const { stdout, stderr } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "apply", `stash@{${index}}`], { cwd: cwd2, preserveOutputOnError: true });
|
|
481484
|
+
const detail = `${stdout.trim()}${stderr.trim() ? `
|
|
481485
|
+
${stderr.trim()}` : ""}`;
|
|
481486
|
+
return {
|
|
481487
|
+
type: "text",
|
|
481488
|
+
value: `Restored checkpoint #${index}:
|
|
481489
|
+
${lines2[index].trim()}
|
|
481490
|
+
${detail ? `
|
|
481491
|
+
${detail}` : ""}
|
|
481492
|
+
|
|
481493
|
+
Use /checkpoint list to review; the stash entry is kept so you can re-apply if needed.`.trim()
|
|
481494
|
+
};
|
|
481392
481495
|
}
|
|
481496
|
+
var init_rewind = __esm(() => {
|
|
481497
|
+
init_execFileNoThrow();
|
|
481498
|
+
init_cwd2();
|
|
481499
|
+
init_git();
|
|
481500
|
+
});
|
|
481393
481501
|
|
|
481394
481502
|
// src/commands/rewind/index.ts
|
|
481395
481503
|
var rewind, rewind_default;
|
|
481396
|
-
var
|
|
481504
|
+
var init_rewind2 = __esm(() => {
|
|
481397
481505
|
rewind = {
|
|
481398
481506
|
description: `Restore the code and/or conversation to a previous point`,
|
|
481399
481507
|
name: "rewind",
|
|
@@ -481401,7 +481509,7 @@ var init_rewind = __esm(() => {
|
|
|
481401
481509
|
argumentHint: "",
|
|
481402
481510
|
type: "local",
|
|
481403
481511
|
supportsNonInteractive: false,
|
|
481404
|
-
load: () => Promise.resolve().then(() => exports_rewind)
|
|
481512
|
+
load: () => Promise.resolve().then(() => (init_rewind(), exports_rewind))
|
|
481405
481513
|
};
|
|
481406
481514
|
rewind_default = rewind;
|
|
481407
481515
|
});
|
|
@@ -493523,7 +493631,7 @@ var init_commands2 = __esm(() => {
|
|
|
493523
493631
|
init_agents3();
|
|
493524
493632
|
init_plugin2();
|
|
493525
493633
|
init_reload_plugins2();
|
|
493526
|
-
|
|
493634
|
+
init_rewind2();
|
|
493527
493635
|
init_heapdump2();
|
|
493528
493636
|
init_mock_limits();
|
|
493529
493637
|
init_bridge_kick();
|
|
@@ -563552,6 +563660,7 @@ var init_migrateEnableAllProjectMcpServersToSettings = __esm(() => {
|
|
|
563552
563660
|
// src/migrations/migrateFennecToOpus.ts
|
|
563553
563661
|
var init_migrateFennecToOpus = __esm(() => {
|
|
563554
563662
|
init_log3();
|
|
563663
|
+
init_config();
|
|
563555
563664
|
init_providers();
|
|
563556
563665
|
init_settings2();
|
|
563557
563666
|
});
|
package/dist/myclaude.mjs
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
// MACRO - build-time constants (injected by build.ts)
|
|
5
5
|
// MACRO injected by build script
|
|
6
6
|
globalThis.MACRO = {
|
|
7
|
-
VERSION: "0.1.
|
|
8
|
-
BUILD_TIME: "2026-08-
|
|
7
|
+
VERSION: "0.1.187",
|
|
8
|
+
BUILD_TIME: "2026-08-10T04:38:27.202Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -117152,7 +117152,7 @@ var package_default;
|
|
|
117152
117152
|
var init_package = __esm(() => {
|
|
117153
117153
|
package_default = {
|
|
117154
117154
|
name: "@funnycode/myclaude",
|
|
117155
|
-
version: "0.1.
|
|
117155
|
+
version: "0.1.187",
|
|
117156
117156
|
private: false,
|
|
117157
117157
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117158
117158
|
license: "MIT",
|
|
@@ -209359,6 +209359,13 @@ function parseEventData(event) {
|
|
|
209359
209359
|
return null;
|
|
209360
209360
|
}
|
|
209361
209361
|
}
|
|
209362
|
+
function isDumpPromptsEnabled() {
|
|
209363
|
+
if (false)
|
|
209364
|
+
;
|
|
209365
|
+
if (process.env.DUMP_PROMPTS !== "1")
|
|
209366
|
+
return false;
|
|
209367
|
+
return process.env.USER_TYPE === "ant" || process.env.MYCLAUDE_ALLOW_DUMP_PROMPTS === "1";
|
|
209368
|
+
}
|
|
209362
209369
|
function hashString3(str) {
|
|
209363
209370
|
return createHash5("sha256").update(str).digest("hex");
|
|
209364
209371
|
}
|
|
@@ -209415,7 +209422,7 @@ function clearAllDumpState() {
|
|
|
209415
209422
|
dumpState.clear();
|
|
209416
209423
|
}
|
|
209417
209424
|
function addApiRequestToCache(requestData) {
|
|
209418
|
-
if (
|
|
209425
|
+
if (!isDumpPromptsEnabled())
|
|
209419
209426
|
return;
|
|
209420
209427
|
const metadata = {
|
|
209421
209428
|
timestamp: new Date().toISOString(),
|
|
@@ -209454,7 +209461,7 @@ function initFingerprint(req) {
|
|
|
209454
209461
|
async function dumpRequest(body, ts, state, filePath) {
|
|
209455
209462
|
if (false)
|
|
209456
209463
|
;
|
|
209457
|
-
if (
|
|
209464
|
+
if (!isDumpPromptsEnabled())
|
|
209458
209465
|
return;
|
|
209459
209466
|
try {
|
|
209460
209467
|
const req = jsonParse(body);
|
|
@@ -209512,7 +209519,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
209512
209519
|
trimDumpState();
|
|
209513
209520
|
let timestamp;
|
|
209514
209521
|
if (init2?.method === "POST" && init2.body) {
|
|
209515
|
-
if (
|
|
209522
|
+
if (isDumpPromptsEnabled()) {
|
|
209516
209523
|
timestamp = new Date().toISOString();
|
|
209517
209524
|
enqueueDumpRequest(agentIdOrSessionId, async () => {
|
|
209518
209525
|
await dumpRequest(init2.body, timestamp, state, filePath);
|
|
@@ -209520,7 +209527,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
209520
209527
|
}
|
|
209521
209528
|
}
|
|
209522
209529
|
const response = await globalThis.fetch(input, init2);
|
|
209523
|
-
if (timestamp && response.ok &&
|
|
209530
|
+
if (timestamp && response.ok && isDumpPromptsEnabled()) {
|
|
209524
209531
|
const cloned = response.clone();
|
|
209525
209532
|
(async () => {
|
|
209526
209533
|
try {
|
|
@@ -209624,7 +209631,7 @@ var init_dumpPrompts = __esm(() => {
|
|
|
209624
209631
|
init_debug();
|
|
209625
209632
|
init_log3();
|
|
209626
209633
|
init_async_mutex();
|
|
209627
|
-
if (
|
|
209634
|
+
if (isDumpPromptsEnabled()) {
|
|
209628
209635
|
logForDebugging("DUMP_PROMPTS is enabled. This will write full API payloads (including system prompts, user messages, and tool definitions) to the filesystem. This is intended for debugging only and should NOT be used in production.", { level: "warn" });
|
|
209629
209636
|
}
|
|
209630
209637
|
cachedApiRequests = [];
|
|
@@ -481384,16 +481391,117 @@ var exports_rewind = {};
|
|
|
481384
481391
|
__export(exports_rewind, {
|
|
481385
481392
|
call: () => call53
|
|
481386
481393
|
});
|
|
481387
|
-
async function call53(
|
|
481388
|
-
|
|
481389
|
-
|
|
481394
|
+
async function call53(args, _context) {
|
|
481395
|
+
const isGit = await getIsGit();
|
|
481396
|
+
if (!isGit) {
|
|
481397
|
+
return {
|
|
481398
|
+
type: "text",
|
|
481399
|
+
value: "Checkpoint requires a git repository. Run `git init` first, or use this command inside a git worktree."
|
|
481400
|
+
};
|
|
481401
|
+
}
|
|
481402
|
+
const trimmed = args.trim();
|
|
481403
|
+
if (trimmed === "" || trimmed === "list") {
|
|
481404
|
+
return listCheckpoints();
|
|
481405
|
+
}
|
|
481406
|
+
if (trimmed === "restore" || trimmed === "undo") {
|
|
481407
|
+
return {
|
|
481408
|
+
type: "text",
|
|
481409
|
+
value: "Usage: /checkpoint restore <n> — restore checkpoint #n (see /checkpoint list)."
|
|
481410
|
+
};
|
|
481411
|
+
}
|
|
481412
|
+
const restoreMatch = trimmed.match(/^(?:restore|undo)\s+(\d+)$/);
|
|
481413
|
+
if (restoreMatch) {
|
|
481414
|
+
return restoreCheckpoint(Number(restoreMatch[1]));
|
|
481415
|
+
}
|
|
481416
|
+
return createCheckpoint(trimmed);
|
|
481417
|
+
}
|
|
481418
|
+
async function getCheckpointListRaw() {
|
|
481419
|
+
const { stdout } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "list"], { preserveOutputOnError: false });
|
|
481420
|
+
return stdout;
|
|
481421
|
+
}
|
|
481422
|
+
async function createCheckpoint(description) {
|
|
481423
|
+
const cwd2 = getCwd();
|
|
481424
|
+
const label = `myclaude-checkpoint: ${description}`;
|
|
481425
|
+
const { stderr } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "push", "-m", label], { cwd: cwd2, preserveOutputOnError: true });
|
|
481426
|
+
const status2 = await getCheckpointListRaw();
|
|
481427
|
+
if (status2 === "") {
|
|
481428
|
+
return {
|
|
481429
|
+
type: "text",
|
|
481430
|
+
value: "No changes to checkpoint — the workspace is already clean."
|
|
481431
|
+
};
|
|
481432
|
+
}
|
|
481433
|
+
return {
|
|
481434
|
+
type: "text",
|
|
481435
|
+
value: `Checkpoint created: ${label}
|
|
481436
|
+
${stderr.trim() || ""}
|
|
481437
|
+
|
|
481438
|
+
Use /checkpoint list to see all checkpoints.`.trim()
|
|
481439
|
+
};
|
|
481440
|
+
}
|
|
481441
|
+
async function listCheckpoints() {
|
|
481442
|
+
const stdout = await getCheckpointListRaw();
|
|
481443
|
+
if (stdout.trim() === "") {
|
|
481444
|
+
return {
|
|
481445
|
+
type: "text",
|
|
481446
|
+
value: `No checkpoints yet.
|
|
481447
|
+
|
|
481448
|
+
Usage:
|
|
481449
|
+
/checkpoint <description> — save current workspace state
|
|
481450
|
+
/checkpoint list — list checkpoints
|
|
481451
|
+
/checkpoint restore <n> — restore checkpoint #n`
|
|
481452
|
+
};
|
|
481453
|
+
}
|
|
481454
|
+
const lines2 = stdout.trim().split(`
|
|
481455
|
+
`);
|
|
481456
|
+
const annotated = lines2.map((line, index) => {
|
|
481457
|
+
const marker = line.includes("myclaude-checkpoint") ? " ← /checkpoint" : "";
|
|
481458
|
+
return ` ${index}: ${line.trim()}${marker}`;
|
|
481459
|
+
}).join(`
|
|
481460
|
+
`);
|
|
481461
|
+
return {
|
|
481462
|
+
type: "text",
|
|
481463
|
+
value: `Saved checkpoints:
|
|
481464
|
+
${annotated}
|
|
481465
|
+
|
|
481466
|
+
Restore with: /checkpoint restore <n>`
|
|
481467
|
+
};
|
|
481468
|
+
}
|
|
481469
|
+
async function restoreCheckpoint(index) {
|
|
481470
|
+
const listRaw = await getCheckpointListRaw();
|
|
481471
|
+
const lines2 = listRaw.trim().split(`
|
|
481472
|
+
`).filter(Boolean);
|
|
481473
|
+
if (lines2.length === 0) {
|
|
481474
|
+
return { type: "text", value: "No checkpoints to restore." };
|
|
481390
481475
|
}
|
|
481391
|
-
|
|
481476
|
+
if (index < 0 || index >= lines2.length) {
|
|
481477
|
+
return {
|
|
481478
|
+
type: "text",
|
|
481479
|
+
value: `Invalid checkpoint index ${index}. Run /checkpoint list to see valid indices (0–${lines2.length - 1}).`
|
|
481480
|
+
};
|
|
481481
|
+
}
|
|
481482
|
+
const cwd2 = getCwd();
|
|
481483
|
+
const { stdout, stderr } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "stash", "apply", `stash@{${index}}`], { cwd: cwd2, preserveOutputOnError: true });
|
|
481484
|
+
const detail = `${stdout.trim()}${stderr.trim() ? `
|
|
481485
|
+
${stderr.trim()}` : ""}`;
|
|
481486
|
+
return {
|
|
481487
|
+
type: "text",
|
|
481488
|
+
value: `Restored checkpoint #${index}:
|
|
481489
|
+
${lines2[index].trim()}
|
|
481490
|
+
${detail ? `
|
|
481491
|
+
${detail}` : ""}
|
|
481492
|
+
|
|
481493
|
+
Use /checkpoint list to review; the stash entry is kept so you can re-apply if needed.`.trim()
|
|
481494
|
+
};
|
|
481392
481495
|
}
|
|
481496
|
+
var init_rewind = __esm(() => {
|
|
481497
|
+
init_execFileNoThrow();
|
|
481498
|
+
init_cwd2();
|
|
481499
|
+
init_git();
|
|
481500
|
+
});
|
|
481393
481501
|
|
|
481394
481502
|
// src/commands/rewind/index.ts
|
|
481395
481503
|
var rewind, rewind_default;
|
|
481396
|
-
var
|
|
481504
|
+
var init_rewind2 = __esm(() => {
|
|
481397
481505
|
rewind = {
|
|
481398
481506
|
description: `Restore the code and/or conversation to a previous point`,
|
|
481399
481507
|
name: "rewind",
|
|
@@ -481401,7 +481509,7 @@ var init_rewind = __esm(() => {
|
|
|
481401
481509
|
argumentHint: "",
|
|
481402
481510
|
type: "local",
|
|
481403
481511
|
supportsNonInteractive: false,
|
|
481404
|
-
load: () => Promise.resolve().then(() => exports_rewind)
|
|
481512
|
+
load: () => Promise.resolve().then(() => (init_rewind(), exports_rewind))
|
|
481405
481513
|
};
|
|
481406
481514
|
rewind_default = rewind;
|
|
481407
481515
|
});
|
|
@@ -493523,7 +493631,7 @@ var init_commands2 = __esm(() => {
|
|
|
493523
493631
|
init_agents3();
|
|
493524
493632
|
init_plugin2();
|
|
493525
493633
|
init_reload_plugins2();
|
|
493526
|
-
|
|
493634
|
+
init_rewind2();
|
|
493527
493635
|
init_heapdump2();
|
|
493528
493636
|
init_mock_limits();
|
|
493529
493637
|
init_bridge_kick();
|
|
@@ -563552,6 +563660,7 @@ var init_migrateEnableAllProjectMcpServersToSettings = __esm(() => {
|
|
|
563552
563660
|
// src/migrations/migrateFennecToOpus.ts
|
|
563553
563661
|
var init_migrateFennecToOpus = __esm(() => {
|
|
563554
563662
|
init_log3();
|
|
563663
|
+
init_config();
|
|
563555
563664
|
init_providers();
|
|
563556
563665
|
init_settings2();
|
|
563557
563666
|
});
|