@funnycode/myclaude 0.1.82 → 0.1.84
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 +45 -33
- package/dist/myclaude.mjs +45 -33
- 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-07-
|
|
7
|
+
VERSION: "0.1.84",
|
|
8
|
+
BUILD_TIME: "2026-07-16T20:17:47.229Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -40824,12 +40824,9 @@ function hasBinaryExtension(filePath) {
|
|
|
40824
40824
|
return BINARY_EXTENSIONS.has(ext);
|
|
40825
40825
|
}
|
|
40826
40826
|
function isBinaryContent(buffer) {
|
|
40827
|
-
const checkSize = Math.min(buffer.length, BINARY_CHECK_SIZE);
|
|
40828
40827
|
let nonPrintable = 0;
|
|
40829
|
-
for (let i2 = 0;i2 <
|
|
40828
|
+
for (let i2 = 0;i2 < buffer.length; i2++) {
|
|
40830
40829
|
const byte = buffer[i2];
|
|
40831
|
-
if (byte === undefined)
|
|
40832
|
-
break;
|
|
40833
40830
|
if (byte === 0) {
|
|
40834
40831
|
return true;
|
|
40835
40832
|
}
|
|
@@ -40837,9 +40834,9 @@ function isBinaryContent(buffer) {
|
|
|
40837
40834
|
nonPrintable++;
|
|
40838
40835
|
}
|
|
40839
40836
|
}
|
|
40840
|
-
return nonPrintable /
|
|
40837
|
+
return nonPrintable / buffer.length > 0.2;
|
|
40841
40838
|
}
|
|
40842
|
-
var BINARY_EXTENSIONS
|
|
40839
|
+
var BINARY_EXTENSIONS;
|
|
40843
40840
|
var init_files2 = __esm(() => {
|
|
40844
40841
|
BINARY_EXTENSIONS = new Set([
|
|
40845
40842
|
".png",
|
|
@@ -117487,7 +117484,7 @@ var package_default;
|
|
|
117487
117484
|
var init_package = __esm(() => {
|
|
117488
117485
|
package_default = {
|
|
117489
117486
|
name: "@funnycode/myclaude",
|
|
117490
|
-
version: "0.1.
|
|
117487
|
+
version: "0.1.84",
|
|
117491
117488
|
private: false,
|
|
117492
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117493
117490
|
license: "MIT",
|
|
@@ -210320,9 +210317,13 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
210320
210317
|
await fs11.appendFile(filePath, jsonStringify({ type: "response", timestamp, data }) + `
|
|
210321
210318
|
`);
|
|
210322
210319
|
} catch (err2) {
|
|
210323
|
-
|
|
210320
|
+
try {
|
|
210321
|
+
logForDebugging(`dumpPrompts.response handler error: ${err2}`, { level: "error" });
|
|
210322
|
+
} catch {}
|
|
210324
210323
|
}
|
|
210325
|
-
})()
|
|
210324
|
+
})().catch((err2) => {
|
|
210325
|
+
logForDebugging(`dumpPrompts.response handler unhandled rejection: ${err2}`, { level: "error" });
|
|
210326
|
+
});
|
|
210326
210327
|
}
|
|
210327
210328
|
return response;
|
|
210328
210329
|
};
|
|
@@ -300936,29 +300937,39 @@ async function isQualifiedForGrove() {
|
|
|
300936
300937
|
return cachedEntry.grove_enabled;
|
|
300937
300938
|
}
|
|
300938
300939
|
async function fetchAndStoreGroveConfig(accountId) {
|
|
300939
|
-
|
|
300940
|
-
|
|
300941
|
-
|
|
300942
|
-
|
|
300940
|
+
const existing = groveConfigLocks.get(accountId) ?? Promise.resolve();
|
|
300941
|
+
const next = existing.then(async () => {
|
|
300942
|
+
try {
|
|
300943
|
+
const result = await getGroveNoticeConfig();
|
|
300944
|
+
if (!result.success) {
|
|
300945
|
+
return;
|
|
300946
|
+
}
|
|
300947
|
+
const groveEnabled = result.data.grove_enabled;
|
|
300948
|
+
const cachedEntry = getGlobalConfig().groveConfigCache?.[accountId];
|
|
300949
|
+
if (cachedEntry?.grove_enabled === groveEnabled && Date.now() - cachedEntry.timestamp <= GROVE_CACHE_EXPIRATION_MS) {
|
|
300950
|
+
return;
|
|
300951
|
+
}
|
|
300952
|
+
saveGlobalConfig((current) => ({
|
|
300953
|
+
...current,
|
|
300954
|
+
groveConfigCache: {
|
|
300955
|
+
...current.groveConfigCache,
|
|
300956
|
+
[accountId]: {
|
|
300957
|
+
grove_enabled: groveEnabled,
|
|
300958
|
+
timestamp: Date.now()
|
|
300959
|
+
}
|
|
300960
|
+
}
|
|
300961
|
+
}));
|
|
300962
|
+
} catch (err2) {
|
|
300963
|
+
logForDebugging(`Grove: Failed to fetch and store config: ${err2}`);
|
|
300943
300964
|
}
|
|
300944
|
-
|
|
300945
|
-
|
|
300946
|
-
|
|
300947
|
-
|
|
300965
|
+
});
|
|
300966
|
+
groveConfigLocks.set(accountId, next);
|
|
300967
|
+
next.then(() => {
|
|
300968
|
+
if (groveConfigLocks.get(accountId) === next) {
|
|
300969
|
+
groveConfigLocks.delete(accountId);
|
|
300948
300970
|
}
|
|
300949
|
-
|
|
300950
|
-
|
|
300951
|
-
groveConfigCache: {
|
|
300952
|
-
...current.groveConfigCache,
|
|
300953
|
-
[accountId]: {
|
|
300954
|
-
grove_enabled: groveEnabled,
|
|
300955
|
-
timestamp: Date.now()
|
|
300956
|
-
}
|
|
300957
|
-
}
|
|
300958
|
-
}));
|
|
300959
|
-
} catch (err2) {
|
|
300960
|
-
logForDebugging(`Grove: Failed to fetch and store config: ${err2}`);
|
|
300961
|
-
}
|
|
300971
|
+
});
|
|
300972
|
+
await next;
|
|
300962
300973
|
}
|
|
300963
300974
|
function calculateShouldShowGrove(settingsResult, configResult, showIfAlreadyViewed) {
|
|
300964
300975
|
if (!settingsResult.success || !configResult.success) {
|
|
@@ -301011,7 +301022,7 @@ An update to our Consumer Terms and Privacy Policy will take effect on October 8
|
|
|
301011
301022
|
}
|
|
301012
301023
|
}
|
|
301013
301024
|
}
|
|
301014
|
-
var GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301025
|
+
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301015
301026
|
var init_grove = __esm(() => {
|
|
301016
301027
|
init_axios2();
|
|
301017
301028
|
init_memoize();
|
|
@@ -301023,6 +301034,7 @@ var init_grove = __esm(() => {
|
|
|
301023
301034
|
init_config();
|
|
301024
301035
|
init_http2();
|
|
301025
301036
|
init_log3();
|
|
301037
|
+
groveConfigLocks = new Map;
|
|
301026
301038
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301027
301039
|
getGroveSettings = memoize_default(async () => {
|
|
301028
301040
|
if (isEssentialTrafficOnly()) {
|
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-07-
|
|
7
|
+
VERSION: "0.1.84",
|
|
8
|
+
BUILD_TIME: "2026-07-16T20:17:47.229Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -40824,12 +40824,9 @@ function hasBinaryExtension(filePath) {
|
|
|
40824
40824
|
return BINARY_EXTENSIONS.has(ext);
|
|
40825
40825
|
}
|
|
40826
40826
|
function isBinaryContent(buffer) {
|
|
40827
|
-
const checkSize = Math.min(buffer.length, BINARY_CHECK_SIZE);
|
|
40828
40827
|
let nonPrintable = 0;
|
|
40829
|
-
for (let i2 = 0;i2 <
|
|
40828
|
+
for (let i2 = 0;i2 < buffer.length; i2++) {
|
|
40830
40829
|
const byte = buffer[i2];
|
|
40831
|
-
if (byte === undefined)
|
|
40832
|
-
break;
|
|
40833
40830
|
if (byte === 0) {
|
|
40834
40831
|
return true;
|
|
40835
40832
|
}
|
|
@@ -40837,9 +40834,9 @@ function isBinaryContent(buffer) {
|
|
|
40837
40834
|
nonPrintable++;
|
|
40838
40835
|
}
|
|
40839
40836
|
}
|
|
40840
|
-
return nonPrintable /
|
|
40837
|
+
return nonPrintable / buffer.length > 0.2;
|
|
40841
40838
|
}
|
|
40842
|
-
var BINARY_EXTENSIONS
|
|
40839
|
+
var BINARY_EXTENSIONS;
|
|
40843
40840
|
var init_files2 = __esm(() => {
|
|
40844
40841
|
BINARY_EXTENSIONS = new Set([
|
|
40845
40842
|
".png",
|
|
@@ -117487,7 +117484,7 @@ var package_default;
|
|
|
117487
117484
|
var init_package = __esm(() => {
|
|
117488
117485
|
package_default = {
|
|
117489
117486
|
name: "@funnycode/myclaude",
|
|
117490
|
-
version: "0.1.
|
|
117487
|
+
version: "0.1.84",
|
|
117491
117488
|
private: false,
|
|
117492
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117493
117490
|
license: "MIT",
|
|
@@ -210320,9 +210317,13 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
|
|
|
210320
210317
|
await fs11.appendFile(filePath, jsonStringify({ type: "response", timestamp, data }) + `
|
|
210321
210318
|
`);
|
|
210322
210319
|
} catch (err2) {
|
|
210323
|
-
|
|
210320
|
+
try {
|
|
210321
|
+
logForDebugging(`dumpPrompts.response handler error: ${err2}`, { level: "error" });
|
|
210322
|
+
} catch {}
|
|
210324
210323
|
}
|
|
210325
|
-
})()
|
|
210324
|
+
})().catch((err2) => {
|
|
210325
|
+
logForDebugging(`dumpPrompts.response handler unhandled rejection: ${err2}`, { level: "error" });
|
|
210326
|
+
});
|
|
210326
210327
|
}
|
|
210327
210328
|
return response;
|
|
210328
210329
|
};
|
|
@@ -300936,29 +300937,39 @@ async function isQualifiedForGrove() {
|
|
|
300936
300937
|
return cachedEntry.grove_enabled;
|
|
300937
300938
|
}
|
|
300938
300939
|
async function fetchAndStoreGroveConfig(accountId) {
|
|
300939
|
-
|
|
300940
|
-
|
|
300941
|
-
|
|
300942
|
-
|
|
300940
|
+
const existing = groveConfigLocks.get(accountId) ?? Promise.resolve();
|
|
300941
|
+
const next = existing.then(async () => {
|
|
300942
|
+
try {
|
|
300943
|
+
const result = await getGroveNoticeConfig();
|
|
300944
|
+
if (!result.success) {
|
|
300945
|
+
return;
|
|
300946
|
+
}
|
|
300947
|
+
const groveEnabled = result.data.grove_enabled;
|
|
300948
|
+
const cachedEntry = getGlobalConfig().groveConfigCache?.[accountId];
|
|
300949
|
+
if (cachedEntry?.grove_enabled === groveEnabled && Date.now() - cachedEntry.timestamp <= GROVE_CACHE_EXPIRATION_MS) {
|
|
300950
|
+
return;
|
|
300951
|
+
}
|
|
300952
|
+
saveGlobalConfig((current) => ({
|
|
300953
|
+
...current,
|
|
300954
|
+
groveConfigCache: {
|
|
300955
|
+
...current.groveConfigCache,
|
|
300956
|
+
[accountId]: {
|
|
300957
|
+
grove_enabled: groveEnabled,
|
|
300958
|
+
timestamp: Date.now()
|
|
300959
|
+
}
|
|
300960
|
+
}
|
|
300961
|
+
}));
|
|
300962
|
+
} catch (err2) {
|
|
300963
|
+
logForDebugging(`Grove: Failed to fetch and store config: ${err2}`);
|
|
300943
300964
|
}
|
|
300944
|
-
|
|
300945
|
-
|
|
300946
|
-
|
|
300947
|
-
|
|
300965
|
+
});
|
|
300966
|
+
groveConfigLocks.set(accountId, next);
|
|
300967
|
+
next.then(() => {
|
|
300968
|
+
if (groveConfigLocks.get(accountId) === next) {
|
|
300969
|
+
groveConfigLocks.delete(accountId);
|
|
300948
300970
|
}
|
|
300949
|
-
|
|
300950
|
-
|
|
300951
|
-
groveConfigCache: {
|
|
300952
|
-
...current.groveConfigCache,
|
|
300953
|
-
[accountId]: {
|
|
300954
|
-
grove_enabled: groveEnabled,
|
|
300955
|
-
timestamp: Date.now()
|
|
300956
|
-
}
|
|
300957
|
-
}
|
|
300958
|
-
}));
|
|
300959
|
-
} catch (err2) {
|
|
300960
|
-
logForDebugging(`Grove: Failed to fetch and store config: ${err2}`);
|
|
300961
|
-
}
|
|
300971
|
+
});
|
|
300972
|
+
await next;
|
|
300962
300973
|
}
|
|
300963
300974
|
function calculateShouldShowGrove(settingsResult, configResult, showIfAlreadyViewed) {
|
|
300964
300975
|
if (!settingsResult.success || !configResult.success) {
|
|
@@ -301011,7 +301022,7 @@ An update to our Consumer Terms and Privacy Policy will take effect on October 8
|
|
|
301011
301022
|
}
|
|
301012
301023
|
}
|
|
301013
301024
|
}
|
|
301014
|
-
var GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301025
|
+
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301015
301026
|
var init_grove = __esm(() => {
|
|
301016
301027
|
init_axios2();
|
|
301017
301028
|
init_memoize();
|
|
@@ -301023,6 +301034,7 @@ var init_grove = __esm(() => {
|
|
|
301023
301034
|
init_config();
|
|
301024
301035
|
init_http2();
|
|
301025
301036
|
init_log3();
|
|
301037
|
+
groveConfigLocks = new Map;
|
|
301026
301038
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301027
301039
|
getGroveSettings = memoize_default(async () => {
|
|
301028
301040
|
if (isEssentialTrafficOnly()) {
|