happy-imou-cloud 2.1.38 → 2.1.39

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 (25) hide show
  1. package/dist/{BaseReasoningProcessor-e3WcqGAZ.cjs → BaseReasoningProcessor-BUTolvO5.cjs} +2 -2
  2. package/dist/{BaseReasoningProcessor-wTpEeecw.mjs → BaseReasoningProcessor-Cbp6sIDm.mjs} +2 -2
  3. package/dist/{ProviderSelectionHandler-C9BjSS3M.cjs → ProviderSelectionHandler-B22eXuym.cjs} +2 -2
  4. package/dist/{ProviderSelectionHandler-HSpF64um.mjs → ProviderSelectionHandler-DrSgStLw.mjs} +2 -2
  5. package/dist/{api-CbDy385l.cjs → api-BoeZDGwx.cjs} +121 -1
  6. package/dist/{api-FwOO5yvL.mjs → api-wcqkneTg.mjs} +121 -2
  7. package/dist/{command-DIwit8GZ.cjs → command-CkYq_KwA.cjs} +2 -2
  8. package/dist/{command-D8dRpb8C.mjs → command-DcgK0y3F.mjs} +2 -2
  9. package/dist/{index-DxyhhizE.mjs → index-B9mt95QV.mjs} +201 -39
  10. package/dist/{index-B-RcfyFb.cjs → index-Cgor8CE7.cjs} +204 -42
  11. package/dist/index.cjs +2 -2
  12. package/dist/index.mjs +2 -2
  13. package/dist/lib.cjs +1 -1
  14. package/dist/lib.d.cts +58 -0
  15. package/dist/lib.d.mts +58 -0
  16. package/dist/lib.mjs +1 -1
  17. package/dist/{registerKillSessionHandler-BKUa-9cX.mjs → registerKillSessionHandler-Buc97BEh.mjs} +2 -2
  18. package/dist/{registerKillSessionHandler-CoYWZpXs.cjs → registerKillSessionHandler-DtXhn2Cd.cjs} +2 -2
  19. package/dist/{runClaude-CeuQr9rp.mjs → runClaude-BYKNCDEU.mjs} +4 -4
  20. package/dist/{runClaude-CUhIl2_Q.cjs → runClaude-CwXQwmgw.cjs} +4 -4
  21. package/dist/{runCodex-B56mNb9m.cjs → runCodex-BkB_YKhV.cjs} +5 -5
  22. package/dist/{runCodex-CKHSREhN.mjs → runCodex-DqAddhDE.mjs} +5 -5
  23. package/dist/{runGemini-CQIufP_l.mjs → runGemini-3jkfOtlr.mjs} +4 -4
  24. package/dist/{runGemini-DibV-eJ4.cjs → runGemini-B4uXPrue.cjs} +4 -4
  25. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, m as encodeBase64, c as configuration, n as readCredentials, o as ensureSigningCredentials, r as readSettings, u as updateSettings, q as encodeBase64Url, j as delay, t as buildClientHeaders, v as decodeBase64, w as writeCredentialsLegacy, x as writeCredentialsDataKey, y as readDaemonState, z as HAPPY_CLOUD_DAEMON_PORT, B as clearDaemonState, C as packageJson, i as isAuthenticationRequiredError, D as acquireDaemonLock, E as writeDaemonState, A as ApiClient, F as releaseDaemonLock, G as validateProfileForAgent, I as getProfileEnvironmentVariables, J as clearCredentials, K as clearMachineId, L as readHappyOrgDispatchTruthSnapshot, M as processHappyOrgRepoRequests, N as HappyOrgTurnReportSchema, O as recordHappyOrgTurnReport, P as MessageContentSchema, Q as buildSocketAuth, R as encrypt, H as HeadTailPreviewBuffer, S as getLatestDaemonLog } from './api-FwOO5yvL.mjs';
