happy-imou-cloud 2.1.18 → 2.1.20

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.
Files changed (33) hide show
  1. package/dist/{BaseReasoningProcessor-BgdXuZmv.cjs → BaseReasoningProcessor-BrPfiZf4.cjs} +21 -21
  2. package/dist/{BaseReasoningProcessor-DfOI9FtS.mjs → BaseReasoningProcessor-CQ59YfWV.mjs} +2 -2
  3. package/dist/{ProviderSelectionHandler-C6LMBbK7.cjs → ProviderSelectionHandler-B8EGoc4L.cjs} +6 -6
  4. package/dist/{ProviderSelectionHandler-B4vN3RM8.mjs → ProviderSelectionHandler-D9WDj0pS.mjs} +2 -2
  5. package/dist/{api-CFtJ7hbq.cjs → api-BtjmMYKf.cjs} +1145 -738
  6. package/dist/{api-Dct4Gr7U.mjs → api-CtjWkGWV.mjs} +1356 -981
  7. package/dist/{command-sTwvd2wk.mjs → command-BV2wo6tq.mjs} +3 -4
  8. package/dist/{command-BJS-MHaC.cjs → command-D9Xa72wn.cjs} +3 -4
  9. package/dist/{index-DmEa3wAZ.cjs → index-WIr2Wt9U.cjs} +930 -514
  10. package/dist/{index-BNMt1NVP.mjs → index-hL-ID2fR.mjs} +501 -85
  11. package/dist/index.cjs +2 -3
  12. package/dist/index.mjs +2 -3
  13. package/dist/lib.cjs +6 -5
  14. package/dist/lib.d.cts +216 -66
  15. package/dist/lib.d.mts +216 -66
  16. package/dist/lib.mjs +2 -1
  17. package/dist/registerKillSessionHandler-D0EYq7uF.cjs +2110 -0
  18. package/dist/{registerKillSessionHandler-hl29RARI.mjs → registerKillSessionHandler-D9JiuWdb.mjs} +917 -6
  19. package/dist/{runClaude-uAdlZAru.mjs → runClaude-BQ3EPwaa.mjs} +12 -7
  20. package/dist/{runClaude-C6Ot0G9B.cjs → runClaude-CAelse1X.cjs} +172 -167
  21. package/dist/{runCodex-NhOqXM_u.mjs → runCodex-4njIyif-.mjs} +16 -11
  22. package/dist/{runCodex-DDqTivpW.cjs → runCodex-ofeVc4Nl.cjs} +55 -50
  23. package/dist/{runGemini-Dctn6DS-.cjs → runGemini-ChlLWNak.cjs} +99 -94
  24. package/dist/{runGemini-BvQdvP9_.mjs → runGemini-ClDpc5hl.mjs} +13 -8
  25. package/package.json +1 -1
  26. package/scripts/e2e/fake-codex-acp-agent.mjs +18 -17
  27. package/scripts/e2e/happy-org-dispatch-loop.mjs +1190 -0
  28. package/scripts/release-notes-utils.mjs +91 -0
  29. package/scripts/release-smoke-utils.mjs +11 -0
  30. package/scripts/release-smoke.mjs +15 -9
  31. package/dist/persistence-BYPBtUUh.cjs +0 -618
  32. package/dist/persistence-Ccu_W0kg.mjs +0 -569
  33. package/dist/registerKillSessionHandler-DsxMmp7R.cjs +0 -1196
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DmEa3wAZ.cjs');
4
- var api = require('./api-CFtJ7hbq.cjs');
3
+ var index = require('./index-WIr2Wt9U.cjs');
4
+ var persistence = require('./api-BtjmMYKf.cjs');
5
5
  var node_events = require('node:events');
6
6
  var node_crypto = require('node:crypto');
7
7
 
@@ -59,17 +59,17 @@ function createOfflineSessionStub(sessionTag) {
59
59
  }
60
60
 
