@funnycode/myclaude 0.1.173 → 0.1.175

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.173",
8
- BUILD_TIME: "2026-08-01T11:52:35.626Z",
7
+ VERSION: "0.1.175",
8
+ BUILD_TIME: "2026-08-01T19:31:56.674Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -119947,7 +119947,7 @@ var package_default;
119947
119947
  var init_package = __esm(() => {
119948
119948
  package_default = {
119949
119949
  name: "@funnycode/myclaude",
119950
- version: "0.1.173",
119950
+ version: "0.1.175",
119951
119951
  private: false,
119952
119952
  description: "An open-source AI coding assistant in your terminal - powered by Claude",
119953
119953
  license: "MIT",
@@ -410151,74 +410151,84 @@ function isInputModeCharacter(input) {
410151
410151
  }
410152
410152
 
410153
410153
  // src/projectOnboardingState.ts
410154
- import { join as join105 } from "path";
410155
- function getDirectoryFingerprint(dirPath, visitedRealPaths, rootRealPath) {
410154
+ import { join as join105, resolve as resolve44 } from "path";
410155
+ function getDirectoryFingerprint(dirPath, recursionStack, rootRealPath) {
410156
410156
  const fs13 = getFsImplementation();
410157
- if (!visitedRealPaths) {
410158
- visitedRealPaths = new Set;
410157
+ if (!recursionStack) {
410158
+ recursionStack = [];
410159
410159
  }
410160
410160
  let currentRealPath;
410161
410161
  try {
410162
410162
  currentRealPath = fs13.realpathSync(dirPath);
410163
- } catch {
410163
+ } catch (err2) {
410164
+ console.warn(`[getDirectoryFingerprint] Failed to resolve real path for '${dirPath}', using original path: ${err2}`);
410164
410165
  currentRealPath = dirPath;
410165
410166
  }
410166
- if (visitedRealPaths.has(currentRealPath)) {
410167
+ if (recursionStack.includes(currentRealPath)) {
410167
410168
  return "";
410168
410169
  }
410169
- visitedRealPaths.add(currentRealPath);
410170
+ recursionStack.push(currentRealPath);
410170
410171
  if (rootRealPath === undefined) {
410171
410172
  rootRealPath = currentRealPath;
410172
410173
  }
410173
410174
  let entries;
410174
410175
  try {
410175
410176
  entries = fs13.readdirSync(dirPath).map((dirent) => dirent.name);
410176
- } catch {
410177
- visitedRealPaths.delete(currentRealPath);
410177
+ } catch (err2) {
410178
+ console.warn(`[getDirectoryFingerprint] Failed to read directory '${dirPath}': ${err2}`);
410179
+ recursionStack.pop();
410178
410180
  return "";
410179
410181
  }
410180
410182
  const sortedEntries = entries.sort();
410181
410183
  const fingerprintParts = [];
410182
- for (const entry of sortedEntries) {
410183
- const fullPath = join105(dirPath, entry);
410184
- try {
410185
- const lstat7 = fs13.lstatSync(fullPath);
410186
- if (lstat7.isSymbolicLink()) {
410187
- try {
410188
- const stat37 = fs13.statSync(fullPath);
410189
- if (stat37.isDirectory()) {
410184
+ try {
410185
+ for (const entry of sortedEntries) {
410186
+ const fullPath = join105(dirPath, entry);
410187
+ try {
410188
+ const lstat7 = fs13.lstatSync(fullPath);
410189
+ if (lstat7.isSymbolicLink()) {
410190
+ try {
410191
+ const linkTarget = fs13.readlinkSync(fullPath);
410192
+ const resolvedTarget = resolve44(dirPath, linkTarget);
410190
410193
  let targetRealPath;
410191
410194
  try {
410192
- targetRealPath = fs13.realpathSync(fullPath);
410193
- } catch {
410194
- targetRealPath = fullPath;
410195
+ targetRealPath = fs13.realpathSync(resolvedTarget);
410196
+ } catch (err2) {
410197
+ console.warn(`[getDirectoryFingerprint] Failed to resolve target real path for symlink '${fullPath}': ${err2}`);
410198
+ targetRealPath = resolvedTarget;
410195
410199
  }
410196
410200
  if (targetRealPath.startsWith(rootRealPath + "/") || targetRealPath === rootRealPath) {
410197
- fingerprintParts.push(entry + "/");
410198
- fingerprintParts.push(getDirectoryFingerprint(fullPath, visitedRealPaths, rootRealPath));
410201
+ const stat37 = fs13.statSync(resolvedTarget);
410202
+ if (stat37.isDirectory()) {
410203
+ fingerprintParts.push(entry + "/");
410204
+ fingerprintParts.push(getDirectoryFingerprint(resolvedTarget, recursionStack, rootRealPath));
410205
+ } else {
410206
+ fingerprintParts.push(entry);
410207
+ }
410199
410208
  } else {
410200
- fingerprintParts.push(entry);
410209
+ fingerprintParts.push(entry + "/");
410201
410210
  }
410202
- } else {
410203
- fingerprintParts.push(entry);
410211
+ } catch (err2) {
410212
+ console.warn(`[getDirectoryFingerprint] Failed to process symlink '${fullPath}': ${err2}`);
410213
+ continue;
410204
410214
  }
410205
- } catch {
410206
- continue;
410207
- }
410208
- } else if (lstat7.isDirectory()) {
410209
- if (entry === "node_modules" || entry === ".git" || entry === "dist" || entry === "build" || entry === ".next" || entry === "out" || entry === "coverage" || entry === "target" || entry === "vendor" || entry === "__pycache__" || entry === ".cache" || entry === ".mypy_cache" || entry === ".svn" || entry === ".hg") {
410210
- continue;
410215
+ } else if (lstat7.isDirectory()) {
410216
+ if (entry === "node_modules" || entry === ".git" || entry === "dist" || entry === "build" || entry === ".next" || entry === "out" || entry === "coverage" || entry === "target" || entry === "vendor" || entry === "__pycache__" || entry === ".cache" || entry === ".mypy_cache" || entry === ".svn" || entry === ".hg") {
410217
+ continue;
410218
+ }
410219
+ fingerprintParts.push(entry + "/");
410220
+ fingerprintParts.push(getDirectoryFingerprint(fullPath, recursionStack, rootRealPath));
410221
+ } else {
410222
+ fingerprintParts.push(entry);
410211
410223
  }
410212
- fingerprintParts.push(entry + "/");
410213
- fingerprintParts.push(getDirectoryFingerprint(fullPath, visitedRealPaths));
410214
- } else {
410215
- fingerprintParts.push(entry);
410224
+ } catch (err2) {
410225
+ console.warn(`[getDirectoryFingerprint] Failed to access entry '${fullPath}': ${err2}`);
410226
+ continue;
410216
410227
  }
410217
- } catch {
410218
- continue;
410219
410228
  }
410229
+ } finally {
410230
+ recursionStack.pop();
410220
410231
  }
410221
- visitedRealPaths.delete(currentRealPath);
410222
410232
  return fingerprintParts.join(`
410223
410233
  `);
410224
410234
  }
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.173",
8
- BUILD_TIME: "2026-08-01T11:52:35.626Z",
7
+ VERSION: "0.1.175",
8
+ BUILD_TIME: "2026-08-01T19:31:56.674Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -119947,7 +119947,7 @@ var package_default;
119947
119947
  var init_package = __esm(() => {
119948
119948
  package_default = {
119949
119949
  name: "@funnycode/myclaude",
119950
- version: "0.1.173",
119950
+ version: "0.1.175",
119951
119951
  private: false,
119952
119952
  description: "An open-source AI coding assistant in your terminal - powered by Claude",
119953
119953
  license: "MIT",
@@ -410151,74 +410151,84 @@ function isInputModeCharacter(input) {
410151
410151
  }
410152
410152
 
410153
410153
  // src/projectOnboardingState.ts
410154
- import { join as join105 } from "path";
410155
- function getDirectoryFingerprint(dirPath, visitedRealPaths, rootRealPath) {
410154
+ import { join as join105, resolve as resolve44 } from "path";
410155
+ function getDirectoryFingerprint(dirPath, recursionStack, rootRealPath) {
410156
410156
  const fs13 = getFsImplementation();
410157
- if (!visitedRealPaths) {
410158
- visitedRealPaths = new Set;
410157
+ if (!recursionStack) {
410158
+ recursionStack = [];
410159
410159
  }
410160
410160
  let currentRealPath;
410161
410161
  try {
410162
410162
  currentRealPath = fs13.realpathSync(dirPath);
410163
- } catch {
410163
+ } catch (err2) {
410164
+ console.warn(`[getDirectoryFingerprint] Failed to resolve real path for '${dirPath}', using original path: ${err2}`);
410164
410165
  currentRealPath = dirPath;
410165
410166
  }
410166
- if (visitedRealPaths.has(currentRealPath)) {
410167
+ if (recursionStack.includes(currentRealPath)) {
410167
410168
  return "";
410168
410169
  }
410169
- visitedRealPaths.add(currentRealPath);
410170
+ recursionStack.push(currentRealPath);
410170
410171
  if (rootRealPath === undefined) {
410171
410172
  rootRealPath = currentRealPath;
410172
410173
  }
410173
410174
  let entries;
410174
410175
  try {
410175
410176
  entries = fs13.readdirSync(dirPath).map((dirent) => dirent.name);
410176
- } catch {
410177
- visitedRealPaths.delete(currentRealPath);
410177
+ } catch (err2) {
410178
+ console.warn(`[getDirectoryFingerprint] Failed to read directory '${dirPath}': ${err2}`);
410179
+ recursionStack.pop();
410178
410180
  return "";
410179
410181
  }
410180
410182
  const sortedEntries = entries.sort();
410181
410183
  const fingerprintParts = [];
410182
- for (const entry of sortedEntries) {
410183
- const fullPath = join105(dirPath, entry);
410184
- try {
410185
- const lstat7 = fs13.lstatSync(fullPath);
410186
- if (lstat7.isSymbolicLink()) {
410187
- try {
410188
- const stat37 = fs13.statSync(fullPath);
410189
- if (stat37.isDirectory()) {
410184
+ try {
410185
+ for (const entry of sortedEntries) {
410186
+ const fullPath = join105(dirPath, entry);
410187
+ try {
410188
+ const lstat7 = fs13.lstatSync(fullPath);
410189
+ if (lstat7.isSymbolicLink()) {
410190
+ try {
410191
+ const linkTarget = fs13.readlinkSync(fullPath);
410192
+ const resolvedTarget = resolve44(dirPath, linkTarget);
410190
410193
  let targetRealPath;
410191
410194
  try {
410192
- targetRealPath = fs13.realpathSync(fullPath);
410193
- } catch {
410194
- targetRealPath = fullPath;
410195
+ targetRealPath = fs13.realpathSync(resolvedTarget);
410196
+ } catch (err2) {
410197
+ console.warn(`[getDirectoryFingerprint] Failed to resolve target real path for symlink '${fullPath}': ${err2}`);
410198
+ targetRealPath = resolvedTarget;
410195
410199
  }
410196
410200
  if (targetRealPath.startsWith(rootRealPath + "/") || targetRealPath === rootRealPath) {
410197
- fingerprintParts.push(entry + "/");
410198
- fingerprintParts.push(getDirectoryFingerprint(fullPath, visitedRealPaths, rootRealPath));
410201
+ const stat37 = fs13.statSync(resolvedTarget);
410202
+ if (stat37.isDirectory()) {
410203
+ fingerprintParts.push(entry + "/");
410204
+ fingerprintParts.push(getDirectoryFingerprint(resolvedTarget, recursionStack, rootRealPath));
410205
+ } else {
410206
+ fingerprintParts.push(entry);
410207
+ }
410199
410208
  } else {
410200
- fingerprintParts.push(entry);
410209
+ fingerprintParts.push(entry + "/");
410201
410210
  }
410202
- } else {
410203
- fingerprintParts.push(entry);
410211
+ } catch (err2) {
410212
+ console.warn(`[getDirectoryFingerprint] Failed to process symlink '${fullPath}': ${err2}`);
410213
+ continue;
410204
410214
  }
410205
- } catch {
410206
- continue;
410207
- }
410208
- } else if (lstat7.isDirectory()) {
410209
- if (entry === "node_modules" || entry === ".git" || entry === "dist" || entry === "build" || entry === ".next" || entry === "out" || entry === "coverage" || entry === "target" || entry === "vendor" || entry === "__pycache__" || entry === ".cache" || entry === ".mypy_cache" || entry === ".svn" || entry === ".hg") {
410210
- continue;
410215
+ } else if (lstat7.isDirectory()) {
410216
+ if (entry === "node_modules" || entry === ".git" || entry === "dist" || entry === "build" || entry === ".next" || entry === "out" || entry === "coverage" || entry === "target" || entry === "vendor" || entry === "__pycache__" || entry === ".cache" || entry === ".mypy_cache" || entry === ".svn" || entry === ".hg") {
410217
+ continue;
410218
+ }
410219
+ fingerprintParts.push(entry + "/");
410220
+ fingerprintParts.push(getDirectoryFingerprint(fullPath, recursionStack, rootRealPath));
410221
+ } else {
410222
+ fingerprintParts.push(entry);
410211
410223
  }
410212
- fingerprintParts.push(entry + "/");
410213
- fingerprintParts.push(getDirectoryFingerprint(fullPath, visitedRealPaths));
410214
- } else {
410215
- fingerprintParts.push(entry);
410224
+ } catch (err2) {
410225
+ console.warn(`[getDirectoryFingerprint] Failed to access entry '${fullPath}': ${err2}`);
410226
+ continue;
410216
410227
  }
410217
- } catch {
410218
- continue;
410219
410228
  }
410229
+ } finally {
410230
+ recursionStack.pop();
410220
410231
  }
410221
- visitedRealPaths.delete(currentRealPath);
410222
410232
  return fingerprintParts.join(`
410223
410233
  `);
410224
410234
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funnycode/myclaude",
3
- "version": "0.1.173",
3
+ "version": "0.1.175",
4
4
  "private": false,
5
5
  "description": "An open-source AI coding assistant in your terminal - powered by Claude",
6
6
  "license": "MIT",