happy-imou-cloud 2.1.15 → 2.1.16

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 (27) hide show
  1. package/dist/{BaseReasoningProcessor-CM_72G79.cjs → BaseReasoningProcessor-D6AIOycG.cjs} +2 -2
  2. package/dist/{BaseReasoningProcessor-CVlTn4bz.mjs → BaseReasoningProcessor-TghqGOqo.mjs} +2 -2
  3. package/dist/{ProviderSelectionHandler-CRMANxaw.mjs → ProviderSelectionHandler-Be6q2nTi.mjs} +2 -2
  4. package/dist/{ProviderSelectionHandler-8KqyCR1t.cjs → ProviderSelectionHandler-DxDz5NAw.cjs} +2 -2
  5. package/dist/{api-BPXrSITF.cjs → api-BUAppqAe.cjs} +34 -2
  6. package/dist/{api-Cgyrs44K.mjs → api-BePMt8XI.mjs} +34 -2
  7. package/dist/{command-BlMDPyNv.cjs → command-CAZ2gxud.cjs} +3 -3
  8. package/dist/{command-ykLmhw9O.mjs → command-DlRscTrt.mjs} +3 -3
  9. package/dist/{index-BHLqfbDm.cjs → index-LKiNbRQ1.cjs} +11 -11
  10. package/dist/{index-BKd56kbE.mjs → index-OfWx3GbO.mjs} +8 -8
  11. package/dist/index.cjs +3 -3
  12. package/dist/index.mjs +3 -3
  13. package/dist/lib.cjs +1 -1
  14. package/dist/lib.d.cts +53 -0
  15. package/dist/lib.d.mts +53 -0
  16. package/dist/lib.mjs +1 -1
  17. package/dist/{persistence-D1rI_096.mjs → persistence-BOtU4fYZ.mjs} +1 -1
  18. package/dist/{persistence-DgaStaev.cjs → persistence-CQ1ub64T.cjs} +1 -1
  19. package/dist/{registerKillSessionHandler-Bc-f3xFV.cjs → registerKillSessionHandler-BTabJYFZ.cjs} +347 -5
  20. package/dist/{registerKillSessionHandler-BqFm3Yvi.mjs → registerKillSessionHandler-DcFWS8JV.mjs} +347 -5
  21. package/dist/{runClaude-BYVqYLc6.mjs → runClaude-BhJT-JJJ.mjs} +13 -7
  22. package/dist/{runClaude-Da0YUY3E.cjs → runClaude-COLx_2h1.cjs} +13 -7
  23. package/dist/{runCodex-x0k9hJyI.mjs → runCodex-BNznOpcn.mjs} +14 -8
  24. package/dist/{runCodex-CZZNiXT5.cjs → runCodex-CcOicO3f.cjs} +14 -8
  25. package/dist/{runGemini-B_bJyd4j.mjs → runGemini-C-ADeQ79.mjs} +13 -7
  26. package/dist/{runGemini-C6_EpYe9.cjs → runGemini-iSsDFz8x.cjs} +13 -7
  27. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BHLqfbDm.cjs');
4
- var api = require('./api-BPXrSITF.cjs');
3
+ var index = require('./index-LKiNbRQ1.cjs');
4
+ var api = require('./api-BUAppqAe.cjs');
5
5
  var node_events = require('node:events');
6
6
  var node_crypto = require('node:crypto');
7
7
 
@@ -1,5 +1,5 @@
1
- import { a as createSessionMetadata, p as publishSessionRegistration } from './index-BKd56kbE.mjs';
2
- import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-Cgyrs44K.mjs';
1
+ import { a as createSessionMetadata, p as publishSessionRegistration } from './index-OfWx3GbO.mjs';
2
+ import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-BePMt8XI.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { randomUUID } from 'node:crypto';
5
5
 
@@ -1,5 +1,5 @@
1
- import { l as logger } from './api-Cgyrs44K.mjs';
2
- import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-BqFm3Yvi.mjs';
1
+ import { l as logger } from './api-BePMt8XI.mjs';
2
+ import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-DcFWS8JV.mjs';
3
3
 