2
+ import { l as logger, m as encodeBase64, c as configuration, n as readCredentials, o as ensureSigningCredentials, r as readSettings, u as updateSettings, q as encodeBase64Url, j as delay, t as buildClientHeaders, v as decodeBase64, w as writeCredentialsLegacy, x as writeCredentialsDataKey, y as readDaemonState, z as HAPPY_CLOUD_DAEMON_PORT, B as clearDaemonState, C as packageJson, i as isAuthenticationRequiredError, D as acquireDaemonLock, E as writeDaemonState, A as ApiClient, F as releaseDaemonLock, G as validateProfileForAgent, I as getProfileEnvironmentVariables, J as clearCredentials, K as clearMachineId, L as readHappyOrgDispatchTruthSnapshot, M as processHappyOrgRepoRequests, N as readHappyOrgRepoTaskBoard, O as HappyOrgTurnReportSchema, P as recordHappyOrgTurnReport, Q as MessageContentSchema, R as buildSocketAuth, S as encrypt, H as HeadTailPreviewBuffer, T as getLatestDaemonLog } from './api-wcqkneTg.mjs';
3
3
  import { z } from 'zod';
4
4
  import fs, { writeFile as writeFile$1, rename, unlink as unlink$1 } from 'fs/promises';
5
5
  import os$1, { homedir } from 'os';
@@ -2520,6 +2520,10 @@ function normalizePathKey(targetPath) {
2520
2520
  const normalizedPath = normalize(resolve$1(targetPath));
2521
2521
  return process.platform === "win32" ? normalizedPath.toLowerCase() : normalizedPath;
2522
2522
  }
