@funnycode/myclaude 0.1.85 → 0.1.87
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 +53 -13
- package/dist/myclaude.mjs +53 -13
- 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.87",
|
|
8
|
+
BUILD_TIME: "2026-07-17T07:39:42.011Z",
|
|
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.87",
|
|
117488
117488
|
private: false,
|
|
117489
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117490
117490
|
license: "MIT",
|
|
@@ -210190,8 +210190,7 @@ function addApiRequestToCache(requestData) {
|
|
|
210190
210190
|
const metadata = {
|
|
210191
210191
|
timestamp: new Date().toISOString(),
|
|
210192
210192
|
request: {
|
|
210193
|
-
model: requestData.model
|
|
210194
|
-
requestHash: hashString3(JSON.stringify(requestData))
|
|
210193
|
+
model: requestData.model
|
|
210195
210194
|
}
|
|
210196
210195
|
};
|
|
210197
210196
|
cachedApiRequests.push(metadata);
|
|
@@ -210237,7 +210236,11 @@ function dumpRequest(body, ts, state, filePath) {
|
|
|
210237
210236
|
}
|
|
210238
210237
|
for (const msg of messages.slice(state.messageCountSeen)) {
|
|
210239
210238
|
if (msg.role === "user") {
|
|
210240
|
-
|
|
210239
|
+
try {
|
|
210240
|
+
entries.push(jsonStringify({ type: "message", timestamp: ts, data: msg }));
|
|
210241
|
+
} catch (err2) {
|
|
210242
|
+
logError2(`dumpPrompts.dumpRequest: failed to stringify message: ${err2}`);
|
|
210243
|
+
}
|
|
210241
210244
|
}
|
|
210242
210245
|
}
|
|
210243
210246
|
if (shouldWriteInitData) {
|
|
@@ -210334,6 +210337,7 @@ var init_dumpPrompts = __esm(() => {
|
|
|
210334
210337
|
init_envUtils();
|
|
210335
210338
|
init_slowOperations();
|
|
210336
210339
|
init_debug();
|
|
210340
|
+
init_log3();
|
|
210337
210341
|
cachedApiRequests = [];
|
|
210338
210342
|
dumpState = new Map;
|
|
210339
210343
|
dumpRequestQueue = new Map;
|
|
@@ -300872,6 +300876,30 @@ var init_gracefulShutdown = __esm(() => {
|
|
|
300872
300876
|
});
|
|
300873
300877
|
|
|
300874
300878
|
// src/services/api/grove.ts
|
|
300879
|
+
function memoizeWithTTL(fn, ttlMs) {
|
|
300880
|
+
let lastCachedAt = 0;
|
|
300881
|
+
const memoized = memoize_default(fn);
|
|
300882
|
+
const originalClear = memoized.cache.clear.bind(memoized.cache);
|
|
300883
|
+
const wrapped = async (...args) => {
|
|
300884
|
+
const now2 = Date.now();
|
|
300885
|
+
if (lastCachedAt !== 0 && now2 - lastCachedAt >= ttlMs) {
|
|
300886
|
+
originalClear();
|
|
300887
|
+
lastCachedAt = 0;
|
|
300888
|
+
}
|
|
300889
|
+
const result = await memoized(...args);
|
|
300890
|
+
if (result && typeof result === "object" && "success" in result && result.success === true) {
|
|
300891
|
+
lastCachedAt = Date.now();
|
|
300892
|
+
}
|
|
300893
|
+
return result;
|
|
300894
|
+
};
|
|
300895
|
+
wrapped.cache = {
|
|
300896
|
+
clear: () => {
|
|
300897
|
+
originalClear();
|
|
300898
|
+
lastCachedAt = 0;
|
|
300899
|
+
}
|
|
300900
|
+
};
|
|
300901
|
+
return wrapped;
|
|
300902
|
+
}
|
|
300875
300903
|
async function markGroveNoticeViewed() {
|
|
300876
300904
|
try {
|
|
300877
300905
|
await withOAuth401Retry(() => {
|
|
@@ -301038,7 +301066,7 @@ var init_grove = __esm(() => {
|
|
|
301038
301066
|
init_log3();
|
|
301039
301067
|
groveConfigLocks = new Map;
|
|
301040
301068
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301041
|
-
getGroveSettings =
|
|
301069
|
+
getGroveSettings = memoizeWithTTL(async () => {
|
|
301042
301070
|
if (isEssentialTrafficOnly()) {
|
|
301043
301071
|
return { success: false };
|
|
301044
301072
|
}
|
|
@@ -301061,8 +301089,8 @@ var init_grove = __esm(() => {
|
|
|
301061
301089
|
getGroveSettings.cache.clear?.();
|
|
301062
301090
|
return { success: false };
|
|
301063
301091
|
}
|
|
301064
|
-
});
|
|
301065
|
-
getGroveNoticeConfig =
|
|
301092
|
+
}, GROVE_CACHE_EXPIRATION_MS);
|
|
301093
|
+
getGroveNoticeConfig = memoizeWithTTL(async () => {
|
|
301066
301094
|
if (isEssentialTrafficOnly()) {
|
|
301067
301095
|
return { success: false };
|
|
301068
301096
|
}
|
|
@@ -301096,11 +301124,11 @@ var init_grove = __esm(() => {
|
|
|
301096
301124
|
}
|
|
301097
301125
|
};
|
|
301098
301126
|
} catch (err2) {
|
|
301099
|
-
|
|
301127
|
+
logError2(err2);
|
|
301100
301128
|
getGroveNoticeConfig.cache.clear?.();
|
|
301101
301129
|
return { success: false };
|
|
301102
301130
|
}
|
|
301103
|
-
});
|
|
301131
|
+
}, GROVE_CACHE_EXPIRATION_MS);
|
|
301104
301132
|
});
|
|
301105
301133
|
|
|
301106
301134
|
// src/services/policyLimits/index.ts
|
|
@@ -342157,9 +342185,14 @@ async function getTeleportEvents(sessionId, accessToken, orgUUID) {
|
|
|
342157
342185
|
logForDebugging(`[teleport] Fetching events from: ${baseUrl}`);
|
|
342158
342186
|
const all4 = [];
|
|
342159
342187
|
let cursor;
|
|
342188
|
+
let previousCursor;
|
|
342160
342189
|
let pages = 0;
|
|
342161
342190
|
const maxPages = 100;
|
|
342162
342191
|
while (pages < maxPages) {
|
|
342192
|
+
if (pages > 0 && cursor === previousCursor) {
|
|
342193
|
+
logForDebugging(`[teleport] Cursor stalled (unchanged from page ${pages}); treating as end-of-stream`);
|
|
342194
|
+
break;
|
|
342195
|
+
}
|
|
342163
342196
|
const params = { limit: 1000 };
|
|
342164
342197
|
if (cursor !== undefined) {
|
|
342165
342198
|
params.cursor = cursor;
|
|
@@ -342207,6 +342240,7 @@ async function getTeleportEvents(sessionId, accessToken, orgUUID) {
|
|
|
342207
342240
|
if (next_cursor == null) {
|
|
342208
342241
|
break;
|
|
342209
342242
|
}
|
|
342243
|
+
previousCursor = cursor;
|
|
342210
342244
|
cursor = next_cursor;
|
|
342211
342245
|
}
|
|
342212
342246
|
if (pages >= maxPages) {
|
|
@@ -342263,7 +342297,13 @@ function findLastUuid(logs2) {
|
|
|
342263
342297
|
if (!logs2) {
|
|
342264
342298
|
return;
|
|
342265
342299
|
}
|
|
342266
|
-
|
|
342300
|
+
let entry;
|
|
342301
|
+
for (let i3 = logs2.length - 1;i3 >= 0; i3--) {
|
|
342302
|
+
if ("uuid" in logs2[i3] && logs2[i3].uuid) {
|
|
342303
|
+
entry = logs2[i3];
|
|
342304
|
+
break;
|
|
342305
|
+
}
|
|
342306
|
+
}
|
|
342267
342307
|
return entry && "uuid" in entry ? entry.uuid : undefined;
|
|
342268
342308
|
}
|
|
342269
342309
|
function clearAllSessions() {
|
|
@@ -453609,7 +453649,7 @@ async function prefetchPassesEligibility() {
|
|
|
453609
453649
|
if (isEssentialTrafficOnly()) {
|
|
453610
453650
|
return;
|
|
453611
453651
|
}
|
|
453612
|
-
getCachedOrFetchPassesEligibility();
|
|
453652
|
+
getCachedOrFetchPassesEligibility().catch(() => {});
|
|
453613
453653
|
}
|
|
453614
453654
|
var CACHE_EXPIRATION_MS, fetchInProgress = null, CURRENCY_SYMBOLS;
|
|
453615
453655
|
var init_referral = __esm(() => {
|
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.87",
|
|
8
|
+
BUILD_TIME: "2026-07-17T07:39:42.011Z",
|
|
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.87",
|
|
117488
117488
|
private: false,
|
|
117489
117489
|
description: "An open-source AI coding assistant in your terminal - powered by Claude",
|
|
117490
117490
|
license: "MIT",
|
|
@@ -210190,8 +210190,7 @@ function addApiRequestToCache(requestData) {
|
|
|
210190
210190
|
const metadata = {
|
|
210191
210191
|
timestamp: new Date().toISOString(),
|
|
210192
210192
|
request: {
|
|
210193
|
-
model: requestData.model
|
|
210194
|
-
requestHash: hashString3(JSON.stringify(requestData))
|
|
210193
|
+
model: requestData.model
|
|
210195
210194
|
}
|
|
210196
210195
|
};
|
|
210197
210196
|
cachedApiRequests.push(metadata);
|
|
@@ -210237,7 +210236,11 @@ function dumpRequest(body, ts, state, filePath) {
|
|
|
210237
210236
|
}
|
|
210238
210237
|
for (const msg of messages.slice(state.messageCountSeen)) {
|
|
210239
210238
|
if (msg.role === "user") {
|
|
210240
|
-
|
|
210239
|
+
try {
|
|
210240
|
+
entries.push(jsonStringify({ type: "message", timestamp: ts, data: msg }));
|
|
210241
|
+
} catch (err2) {
|
|
210242
|
+
logError2(`dumpPrompts.dumpRequest: failed to stringify message: ${err2}`);
|
|
210243
|
+
}
|
|
210241
210244
|
}
|
|
210242
210245
|
}
|
|
210243
210246
|
if (shouldWriteInitData) {
|
|
@@ -210334,6 +210337,7 @@ var init_dumpPrompts = __esm(() => {
|
|
|
210334
210337
|
init_envUtils();
|
|
210335
210338
|
init_slowOperations();
|
|
210336
210339
|
init_debug();
|
|
210340
|
+
init_log3();
|
|
210337
210341
|
cachedApiRequests = [];
|
|
210338
210342
|
dumpState = new Map;
|
|
210339
210343
|
dumpRequestQueue = new Map;
|
|
@@ -300872,6 +300876,30 @@ var init_gracefulShutdown = __esm(() => {
|
|
|
300872
300876
|
});
|
|
300873
300877
|
|
|
300874
300878
|
// src/services/api/grove.ts
|
|
300879
|
+
function memoizeWithTTL(fn, ttlMs) {
|
|
300880
|
+
let lastCachedAt = 0;
|
|
300881
|
+
const memoized = memoize_default(fn);
|
|
300882
|
+
const originalClear = memoized.cache.clear.bind(memoized.cache);
|
|
300883
|
+
const wrapped = async (...args) => {
|
|
300884
|
+
const now2 = Date.now();
|
|
300885
|
+
if (lastCachedAt !== 0 && now2 - lastCachedAt >= ttlMs) {
|
|
300886
|
+
originalClear();
|
|
300887
|
+
lastCachedAt = 0;
|
|
300888
|
+
}
|
|
300889
|
+
const result = await memoized(...args);
|
|
300890
|
+
if (result && typeof result === "object" && "success" in result && result.success === true) {
|
|
300891
|
+
lastCachedAt = Date.now();
|
|
300892
|
+
}
|
|
300893
|
+
return result;
|
|
300894
|
+
};
|
|
300895
|
+
wrapped.cache = {
|
|
300896
|
+
clear: () => {
|
|
300897
|
+
originalClear();
|
|
300898
|
+
lastCachedAt = 0;
|
|
300899
|
+
}
|
|
300900
|
+
};
|
|
300901
|
+
return wrapped;
|
|
300902
|
+
}
|
|
300875
300903
|
async function markGroveNoticeViewed() {
|
|
300876
300904
|
try {
|
|
300877
300905
|
await withOAuth401Retry(() => {
|
|
@@ -301038,7 +301066,7 @@ var init_grove = __esm(() => {
|
|
|
301038
301066
|
init_log3();
|
|
301039
301067
|
groveConfigLocks = new Map;
|
|
301040
301068
|
GROVE_CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1000;
|
|
301041
|
-
getGroveSettings =
|
|
301069
|
+
getGroveSettings = memoizeWithTTL(async () => {
|
|
301042
301070
|
if (isEssentialTrafficOnly()) {
|
|
301043
301071
|
return { success: false };
|
|
301044
301072
|
}
|
|
@@ -301061,8 +301089,8 @@ var init_grove = __esm(() => {
|
|
|
301061
301089
|
getGroveSettings.cache.clear?.();
|
|
301062
301090
|
return { success: false };
|
|
301063
301091
|
}
|
|
301064
|
-
});
|
|
301065
|
-
getGroveNoticeConfig =
|
|
301092
|
+
}, GROVE_CACHE_EXPIRATION_MS);
|
|
301093
|
+
getGroveNoticeConfig = memoizeWithTTL(async () => {
|
|
301066
301094
|
if (isEssentialTrafficOnly()) {
|
|
301067
301095
|
return { success: false };
|
|
301068
301096
|
}
|
|
@@ -301096,11 +301124,11 @@ var init_grove = __esm(() => {
|
|
|
301096
301124
|
}
|
|
301097
301125
|
};
|
|
301098
301126
|
} catch (err2) {
|
|
301099
|
-
|
|
301127
|
+
logError2(err2);
|
|
301100
301128
|
getGroveNoticeConfig.cache.clear?.();
|
|
301101
301129
|
return { success: false };
|
|
301102
301130
|
}
|
|
301103
|
-
});
|
|
301131
|
+
}, GROVE_CACHE_EXPIRATION_MS);
|
|
301104
301132
|
});
|
|
301105
301133
|
|
|
301106
301134
|
// src/services/policyLimits/index.ts
|
|
@@ -342157,9 +342185,14 @@ async function getTeleportEvents(sessionId, accessToken, orgUUID) {
|
|
|
342157
342185
|
logForDebugging(`[teleport] Fetching events from: ${baseUrl}`);
|
|
342158
342186
|
const all4 = [];
|
|
342159
342187
|
let cursor;
|
|
342188
|
+
let previousCursor;
|
|
342160
342189
|
let pages = 0;
|
|
342161
342190
|
const maxPages = 100;
|
|
342162
342191
|
while (pages < maxPages) {
|
|
342192
|
+
if (pages > 0 && cursor === previousCursor) {
|
|
342193
|
+
logForDebugging(`[teleport] Cursor stalled (unchanged from page ${pages}); treating as end-of-stream`);
|
|
342194
|
+
break;
|
|
342195
|
+
}
|
|
342163
342196
|
const params = { limit: 1000 };
|
|
342164
342197
|
if (cursor !== undefined) {
|
|
342165
342198
|
params.cursor = cursor;
|
|
@@ -342207,6 +342240,7 @@ async function getTeleportEvents(sessionId, accessToken, orgUUID) {
|
|
|
342207
342240
|
if (next_cursor == null) {
|
|
342208
342241
|
break;
|
|
342209
342242
|
}
|
|
342243
|
+
previousCursor = cursor;
|
|
342210
342244
|
cursor = next_cursor;
|
|
342211
342245
|
}
|
|
342212
342246
|
if (pages >= maxPages) {
|
|
@@ -342263,7 +342297,13 @@ function findLastUuid(logs2) {
|
|
|
342263
342297
|
if (!logs2) {
|
|
342264
342298
|
return;
|
|
342265
342299
|
}
|
|
342266
|
-
|
|
342300
|
+
let entry;
|
|
342301
|
+
for (let i3 = logs2.length - 1;i3 >= 0; i3--) {
|
|
342302
|
+
if ("uuid" in logs2[i3] && logs2[i3].uuid) {
|
|
342303
|
+
entry = logs2[i3];
|
|
342304
|
+
break;
|
|
342305
|
+
}
|
|
342306
|
+
}
|
|
342267
342307
|
return entry && "uuid" in entry ? entry.uuid : undefined;
|
|
342268
342308
|
}
|
|
342269
342309
|
function clearAllSessions() {
|
|
@@ -453609,7 +453649,7 @@ async function prefetchPassesEligibility() {
|
|
|
453609
453649
|
if (isEssentialTrafficOnly()) {
|
|
453610
453650
|
return;
|
|
453611
453651
|
}
|
|
453612
|
-
getCachedOrFetchPassesEligibility();
|
|
453652
|
+
getCachedOrFetchPassesEligibility().catch(() => {});
|
|
453613
453653
|
}
|
|
453614
453654
|
var CACHE_EXPIRATION_MS, fetchInProgress = null, CURRENCY_SYMBOLS;
|
|
453615
453655
|
var init_referral = __esm(() => {
|