61
61
  function setupOfflineReconnection(opts) {
62
- const { api: api$1, sessionTag, metadata, state, response, onSessionSwap } = opts;
62
+ const { api, sessionTag, metadata, state, response, onSessionSwap } = opts;
63
63
  let session;
64
64
  let reconnectionHandle = null;
65
65
  if (!response) {
66
66
  session = createOfflineSessionStub(sessionTag);
67
- reconnectionHandle = api.startOfflineReconnection({
68
- serverUrl: api.configuration.serverUrl,
67
+ reconnectionHandle = persistence.startOfflineReconnection({
68
+ serverUrl: persistence.configuration.serverUrl,
69
69
  onReconnected: async () => {
70
- const resp = await api$1.getOrCreateSession({ tag: sessionTag, metadata, state });
70
+ const resp = await api.getOrCreateSession({ tag: sessionTag, metadata, state });
71
71
  if (!resp) throw new Error("Server unavailable");
72
- const realSession = api$1.sessionSyncClient(resp);
72
+ const realSession = api.sessionSyncClient(resp);
73
73
  onSessionSwap(realSession);
74
74
  return realSession;
75
75
  },
@@ -79,7 +79,7 @@ function setupOfflineReconnection(opts) {
79
79
  });
80
80
  return { session, reconnectionHandle, isOffline: true };
81
81
  } else {
82
- session = api$1.sessionSyncClient(response);
82
+ session = api.sessionSyncClient(response);
83
83
  return { session, reconnectionHandle: null, isOffline: false };
84
84
  }
85
85
  }
@@ -97,7 +97,7 @@ async function bootstrapManagedProviderSession(opts) {
97
97
  try {
98
98
  session2.updateMetadata(() => metadata);
99
99
  } catch (error) {
100
- api.logger.debug(`[managed-session] Failed to reconcile metadata for ${opts.flavor} session`, error);
100
+ persistence.logger.debug(`[managed-session] Failed to reconcile metadata for ${opts.flavor} session`, error);
101
101
  }
102
102
  };
103
103
  let response = null;
@@ -109,10 +109,10 @@ async function bootstrapManagedProviderSession(opts) {
109
109
  stableDataKeyPath: ["managed-session-tag", opts.sessionTag]
110
110
  });
111
111
  } catch (error) {
112
- if (!api.isAuthenticationRequiredError(error)) {
112
+ if (!persistence.isAuthenticationRequiredError(error)) {
113
113
  throw error;
114
114
  }
115
- api.logger.debug(opts.authFallbackLogMessage);
115
+ persistence.logger.debug(opts.authFallbackLogMessage);
116
116
  }
117
117
  const { session, reconnectionHandle } = setupOfflineReconnection({
118
118
  api: opts.api,
@@ -167,7 +167,7 @@ class BaseReasoningProcessor {
167
167
  handleSectionBreak() {
168
168
  this.finishCurrentToolCall("canceled");
169
169
  this.resetState();
170
- api.logger.debug(`${this.getLogPrefix()} Section break - reset state`);
170
+ persistence.logger.debug(`${this.getLogPrefix()} Section break - reset state`);
171
171
  }
172
172
  /**
173
173
  * Process a reasoning delta/chunk and accumulate content.
@@ -178,7 +178,7 @@ class BaseReasoningProcessor {
178
178
  if (this.accumulator.startsWith("**")) {
179
179
  this.inTitleCapture = true;
180
180
  this.titleBuffer = this.accumulator.substring(2);
181
- api.logger.debug(`${this.getLogPrefix()} Started title capture`);
181
+ persistence.logger.debug(`${this.getLogPrefix()} Started title capture`);
182
182
  } else if (this.accumulator.length > 0) {
183
183
  this.contentBuffer = this.accumulator;
184
184
  }
@@ -193,7 +193,7 @@ class BaseReasoningProcessor {
193
193
  this.currentTitle = title;
194
194
  this.contentBuffer = afterTitle;
195
195
  this.currentCallId = node_crypto.randomUUID();
196
- api.logger.debug(`${this.getLogPrefix()} Title captured: "${title}"`);
196
+ persistence.logger.debug(`${this.getLogPrefix()} Title captured: "${title}"`);
197
197
  this.sendToolCallStart(title);
198
198
  }
199
199
  } else if (this.hasTitle) {
@@ -223,7 +223,7 @@ class BaseReasoningProcessor {
223
223
  },
224
224
  id: node_crypto.randomUUID()
225
225
  };
226
- api.logger.debug(`${this.getLogPrefix()} Sending tool call start for: "${title}"`);
226
+ persistence.logger.debug(`${this.getLogPrefix()} Sending tool call start for: "${title}"`);
227
227
  this.onMessage?.(toolCall);
228
228
  this.toolCallStarted = true;
229
229
  }
@@ -234,7 +234,7 @@ class BaseReasoningProcessor {
234
234
  completeReasoning(fullText) {
235
235
  const text = fullText ?? this.accumulator;
236
236
  if (!text.trim() && !this.toolCallStarted) {
237
- api.logger.debug(`${this.getLogPrefix()} Complete called but no content accumulated, skipping`);
237
+ persistence.logger.debug(`${this.getLogPrefix()} Complete called but no content accumulated, skipping`);
238
238
  return false;
239
239
  }
240
240
  let title;
@@ -246,7 +246,7 @@ class BaseReasoningProcessor {
246
246
  content = text.substring(titleEndIndex + 2).trim();
247
247
  }
248
248
  }
249
- api.logger.debug(`${this.getLogPrefix()} Complete reasoning - Title: "${title}", Has content: ${content.length > 0}`);
249
+ persistence.logger.debug(`${this.getLogPrefix()} Complete reasoning - Title: "${title}", Has content: ${content.length > 0}`);
250
250
  if (title && !this.toolCallStarted) {
251
251
  this.currentCallId = this.currentCallId || node_crypto.randomUUID();
252
252
  this.sendToolCallStart(title);
@@ -261,7 +261,7 @@ class BaseReasoningProcessor {
261
261
  },
262
262
  id: node_crypto.randomUUID()
263
263
  };
264
- api.logger.debug(`${this.getLogPrefix()} Sending tool call result`);
264
+ persistence.logger.debug(`${this.getLogPrefix()} Sending tool call result`);
265
265
  this.onMessage?.(toolResult);
266
266
  } else if (content.trim()) {
267
267
  const reasoningMessage = {
@@ -269,7 +269,7 @@ class BaseReasoningProcessor {
269
269
  message: content,
270
270
  id: node_crypto.randomUUID()
271
271
  };
272
- api.logger.debug(`${this.getLogPrefix()} Sending reasoning message`);
272
+ persistence.logger.debug(`${this.getLogPrefix()} Sending reasoning message`);
273
273
  this.onMessage?.(reasoningMessage);
274
274
  }
275
275
  this.resetState();
@@ -279,7 +279,7 @@ class BaseReasoningProcessor {
279
279
  * Abort the current reasoning section.
280
280
  */
281
281
  abort() {
282
- api.logger.debug(`${this.getLogPrefix()} Abort called`);
282
+ persistence.logger.debug(`${this.getLogPrefix()} Abort called`);
283
283
  this.finishCurrentToolCall("canceled");
284
284
  this.resetState();
285
285
  }
@@ -304,7 +304,7 @@ class BaseReasoningProcessor {
304
304
  },
305
305
  id: node_crypto.randomUUID()
306
306
  };
307
- api.logger.debug(`${this.getLogPrefix()} Sending tool call result with status: ${status}`);
307
+ persistence.logger.debug(`${this.getLogPrefix()} Sending tool call result with status: ${status}`);
308
308
  this.onMessage?.(toolResult);
309
309
  }
310
310
  }
@@ -1,5 +1,5 @@
1
- import { a as createSessionMetadata, p as publishSessionRegistration } from './index-BNMt1NVP.mjs';
2
- import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-Dct4Gr7U.mjs';
1
+ import { a as createSessionMetadata, p as publishSessionRegistration } from './index-hL-ID2fR.mjs';
2
+ import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-CtjWkGWV.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { randomUUID } from 'node:crypto';
5
5
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-CFtJ7hbq.cjs');
4
- var registerKillSessionHandler = require('./registerKillSessionHandler-DsxMmp7R.cjs');
3
+ var persistence = require('./api-BtjmMYKf.cjs');
4
+ var registerKillSessionHandler = require('./registerKillSessionHandler-D0EYq7uF.cjs');
5
5
 
6
6
  async function runModeLoop(opts) {
7
7
  let currentMode = opts.startingMode;
@@ -105,7 +105,7 @@ class ProviderSelectionHandler {
105
105
  }
106
106
  }
107
107
  }));