2523
+ function normalizeTextKey(target) {
2524
+ const normalized = target?.trim().toLowerCase();
2525
+ return normalized ? normalized : null;
2526
+ }
2523
2527
  function readTextIfExists(targetPath) {
2524
2528
  if (!pathExists(targetPath)) {
2525
2529
  return null;
@@ -2539,18 +2543,44 @@ function isLocalRepoHappyOrgRoot(rootPath) {
2539
2543
  function isHappyOrgRoot(rootPath) {
2540
2544
  return isLegacyHappyOrgRoot(rootPath) || isLocalRepoHappyOrgRoot(rootPath);
2541
2545
  }
2542
- function isCeoHomePath(homePath) {
2546
+ function isCeoHomeContentsPath(homePath) {
2543
2547
  return pathExists(join(homePath, "IDENTITY.md")) || pathExists(join(homePath, "AGENT.md"));
2544
2548
  }
2549
+ function inferHomeSource(homePath) {
2550
+ const parentDirName = dirname$1(resolve$1(homePath)).split(/[\\/]/).pop()?.toLowerCase();
2551
+ if (parentDirName === "positions") {
2552
+ return "position-home";
2553
+ }
2554
+ if (parentDirName === "agents") {
2555
+ return "legacy-agent-home";
2556
+ }
2557
+ return null;
2558
+ }
2559
+ function isCeoHomePath(homePath) {
2560
+ const resolvedHomePath = resolve$1(homePath);
2561
+ const homeDirName = resolvedHomePath.split(/[\\/]/).pop()?.toLowerCase();
2562
+ const source = inferHomeSource(resolvedHomePath);
2563
+ return homeDirName === "ceo" && source !== null && isCeoHomeContentsPath(resolvedHomePath);
2564
+ }
2565
+ function findExpectedHomePath(startPath) {
2566
+ let currentPath = resolve$1(startPath);
2567
+ while (true) {
2568
+ if (isCeoHomePath(currentPath)) {
2569
+ return currentPath;
2570
+ }
2571
+ const parentPath = dirname$1(currentPath);
2572
+ if (parentPath === currentPath) {
2573
+ return null;
2574
+ }
2575
+ currentPath = parentPath;
2576
+ }
2577
+ }
2545
2578
  function deriveOrganizationRootFromHomePath(homePath) {
2546
2579
  const resolvedHomePath = resolve$1(homePath);
2547
- const homeDirName = resolve$1(homePath).split(/[\\/]/).pop()?.toLowerCase();
2548
- const parentPath = dirname$1(resolvedHomePath);
2549
- const parentDirName = parentPath.split(/[\\/]/).pop()?.toLowerCase();
2550
- if (homeDirName !== "ceo" || parentDirName !== "positions" && parentDirName !== "agents" || !isCeoHomePath(resolvedHomePath)) {
2580
+ if (!isCeoHomePath(resolvedHomePath)) {
2551
2581
  return null;
2552
2582
  }
2553
- return dirname$1(parentPath);
2583
+ return dirname$1(dirname$1(resolvedHomePath));
2554
2584
  }
2555
2585
  function collectCandidateRoots(startPath) {
2556
2586
  const candidates = /* @__PURE__ */ new Map();
@@ -2622,6 +2652,17 @@ function extractHeading(markdown) {
2622
2652
  function resolveDisplayName(identityMarkdown, agentMarkdown) {
2623
2653
  return extractIdentityField(identityMarkdown, "display_name") || extractHeading(agentMarkdown) || "Happy CEO";
2624
2654
  }
2655
+ function readHomeIdentity(homePath, source) {
2656
+ const identityMarkdown = readTextIfExists(join(homePath, "IDENTITY.md"));
2657
+ const agentMarkdown = readTextIfExists(join(homePath, "AGENT.md"));
2658
+ return {
2659
+ homePath: resolve$1(homePath),
2660
+ agentId: extractIdentityField(identityMarkdown, "agent_id"),
2661
+ role: extractIdentityField(identityMarkdown, "role") || "ceo",
2662
+ displayName: resolveDisplayName(identityMarkdown, agentMarkdown),
2663
+ source: source ?? inferHomeSource(homePath)
2664
+ };
2665
+ }
2625
2666
  function buildIdentityPrompt(opts) {
2626
2667
  const identityMarkdown = readTextIfExists(join(opts.homePath, "IDENTITY.md"));
2627
2668
  const homeSections = HOME_DOC_FILENAMES.map((fileName) => readHomeDocSection(opts.homePath, fileName)).filter((value) => Boolean(value));
@@ -2643,45 +2684,117 @@ function buildIdentityPrompt(opts) {
2643
2684
  "[/HAPPY_LOCAL_HOME_STARTUP]"
2644
2685
  ].join("\n");
2645
2686
  }
2687
+ function buildStartupBinding(params) {
2688
+ const resolvedIdentity = params.resolved;
2689
+ const resolvedHomePath = resolvedIdentity?.homePath ?? null;
2690
+ const resolvedSource = resolvedIdentity?.source ?? null;
2691
+ const displayName = params.startupBindingStatus === "valid" ? resolvedIdentity?.displayName ?? params.expected.displayName : params.expected.displayName;
2692
+ return {
2693
+ organizationRootPath: params.organizationRootPath,
2694
+ homePath: params.expected.homePath,
2695
+ role: "ceo",
2696
+ displayName,
2697
+ source: resolvedSource ?? params.expected.source,
2698
+ identityPrompt: params.startupBindingStatus === "valid" && params.organizationRootPath && resolvedHomePath && resolvedSource ? buildIdentityPrompt({
2699
+ organizationRootPath: params.organizationRootPath,
2700
+ homePath: resolvedHomePath,
2701
+ displayName,
2702
+ source: resolvedSource
2703
+ }) : null,
2704
+ expectedHomePath: params.expected.homePath,
2705
+ resolvedHomePath,
2706
+ expectedHomeAgentId: params.expected.agentId,
2707
+ resolvedHomeAgentId: resolvedIdentity?.agentId ?? null,
2708
+ expectedHomeRole: params.expected.role,
2709
+ resolvedHomeRole: resolvedIdentity?.role ?? null,
2710
+ startupBindingStatus: params.startupBindingStatus,
2711
+ startupBindingFailureReason: params.startupBindingFailureReason
2712
+ };
2713
+ }
2646
2714
  function resolveHappyOrgStartupBinding(startPath) {
2647
- const candidateRoots = collectCandidateRoots(startPath);
2648
- if (candidateRoots.length !== 1) {
2715
+ const expectedHomePath = findExpectedHomePath(startPath);
2716
+ if (!expectedHomePath) {
2649
2717
  return null;
2650
2718
  }
2719
+ const expected = readHomeIdentity(expectedHomePath);
2720
+ const candidateRoots = collectCandidateRoots(expectedHomePath);
2721
+ if (candidateRoots.length !== 1) {
2722
+ return buildStartupBinding({
2723
+ expected,
2724
+ organizationRootPath: null,
2725
+ resolved: null,
2726
+ startupBindingStatus: "invalid",
2727
+ startupBindingFailureReason: "startup_binding_invalid"
2728
+ });
2729
+ }
2651
2730
  const organizationRootPath = candidateRoots[0];
2652
- const home = resolveHomeFromRoot(organizationRootPath);
2653
- if (!home) {
2654
- return null;
2731
+ const resolvedHome = resolveHomeFromRoot(organizationRootPath);
2732
+ if (!resolvedHome) {
2733
+ return buildStartupBinding({
2734
+ expected,
2735
+ organizationRootPath,
2736
+ resolved: null,
2737
+ startupBindingStatus: "invalid",
2738
+ startupBindingFailureReason: "startup_binding_invalid"
2739
+ });
2655
2740
  }
2656
- const identityMarkdown = readTextIfExists(join(home.homePath, "IDENTITY.md"));
2657
- const agentMarkdown = readTextIfExists(join(home.homePath, "AGENT.md"));
2658
- const displayName = resolveDisplayName(identityMarkdown, agentMarkdown);
2659
- return {
2660
- organizationRootPath,
2661
- homePath: home.homePath,
2662
- role: "ceo",
2663
- displayName,
2664
- source: home.source,
2665
- identityPrompt: buildIdentityPrompt({
2741
+ const resolved = readHomeIdentity(resolvedHome.homePath, resolvedHome.source);
2742
+ const pathMismatch = normalizePathKey(expected.homePath) !== normalizePathKey(resolved.homePath);
2743
+ const roleMismatch = normalizeTextKey(expected.role) !== normalizeTextKey(resolved.role);
2744
+ const agentMismatch = normalizeTextKey(expected.agentId) !== normalizeTextKey(resolved.agentId);
2745
+ if (pathMismatch) {
2746
+ return buildStartupBinding({
2747
+ expected,
2666
2748
  organizationRootPath,
2667
- homePath: home.homePath,
2668
- displayName,
2669
- source: home.source
2670
- })
2671
- };
2749
+ resolved,
2750
+ startupBindingStatus: "invalid",
2751
+ startupBindingFailureReason: "startup_home_mismatch"
2752
+ });
2753
+ }
2754
+ if (roleMismatch || agentMismatch || resolved.source === null) {
2755
+ return buildStartupBinding({
2756
+ expected,
2757
+ organizationRootPath,
2758
+ resolved,
2759
+ startupBindingStatus: "invalid",
2760
+ startupBindingFailureReason: "startup_binding_invalid"
2761
+ });
2762
+ }
2763
+ return buildStartupBinding({
2764
+ expected,
2765
+ organizationRootPath,
2766
+ resolved,
2767
+ startupBindingStatus: "valid",
2768
+ startupBindingFailureReason: null
2769
+ });
2672
2770
  }
2673
2771
 
2772
+ function toHappyOrgStartupBindingMetadata(binding) {
2773
+ return {
2774
+ organizationRootPath: binding.organizationRootPath ?? null,
2775
+ source: binding.source ?? null,
2776
+ expectedHomePath: binding.expectedHomePath,
2777
+ resolvedHomePath: binding.resolvedHomePath ?? null,
2778
+ expectedHomeAgentId: binding.expectedHomeAgentId ?? null,
2779
+ resolvedHomeAgentId: binding.resolvedHomeAgentId ?? null,
2780
+ expectedHomeRole: binding.expectedHomeRole ?? null,
2781
+ resolvedHomeRole: binding.resolvedHomeRole ?? null,
2782
+ startupBindingStatus: binding.startupBindingStatus,
2783
+ startupBindingFailureReason: binding.startupBindingFailureReason ?? null
2784
+ };
2785
+ }
2674
2786
  function createSessionMetadata(opts) {
2675
2787
  const state = {
2676
2788
  controlledByUser: false
2677
2789
  };
2678
2790
  const requestedMetadataPath = opts.path ?? process.cwd();
2679
2791
  const happyOrgStartupBinding = resolveHappyOrgStartupBinding(requestedMetadataPath);
2680
- const metadataPath = happyOrgStartupBinding?.homePath ?? requestedMetadataPath;
2792
+ const hasValidStartupBinding = happyOrgStartupBinding?.startupBindingStatus === "valid";
2793
+ const metadataPath = hasValidStartupBinding ? happyOrgStartupBinding?.resolvedHomePath ?? requestedMetadataPath : requestedMetadataPath;
2681
2794
  const metadataHostPid = opts.hostPid === void 0 ? process.pid : opts.hostPid;
2682
2795
  const metadata = {
2683
2796
  path: metadataPath,
2684
- ...happyOrgStartupBinding?.displayName ? { name: happyOrgStartupBinding.displayName } : {},
2797
+ ...hasValidStartupBinding && happyOrgStartupBinding?.displayName ? { name: happyOrgStartupBinding.displayName } : {},
2685
2798
  host: os.hostname(),
2686
2799
  version: packageJson.version,
2687
2800
  os: os.platform(),
@@ -2696,7 +2809,12 @@ function createSessionMetadata(opts) {
2696
2809
  lifecycleState: "running",
2697
2810
  lifecycleStateSince: Date.now(),
2698
2811
  flavor: opts.flavor,
2699
- ...metadataHostPid == null ? {} : { hostPid: metadataHostPid }
2812
+ ...metadataHostPid == null ? {} : { hostPid: metadataHostPid },
2813
+ ...happyOrgStartupBinding ? {
2814
+ happyOrg: {
2815
+ startupBinding: toHappyOrgStartupBindingMetadata(happyOrgStartupBinding)
2816
+ }
2817
+ } : {}
2700
2818
  };
2701
2819
  return {
2702
2820
  state,
@@ -5128,13 +5246,13 @@ function resolveMemberAgent(agents, opts) {
5128
5246
  }
5129
5247
  const memberName = normalizeRef(opts.memberName);
5130
5248
  if (memberName) {
5131
- throw new Error("Dispatch send no longer supports --member-name as formal routing truth; use --member-id or truth-resolvable --position-id/--responsibility-id instead");
5249
+ throw new Error("Dispatch send rejected (forbidden_local_only_fallback): --member-name local-only fallback is disabled; use --member-id or truth-resolvable --position-id/--responsibility-id instead");
5132
5250
  }
5133
5251
  const scope = normalizeRef(opts.scope);
5134
5252
  if (!scope) {
5135
5253
  throw new Error("Dispatch send requires --scope and formal truth via --member-id or truth-resolvable --position-id/--responsibility-id");
5136
5254
  }
5137
- throw new Error(`Dispatch send no longer resolves formal targets from --scope ${opts.scope}; scope is hint-only now`);
5255
+ throw new Error(`Dispatch send rejected (forbidden_local_only_fallback): scope-only fallback is disabled for exact-target routing; provide --member-id or truth-resolvable --position-id/--responsibility-id instead of relying on --scope ${opts.scope}.`);
5138
5256
  }
5139
5257
  function findAgentById(agents, agentId) {
5140
5258
  const normalizedAgentId = normalizeRef(agentId);
@@ -5182,7 +5300,7 @@ async function resolveFormalDispatchTarget(params) {
5182
5300
  const truthMember = findAgentById(params.agents, truthMemberAgentId);
5183
5301
  const dispatchMember = requestedMember ?? truthMember;
5184
5302
  if (!dispatchMember) {
5185
- throw new Error("Dispatch send requires --member-id or truth-resolvable --position-id/--responsibility-id; scope/name/role fallback is now hint-only");
5303
+ throw new Error("Dispatch send rejected (forbidden_local_only_fallback): exact-target routing requires --member-id or truth-resolvable --position-id/--responsibility-id; scope/name/role fallback remains hint-only.");
5186
5304
  }
5187
5305
  if (dispatchMember.isRoot) {
5188
5306
  throw new Error(`Member ${dispatchMember.id} is the CEO/root agent and cannot receive specialist dispatch notices`);
@@ -5259,6 +5377,30 @@ function formatDispatchReceipt(receipt) {
5259
5377
  ];
5260
5378
  return lines.join("\n");
5261
5379
  }
5380
+ function formatRepoTaskBoard(view) {
5381
+ const lines = [
5382
+ `total_count=${view.totalCount}`,
5383
+ `in_progress_count=${view.inProgressCount}`,
5384
+ `needs_handoff_count=${view.handoffCount}`,
5385
+ `awaiting_acceptance_count=${view.acceptanceCount}`,
5386
+ `closed_count=${view.closedCount}`,
5387
+ `last_updated_at=${view.lastUpdatedAt ?? ""}`
5388
+ ];
5389
+ for (const section of view.sections) {
5390
+ lines.push("", `section=${section.key}`, `count=${section.count}`);
5391
+ for (const item of section.items) {
5392
+ lines.push([
5393
+ `task_id=${item.taskId}`,
5394
+ `status=${item.status}`,
5395
+ `title=${item.title}`,
5396
+ `owner=${item.ownerName}`,
5397
+ `responsibility=${item.responsibilityLabel ?? ""}`,
5398
+ `detail=${item.blockerOrDecision ?? item.latestResult ?? item.currentProgress ?? item.path ?? ""}`
5399
+ ].join(" | "));
5400
+ }
5401
+ }
5402
+ return lines.join("\n");
5403
+ }
5262
5404
  async function resolveOrganizationId(api, explicitOrganizationId) {
5263
5405
  if (explicitOrganizationId) {
5264
5406
  return {
@@ -5281,6 +5423,7 @@ ${chalk.bold("Usage:")}
5281
5423
  hicloud happy-org dispatch send --task-id <task> --scope <scope> [--member-id <id>] --allowed-paths <csv> [--forbidden-paths <csv>] [--position-id <id>] [--responsibility-id <id>] [--organization-root <path>] [--validation-mode shadow|hard] [--organization-id <id>] [--note <text>] [--wait-seconds <n>] [--json]
5282
5424
  hicloud happy-org dispatch receipt <dispatch-id> [--organization-id <id>] [--json]
5283
5425
  hicloud happy-org repo process --root <path> [--request-id <id>] [--json]
5426
+ hicloud happy-org repo task-board --root <path> [--json]
5284
5427
  hicloud happy-org repo turn-report --root <path> --report-json <json> [--json]
5285
5428
 
5286
5429
  ${chalk.bold("Examples:")}
@@ -5288,6 +5431,7 @@ ${chalk.bold("Examples:")}
5288
5431
  hicloud happy-org dispatch send --scope cli-agent --task-id CLI-1.7.7-001 --position-id position-cli --organization-root ./happy-org/acme --allowed-paths happy/packages/happy-cli/**
5289
5432
  hicloud happy-org dispatch receipt dispatch-abc123 --json
5290
5433
  hicloud happy-org repo process --root ./happy-org/acme --json
5434
+ hicloud happy-org repo task-board --root ./happy-org/acme --json
5291
5435
  `);
5292
5436
  }
5293
5437
  async function requireApi(deps) {
@@ -5473,6 +5617,20 @@ async function handleRepoProcessCommand(parsed, deps) {
5473
5617
  ].join("\n"));
5474
5618
  });
5475
5619
  }
5620
+ async function handleRepoTaskBoardCommand(parsed, deps) {
5621
+ const logger = deps.logger ?? console;
5622
+ const rootPath = readSingleValue(parsed, "root");
5623
+ if (!rootPath) {
5624
+ throw new Error("Repo task-board requires --root");
5625
+ }
5626
+ const reader = deps.readRepoTaskBoard ?? readHappyOrgRepoTaskBoard;
5627
+ const board = await reader(rootPath);
5628
+ if (readBooleanFlag(parsed, "json")) {
5629
+ logger.log(JSON.stringify(board, null, 2));
5630
+ return;
5631
+ }
5632
+ logger.log(formatRepoTaskBoard(board));
5633
+ }
5476
5634
  async function handleRepoTurnReportCommand(parsed, deps) {
5477
5635
  const logger = deps.logger ?? console;
5478
5636
  const rootPath = readSingleValue(parsed, "root");
@@ -5516,6 +5674,10 @@ async function handleRepoCommand(args, deps) {
5516
5674
  await handleRepoProcessCommand(parsed, deps);
5517
5675
  return;
5518
5676
  }
5677
+ if (subcommand === "task-board") {
5678
+ await handleRepoTaskBoardCommand(parsed, deps);
5679
+ return;
5680
+ }
5519
5681
  if (subcommand === "turn-report") {
5520
5682
  await handleRepoTurnReportCommand(parsed, deps);
5521
5683
  return;
@@ -11715,14 +11877,14 @@ var launch = /*#__PURE__*/Object.freeze({
11715
11877
  const unifiedProviderExecutors = {
11716
11878
  claude: async (opts) => {
11717
11879
  const claudeOptions = opts.claudeOptions ?? {};
11718
- const { runClaude } = await import('./runClaude-CeuQr9rp.mjs');
11880
+ const { runClaude } = await import('./runClaude-BYKNCDEU.mjs');
11719
11881
  await runClaude(opts.credentials, {
11720
11882
  ...claudeOptions,
11721
11883
  startingMode: claudeOptions.startingMode ?? (claudeOptions.startedBy === "daemon" ? "remote" : void 0)
11722
11884
  });
11723
11885
  },
11724
11886
  codex: async (opts) => {
11725
- const { runCodex } = await import('./runCodex-CKHSREhN.mjs');
11887
+ const { runCodex } = await import('./runCodex-DqAddhDE.mjs');
11726
11888
  await runCodex({
11727
11889
  credentials: opts.credentials,
11728
11890
  startedBy: opts.startedBy,
@@ -11731,7 +11893,7 @@ const unifiedProviderExecutors = {
11731
11893
  });
11732
11894
  },
11733
11895
  gemini: async (opts) => {
11734
- const { runGemini } = await import('./runGemini-CQIufP_l.mjs');
11896
+ const { runGemini } = await import('./runGemini-3jkfOtlr.mjs');
11735
11897
  await runGemini({
11736
11898
  credentials: opts.credentials,
11737
11899
  startedBy: opts.startedBy
@@ -11814,7 +11976,7 @@ function shouldRunMainClaudeFlow(opts) {
11814
11976
  return;
11815
11977
  } else if (subcommand === "runtime") {
11816
11978
  if (args[1] === "providers") {
11817
- const { renderRuntimeProviders } = await import('./command-D8dRpb8C.mjs');
11979
+ const { renderRuntimeProviders } = await import('./command-DcgK0y3F.mjs');
11818
11980
  console.log(renderRuntimeProviders());
11819
11981
  return;
11820
11982
  }
@@ -12020,8 +12182,8 @@ function shouldRunMainClaudeFlow(opts) {
12020
12182
  const projectId = args[3];
12021
12183
  try {
12022
12184
  const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
12023
- const { readCredentials: readCredentials2 } = await import('./api-FwOO5yvL.mjs').then(function (n) { return n.T; });
12024
- const { ApiClient: ApiClient2 } = await import('./api-FwOO5yvL.mjs').then(function (n) { return n.U; });
12185
+ const { readCredentials: readCredentials2 } = await import('./api-wcqkneTg.mjs').then(function (n) { return n.U; });
12186
+ const { ApiClient: ApiClient2 } = await import('./api-wcqkneTg.mjs').then(function (n) { return n.V; });
12025
12187
  let userEmail = void 0;
12026
12188
  try {
12027
12189
  const credentials = await readCredentials2();