@funnycode/myclaude 0.1.29 → 0.1.30

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 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.29",
8
- BUILD_TIME: "2026-06-22T13:47:26.643Z",
7
+ VERSION: "0.1.30",
8
+ BUILD_TIME: "2026-06-23T12:43:05.483Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -153664,6 +153664,9 @@ function getPluginErrorMessage(error49) {
153664
153664
  }
153665
153665
 
153666
153666
  // src/plugins/builtinPlugins.ts
153667
+ function registerBuiltinPlugin(definition) {
153668
+ BUILTIN_PLUGINS.set(definition.name, definition);
153669
+ }
153667
153670
  function isBuiltinPluginId(pluginId) {
153668
153671
  return pluginId.endsWith(`@${BUILTIN_MARKETPLACE_NAME}`);
153669
153672
  }
@@ -554515,8 +554518,97 @@ var init_dialogLaunchers = __esm(() => {
554515
554518
  jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
554516
554519
  });
554517
554520
 
554521
+ // src/plugins/bundled/codegraphCheck.ts
554522
+ async function isCodeGraphInstalled() {
554523
+ if (cachedResult !== null)
554524
+ return cachedResult;
554525
+ try {
554526
+ const result = await execFileNoThrow("codegraph", ["--version"], {
554527
+ timeout: 3000,
554528
+ stdin: "ignore"
554529
+ });
554530
+ cachedResult = result.code === 0;
554531
+ } catch {
554532
+ cachedResult = false;
554533
+ }
554534
+ return cachedResult;
554535
+ }
554536
+ var cachedResult = null;
554537
+ var init_codegraphCheck = __esm(() => {
554538
+ init_execFileNoThrow();
554539
+ });
554540
+
554541
+ // src/plugins/bundled/eccMarketplace.ts
554542
+ import { join as join150 } from "path";
554543
+ function getKnownMarketplacesFile2() {
554544
+ const homeDir = process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR || join150(process.env.HOME || process.env.USERPROFILE || "~", ".claude", "plugins");
554545
+ return join150(homeDir, "known_marketplaces.json");
554546
+ }
554547
+ async function ensureEccMarketplaceRegistered() {
554548
+ const fs12 = getFsImplementation();
554549
+ const configFile = getKnownMarketplacesFile2();
554550
+ try {
554551
+ let config5 = {};
554552
+ try {
554553
+ const content = await fs12.readFile(configFile, { encoding: "utf-8" });
554554
+ config5 = jsonParse(content);
554555
+ } catch {}
554556
+ if (config5["ecc"])
554557
+ return false;
554558
+ config5["ecc"] = {
554559
+ source: {
554560
+ source: "git",
554561
+ url: ECC_MARKETPLACE_URL
554562
+ },
554563
+ autoUpdate: false,
554564
+ lastUpdated: new Date().toISOString()
554565
+ };
554566
+ await fs12.writeFile(configFile, jsonStringify(config5, null, 2), {
554567
+ encoding: "utf-8"
554568
+ });
554569
+ logForDebugging("Registered ECC marketplace in known_marketplaces.json");
554570
+ return true;
554571
+ } catch (error49) {
554572
+ logForDebugging(`Failed to register ECC marketplace: ${error49}`, {
554573
+ level: "warn"
554574
+ });
554575
+ return false;
554576
+ }
554577
+ }
554578
+ var ECC_MARKETPLACE_URL = "https://github.com/affaan-m/ECC.git";
554579
+ var init_eccMarketplace = __esm(() => {
554580
+ init_fsOperations();
554581
+ init_debug();
554582
+ init_slowOperations();
554583
+ });
554584
+
554518
554585
  // src/plugins/bundled/index.ts
554519
- function initBuiltinPlugins() {}
554586
+ function initBuiltinPlugins() {
554587
+ registerBuiltinPlugin({
554588
+ name: "codegraph",
554589
+ description: "Semantic code intelligence — surgical context, fewer tool calls",
554590
+ version: "1.0.0",
554591
+ defaultEnabled: false,
554592
+ isAvailable: () => {
554593
+ isCodeGraphInstalled().catch(() => {});
554594
+ return false;
554595
+ },
554596
+ mcpServers: {
554597
+ codegraph: {
554598
+ command: "codegraph",
554599
+ args: ["mcp"]
554600
+ }
554601
+ }
554602
+ });
554603
+ }
554604
+ async function initSeedMarketplaces() {
554605
+ await ensureEccMarketplaceRegistered();
554606
+ }
554607
+ var init_bundled = __esm(() => {
554608
+ init_builtinPlugins();
554609
+ init_codegraphCheck();
554610
+ init_eccMarketplace();
554611
+ });
554520
554612
 