4
4
  async function runModeLoop(opts) {
5
5
  let currentMode = opts.startingMode;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-BPXrSITF.cjs');
4
- var registerKillSessionHandler = require('./registerKillSessionHandler-Bc-f3xFV.cjs');
3
+ var api = require('./api-BUAppqAe.cjs');
4
+ var registerKillSessionHandler = require('./registerKillSessionHandler-BTabJYFZ.cjs');
5
5
 
6
6
  async function runModeLoop(opts) {
7
7
  let currentMode = opts.startingMode;
@@ -18,7 +18,7 @@ var node_child_process = require('node:child_process');
18
18
  var expoServerSdk = require('expo-server-sdk');
19
19
 
20
20
  var name = "happy-imou-cloud";
21
- var version = "2.1.15";
21
+ var version = "2.1.16";
22
22
  var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
23
23
  var author = "long.zhu";
24
24
  var license = "MIT";
@@ -433,7 +433,7 @@ async function listDaemonLogFiles(limit = 50) {
433
433
  return { file, path: fullPath, modified: stats.mtime };
434
434
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
435
435
  try {
436
- const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-DgaStaev.cjs'); });
436
+ const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-CQ1ub64T.cjs'); });
437
437
  const state = await readDaemonState();
438
438
  if (!state) {
439
439
  return logs;
@@ -599,6 +599,20 @@ const HappyOrgReplyContextSchema = z.z.object({
599
599
  scope: z.z.string().min(1),
600
600
  replyTo: z.z.string().min(1)
601
601
  });
602
+ const HappyOrgDispatchBusinessAckStatusSchema = z.z.enum([
603
+ "accepted",
604
+ "standby",
605
+ "blocked"
606
+ ]);
607
+ const HappyOrgDispatchAckLedgerEntrySchema = z.z.object({
608
+ dispatchId: z.z.string().min(1),
609
+ scope: z.z.string().min(1),
610
+ taskAck: z.z.string().min(1),
611
+ readAck: z.z.literal("yes"),
612
+ status: HappyOrgDispatchBusinessAckStatusSchema,
613
+ note: z.z.string().nullable(),
614
+ acknowledgedAt: z.z.number().int().nonnegative()
615
+ });
602
616
  const HappyOrgSpecialistHomeIdentitySchema = z.z.object({
603
617
  homeSlug: z.z.string().min(1),
604
618
  path: z.z.string().min(1).nullish(),
@@ -657,6 +671,7 @@ z.z.object({
657
671
  runtime: HappyOrgRuntimeStateSchema.optional(),
658
672
  activeOwner: HappyOrgTaskOwnershipSchema.nullish(),
659
673
  replyContext: HappyOrgReplyContextSchema.nullish(),
674
+ dispatchAcks: z.z.record(z.z.string(), HappyOrgDispatchAckLedgerEntrySchema).optional(),
660
675
  specialistHome: HappyOrgSpecialistHomeIdentitySchema.nullish(),
661
676
  repeat: z.z.object({
662
677
  threshold: z.z.number().int().positive(),
@@ -3679,6 +3694,23 @@ class ApiClient {
3679
3694
  });
3680
3695
  return response.data.receipt;
3681
3696
  }
3697
+ async submitOrganizationDispatchBusinessAck(opts) {
3698
+ const response = await this.request({
3699
+ method: "POST",
3700
+ url: `${configuration.serverUrl}/control/v1/dispatches/${encodeURIComponent(opts.dispatchId)}/ack`,
3701
+ data: {
3702
+ memberAgentId: opts.memberAgentId,
3703
+ scope: opts.scope,
3704
+ read_ack: opts.readAck,
3705
+ task_ack: opts.taskAck,
3706
+ status: opts.status,
3707
+ note: opts.note ?? null
3708
+ },
3709
+ headers: { "x-happy-organization-id": opts.organizationId },
3710
+ timeout: 1e4
3711
+ });
3712
+ return response.data.receipt;
3713
+ }
3682
3714
  async getProtocolV3Descriptor() {
3683
3715
  const url = `${configuration.serverUrl}/v3/capabilities`;
3684
3716
  const payload = await this.requestProtocolV3Resource({
@@ -16,7 +16,7 @@ import { spawn } from 'node:child_process';
16
16
  import { Expo } from 'expo-server-sdk';
17
17
 
18
18
  var name = "happy-imou-cloud";
19
- var version = "2.1.15";
19
+ var version = "2.1.16";
20
20
  var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
21
21
  var author = "long.zhu";
22
22
  var license = "MIT";
@@ -431,7 +431,7 @@ async function listDaemonLogFiles(limit = 50) {
431
431
  return { file, path: fullPath, modified: stats.mtime };
432
432
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
433
433
  try {
434
- const { readDaemonState } = await import('./persistence-D1rI_096.mjs');
434
+ const { readDaemonState } = await import('./persistence-BOtU4fYZ.mjs');
435
435
  const state = await readDaemonState();
436
436
  if (!state) {
437
437
  return logs;
@@ -597,6 +597,20 @@ const HappyOrgReplyContextSchema = z.object({
597
597
  scope: z.string().min(1),
598
598
  replyTo: z.string().min(1)
599
599
  });
600
+ const HappyOrgDispatchBusinessAckStatusSchema = z.enum([
601
+ "accepted",
602
+ "standby",
603
+ "blocked"
604
+ ]);
605
+ const HappyOrgDispatchAckLedgerEntrySchema = z.object({
606
+ dispatchId: z.string().min(1),
607
+ scope: z.string().min(1),
608
+ taskAck: z.string().min(1),
609
+ readAck: z.literal("yes"),
610
+ status: HappyOrgDispatchBusinessAckStatusSchema,
611
+ note: z.string().nullable(),
612
+ acknowledgedAt: z.number().int().nonnegative()
613
+ });
600
614
  const HappyOrgSpecialistHomeIdentitySchema = z.object({
601
615
  homeSlug: z.string().min(1),
602
616
  path: z.string().min(1).nullish(),
@@ -655,6 +669,7 @@ z.object({
655
669
  runtime: HappyOrgRuntimeStateSchema.optional(),
656
670
  activeOwner: HappyOrgTaskOwnershipSchema.nullish(),
657
671
  replyContext: HappyOrgReplyContextSchema.nullish(),
672
+ dispatchAcks: z.record(z.string(), HappyOrgDispatchAckLedgerEntrySchema).optional(),
658
673
  specialistHome: HappyOrgSpecialistHomeIdentitySchema.nullish(),
659
674
  repeat: z.object({
660
675
  threshold: z.number().int().positive(),
@@ -3677,6 +3692,23 @@ class ApiClient {
3677
3692
  });
3678
3693
  return response.data.receipt;
3679
3694
  }
3695
+ async submitOrganizationDispatchBusinessAck(opts) {
3696
+ const response = await this.request({
3697
+ method: "POST",
3698
+ url: `${configuration.serverUrl}/control/v1/dispatches/${encodeURIComponent(opts.dispatchId)}/ack`,
3699
+ data: {
3700
+ memberAgentId: opts.memberAgentId,
3701
+ scope: opts.scope,
3702
+ read_ack: opts.readAck,
3703
+ task_ack: opts.taskAck,
3704
+ status: opts.status,
3705
+ note: opts.note ?? null
3706
+ },
3707
+ headers: { "x-happy-organization-id": opts.organizationId },
3708
+ timeout: 1e4
3709
+ });
3710
+ return response.data.receipt;
3711
+ }
3680
3712
  async getProtocolV3Descriptor() {
3681
3713
  const url = `${configuration.serverUrl}/v3/capabilities`;
3682
3714
  const payload = await this.requestProtocolV3Resource({
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BHLqfbDm.cjs');
3
+ var index = require('./index-LKiNbRQ1.cjs');
4
4
  require('chalk');
5
- require('./api-BPXrSITF.cjs');
5
+ require('./api-BUAppqAe.cjs');
6
6
  require('axios');
7
7
  require('fs');
8
8
  require('node:fs');
@@ -18,7 +18,7 @@ require('crypto');
18
18
  require('path');
19
19
  require('node:child_process');
20
20
  require('expo-server-sdk');
21
- require('./persistence-DgaStaev.cjs');
21
+ require('./persistence-CQ1ub64T.cjs');
22
22
  require('node:fs/promises');
23
23
  require('os');
24
24
  require('tmp');
@@ -1,6 +1,6 @@
1
- import { c as createDefaultRuntimeShell } from './index-BKd56kbE.mjs';
1
+ import { c as createDefaultRuntimeShell } from './index-OfWx3GbO.mjs';
2
2
  import 'chalk';
3
- import './api-Cgyrs44K.mjs';
3
+ import './api-BePMt8XI.mjs';
4
4
  import 'axios';
5
5
  import 'fs';
6
6
  import 'node:fs';
@@ -16,7 +16,7 @@ import 'crypto';
16
16
  import 'path';
17
17
  import 'node:child_process';
18
18
  import 'expo-server-sdk';
19
- import './persistence-D1rI_096.mjs';
19
+ import './persistence-BOtU4fYZ.mjs';
20
20
  import 'node:fs/promises';
21
21
  import 'os';
22
22
  import 'tmp';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var api = require('./api-BPXrSITF.cjs');
5
- var persistence = require('./persistence-DgaStaev.cjs');
4
+ var api = require('./api-BUAppqAe.cjs');
5
+ var persistence = require('./persistence-CQ1ub64T.cjs');
6
6
  var z = require('zod');
7
7
  var fs$2 = require('fs/promises');
8
8
  var os$1 = require('os');
@@ -72,7 +72,7 @@ async function openBrowser(url) {
72
72
  }
73
73
  }
74
74
 
75
- const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BHLqfbDm.cjs', document.baseURI).href)));
75
+ const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-LKiNbRQ1.cjs', document.baseURI).href)));
76
76
  const QRCode = require$1("qrcode-terminal/vendor/QRCode");
77
77
  const QRErrorCorrectLevel = require$1("qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel");
78
78
  const pendingTempFiles = /* @__PURE__ */ new Set();
@@ -695,7 +695,7 @@ function setupCleanupHandlers() {
695
695
  });
696
696
  }
697
697
 
698
- const __dirname$2 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BHLqfbDm.cjs', document.baseURI).href))));
698
+ const __dirname$2 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-LKiNbRQ1.cjs', document.baseURI).href))));
699
699
  function projectPath() {
700
700
  const path = path$1.resolve(__dirname$2, "..");
701
701
  return path;
@@ -9055,7 +9055,7 @@ class AbortError extends Error {
9055
9055
  }
9056
9056
  }
9057
9057
 
9058
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BHLqfbDm.cjs', document.baseURI).href)));
9058
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-LKiNbRQ1.cjs', document.baseURI).href)));
9059
9059
  const __dirname$1 = path.join(__filename$1, "..");
9060
9060
  function getGlobalClaudeVersion() {
9061
9061
  try {
@@ -10354,11 +10354,11 @@ var launch = /*#__PURE__*/Object.freeze({
10354
10354
 
10355
10355
  const unifiedProviderExecutors = {
10356
10356
  claude: async (opts) => {
10357
- const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-Da0YUY3E.cjs'); });
10357
+ const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-COLx_2h1.cjs'); });
10358
10358
  await runClaude(opts.credentials, opts.claudeOptions ?? {});
10359
10359
  },
10360
10360
  codex: async (opts) => {
10361
- const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CZZNiXT5.cjs'); });
10361
+ const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-CcOicO3f.cjs'); });
10362
10362
  await runCodex({
10363
10363
  credentials: opts.credentials,
10364
10364
  startedBy: opts.startedBy,
@@ -10367,7 +10367,7 @@ const unifiedProviderExecutors = {
10367
10367
  });
10368
10368
  },
10369
10369
  gemini: async (opts) => {
10370
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-C6_EpYe9.cjs'); });
10370
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-iSsDFz8x.cjs'); });
10371
10371
  await runGemini({
10372
10372
  credentials: opts.credentials,
10373
10373
  startedBy: opts.startedBy
@@ -10450,7 +10450,7 @@ function shouldRunMainClaudeFlow(opts) {
10450
10450
  return;
10451
10451
  } else if (subcommand === "runtime") {
10452
10452
  if (args[1] === "providers") {
10453
- const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-BlMDPyNv.cjs'); });
10453
+ const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-CAZ2gxud.cjs'); });
10454
10454
  console.log(renderRuntimeProviders());
10455
10455
  return;
10456
10456
  }
@@ -10639,8 +10639,8 @@ function shouldRunMainClaudeFlow(opts) {
10639
10639
  const projectId = args[3];
10640
10640
  try {
10641
10641
  const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
10642
- const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-DgaStaev.cjs'); });
10643
- const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-BPXrSITF.cjs'); }).then(function (n) { return n.api; });
10642
+ const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-CQ1ub64T.cjs'); });
10643
+ const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-BUAppqAe.cjs'); }).then(function (n) { return n.api; });
10644
10644
  let userEmail = void 0;
10645
10645
  try {
10646
10646
  const credentials = await readCredentials2();
@@ -1,6 +1,6 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, e as encodeBase64, c as configuration, k as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, m as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, n as encodeBase64Url, h as delay, o as buildClientHeaders, q as decodeBase64, r as HAPPY_CLOUD_DAEMON_PORT, t as packageJson, A as ApiClient, u as HeadTailPreviewBuffer, v as getLatestDaemonLog } from './api-Cgyrs44K.mjs';
3
- import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-D1rI_096.mjs';
2
+ import { l as logger, e as encodeBase64, c as configuration, k as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, m as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, n as encodeBase64Url, h as delay, o as buildClientHeaders, q as decodeBase64, r as HAPPY_CLOUD_DAEMON_PORT, t as packageJson, A as ApiClient, u as HeadTailPreviewBuffer, v as getLatestDaemonLog } from './api-BePMt8XI.mjs';
3
+ import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-BOtU4fYZ.mjs';
4
4
  import { z } from 'zod';
5
5
  import fs, { writeFile as writeFile$1, rename, unlink as unlink$1 } from 'fs/promises';
6
6
  import os$1, { homedir } from 'os';
@@ -10332,11 +10332,11 @@ var launch = /*#__PURE__*/Object.freeze({
10332
10332
 
10333
10333
  const unifiedProviderExecutors = {
10334
10334
  claude: async (opts) => {
10335
- const { runClaude } = await import('./runClaude-BYVqYLc6.mjs');
10335
+ const { runClaude } = await import('./runClaude-BhJT-JJJ.mjs');
10336
10336
  await runClaude(opts.credentials, opts.claudeOptions ?? {});
10337
10337
  },
10338
10338
  codex: async (opts) => {
10339
- const { runCodex } = await import('./runCodex-x0k9hJyI.mjs');
10339
+ const { runCodex } = await import('./runCodex-BNznOpcn.mjs');
10340
10340
  await runCodex({
10341
10341
  credentials: opts.credentials,
10342
10342
  startedBy: opts.startedBy,
@@ -10345,7 +10345,7 @@ const unifiedProviderExecutors = {
10345
10345
  });
10346
10346
  },
10347
10347
  gemini: async (opts) => {
10348
- const { runGemini } = await import('./runGemini-B_bJyd4j.mjs');
10348
+ const { runGemini } = await import('./runGemini-C-ADeQ79.mjs');
10349
10349
  await runGemini({
10350
10350
  credentials: opts.credentials,
10351
10351
  startedBy: opts.startedBy
@@ -10428,7 +10428,7 @@ function shouldRunMainClaudeFlow(opts) {
10428
10428
  return;
10429
10429
  } else if (subcommand === "runtime") {
10430
10430
  if (args[1] === "providers") {
10431
- const { renderRuntimeProviders } = await import('./command-ykLmhw9O.mjs');
10431
+ const { renderRuntimeProviders } = await import('./command-DlRscTrt.mjs');
10432
10432
  console.log(renderRuntimeProviders());
10433
10433
  return;
10434
10434
  }
@@ -10617,8 +10617,8 @@ function shouldRunMainClaudeFlow(opts) {
10617
10617
  const projectId = args[3];
10618
10618
  try {
10619
10619
  const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
10620
- const { readCredentials: readCredentials2 } = await import('./persistence-D1rI_096.mjs');
10621
- const { ApiClient: ApiClient2 } = await import('./api-Cgyrs44K.mjs').then(function (n) { return n.w; });
10620
+ const { readCredentials: readCredentials2 } = await import('./persistence-BOtU4fYZ.mjs');
10621
+ const { ApiClient: ApiClient2 } = await import('./api-BePMt8XI.mjs').then(function (n) { return n.w; });
10622
10622
  let userEmail = void 0;
10623
10623
  try {
10624
10624
  const credentials = await readCredentials2();
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  require('chalk');
4
- require('./api-BPXrSITF.cjs');
5
- require('./persistence-DgaStaev.cjs');
4
+ require('./api-BUAppqAe.cjs');
5
+ require('./persistence-CQ1ub64T.cjs');
6
6
  require('zod');
7
- require('./index-BHLqfbDm.cjs');
7
+ require('./index-LKiNbRQ1.cjs');
8
8
  require('node:child_process');
9
9
  require('node:fs');
10
10
  require('cross-spawn');
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import 'chalk';
2
- import './api-Cgyrs44K.mjs';
3
- import './persistence-D1rI_096.mjs';
2
+ import './api-BePMt8XI.mjs';
3
+ import './persistence-BOtU4fYZ.mjs';
4
4
  import 'zod';
5
- import './index-BKd56kbE.mjs';
5
+ import './index-OfWx3GbO.mjs';
6
6
  import 'node:child_process';
7
7
  import 'node:fs';
8
8
  import 'cross-spawn';
package/dist/lib.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var api = require('./api-BPXrSITF.cjs');
3
+ var api = require('./api-BUAppqAe.cjs');
4
4
  var types = require('./types-DVk3crez.cjs');
5
5
  require('axios');
6
6
  require('chalk');
package/dist/lib.d.cts CHANGED
@@ -447,6 +447,31 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
447
447
  scope: string;
448
448
  replyTo: string;
449
449
  }>>>;
450
+ dispatchAcks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
451
+ dispatchId: z.ZodString;
452
+ scope: z.ZodString;
453
+ taskAck: z.ZodString;
454
+ readAck: z.ZodLiteral<"yes">;
455
+ status: z.ZodEnum<["accepted", "standby", "blocked"]>;
456
+ note: z.ZodNullable<z.ZodString>;
457
+ acknowledgedAt: z.ZodNumber;
458
+ }, "strip", z.ZodTypeAny, {
459
+ status: "accepted" | "standby" | "blocked";
460
+ dispatchId: string;
461
+ scope: string;
462
+ taskAck: string;
463
+ readAck: "yes";
464
+ note: string | null;
465
+ acknowledgedAt: number;
466
+ }, {
467
+ status: "accepted" | "standby" | "blocked";
468
+ dispatchId: string;
469
+ scope: string;
470
+ taskAck: string;
471
+ readAck: "yes";
472
+ note: string | null;
473
+ acknowledgedAt: number;
474
+ }>>>;
450
475
  specialistHome: z.ZodOptional<z.ZodNullable<z.ZodObject<{
451
476
  homeSlug: z.ZodString;
452
477
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -624,6 +649,15 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
624
649
  ownerRunId: string;
625
650
  claimedAt: number;
626
651
  } | null | undefined;
652
+ dispatchAcks?: Record<string, {
653
+ status: "accepted" | "standby" | "blocked";
654
+ dispatchId: string;
655
+ scope: string;
656
+ taskAck: string;
657
+ readAck: "yes";
658
+ note: string | null;
659
+ acknowledgedAt: number;
660
+ }> | undefined;
627
661
  repeat?: {
628
662
  threshold: number;
629
663
  fingerprints: Record<string, {
@@ -688,6 +722,15 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
688
722
  ownerRunId: string;
689
723
  claimedAt: number;
690
724
  } | null | undefined;
725
+ dispatchAcks?: Record<string, {
726
+ status: "accepted" | "standby" | "blocked";
727
+ dispatchId: string;
728
+ scope: string;
729
+ taskAck: string;
730
+ readAck: "yes";
731
+ note: string | null;
732
+ acknowledgedAt: number;
733
+ }> | undefined;
691
734
  repeat?: {
692
735
  threshold: number;
693
736
  fingerprints: Record<string, {
@@ -2641,6 +2684,16 @@ declare class ApiClient {
2641
2684
  organizationId: string;
2642
2685
  dispatchId: string;
2643
2686
  }): Promise<HappyOrgDispatchReceiptView>;
2687
+ submitOrganizationDispatchBusinessAck(opts: {
2688
+ organizationId: string;
2689
+ dispatchId: string;
2690
+ memberAgentId: string;
2691
+ scope: string;
2692
+ readAck: 'yes';
2693
+ taskAck: string;
2694
+ status: HappyOrgDispatchBusinessAckStatus;
2695
+ note?: string | null;
2696
+ }): Promise<HappyOrgDispatchReceiptView>;
2644
2697
  getProtocolV3Descriptor(): Promise<ProtocolV3Descriptor | null>;
2645
2698
  getSessionSnapshotV3(sessionId: string, limit?: number): Promise<ProtocolV3SessionSnapshotResponse | null>;
2646
2699
  getSessionChangesV3(sessionId: string, afterSeq: number, limit?: number): Promise<ProtocolV3SessionChangesResponse | null>;
package/dist/lib.d.mts CHANGED
@@ -447,6 +447,31 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
447
447
  scope: string;
448
448
  replyTo: string;
449
449
  }>>>;
450
+ dispatchAcks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
451
+ dispatchId: z.ZodString;
452
+ scope: z.ZodString;
453
+ taskAck: z.ZodString;
454
+ readAck: z.ZodLiteral<"yes">;
455
+ status: z.ZodEnum<["accepted", "standby", "blocked"]>;
456
+ note: z.ZodNullable<z.ZodString>;
457
+ acknowledgedAt: z.ZodNumber;
458
+ }, "strip", z.ZodTypeAny, {
459
+ status: "accepted" | "standby" | "blocked";
460
+ dispatchId: string;
461
+ scope: string;
462
+ taskAck: string;
463
+ readAck: "yes";
464
+ note: string | null;
465
+ acknowledgedAt: number;
466
+ }, {
467
+ status: "accepted" | "standby" | "blocked";
468
+ dispatchId: string;
469
+ scope: string;
470
+ taskAck: string;
471
+ readAck: "yes";
472
+ note: string | null;
473
+ acknowledgedAt: number;
474
+ }>>>;
450
475
  specialistHome: z.ZodOptional<z.ZodNullable<z.ZodObject<{
451
476
  homeSlug: z.ZodString;
452
477
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -624,6 +649,15 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
624
649
  ownerRunId: string;
625
650
  claimedAt: number;
626
651
  } | null | undefined;
652
+ dispatchAcks?: Record<string, {
653
+ status: "accepted" | "standby" | "blocked";
654
+ dispatchId: string;
655
+ scope: string;
656
+ taskAck: string;
657
+ readAck: "yes";
658
+ note: string | null;
659
+ acknowledgedAt: number;
660
+ }> | undefined;
627
661
  repeat?: {
628
662
  threshold: number;
629
663
  fingerprints: Record<string, {
@@ -688,6 +722,15 @@ declare const HappyOrgMetadataSchema: z.ZodObject<{
688
722
  ownerRunId: string;
689
723
  claimedAt: number;
690
724
  } | null | undefined;
725
+ dispatchAcks?: Record<string, {
726
+ status: "accepted" | "standby" | "blocked";
727
+ dispatchId: string;
728
+ scope: string;
729
+ taskAck: string;
730
+ readAck: "yes";
731
+ note: string | null;
732
+ acknowledgedAt: number;
733
+ }> | undefined;
691
734
  repeat?: {
692
735
  threshold: number;
693
736
  fingerprints: Record<string, {
@@ -2641,6 +2684,16 @@ declare class ApiClient {
2641
2684
  organizationId: string;
2642
2685
  dispatchId: string;
2643
2686
  }): Promise<HappyOrgDispatchReceiptView>;
2687
+ submitOrganizationDispatchBusinessAck(opts: {
2688
+ organizationId: string;
2689
+ dispatchId: string;
2690
+ memberAgentId: string;
2691
+ scope: string;
2692
+ readAck: 'yes';
2693
+ taskAck: string;
2694
+ status: HappyOrgDispatchBusinessAckStatus;
2695
+ note?: string | null;
2696
+ }): Promise<HappyOrgDispatchReceiptView>;
2644
2697
  getProtocolV3Descriptor(): Promise<ProtocolV3Descriptor | null>;
2645
2698
  getSessionSnapshotV3(sessionId: string, limit?: number): Promise<ProtocolV3SessionSnapshotResponse | null>;
2646
2699
  getSessionChangesV3(sessionId: string, afterSeq: number, limit?: number): Promise<ProtocolV3SessionChangesResponse | null>;
package/dist/lib.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-Cgyrs44K.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-BePMt8XI.mjs';
2
2
  export { R as RawJSONLinesSchema } from './types-CiliQpqS.mjs';
3
3
  import 'axios';
4
4
  import 'chalk';
@@ -1,7 +1,7 @@
1
1
  import { unlink, readFile, mkdir, open, stat, writeFile, rename } from 'node:fs/promises';
2
2
  import { existsSync, unlinkSync, readdirSync, constants, writeFileSync, readFileSync } from 'node:fs';
3
3
  import { join, dirname } from 'node:path';
4
- import { c as configuration, l as logger, e as encodeBase64 } from './api-Cgyrs44K.mjs';
4
+ import { c as configuration, l as logger, e as encodeBase64 } from './api-BePMt8XI.mjs';
5
5
  import * as z from 'zod';
6
6
  import 'axios';
7
7
  import 'chalk';
@@ -3,7 +3,7 @@
3
3
  var promises = require('node:fs/promises');
4
4
  var fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var api = require('./api-BPXrSITF.cjs');
6
+ var api = require('./api-BUAppqAe.cjs');
7
7
  var z = require('zod');
8
8
  require('axios');
9
9
  require('chalk');