@funnycode/myclaude 0.1.80 → 0.1.81

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.80",
8
- BUILD_TIME: "2026-07-16T03:20:12.229Z",
7
+ VERSION: "0.1.81",
8
+ BUILD_TIME: "2026-07-16T06:38:00.106Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -117487,7 +117487,7 @@ var package_default;
117487
117487
  var init_package = __esm(() => {
117488
117488
  package_default = {
117489
117489
  name: "@funnycode/myclaude",
117490
- version: "0.1.80",
117490
+ version: "0.1.81",
117491
117491
  private: false,
117492
117492
  description: "An open-source AI coding assistant in your terminal - powered by Claude",
117493
117493
  license: "MIT",
@@ -210155,6 +210155,29 @@ import { dirname as dirname27, join as join48 } from "path";
210155
210155
  function hashString3(str) {
210156
210156
  return createHash5("sha256").update(str).digest("hex");
210157
210157
  }
210158
+ function enqueueDumpRequest(agentIdOrSessionId, callback) {
210159
+ if (!dumpRequestQueue.has(agentIdOrSessionId)) {
210160
+ dumpRequestQueue.set(agentIdOrSessionId, []);
210161
+ }
210162
+ dumpRequestQueue.get(agentIdOrSessionId).push(callback);
210163
+ if (dumpRequestQueue.get(agentIdOrSessionId).length === 1) {
210164
+ processQueue(agentIdOrSessionId);
210165
+ }
210166
+ }
210167
+ function processQueue(agentIdOrSessionId) {
210168
+ const queue = dumpRequestQueue.get(agentIdOrSessionId);
210169
+ if (!queue || queue.length === 0) {
210170
+ dumpRequestQueue.delete(agentIdOrSessionId);
210171
+ return;
210172
+ }
210173
+ const callback = queue.shift();
210174
+ callback();
210175
+ if (queue.length > 0) {
210176
+ setImmediate(() => processQueue(agentIdOrSessionId));
210177
+ } else {
210178
+ dumpRequestQueue.delete(agentIdOrSessionId);
210179
+ }
210180
+ }
210158
210181
  function clearDumpState(agentIdOrSessionId) {
210159
210182
  dumpState.delete(agentIdOrSessionId);
210160
210183
  }
@@ -210164,10 +210187,14 @@ function clearAllDumpState() {
210164
210187
  function addApiRequestToCache(requestData) {
210165
210188
  if (process.env.USER_TYPE !== "ant")
210166
210189
  return;
210167
- cachedApiRequests.push({
210190
+ const metadata = {
210168
210191
  timestamp: new Date().toISOString(),
210169
- request: requestData
210170
- });
210192
+ request: {
210193
+ model: requestData.model,
210194
+ requestHash: hashString3(JSON.stringify(requestData))
210195
+ }
210196
+ };
210197
+ cachedApiRequests.push(metadata);
210171
210198
  if (cachedApiRequests.length > MAX_CACHED_REQUESTS) {
210172
210199
  cachedApiRequests.shift();
210173
210200
  }
@@ -210238,7 +210265,9 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
210238
210265
  let timestamp;
210239
210266
  if (init2?.method === "POST" && init2.body) {
210240
210267
  timestamp = new Date().toISOString();
210241
- setImmediate(dumpRequest, init2.body, timestamp, state, filePath);
210268
+ enqueueDumpRequest(agentIdOrSessionId, () => {
210269
+ dumpRequest(init2.body, timestamp, state, filePath);
210270
+ });
210242
210271
  }
210243
210272
  const response = await globalThis.fetch(input, init2);
210244
210273
  if (timestamp && response.ok && process.env.USER_TYPE === "ant" && process.env.DUMP_PROMPTS === "1") {
@@ -210290,7 +210319,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
210290
210319
  return response;
210291
210320
  };
210292
210321
  }
210293
- var MAX_CACHED_REQUESTS = 5, cachedApiRequests, dumpState;
210322
+ var MAX_CACHED_REQUESTS = 5, cachedApiRequests, dumpState, dumpRequestQueue;
210294
210323
  var init_dumpPrompts = __esm(() => {
210295
210324
  init_state();
210296
210325
  init_envUtils();
@@ -210298,6 +210327,7 @@ var init_dumpPrompts = __esm(() => {
210298
210327
  init_debug();
210299
210328
  cachedApiRequests = [];
210300
210329
  dumpState = new Map;
210330
+ dumpRequestQueue = new Map;
210301
210331
  });
210302
210332
 
210303
210333
  // src/utils/abortController.ts
@@ -406815,13 +406845,13 @@ var init_AppState = __esm(() => {
406815
406845
  function useNotifications() {
406816
406846
  const store = useAppStateStore();
406817
406847
  const setAppState = useSetAppState();
406818
- const processQueue = import_react85.useCallback(() => {
406848
+ const processQueue2 = import_react85.useCallback(() => {
406819
406849
  setAppState((prev) => {
406820
406850
  const next = getNext(prev.notifications.queue);
406821
406851
  if (prev.notifications.current !== null || !next) {
406822
406852
  return prev;
406823
406853
  }
406824
- currentTimeoutId = setTimeout((setAppState2, nextKey, processQueue2) => {
406854
+ currentTimeoutId = setTimeout((setAppState2, nextKey, processQueue3) => {
406825
406855
  currentTimeoutId = null;
406826
406856
  setAppState2((prev2) => {
406827
406857
  if (prev2.notifications.current?.key !== nextKey) {
@@ -406835,8 +406865,8 @@ function useNotifications() {
406835
406865
  }
406836
406866
  };
406837
406867
  });
406838
- processQueue2();
406839
- }, next.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, next.key, processQueue);
406868
+ processQueue3();
406869
+ }, next.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, next.key, processQueue2);
406840
406870
  return {
406841
406871
  ...prev,
406842
406872
  notifications: {
@@ -406852,7 +406882,7 @@ function useNotifications() {
406852
406882
  clearTimeout(currentTimeoutId);
406853
406883
  currentTimeoutId = null;
406854
406884
  }
406855
- currentTimeoutId = setTimeout((setAppState2, notif2, processQueue2) => {
406885
+ currentTimeoutId = setTimeout((setAppState2, notif2, processQueue3) => {
406856
406886
  currentTimeoutId = null;
406857
406887
  setAppState2((prev) => {
406858
406888
  if (prev.notifications.current?.key !== notif2.key) {
@@ -406866,8 +406896,8 @@ function useNotifications() {
406866
406896
  }
406867
406897
  };
406868
406898
  });
406869
- processQueue2();
406870
- }, notif.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, notif, processQueue);
406899
+ processQueue3();
406900
+ }, notif.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, notif, processQueue2);
406871
406901
  setAppState((prev) => ({
406872
406902
  ...prev,
406873
406903
  notifications: {
@@ -406885,7 +406915,7 @@ function useNotifications() {
406885
406915
  clearTimeout(currentTimeoutId);
406886
406916
  currentTimeoutId = null;
406887
406917
  }
406888
- currentTimeoutId = setTimeout((setAppState2, foldedKey, processQueue2) => {
406918
+ currentTimeoutId = setTimeout((setAppState2, foldedKey, processQueue3) => {
406889
406919
  currentTimeoutId = null;
406890
406920
  setAppState2((p) => {
406891
406921
  if (p.notifications.current?.key !== foldedKey) {
@@ -406899,8 +406929,8 @@ function useNotifications() {
406899
406929
  }
406900
406930
  };
406901
406931
  });
406902
- processQueue2();
406903
- }, folded.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, folded.key, processQueue);
406932
+ processQueue3();
406933
+ }, folded.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, folded.key, processQueue2);
406904
406934
  return {
406905
406935
  ...prev,
406906
406936
  notifications: {
@@ -406940,8 +406970,8 @@ function useNotifications() {
406940
406970
  }
406941
406971
  };
406942
406972
  });
406943
- processQueue();
406944
- }, [setAppState, processQueue]);
406973
+ processQueue2();
406974
+ }, [setAppState, processQueue2]);
406945
406975
  const removeNotification = import_react85.useCallback((key2) => {
406946
406976
  setAppState((prev) => {
406947
406977
  const isCurrent = prev.notifications.current?.key === key2;
@@ -406961,11 +406991,11 @@ function useNotifications() {
406961
406991
  }
406962
406992
  };
406963
406993
  });
406964
- processQueue();
406965
- }, [setAppState, processQueue]);
406994
+ processQueue2();
406995
+ }, [setAppState, processQueue2]);
406966
406996
  import_react85.useEffect(() => {
406967
406997
  if (store.getState().notifications.queue.length > 0) {
406968
- processQueue();
406998
+ processQueue2();
406969
406999
  }
406970
407000
  }, []);
406971
407001
  return {
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.80",
8
- BUILD_TIME: "2026-07-16T03:20:12.229Z",
7
+ VERSION: "0.1.81",
8
+ BUILD_TIME: "2026-07-16T06:38:00.106Z",
9
9
  PACKAGE_URL: "@funnycode/myclaude",
10
10
  NATIVE_PACKAGE_URL: "@funnycode/myclaude",
11
11
  VERSION_CHANGELOG: '',
@@ -117487,7 +117487,7 @@ var package_default;
117487
117487
  var init_package = __esm(() => {
117488
117488
  package_default = {
117489
117489
  name: "@funnycode/myclaude",
117490
- version: "0.1.80",
117490
+ version: "0.1.81",
117491
117491
  private: false,
117492
117492
  description: "An open-source AI coding assistant in your terminal - powered by Claude",
117493
117493
  license: "MIT",
@@ -210155,6 +210155,29 @@ import { dirname as dirname27, join as join48 } from "path";
210155
210155
  function hashString3(str) {
210156
210156
  return createHash5("sha256").update(str).digest("hex");
210157
210157
  }
210158
+ function enqueueDumpRequest(agentIdOrSessionId, callback) {
210159
+ if (!dumpRequestQueue.has(agentIdOrSessionId)) {
210160
+ dumpRequestQueue.set(agentIdOrSessionId, []);
210161
+ }
210162
+ dumpRequestQueue.get(agentIdOrSessionId).push(callback);
210163
+ if (dumpRequestQueue.get(agentIdOrSessionId).length === 1) {
210164
+ processQueue(agentIdOrSessionId);
210165
+ }
210166
+ }
210167
+ function processQueue(agentIdOrSessionId) {
210168
+ const queue = dumpRequestQueue.get(agentIdOrSessionId);
210169
+ if (!queue || queue.length === 0) {
210170
+ dumpRequestQueue.delete(agentIdOrSessionId);
210171
+ return;
210172
+ }
210173
+ const callback = queue.shift();
210174
+ callback();
210175
+ if (queue.length > 0) {
210176
+ setImmediate(() => processQueue(agentIdOrSessionId));
210177
+ } else {
210178
+ dumpRequestQueue.delete(agentIdOrSessionId);
210179
+ }
210180
+ }
210158
210181
  function clearDumpState(agentIdOrSessionId) {
210159
210182
  dumpState.delete(agentIdOrSessionId);
210160
210183
  }
@@ -210164,10 +210187,14 @@ function clearAllDumpState() {
210164
210187
  function addApiRequestToCache(requestData) {
210165
210188
  if (process.env.USER_TYPE !== "ant")
210166
210189
  return;
210167
- cachedApiRequests.push({
210190
+ const metadata = {
210168
210191
  timestamp: new Date().toISOString(),
210169
- request: requestData
210170
- });
210192
+ request: {
210193
+ model: requestData.model,
210194
+ requestHash: hashString3(JSON.stringify(requestData))
210195
+ }
210196
+ };
210197
+ cachedApiRequests.push(metadata);
210171
210198
  if (cachedApiRequests.length > MAX_CACHED_REQUESTS) {
210172
210199
  cachedApiRequests.shift();
210173
210200
  }
@@ -210238,7 +210265,9 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
210238
210265
  let timestamp;
210239
210266
  if (init2?.method === "POST" && init2.body) {
210240
210267
  timestamp = new Date().toISOString();
210241
- setImmediate(dumpRequest, init2.body, timestamp, state, filePath);
210268
+ enqueueDumpRequest(agentIdOrSessionId, () => {
210269
+ dumpRequest(init2.body, timestamp, state, filePath);
210270
+ });
210242
210271
  }
210243
210272
  const response = await globalThis.fetch(input, init2);
210244
210273
  if (timestamp && response.ok && process.env.USER_TYPE === "ant" && process.env.DUMP_PROMPTS === "1") {
@@ -210290,7 +210319,7 @@ function createDumpPromptsFetch(agentIdOrSessionId) {
210290
210319
  return response;
210291
210320
  };
210292
210321
  }
210293
- var MAX_CACHED_REQUESTS = 5, cachedApiRequests, dumpState;
210322
+ var MAX_CACHED_REQUESTS = 5, cachedApiRequests, dumpState, dumpRequestQueue;
210294
210323
  var init_dumpPrompts = __esm(() => {
210295
210324
  init_state();
210296
210325
  init_envUtils();
@@ -210298,6 +210327,7 @@ var init_dumpPrompts = __esm(() => {
210298
210327
  init_debug();
210299
210328
  cachedApiRequests = [];
210300
210329
  dumpState = new Map;
210330
+ dumpRequestQueue = new Map;
210301
210331
  });
210302
210332
 
210303
210333
  // src/utils/abortController.ts
@@ -406815,13 +406845,13 @@ var init_AppState = __esm(() => {
406815
406845
  function useNotifications() {
406816
406846
  const store = useAppStateStore();
406817
406847
  const setAppState = useSetAppState();
406818
- const processQueue = import_react85.useCallback(() => {
406848
+ const processQueue2 = import_react85.useCallback(() => {
406819
406849
  setAppState((prev) => {
406820
406850
  const next = getNext(prev.notifications.queue);
406821
406851
  if (prev.notifications.current !== null || !next) {
406822
406852
  return prev;
406823
406853
  }
406824
- currentTimeoutId = setTimeout((setAppState2, nextKey, processQueue2) => {
406854
+ currentTimeoutId = setTimeout((setAppState2, nextKey, processQueue3) => {
406825
406855
  currentTimeoutId = null;
406826
406856
  setAppState2((prev2) => {
406827
406857
  if (prev2.notifications.current?.key !== nextKey) {
@@ -406835,8 +406865,8 @@ function useNotifications() {
406835
406865
  }
406836
406866
  };
406837
406867
  });
406838
- processQueue2();
406839
- }, next.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, next.key, processQueue);
406868
+ processQueue3();
406869
+ }, next.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, next.key, processQueue2);
406840
406870
  return {
406841
406871
  ...prev,
406842
406872
  notifications: {
@@ -406852,7 +406882,7 @@ function useNotifications() {
406852
406882
  clearTimeout(currentTimeoutId);
406853
406883
  currentTimeoutId = null;
406854
406884
  }
406855
- currentTimeoutId = setTimeout((setAppState2, notif2, processQueue2) => {
406885
+ currentTimeoutId = setTimeout((setAppState2, notif2, processQueue3) => {
406856
406886
  currentTimeoutId = null;
406857
406887
  setAppState2((prev) => {
406858
406888
  if (prev.notifications.current?.key !== notif2.key) {
@@ -406866,8 +406896,8 @@ function useNotifications() {
406866
406896
  }
406867
406897
  };
406868
406898
  });
406869
- processQueue2();
406870
- }, notif.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, notif, processQueue);
406899
+ processQueue3();
406900
+ }, notif.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, notif, processQueue2);
406871
406901
  setAppState((prev) => ({
406872
406902
  ...prev,
406873
406903
  notifications: {
@@ -406885,7 +406915,7 @@ function useNotifications() {
406885
406915
  clearTimeout(currentTimeoutId);
406886
406916
  currentTimeoutId = null;
406887
406917
  }
406888
- currentTimeoutId = setTimeout((setAppState2, foldedKey, processQueue2) => {
406918
+ currentTimeoutId = setTimeout((setAppState2, foldedKey, processQueue3) => {
406889
406919
  currentTimeoutId = null;
406890
406920
  setAppState2((p) => {
406891
406921
  if (p.notifications.current?.key !== foldedKey) {
@@ -406899,8 +406929,8 @@ function useNotifications() {
406899
406929
  }
406900
406930
  };
406901
406931
  });
406902
- processQueue2();
406903
- }, folded.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, folded.key, processQueue);
406932
+ processQueue3();
406933
+ }, folded.timeoutMs ?? DEFAULT_TIMEOUT_MS2, setAppState, folded.key, processQueue2);
406904
406934
  return {
406905
406935
  ...prev,
406906
406936
  notifications: {
@@ -406940,8 +406970,8 @@ function useNotifications() {
406940
406970
  }
406941
406971
  };
406942
406972
  });
406943
- processQueue();
406944
- }, [setAppState, processQueue]);
406973
+ processQueue2();
406974
+ }, [setAppState, processQueue2]);
406945
406975
  const removeNotification = import_react85.useCallback((key2) => {
406946
406976
  setAppState((prev) => {
406947
406977
  const isCurrent = prev.notifications.current?.key === key2;
@@ -406961,11 +406991,11 @@ function useNotifications() {
406961
406991
  }
406962
406992
  };
406963
406993
  });
406964
- processQueue();
406965
- }, [setAppState, processQueue]);
406994
+ processQueue2();
406995
+ }, [setAppState, processQueue2]);
406966
406996
  import_react85.useEffect(() => {
406967
406997
  if (store.getState().notifications.queue.length > 0) {
406968
- processQueue();
406998
+ processQueue2();
406969
406999
  }
406970
407000
  }, []);
406971
407001
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funnycode/myclaude",
3
- "version": "0.1.80",
3
+ "version": "0.1.81",
4
4
  "private": false,
5
5
  "description": "An open-source AI coding assistant in your terminal - powered by Claude",
6
6
  "license": "MIT",