554521
554613
  // src/services/plugins/pluginCliCommands.ts
554522
554614
  function handlePluginCommandError(error49, command8, plugin2) {
@@ -556604,7 +556696,7 @@ function initBundledSkills() {
556604
556696
  }
556605
556697
  if (false) {}
556606
556698
  }
556607
- var init_bundled = __esm(() => {
556699
+ var init_bundled2 = __esm(() => {
556608
556700
  init_setup2();
556609
556701
  init_batch();
556610
556702
  init_claudeInChrome();
@@ -557323,12 +557415,12 @@ var init_createDirectConnectSession = __esm(() => {
557323
557415
  });
557324
557416
 
557325
557417
  // src/utils/errorLogSink.ts
557326
- import { dirname as dirname64, join as join150 } from "path";
557418
+ import { dirname as dirname64, join as join151 } from "path";
557327
557419
  function getErrorsPath() {
557328
- return join150(CACHE_PATHS.errors(), DATE + ".jsonl");
557420
+ return join151(CACHE_PATHS.errors(), DATE + ".jsonl");
557329
557421
  }
557330
557422
  function getMCPLogsPath(serverName) {
557331
- return join150(CACHE_PATHS.mcpLogs(serverName), DATE + ".jsonl");
557423
+ return join151(CACHE_PATHS.mcpLogs(serverName), DATE + ".jsonl");
557332
557424
  }
557333
557425
  function createJsonlWriter(options) {
557334
557426
  const writer = createBufferedWriter(options);
@@ -557671,7 +557763,7 @@ var init_sessionMemory = __esm(() => {
557671
557763
  // src/utils/iTermBackup.ts
557672
557764
  import { copyFile as copyFile12, stat as stat49 } from "fs/promises";
557673
557765
  import { homedir as homedir39 } from "os";
557674
- import { join as join151 } from "path";
557766
+ import { join as join152 } from "path";
557675
557767
  function markITerm2SetupComplete() {
557676
557768
  saveGlobalConfig((current) => ({
557677
557769
  ...current,
@@ -557686,7 +557778,7 @@ function getIterm2RecoveryInfo() {
557686
557778
  };
557687
557779
  }
557688
557780
  function getITerm2PlistPath() {
557689
- return join151(homedir39(), "Library", "Preferences", "com.googlecode.iterm2.plist");
557781
+ return join152(homedir39(), "Library", "Preferences", "com.googlecode.iterm2.plist");
557690
557782
  }
557691
557783
  async function checkAndRestoreITerm2Backup() {
557692
557784
  const { inProgress, backupPath } = getIterm2RecoveryInfo();
@@ -561051,7 +561143,7 @@ var init_idleTimeout = __esm(() => {
561051
561143
  // src/bridge/inboundAttachments.ts
561052
561144
  import { randomUUID as randomUUID48 } from "crypto";
561053
561145
  import { mkdir as mkdir42, writeFile as writeFile46 } from "fs/promises";
561054
- import { basename as basename58, join as join152 } from "path";
561146
+ import { basename as basename58, join as join153 } from "path";
561055
561147
  function debug3(msg) {
561056
561148
  logForDebugging(`[bridge:inbound-attach] ${msg}`);
561057
561149
  }
@@ -561067,7 +561159,7 @@ function sanitizeFileName(name) {
561067
561159
  return base2 || "attachment";
561068
561160
  }
561069
561161
  function uploadsDir() {
561070
- return join152(getClaudeConfigHomeDir(), "uploads", getSessionId());
561162
+ return join153(getClaudeConfigHomeDir(), "uploads", getSessionId());
561071
561163
  }
561072
561164
  async function resolveOne(att) {
561073
561165
  const token = getBridgeAccessToken();
@@ -561096,7 +561188,7 @@ async function resolveOne(att) {
561096
561188
  const safeName = sanitizeFileName(att.file_name);
561097
561189
  const prefix = (att.file_uuid.slice(0, 8) || randomUUID48().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
561098
561190
  const dir = uploadsDir();
561099
- const outPath = join152(dir, `${prefix}-${safeName}`);
561191
+ const outPath = join153(dir, `${prefix}-${safeName}`);
561100
561192
  try {
561101
561193
  await mkdir42(dir, { recursive: true });
561102
561194
  await writeFile46(outPath, data);
@@ -561196,7 +561288,7 @@ var init_sessionUrl = __esm(() => {
561196
561288
 
561197
561289
  // src/utils/plugins/zipCacheAdapters.ts
561198
561290
  import { readFile as readFile51 } from "fs/promises";
561199
- import { join as join153 } from "path";
561291
+ import { join as join154 } from "path";
561200
561292
  async function readZipCacheKnownMarketplaces() {
561201
561293
  try {
561202
561294
  const content = await readFile51(getZipCacheKnownMarketplacesPath(), "utf-8");
@@ -561221,13 +561313,13 @@ async function saveMarketplaceJsonToZipCache(marketplaceName, installLocation) {
561221
561313
  const content = await readMarketplaceJsonContent(installLocation);
561222
561314
  if (content !== null) {
561223
561315
  const relPath = getMarketplaceJsonRelativePath(marketplaceName);
561224
- await atomicWriteToZipCache(join153(zipCachePath, relPath), content);
561316
+ await atomicWriteToZipCache(join154(zipCachePath, relPath), content);
561225
561317
  }
561226
561318
  }
561227
561319
  async function readMarketplaceJsonContent(dir) {
561228
561320
  const candidates = [
561229
- join153(dir, ".claude-plugin", "marketplace.json"),
561230
- join153(dir, "marketplace.json"),
561321
+ join154(dir, ".claude-plugin", "marketplace.json"),
561322
+ join154(dir, "marketplace.json"),
561231
561323
  dir
561232
561324
  ];
561233
561325
  for (const candidate of candidates) {
@@ -561686,9 +561778,9 @@ __export(exports_bridgePointer, {
561686
561778
  BRIDGE_POINTER_TTL_MS: () => BRIDGE_POINTER_TTL_MS
561687
561779
  });
561688
561780
  import { mkdir as mkdir43, readFile as readFile52, stat as stat50, unlink as unlink22, writeFile as writeFile47 } from "fs/promises";
561689
- import { dirname as dirname65, join as join154 } from "path";
561781
+ import { dirname as dirname65, join as join155 } from "path";
561690
561782
  function getBridgePointerPath(dir) {
561691
- return join154(getProjectsDir(), sanitizePath2(dir), "bridge-pointer.json");
561783
+ return join155(getProjectsDir(), sanitizePath2(dir), "bridge-pointer.json");
561692
561784
  }
561693
561785
  async function writeBridgePointer(dir, pointer) {
561694
561786
  const path24 = getBridgePointerPath(dir);
@@ -567625,14 +567717,14 @@ __export(exports_claudeDesktop, {
567625
567717
  });
567626
567718
  import { readdir as readdir30, readFile as readFile54, stat as stat52 } from "fs/promises";
567627
567719
  import { homedir as homedir40 } from "os";
567628
- import { join as join155 } from "path";
567720
+ import { join as join156 } from "path";
567629
567721
  async function getClaudeDesktopConfigPath() {
567630
567722
  const platform6 = getPlatform();
567631
567723
  if (!SUPPORTED_PLATFORMS.includes(platform6)) {
567632
567724
  throw new Error(`Unsupported platform: ${platform6} - Claude Desktop integration only works on macOS and WSL.`);
567633
567725
  }
567634
567726
  if (platform6 === "macos") {
567635
- return join155(homedir40(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
567727
+ return join156(homedir40(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
567636
567728
  }
567637
567729
  const windowsHome = process.env.USERPROFILE ? process.env.USERPROFILE.replace(/\\/g, "/") : null;
567638
567730
  if (windowsHome) {
@@ -567651,7 +567743,7 @@ async function getClaudeDesktopConfigPath() {
567651
567743
  if (user.name === "Public" || user.name === "Default" || user.name === "Default User" || user.name === "All Users") {
567652
567744
  continue;
567653
567745
  }
567654
- const potentialConfigPath = join155(usersDir, user.name, "AppData", "Roaming", "Claude", "claude_desktop_config.json");
567746
+ const potentialConfigPath = join156(usersDir, user.name, "AppData", "Roaming", "Claude", "claude_desktop_config.json");
567655
567747
  try {
567656
567748
  await stat52(potentialConfigPath);
567657
567749
  return potentialConfigPath;
@@ -568560,12 +568652,12 @@ __export(exports_install, {
568560
568652
  install: () => install
568561
568653
  });
568562
568654
  import { homedir as homedir41 } from "node:os";
568563
- import { join as join156 } from "node:path";
568655
+ import { join as join157 } from "node:path";
568564
568656
  function getInstallationPath2() {
568565
568657
  const isWindows2 = env4.platform === "win32";
568566
568658
  const homeDir = homedir41();
568567
568659
  if (isWindows2) {
568568
- const windowsPath = join156(homeDir, ".local", "bin", "claude.exe");
568660
+ const windowsPath = join157(homeDir, ".local", "bin", "claude.exe");
568569
568661
  return windowsPath.replace(/\//g, "\\");
568570
568662
  }
568571
568663
  return "~/.local/bin/claude";
@@ -570330,6 +570422,7 @@ ${hint}` : hint;
570330
570422
  if (process.env.CLAUDE_CODE_ENTRYPOINT !== "local-agent") {
570331
570423
  initBuiltinPlugins();
570332
570424
  initBundledSkills();
570425
+ initSeedMarketplaces().catch(() => {});
570333
570426
  }
570334
570427
  const setupPromise = setup2(preSetupCwd, permissionMode, allowDangerouslySkipPermissions, worktreeEnabled, worktreeName, tmuxEnabled, sessionId ? validateUuid2(sessionId) : undefined, worktreePRNumber, messagingSocketPath);
570335
570428
  const commandsPromise = worktreeEnabled ? null : getCommands(preSetupCwd);
@@ -571823,10 +571916,11 @@ var init_main3 = __esm(() => {
571823
571916
  init_dialogLaunchers();
571824
571917
  init_dec();
571825
571918
  init_interactiveHelpers();
571919
+ init_bundled();
571826
571920
  init_claudeAiLimits();
571827
571921
  init_client6();
571828
571922
  init_pluginCliCommands();
571829
- init_bundled();
571923
+ init_bundled2();
571830
571924
  init_loadAgentsDir();
571831
571925
  init_autoUpdater();
571832
571926
  init_setup2();
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.29",
8
- BUILD_TIME: "2026-06-22T13:47:26.643Z",
7
+ VERSION: "0.1.30",
8
+ BUILD_TIME: "2026-06-23T12:43:05.483Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -153664,6 +153664,9 @@ function getPluginErrorMessage(error49) {
153664
153664
  }
153665
153665
 
153666
153666
  // src/plugins/builtinPlugins.ts
153667
+ function registerBuiltinPlugin(definition) {
153668
+ BUILTIN_PLUGINS.set(definition.name, definition);
153669
+ }
153667
153670
  function isBuiltinPluginId(pluginId) {
153668
153671
  return pluginId.endsWith(`@${BUILTIN_MARKETPLACE_NAME}`);
153669
153672
  }
@@ -554515,8 +554518,97 @@ var init_dialogLaunchers = __esm(() => {
554515
554518
  jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
554516
554519
  });
554517
554520
 
554521
+ // src/plugins/bundled/codegraphCheck.ts
554522
+ async function isCodeGraphInstalled() {
554523
+ if (cachedResult !== null)
554524
+ return cachedResult;
554525
+ try {
554526
+ const result = await execFileNoThrow("codegraph", ["--version"], {
554527
+ timeout: 3000,
554528
+ stdin: "ignore"
554529
+ });
554530
+ cachedResult = result.code === 0;
554531
+ } catch {
554532
+ cachedResult = false;
554533
+ }
554534
+ return cachedResult;
554535
+ }
554536
+ var cachedResult = null;
554537
+ var init_codegraphCheck = __esm(() => {
554538
+ init_execFileNoThrow();
554539
+ });
554540
+
554541
+ // src/plugins/bundled/eccMarketplace.ts
554542
+ import { join as join150 } from "path";
554543
+ function getKnownMarketplacesFile2() {
554544
+ const homeDir = process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR || join150(process.env.HOME || process.env.USERPROFILE || "~", ".claude", "plugins");
554545
+ return join150(homeDir, "known_marketplaces.json");
554546
+ }
554547
+ async function ensureEccMarketplaceRegistered() {
554548
+ const fs12 = getFsImplementation();
554549
+ const configFile = getKnownMarketplacesFile2();
554550
+ try {
554551
+ let config5 = {};
554552
+ try {
554553
+ const content = await fs12.readFile(configFile, { encoding: "utf-8" });
554554
+ config5 = jsonParse(content);
554555
+ } catch {}
554556
+ if (config5["ecc"])
554557
+ return false;
554558
+ config5["ecc"] = {
554559
+ source: {
554560
+ source: "git",
554561
+ url: ECC_MARKETPLACE_URL
554562
+ },
554563
+ autoUpdate: false,
554564
+ lastUpdated: new Date().toISOString()
554565
+ };
554566
+ await fs12.writeFile(configFile, jsonStringify(config5, null, 2), {
554567
+ encoding: "utf-8"
554568
+ });
554569
+ logForDebugging("Registered ECC marketplace in known_marketplaces.json");
554570
+ return true;
554571
+ } catch (error49) {
554572
+ logForDebugging(`Failed to register ECC marketplace: ${error49}`, {
554573
+ level: "warn"
554574
+ });
554575
+ return false;
554576
+ }
554577
+ }
554578
+ var ECC_MARKETPLACE_URL = "https://github.com/affaan-m/ECC.git";
554579
+ var init_eccMarketplace = __esm(() => {
554580
+ init_fsOperations();
554581
+ init_debug();
554582
+ init_slowOperations();
554583
+ });
554584
+
554518
554585
  // src/plugins/bundled/index.ts
554519
- function initBuiltinPlugins() {}
554586
+ function initBuiltinPlugins() {
554587
+ registerBuiltinPlugin({
554588
+ name: "codegraph",
554589
+ description: "Semantic code intelligence — surgical context, fewer tool calls",
554590
+ version: "1.0.0",
554591
+ defaultEnabled: false,
554592
+ isAvailable: () => {
554593
+ isCodeGraphInstalled().catch(() => {});
554594
+ return false;
554595
+ },
554596
+ mcpServers: {
554597
+ codegraph: {
554598
+ command: "codegraph",
554599
+ args: ["mcp"]
554600
+ }
554601
+ }
554602
+ });
554603
+ }
554604
+ async function initSeedMarketplaces() {
554605
+ await ensureEccMarketplaceRegistered();
554606
+ }
554607
+ var init_bundled = __esm(() => {
554608
+ init_builtinPlugins();
554609
+ init_codegraphCheck();
554610
+ init_eccMarketplace();
554611
+ });
554520
554612
 
554521
554613
  // src/services/plugins/pluginCliCommands.ts
554522
554614
  function handlePluginCommandError(error49, command8, plugin2) {
@@ -556604,7 +556696,7 @@ function initBundledSkills() {
556604
556696
  }
556605
556697
  if (false) {}
556606
556698
  }
556607
- var init_bundled = __esm(() => {
556699
+ var init_bundled2 = __esm(() => {
556608
556700
  init_setup2();
556609
556701
  init_batch();
556610
556702
  init_claudeInChrome();
@@ -557323,12 +557415,12 @@ var init_createDirectConnectSession = __esm(() => {
557323
557415
  });
557324
557416
 
557325
557417
  // src/utils/errorLogSink.ts
557326
- import { dirname as dirname64, join as join150 } from "path";
557418
+ import { dirname as dirname64, join as join151 } from "path";
557327
557419
  function getErrorsPath() {
557328
- return join150(CACHE_PATHS.errors(), DATE + ".jsonl");
557420
+ return join151(CACHE_PATHS.errors(), DATE + ".jsonl");
557329
557421
  }
557330
557422
  function getMCPLogsPath(serverName) {
557331
- return join150(CACHE_PATHS.mcpLogs(serverName), DATE + ".jsonl");
557423
+ return join151(CACHE_PATHS.mcpLogs(serverName), DATE + ".jsonl");
557332
557424
  }
557333
557425
  function createJsonlWriter(options) {
557334
557426
  const writer = createBufferedWriter(options);
@@ -557671,7 +557763,7 @@ var init_sessionMemory = __esm(() => {
557671
557763
  // src/utils/iTermBackup.ts
557672
557764
  import { copyFile as copyFile12, stat as stat49 } from "fs/promises";
557673
557765
  import { homedir as homedir39 } from "os";
557674
- import { join as join151 } from "path";
557766
+ import { join as join152 } from "path";
557675
557767
  function markITerm2SetupComplete() {
557676
557768
  saveGlobalConfig((current) => ({
557677
557769
  ...current,
@@ -557686,7 +557778,7 @@ function getIterm2RecoveryInfo() {
557686
557778
  };
557687
557779
  }
557688
557780
  function getITerm2PlistPath() {
557689
- return join151(homedir39(), "Library", "Preferences", "com.googlecode.iterm2.plist");
557781
+ return join152(homedir39(), "Library", "Preferences", "com.googlecode.iterm2.plist");
557690
557782
  }
557691
557783
  async function checkAndRestoreITerm2Backup() {
557692
557784
  const { inProgress, backupPath } = getIterm2RecoveryInfo();
@@ -561051,7 +561143,7 @@ var init_idleTimeout = __esm(() => {
561051
561143
  // src/bridge/inboundAttachments.ts
561052
561144
  import { randomUUID as randomUUID48 } from "crypto";
561053
561145
  import { mkdir as mkdir42, writeFile as writeFile46 } from "fs/promises";
561054
- import { basename as basename58, join as join152 } from "path";
561146
+ import { basename as basename58, join as join153 } from "path";
561055
561147
  function debug3(msg) {
561056
561148
  logForDebugging(`[bridge:inbound-attach] ${msg}`);
561057
561149
  }
@@ -561067,7 +561159,7 @@ function sanitizeFileName(name) {
561067
561159
  return base2 || "attachment";
561068
561160
  }
561069
561161
  function uploadsDir() {
561070
- return join152(getClaudeConfigHomeDir(), "uploads", getSessionId());
561162
+ return join153(getClaudeConfigHomeDir(), "uploads", getSessionId());
561071
561163
  }
561072
561164
  async function resolveOne(att) {
561073
561165
  const token = getBridgeAccessToken();
@@ -561096,7 +561188,7 @@ async function resolveOne(att) {
561096
561188
  const safeName = sanitizeFileName(att.file_name);
561097
561189
  const prefix = (att.file_uuid.slice(0, 8) || randomUUID48().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
561098
561190
  const dir = uploadsDir();
561099
- const outPath = join152(dir, `${prefix}-${safeName}`);
561191
+ const outPath = join153(dir, `${prefix}-${safeName}`);
561100
561192
  try {
561101
561193
  await mkdir42(dir, { recursive: true });
561102
561194
  await writeFile46(outPath, data);
@@ -561196,7 +561288,7 @@ var init_sessionUrl = __esm(() => {
561196
561288
 
561197
561289
  // src/utils/plugins/zipCacheAdapters.ts
561198
561290
  import { readFile as readFile51 } from "fs/promises";
561199
- import { join as join153 } from "path";
561291
+ import { join as join154 } from "path";
561200
561292
  async function readZipCacheKnownMarketplaces() {
561201
561293
  try {
561202
561294
  const content = await readFile51(getZipCacheKnownMarketplacesPath(), "utf-8");
@@ -561221,13 +561313,13 @@ async function saveMarketplaceJsonToZipCache(marketplaceName, installLocation) {
561221
561313
  const content = await readMarketplaceJsonContent(installLocation);
561222
561314
  if (content !== null) {
561223
561315
  const relPath = getMarketplaceJsonRelativePath(marketplaceName);
561224
- await atomicWriteToZipCache(join153(zipCachePath, relPath), content);
561316
+ await atomicWriteToZipCache(join154(zipCachePath, relPath), content);
561225
561317
  }
561226
561318
  }
561227
561319
  async function readMarketplaceJsonContent(dir) {
561228
561320
  const candidates = [
561229
- join153(dir, ".claude-plugin", "marketplace.json"),
561230
- join153(dir, "marketplace.json"),
561321
+ join154(dir, ".claude-plugin", "marketplace.json"),
561322
+ join154(dir, "marketplace.json"),
561231
561323
  dir
561232
561324
  ];
561233
561325
  for (const candidate of candidates) {
@@ -561686,9 +561778,9 @@ __export(exports_bridgePointer, {
561686
561778
  BRIDGE_POINTER_TTL_MS: () => BRIDGE_POINTER_TTL_MS
561687
561779
  });
561688
561780
  import { mkdir as mkdir43, readFile as readFile52, stat as stat50, unlink as unlink22, writeFile as writeFile47 } from "fs/promises";
561689
- import { dirname as dirname65, join as join154 } from "path";
561781
+ import { dirname as dirname65, join as join155 } from "path";
561690
561782
  function getBridgePointerPath(dir) {
561691
- return join154(getProjectsDir(), sanitizePath2(dir), "bridge-pointer.json");
561783
+ return join155(getProjectsDir(), sanitizePath2(dir), "bridge-pointer.json");
561692
561784
  }
561693
561785
  async function writeBridgePointer(dir, pointer) {
561694
561786
  const path24 = getBridgePointerPath(dir);
@@ -567625,14 +567717,14 @@ __export(exports_claudeDesktop, {
567625
567717
  });
567626
567718
  import { readdir as readdir30, readFile as readFile54, stat as stat52 } from "fs/promises";
567627
567719
  import { homedir as homedir40 } from "os";
567628
- import { join as join155 } from "path";
567720
+ import { join as join156 } from "path";
567629
567721
  async function getClaudeDesktopConfigPath() {
567630
567722
  const platform6 = getPlatform();
567631
567723
  if (!SUPPORTED_PLATFORMS.includes(platform6)) {
567632
567724
  throw new Error(`Unsupported platform: ${platform6} - Claude Desktop integration only works on macOS and WSL.`);
567633
567725
  }
567634
567726
  if (platform6 === "macos") {
567635
- return join155(homedir40(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
567727
+ return join156(homedir40(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
567636
567728
  }
567637
567729
  const windowsHome = process.env.USERPROFILE ? process.env.USERPROFILE.replace(/\\/g, "/") : null;
567638
567730
  if (windowsHome) {
@@ -567651,7 +567743,7 @@ async function getClaudeDesktopConfigPath() {
567651
567743
  if (user.name === "Public" || user.name === "Default" || user.name === "Default User" || user.name === "All Users") {
567652
567744
  continue;
567653
567745
  }
567654
- const potentialConfigPath = join155(usersDir, user.name, "AppData", "Roaming", "Claude", "claude_desktop_config.json");
567746
+ const potentialConfigPath = join156(usersDir, user.name, "AppData", "Roaming", "Claude", "claude_desktop_config.json");
567655
567747
  try {
567656
567748
  await stat52(potentialConfigPath);
567657
567749
  return potentialConfigPath;
@@ -568560,12 +568652,12 @@ __export(exports_install, {
568560
568652
  install: () => install
568561
568653
  });
568562
568654
  import { homedir as homedir41 } from "node:os";
568563
- import { join as join156 } from "node:path";
568655
+ import { join as join157 } from "node:path";
568564
568656
  function getInstallationPath2() {
568565
568657
  const isWindows2 = env4.platform === "win32";
568566
568658
  const homeDir = homedir41();
568567
568659
  if (isWindows2) {
568568
- const windowsPath = join156(homeDir, ".local", "bin", "claude.exe");
568660
+ const windowsPath = join157(homeDir, ".local", "bin", "claude.exe");
568569
568661
  return windowsPath.replace(/\//g, "\\");
568570
568662
  }
568571
568663
  return "~/.local/bin/claude";
@@ -570330,6 +570422,7 @@ ${hint}` : hint;
570330
570422
  if (process.env.CLAUDE_CODE_ENTRYPOINT !== "local-agent") {
570331
570423
  initBuiltinPlugins();
570332
570424
  initBundledSkills();
570425
+ initSeedMarketplaces().catch(() => {});
570333
570426
  }
570334
570427
  const setupPromise = setup2(preSetupCwd, permissionMode, allowDangerouslySkipPermissions, worktreeEnabled, worktreeName, tmuxEnabled, sessionId ? validateUuid2(sessionId) : undefined, worktreePRNumber, messagingSocketPath);
570335
570428
  const commandsPromise = worktreeEnabled ? null : getCommands(preSetupCwd);
@@ -571823,10 +571916,11 @@ var init_main3 = __esm(() => {
571823
571916
  init_dialogLaunchers();
571824
571917
  init_dec();
571825
571918
  init_interactiveHelpers();
571919
+ init_bundled();
571826
571920
  init_claudeAiLimits();
571827
571921
  init_client6();
571828
571922
  init_pluginCliCommands();
571829
- init_bundled();
571923
+ init_bundled2();
571830
571924
  init_loadAgentsDir();
571831
571925
  init_autoUpdater();
571832
571926
  init_setup2();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funnycode/myclaude",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
4
4
  "private": false,
5
5
  "description": "An open-source AI coding assistant in your terminal - powered by Claude",
6
6
  "license": "MIT",