@funnycode/myclaude 0.1.87 → 0.1.89
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 +37 -15
- package/dist/myclaude.mjs +37 -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-07-
|
|
7
|
+
VERSION: "0.1.89",
|
|
8
|
+
BUILD_TIME: "2026-07-17T12:20:44.184Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -117484,7 +117484,7 @@ var package_default;
|
|
|
117484
117484
|
var init_package = __esm(() => {
|
|
117485
117485
|
package_default = {
|
|
117486
117486
|
name: "@funnycode/myclaude",
|
|
117487
|
-
version: "0.1.
|
|
117487
|
+
version: "0.1.89",
|
|
117488
117488
|
private: false,
|
|
117489
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117490
117490
|
license: "MIT",
|
|
@@ -210158,6 +210158,7 @@ function enqueueDumpRequest(agentIdOrSessionId, callback) {
|
|
|
210158
210158
|
}
|
|
210159
210159
|
dumpRequestQueue.get(agentIdOrSessionId).push(callback);
|
|
210160
210160
|
if (!processingQueues.has(agentIdOrSessionId)) {
|
|
210161
|
+
processingQueues.add(agentIdOrSessionId);
|
|
210161
210162
|
processQueue(agentIdOrSessionId);
|
|
210162
210163
|
}
|
|
210163
210164
|
}
|
|
@@ -300886,11 +300887,17 @@ function memoizeWithTTL(fn, ttlMs) {
|
|
|
300886
300887
|
originalClear();
|
|
300887
300888
|
lastCachedAt = 0;
|
|
300888
300889
|
}
|
|
300889
|
-
|
|
300890
|
-
|
|
300891
|
-
|
|
300890
|
+
try {
|
|
300891
|
+
const result = await memoized(...args);
|
|
300892
|
+
if (result && typeof result === "object" && "success" in result && result.success === true) {
|
|
300893
|
+
lastCachedAt = Date.now();
|
|
300894
|
+
}
|
|
300895
|
+
return result;
|
|
300896
|
+
} catch (error49) {
|
|
300897
|
+
originalClear();
|
|
300898
|
+
lastCachedAt = 0;
|
|
300899
|
+
throw error49;
|
|
300892
300900
|
}
|
|
300893
|
-
return result;
|
|
300894
300901
|
};
|
|
300895
300902
|
wrapped.cache = {
|
|
300896
300903
|
clear: () => {
|
|
@@ -301052,7 +301059,7 @@ An update to our Consumer Terms and Privacy Policy will take effect on October 8
|
|
|
301052
301059
|
}
|
|
301053
301060
|
}
|
|
301054
301061
|
}
|
|
301055
|
-
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301062
|
+
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, GROVE_API_TIMEOUT_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301056
301063
|
var init_grove = __esm(() => {
|
|
301057
301064
|
init_axios2();
|
|
301058
301065
|
init_memoize();
|
|
@@ -301066,6 +301073,7 @@ var init_grove = __esm(() => {
|
|
|
301066
301073
|
init_log3();
|
|
301067
301074
|
groveConfigLocks = new Map;
|
|
301068
301075
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301076
|
+
GROVE_API_TIMEOUT_MS = parseInt(process.env.GROVE_API_TIMEOUT_MS ?? "3000", 10);
|
|
301069
301077
|
getGroveSettings = memoizeWithTTL(async () => {
|
|
301070
301078
|
if (isEssentialTrafficOnly()) {
|
|
301071
301079
|
return { success: false };
|
|
@@ -301105,7 +301113,7 @@ var init_grove = __esm(() => {
|
|
|
301105
301113
|
...authHeaders.headers,
|
|
301106
301114
|
"User-Agent": getUserAgent()
|
|
301107
301115
|
},
|
|
301108
|
-
timeout:
|
|
301116
|
+
timeout: GROVE_API_TIMEOUT_MS
|
|
301109
301117
|
});
|
|
301110
301118
|
});
|
|
301111
301119
|
const {
|
|
@@ -301125,6 +301133,9 @@ var init_grove = __esm(() => {
|
|
|
301125
301133
|
};
|
|
301126
301134
|
} catch (err2) {
|
|
301127
301135
|
logError2(err2);
|
|
301136
|
+
if (axios_default.isAxiosError(err2) && err2.code === "ECONNABORTED") {
|
|
301137
|
+
logForDebugging(`Grove: API request timed out after ${GROVE_API_TIMEOUT_MS}ms. This may cause the Grove dialog to be suppressed for users with slow connections.`);
|
|
301138
|
+
}
|
|
301128
301139
|
getGroveNoticeConfig.cache.clear?.();
|
|
301129
301140
|
return { success: false };
|
|
301130
301141
|
}
|
|
@@ -342061,6 +342072,14 @@ function getOrCreateSequentialAppend(sessionId) {
|
|
|
342061
342072
|
}
|
|
342062
342073
|
return sequentialAppend;
|
|
342063
342074
|
}
|
|
342075
|
+
function getOrCreateSequentialFetch(sessionId) {
|
|
342076
|
+
let sequentialFetch = sequentialFetchBySession.get(sessionId);
|
|
342077
|
+
if (!sequentialFetch) {
|
|
342078
|
+
sequentialFetch = sequential(async (sid, url3, headers) => await fetchSessionLogsFromUrl(sid, url3, headers));
|
|
342079
|
+
sequentialFetchBySession.set(sessionId, sequentialFetch);
|
|
342080
|
+
}
|
|
342081
|
+
return sequentialFetch;
|
|
342082
|
+
}
|
|
342064
342083
|
async function appendSessionLogImpl(sessionId, entry, url3, headers) {
|
|
342065
342084
|
for (let attempt = 1;attempt <= MAX_RETRIES; attempt++) {
|
|
342066
342085
|
try {
|
|
@@ -342090,7 +342109,8 @@ async function appendSessionLogImpl(sessionId, entry, url3, headers) {
|
|
|
342090
342109
|
lastUuidMap.set(sessionId, serverLastUuid);
|
|
342091
342110
|
logForDebugging(`Session 409: adopting server lastUuid=${serverLastUuid} from header, retrying entry ${entry.uuid}`);
|
|
342092
342111
|
} else {
|
|
342093
|
-
const
|
|
342112
|
+
const sequentialFetch = getOrCreateSequentialFetch(sessionId);
|
|
342113
|
+
const logs2 = await sequentialFetch(sessionId, url3, headers);
|
|
342094
342114
|
const adoptedUuid = findLastUuid(logs2);
|
|
342095
342115
|
if (adoptedUuid) {
|
|
342096
342116
|
lastUuidMap.set(sessionId, adoptedUuid);
|
|
@@ -342309,8 +342329,9 @@ function findLastUuid(logs2) {
|
|
|
342309
342329
|
function clearAllSessions() {
|
|
342310
342330
|
lastUuidMap.clear();
|
|
342311
342331
|
sequentialAppendBySession.clear();
|
|
342332
|
+
sequentialFetchBySession.clear();
|
|
342312
342333
|
}
|
|
342313
|
-
var lastUuidMap, MAX_RETRIES = 10, BASE_DELAY_MS2 = 500, sequentialAppendBySession;
|
|
342334
|
+
var lastUuidMap, MAX_RETRIES = 10, BASE_DELAY_MS2 = 500, sequentialAppendBySession, sequentialFetchBySession;
|
|
342314
342335
|
var init_sessionIngress = __esm(() => {
|
|
342315
342336
|
init_axios2();
|
|
342316
342337
|
init_oauth();
|
|
@@ -342323,6 +342344,7 @@ var init_sessionIngress = __esm(() => {
|
|
|
342323
342344
|
init_api2();
|
|
342324
342345
|
lastUuidMap = new Map;
|
|
342325
342346
|
sequentialAppendBySession = new Map;
|
|
342347
|
+
sequentialFetchBySession = new Map;
|
|
342326
342348
|
});
|
|
342327
342349
|
|
|
342328
342350
|
// src/utils/fileHistory.ts
|
|
@@ -453585,14 +453607,14 @@ function getCachedRemainingPasses() {
|
|
|
453585
453607
|
return cachedEntry?.remaining_passes ?? null;
|
|
453586
453608
|
}
|
|
453587
453609
|
async function fetchAndStorePassesEligibility() {
|
|
453588
|
-
if (fetchInProgress) {
|
|
453589
|
-
logForDebugging("Passes: Reusing in-flight eligibility fetch");
|
|
453590
|
-
return fetchInProgress;
|
|
453591
|
-
}
|
|
453592
453610
|
const orgId = getOauthAccountInfo()?.organizationUuid;
|
|
453593
453611
|
if (!orgId) {
|
|
453594
453612
|
return null;
|
|
453595
453613
|
}
|
|
453614
|
+
if (fetchInProgress) {
|
|
453615
|
+
logForDebugging("Passes: Reusing in-flight eligibility fetch");
|
|
453616
|
+
return fetchInProgress;
|
|
453617
|
+
}
|
|
453596
453618
|
fetchInProgress = (async () => {
|
|
453597
453619
|
try {
|
|
453598
453620
|
const response = await fetchReferralEligibility();
|
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.89",
|
|
8
|
+
BUILD_TIME: "2026-07-17T12:20:44.184Z",
|
|
9
9
|
PACKAGE_URL: "@funnycode/myclaude",
|
|
10
10
|
NATIVE_PACKAGE_URL: "@funnycode/myclaude",
|
|
11
11
|
VERSION_CHANGELOG: '',
|
|
@@ -117484,7 +117484,7 @@ var package_default;
|
|
|
117484
117484
|
var init_package = __esm(() => {
|
|
117485
117485
|
package_default = {
|
|
117486
117486
|
name: "@funnycode/myclaude",
|
|
117487
|
-
version: "0.1.
|
|
117487
|
+
version: "0.1.89",
|
|
117488
117488
|
private: false,
|
|
117489
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117490
117490
|
license: "MIT",
|
|
@@ -210158,6 +210158,7 @@ function enqueueDumpRequest(agentIdOrSessionId, callback) {
|
|
|
210158
210158
|
}
|
|
210159
210159
|
dumpRequestQueue.get(agentIdOrSessionId).push(callback);
|
|
210160
210160
|
if (!processingQueues.has(agentIdOrSessionId)) {
|
|
210161
|
+
processingQueues.add(agentIdOrSessionId);
|
|
210161
210162
|
processQueue(agentIdOrSessionId);
|
|
210162
210163
|
}
|
|
210163
210164
|
}
|
|
@@ -300886,11 +300887,17 @@ function memoizeWithTTL(fn, ttlMs) {
|
|
|
300886
300887
|
originalClear();
|
|
300887
300888
|
lastCachedAt = 0;
|
|
300888
300889
|
}
|
|
300889
|
-
|
|
300890
|
-
|
|
300891
|
-
|
|
300890
|
+
try {
|
|
300891
|
+
const result = await memoized(...args);
|
|
300892
|
+
if (result && typeof result === "object" && "success" in result && result.success === true) {
|
|
300893
|
+
lastCachedAt = Date.now();
|
|
300894
|
+
}
|
|
300895
|
+
return result;
|
|
300896
|
+
} catch (error49) {
|
|
300897
|
+
originalClear();
|
|
300898
|
+
lastCachedAt = 0;
|
|
300899
|
+
throw error49;
|
|
300892
300900
|
}
|
|
300893
|
-
return result;
|
|
300894
300901
|
};
|
|
300895
300902
|
wrapped.cache = {
|
|
300896
300903
|
clear: () => {
|
|
@@ -301052,7 +301059,7 @@ An update to our Consumer Terms and Privacy Policy will take effect on October 8
|
|
|
301052
301059
|
}
|
|
301053
301060
|
}
|
|
301054
301061
|
}
|
|
301055
|
-
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301062
|
+
var groveConfigLocks, GROVE_CACHE_EXPIRATION_MS, GROVE_API_TIMEOUT_MS, getGroveSettings, getGroveNoticeConfig;
|
|
301056
301063
|
var init_grove = __esm(() => {
|
|
301057
301064
|
init_axios2();
|
|
301058
301065
|
init_memoize();
|
|
@@ -301066,6 +301073,7 @@ var init_grove = __esm(() => {
|
|
|
301066
301073
|
init_log3();
|
|
301067
301074
|
groveConfigLocks = new Map;
|
|
301068
301075
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301076
|
+
GROVE_API_TIMEOUT_MS = parseInt(process.env.GROVE_API_TIMEOUT_MS ?? "3000", 10);
|
|
301069
301077
|
getGroveSettings = memoizeWithTTL(async () => {
|
|
301070
301078
|
if (isEssentialTrafficOnly()) {
|
|
301071
301079
|
return { success: false };
|
|
@@ -301105,7 +301113,7 @@ var init_grove = __esm(() => {
|
|
|
301105
301113
|
...authHeaders.headers,
|
|
301106
301114
|
"User-Agent": getUserAgent()
|
|
301107
301115
|
},
|
|
301108
|
-
timeout:
|
|
301116
|
+
timeout: GROVE_API_TIMEOUT_MS
|
|
301109
301117
|
});
|
|
301110
301118
|
});
|
|
301111
301119
|
const {
|
|
@@ -301125,6 +301133,9 @@ var init_grove = __esm(() => {
|
|
|
301125
301133
|
};
|
|
301126
301134
|
} catch (err2) {
|
|
301127
301135
|
logError2(err2);
|
|
301136
|
+
if (axios_default.isAxiosError(err2) && err2.code === "ECONNABORTED") {
|
|
301137
|
+
logForDebugging(`Grove: API request timed out after ${GROVE_API_TIMEOUT_MS}ms. This may cause the Grove dialog to be suppressed for users with slow connections.`);
|
|
301138
|
+
}
|
|
301128
301139
|
getGroveNoticeConfig.cache.clear?.();
|
|
301129
301140
|
return { success: false };
|
|
301130
301141
|
}
|
|
@@ -342061,6 +342072,14 @@ function getOrCreateSequentialAppend(sessionId) {
|
|
|
342061
342072
|
}
|
|
342062
342073
|
return sequentialAppend;
|
|
342063
342074
|
}
|
|
342075
|
+
function getOrCreateSequentialFetch(sessionId) {
|
|
342076
|
+
let sequentialFetch = sequentialFetchBySession.get(sessionId);
|
|
342077
|
+
if (!sequentialFetch) {
|
|
342078
|
+
sequentialFetch = sequential(async (sid, url3, headers) => await fetchSessionLogsFromUrl(sid, url3, headers));
|
|
342079
|
+
sequentialFetchBySession.set(sessionId, sequentialFetch);
|
|
342080
|
+
}
|
|
342081
|
+
return sequentialFetch;
|
|
342082
|
+
}
|
|
342064
342083
|
async function appendSessionLogImpl(sessionId, entry, url3, headers) {
|
|
342065
342084
|
for (let attempt = 1;attempt <= MAX_RETRIES; attempt++) {
|
|
342066
342085
|
try {
|
|
@@ -342090,7 +342109,8 @@ async function appendSessionLogImpl(sessionId, entry, url3, headers) {
|
|
|
342090
342109
|
lastUuidMap.set(sessionId, serverLastUuid);
|
|
342091
342110
|
logForDebugging(`Session 409: adopting server lastUuid=${serverLastUuid} from header, retrying entry ${entry.uuid}`);
|
|
342092
342111
|
} else {
|
|
342093
|
-
const
|
|
342112
|
+
const sequentialFetch = getOrCreateSequentialFetch(sessionId);
|
|
342113
|
+
const logs2 = await sequentialFetch(sessionId, url3, headers);
|
|
342094
342114
|
const adoptedUuid = findLastUuid(logs2);
|
|
342095
342115
|
if (adoptedUuid) {
|
|
342096
342116
|
lastUuidMap.set(sessionId, adoptedUuid);
|
|
@@ -342309,8 +342329,9 @@ function findLastUuid(logs2) {
|
|
|
342309
342329
|
function clearAllSessions() {
|
|
342310
342330
|
lastUuidMap.clear();
|
|
342311
342331
|
sequentialAppendBySession.clear();
|
|
342332
|
+
sequentialFetchBySession.clear();
|
|
342312
342333
|
}
|
|
342313
|
-
var lastUuidMap, MAX_RETRIES = 10, BASE_DELAY_MS2 = 500, sequentialAppendBySession;
|
|
342334
|
+
var lastUuidMap, MAX_RETRIES = 10, BASE_DELAY_MS2 = 500, sequentialAppendBySession, sequentialFetchBySession;
|
|
342314
342335
|
var init_sessionIngress = __esm(() => {
|
|
342315
342336
|
init_axios2();
|
|
342316
342337
|
init_oauth();
|
|
@@ -342323,6 +342344,7 @@ var init_sessionIngress = __esm(() => {
|
|
|
342323
342344
|
init_api2();
|
|
342324
342345
|
lastUuidMap = new Map;
|
|
342325
342346
|
sequentialAppendBySession = new Map;
|
|
342347
|
+
sequentialFetchBySession = new Map;
|
|
342326
342348
|
});
|
|
342327
342349
|
|
|
342328
342350
|
// src/utils/fileHistory.ts
|
|
@@ -453585,14 +453607,14 @@ function getCachedRemainingPasses() {
|
|
|
453585
453607
|
return cachedEntry?.remaining_passes ?? null;
|
|
453586
453608
|
}
|
|
453587
453609
|
async function fetchAndStorePassesEligibility() {
|
|
453588
|
-
if (fetchInProgress) {
|
|
453589
|
-
logForDebugging("Passes: Reusing in-flight eligibility fetch");
|
|
453590
|
-
return fetchInProgress;
|
|
453591
|
-
}
|
|
453592
453610
|
const orgId = getOauthAccountInfo()?.organizationUuid;
|
|
453593
453611
|
if (!orgId) {
|
|
453594
453612
|
return null;
|
|
453595
453613
|
}
|
|
453614
|
+
if (fetchInProgress) {
|
|
453615
|
+
logForDebugging("Passes: Reusing in-flight eligibility fetch");
|
|
453616
|
+
return fetchInProgress;
|
|
453617
|
+
}
|
|
453596
453618
|
fetchInProgress = (async () => {
|
|
453597
453619
|
try {
|
|
453598
453620
|
const response = await fetchReferralEligibility();
|