108
- api.logger.debug(`[${this.providerLabel}] Selection request sent (${request.id}) with ${request.options.length} options`);
108
+ persistence.logger.debug(`[${this.providerLabel}] Selection request sent (${request.id}) with ${request.options.length} options`);
109
109
  });
110
110
  }
111
111
  hasPendingRequests() {
@@ -144,7 +144,7 @@ class ProviderSelectionHandler {
144
144
  completedRequests
145
145
  };
146
146
  });
147
- api.logger.debug(`[${this.providerLabel}] Superseded ${pendingSnapshot.length} pending selection request(s)`);
147
+ persistence.logger.debug(`[${this.providerLabel}] Superseded ${pendingSnapshot.length} pending selection request(s)`);
148
148
  return pendingSnapshot.length;
149
149
  }
150
150
  reset(reason = "Session reset") {
@@ -181,7 +181,7 @@ class ProviderSelectionHandler {
181
181
  this.session.rpcHandlerManager.registerHandler("selection", async (response) => {
182
182
  const pending = this.pendingRequests.get(response.id);
183
183
  if (!pending) {
184
- api.logger.debug(`[${this.providerLabel}] Selection request not found or already resolved`);
184
+ persistence.logger.debug(`[${this.providerLabel}] Selection request not found or already resolved`);
185
185
  return;
186
186
  }
187
187
  this.pendingRequests.delete(response.id);
@@ -256,7 +256,7 @@ class ProviderSelectionHandler {
256
256
  type: "message",
257
257
  message: "Pending interaction timed out waiting for a response. Send a new message to continue."
258
258
  });
259
- api.logger.debug(`[${this.providerLabel}] Selection request timed out (${requestId})`);
259
+ persistence.logger.debug(`[${this.providerLabel}] Selection request timed out (${requestId})`);
260
260
  }
261
261
  }
262
262
 
@@ -1,5 +1,5 @@
1
- import { l as logger } from './api-Dct4Gr7U.mjs';
2
- import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-hl29RARI.mjs';
1
+ import { l as logger } from './api-CtjWkGWV.mjs';
2
+ import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-D9JiuWdb.mjs';
3
3
 
4
4
  async function runModeLoop(opts) {
5
5
  let currentMode = opts.startingMode;