happy-imou-cloud 2.1.37 → 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.
- package/dist/{BaseReasoningProcessor-Do2r_eVW.cjs → BaseReasoningProcessor-BUTolvO5.cjs} +2 -2
- package/dist/{BaseReasoningProcessor-CotgApeZ.mjs → BaseReasoningProcessor-Cbp6sIDm.mjs} +2 -2
- package/dist/{ProviderSelectionHandler-CywTx_Df.cjs → ProviderSelectionHandler-B22eXuym.cjs} +2 -2
- package/dist/{ProviderSelectionHandler-CCsorkyV.mjs → ProviderSelectionHandler-DrSgStLw.mjs} +2 -2
- package/dist/{api-CexMNqai.cjs → api-BoeZDGwx.cjs} +121 -1
- package/dist/{api-CMJhY7of.mjs → api-wcqkneTg.mjs} +121 -2
- package/dist/{command-Ct7Eeo2F.cjs → command-CkYq_KwA.cjs} +2 -2
- package/dist/{command-C2YB2hE-.mjs → command-DcgK0y3F.mjs} +2 -2
- package/dist/{index-4t8rMnvz.mjs → index-B9mt95QV.mjs} +201 -39
- package/dist/{index-CQ2Yq72y.cjs → index-Cgor8CE7.cjs} +204 -42
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.d.cts +94 -36
- package/dist/lib.d.mts +94 -36
- package/dist/lib.mjs +1 -1
- package/dist/{registerKillSessionHandler-CLFQ8bQP.mjs → registerKillSessionHandler-Buc97BEh.mjs} +246 -10
- package/dist/{registerKillSessionHandler-C1PIogKI.cjs → registerKillSessionHandler-DtXhn2Cd.cjs} +249 -9
- package/dist/{runClaude-BiFuU4AP.mjs → runClaude-BYKNCDEU.mjs} +58 -20
- package/dist/{runClaude-L4G4BbIJ.cjs → runClaude-CwXQwmgw.cjs} +58 -20
- package/dist/{runCodex-CaUoS6E4.cjs → runCodex-BkB_YKhV.cjs} +58 -10
- package/dist/{runCodex-C0wjgp2b.mjs → runCodex-DqAddhDE.mjs} +58 -10
- package/dist/{runGemini-DxQX5VhV.mjs → runGemini-3jkfOtlr.mjs} +79 -11
- package/dist/{runGemini-DhYi_crP.cjs → runGemini-B4uXPrue.cjs} +79 -11
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var persistence = require('./api-
|
|
4
|
+
var persistence = require('./api-BoeZDGwx.cjs');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var fs$2 = require('fs/promises');
|
|
7
7
|
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-
|
|
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-Cgor8CE7.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();
|
|
@@ -637,7 +637,7 @@ function setupCleanupHandlers() {
|
|
|
637
637
|
});
|
|
638
638
|
}
|
|
639
639
|
|
|
640
|
-
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-
|
|
640
|
+
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-Cgor8CE7.cjs', document.baseURI).href))));
|
|
641
641
|
function projectPath() {
|
|
642
642
|
const path = path$1.resolve(__dirname$2, "..");
|
|
643
643
|
return path;
|
|
@@ -2542,6 +2542,10 @@ function normalizePathKey(targetPath) {
|
|
|
2542
2542
|
const normalizedPath = path.normalize(path.resolve(targetPath));
|
|
2543
2543
|
return process.platform === "win32" ? normalizedPath.toLowerCase() : normalizedPath;
|
|
2544
2544
|
}
|
|
2545
|
+
function normalizeTextKey(target) {
|
|
2546
|
+
const normalized = target?.trim().toLowerCase();
|
|
2547
|
+
return normalized ? normalized : null;
|
|
2548
|
+
}
|
|
2545
2549
|
function readTextIfExists(targetPath) {
|
|
2546
2550
|
if (!pathExists(targetPath)) {
|
|
2547
2551
|
return null;
|
|
@@ -2561,18 +2565,44 @@ function isLocalRepoHappyOrgRoot(rootPath) {
|
|
|
2561
2565
|
function isHappyOrgRoot(rootPath) {
|
|
2562
2566
|
return isLegacyHappyOrgRoot(rootPath) || isLocalRepoHappyOrgRoot(rootPath);
|
|
2563
2567
|
}
|
|
2564
|
-
function
|
|
2568
|
+
function isCeoHomeContentsPath(homePath) {
|
|
2565
2569
|
return pathExists(path.join(homePath, "IDENTITY.md")) || pathExists(path.join(homePath, "AGENT.md"));
|
|
2566
2570
|
}
|
|
2571
|
+
function inferHomeSource(homePath) {
|
|
2572
|
+
const parentDirName = path.dirname(path.resolve(homePath)).split(/[\\/]/).pop()?.toLowerCase();
|
|
2573
|
+
if (parentDirName === "positions") {
|
|
2574
|
+
return "position-home";
|
|
2575
|
+
}
|
|
2576
|
+
if (parentDirName === "agents") {
|
|
2577
|
+
return "legacy-agent-home";
|
|
2578
|
+
}
|
|
2579
|
+
return null;
|
|
2580
|
+
}
|
|
2581
|
+
function isCeoHomePath(homePath) {
|
|
2582
|
+
const resolvedHomePath = path.resolve(homePath);
|
|
2583
|
+
const homeDirName = resolvedHomePath.split(/[\\/]/).pop()?.toLowerCase();
|
|
2584
|
+
const source = inferHomeSource(resolvedHomePath);
|
|
2585
|
+
return homeDirName === "ceo" && source !== null && isCeoHomeContentsPath(resolvedHomePath);
|
|
2586
|
+
}
|
|
2587
|
+
function findExpectedHomePath(startPath) {
|
|
2588
|
+
let currentPath = path.resolve(startPath);
|
|
2589
|
+
while (true) {
|
|
2590
|
+
if (isCeoHomePath(currentPath)) {
|
|
2591
|
+
return currentPath;
|
|
2592
|
+
}
|
|
2593
|
+
const parentPath = path.dirname(currentPath);
|
|
2594
|
+
if (parentPath === currentPath) {
|
|
2595
|
+
return null;
|
|
2596
|
+
}
|
|
2597
|
+
currentPath = parentPath;
|
|
2598
|
+
}
|
|
2599
|
+
}
|
|
2567
2600
|
function deriveOrganizationRootFromHomePath(homePath) {
|
|
2568
2601
|
const resolvedHomePath = path.resolve(homePath);
|
|
2569
|
-
|
|
2570
|
-
const parentPath = path.dirname(resolvedHomePath);
|
|
2571
|
-
const parentDirName = parentPath.split(/[\\/]/).pop()?.toLowerCase();
|
|
2572
|
-
if (homeDirName !== "ceo" || parentDirName !== "positions" && parentDirName !== "agents" || !isCeoHomePath(resolvedHomePath)) {
|
|
2602
|
+
if (!isCeoHomePath(resolvedHomePath)) {
|
|
2573
2603
|
return null;
|
|
2574
2604
|
}
|
|
2575
|
-
return path.dirname(
|
|
2605
|
+
return path.dirname(path.dirname(resolvedHomePath));
|
|
2576
2606
|
}
|
|
2577
2607
|
function collectCandidateRoots(startPath) {
|
|
2578
2608
|
const candidates = /* @__PURE__ */ new Map();
|
|
@@ -2644,6 +2674,17 @@ function extractHeading(markdown) {
|
|
|
2644
2674
|
function resolveDisplayName(identityMarkdown, agentMarkdown) {
|
|
2645
2675
|
return extractIdentityField(identityMarkdown, "display_name") || extractHeading(agentMarkdown) || "Happy CEO";
|
|
2646
2676
|
}
|
|
2677
|
+
function readHomeIdentity(homePath, source) {
|
|
2678
|
+
const identityMarkdown = readTextIfExists(path.join(homePath, "IDENTITY.md"));
|
|
2679
|
+
const agentMarkdown = readTextIfExists(path.join(homePath, "AGENT.md"));
|
|
2680
|
+
return {
|
|
2681
|
+
homePath: path.resolve(homePath),
|
|
2682
|
+
agentId: extractIdentityField(identityMarkdown, "agent_id"),
|
|
2683
|
+
role: extractIdentityField(identityMarkdown, "role") || "ceo",
|
|
2684
|
+
displayName: resolveDisplayName(identityMarkdown, agentMarkdown),
|
|
2685
|
+
source: source ?? inferHomeSource(homePath)
|
|
2686
|
+
};
|
|
2687
|
+
}
|
|
2647
2688
|
function buildIdentityPrompt(opts) {
|
|
2648
2689
|
const identityMarkdown = readTextIfExists(path.join(opts.homePath, "IDENTITY.md"));
|
|
2649
2690
|
const homeSections = HOME_DOC_FILENAMES.map((fileName) => readHomeDocSection(opts.homePath, fileName)).filter((value) => Boolean(value));
|
|
@@ -2665,45 +2706,117 @@ function buildIdentityPrompt(opts) {
|
|
|
2665
2706
|
"[/HAPPY_LOCAL_HOME_STARTUP]"
|
|
2666
2707
|
].join("\n");
|
|
2667
2708
|
}
|
|
2709
|
+
function buildStartupBinding(params) {
|
|
2710
|
+
const resolvedIdentity = params.resolved;
|
|
2711
|
+
const resolvedHomePath = resolvedIdentity?.homePath ?? null;
|
|
2712
|
+
const resolvedSource = resolvedIdentity?.source ?? null;
|
|
2713
|
+
const displayName = params.startupBindingStatus === "valid" ? resolvedIdentity?.displayName ?? params.expected.displayName : params.expected.displayName;
|
|
2714
|
+
return {
|
|
2715
|
+
organizationRootPath: params.organizationRootPath,
|
|
2716
|
+
homePath: params.expected.homePath,
|
|
2717
|
+
role: "ceo",
|
|
2718
|
+
displayName,
|
|
2719
|
+
source: resolvedSource ?? params.expected.source,
|
|
2720
|
+
identityPrompt: params.startupBindingStatus === "valid" && params.organizationRootPath && resolvedHomePath && resolvedSource ? buildIdentityPrompt({
|
|
2721
|
+
organizationRootPath: params.organizationRootPath,
|
|
2722
|
+
homePath: resolvedHomePath,
|
|
2723
|
+
displayName,
|
|
2724
|
+
source: resolvedSource
|
|
2725
|
+
}) : null,
|
|
2726
|
+
expectedHomePath: params.expected.homePath,
|
|
2727
|
+
resolvedHomePath,
|
|
2728
|
+
expectedHomeAgentId: params.expected.agentId,
|
|
2729
|
+
resolvedHomeAgentId: resolvedIdentity?.agentId ?? null,
|
|
2730
|
+
expectedHomeRole: params.expected.role,
|
|
2731
|
+
resolvedHomeRole: resolvedIdentity?.role ?? null,
|
|
2732
|
+
startupBindingStatus: params.startupBindingStatus,
|
|
2733
|
+
startupBindingFailureReason: params.startupBindingFailureReason
|
|
2734
|
+
};
|
|
2735
|
+
}
|
|
2668
2736
|
function resolveHappyOrgStartupBinding(startPath) {
|
|
2669
|
-
const
|
|
2670
|
-
if (
|
|
2737
|
+
const expectedHomePath = findExpectedHomePath(startPath);
|
|
2738
|
+
if (!expectedHomePath) {
|
|
2671
2739
|
return null;
|
|
2672
2740
|
}
|
|
2741
|
+
const expected = readHomeIdentity(expectedHomePath);
|
|
2742
|
+
const candidateRoots = collectCandidateRoots(expectedHomePath);
|
|
2743
|
+
if (candidateRoots.length !== 1) {
|
|
2744
|
+
return buildStartupBinding({
|
|
2745
|
+
expected,
|
|
2746
|
+
organizationRootPath: null,
|
|
2747
|
+
resolved: null,
|
|
2748
|
+
startupBindingStatus: "invalid",
|
|
2749
|
+
startupBindingFailureReason: "startup_binding_invalid"
|
|
2750
|
+
});
|
|
2751
|
+
}
|
|
2673
2752
|
const organizationRootPath = candidateRoots[0];
|
|
2674
|
-
const
|
|
2675
|
-
if (!
|
|
2676
|
-
return
|
|
2753
|
+
const resolvedHome = resolveHomeFromRoot(organizationRootPath);
|
|
2754
|
+
if (!resolvedHome) {
|
|
2755
|
+
return buildStartupBinding({
|
|
2756
|
+
expected,
|
|
2757
|
+
organizationRootPath,
|
|
2758
|
+
resolved: null,
|
|
2759
|
+
startupBindingStatus: "invalid",
|
|
2760
|
+
startupBindingFailureReason: "startup_binding_invalid"
|
|
2761
|
+
});
|
|
2677
2762
|
}
|
|
2678
|
-
const
|
|
2679
|
-
const
|
|
2680
|
-
const
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
displayName,
|
|
2686
|
-
source: home.source,
|
|
2687
|
-
identityPrompt: buildIdentityPrompt({
|
|
2763
|
+
const resolved = readHomeIdentity(resolvedHome.homePath, resolvedHome.source);
|
|
2764
|
+
const pathMismatch = normalizePathKey(expected.homePath) !== normalizePathKey(resolved.homePath);
|
|
2765
|
+
const roleMismatch = normalizeTextKey(expected.role) !== normalizeTextKey(resolved.role);
|
|
2766
|
+
const agentMismatch = normalizeTextKey(expected.agentId) !== normalizeTextKey(resolved.agentId);
|
|
2767
|
+
if (pathMismatch) {
|
|
2768
|
+
return buildStartupBinding({
|
|
2769
|
+
expected,
|
|
2688
2770
|
organizationRootPath,
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
})
|
|
2693
|
-
}
|
|
2771
|
+
resolved,
|
|
2772
|
+
startupBindingStatus: "invalid",
|
|
2773
|
+
startupBindingFailureReason: "startup_home_mismatch"
|
|
2774
|
+
});
|
|
2775
|
+
}
|
|
2776
|
+
if (roleMismatch || agentMismatch || resolved.source === null) {
|
|
2777
|
+
return buildStartupBinding({
|
|
2778
|
+
expected,
|
|
2779
|
+
organizationRootPath,
|
|
2780
|
+
resolved,
|
|
2781
|
+
startupBindingStatus: "invalid",
|
|
2782
|
+
startupBindingFailureReason: "startup_binding_invalid"
|
|
2783
|
+
});
|
|
2784
|
+
}
|
|
2785
|
+
return buildStartupBinding({
|
|
2786
|
+
expected,
|
|
2787
|
+
organizationRootPath,
|
|
2788
|
+
resolved,
|
|
2789
|
+
startupBindingStatus: "valid",
|
|
2790
|
+
startupBindingFailureReason: null
|
|
2791
|
+
});
|
|
2694
2792
|
}
|
|
2695
2793
|
|
|
2794
|
+
function toHappyOrgStartupBindingMetadata(binding) {
|
|
2795
|
+
return {
|
|
2796
|
+
organizationRootPath: binding.organizationRootPath ?? null,
|
|
2797
|
+
source: binding.source ?? null,
|
|
2798
|
+
expectedHomePath: binding.expectedHomePath,
|
|
2799
|
+
resolvedHomePath: binding.resolvedHomePath ?? null,
|
|
2800
|
+
expectedHomeAgentId: binding.expectedHomeAgentId ?? null,
|
|
2801
|
+
resolvedHomeAgentId: binding.resolvedHomeAgentId ?? null,
|
|
2802
|
+
expectedHomeRole: binding.expectedHomeRole ?? null,
|
|
2803
|
+
resolvedHomeRole: binding.resolvedHomeRole ?? null,
|
|
2804
|
+
startupBindingStatus: binding.startupBindingStatus,
|
|
2805
|
+
startupBindingFailureReason: binding.startupBindingFailureReason ?? null
|
|
2806
|
+
};
|
|
2807
|
+
}
|
|
2696
2808
|
function createSessionMetadata(opts) {
|
|
2697
2809
|
const state = {
|
|
2698
2810
|
controlledByUser: false
|
|
2699
2811
|
};
|
|
2700
2812
|
const requestedMetadataPath = opts.path ?? process.cwd();
|
|
2701
2813
|
const happyOrgStartupBinding = resolveHappyOrgStartupBinding(requestedMetadataPath);
|
|
2702
|
-
const
|
|
2814
|
+
const hasValidStartupBinding = happyOrgStartupBinding?.startupBindingStatus === "valid";
|
|
2815
|
+
const metadataPath = hasValidStartupBinding ? happyOrgStartupBinding?.resolvedHomePath ?? requestedMetadataPath : requestedMetadataPath;
|
|
2703
2816
|
const metadataHostPid = opts.hostPid === void 0 ? process.pid : opts.hostPid;
|
|
2704
2817
|
const metadata = {
|
|
2705
2818
|
path: metadataPath,
|
|
2706
|
-
...happyOrgStartupBinding?.displayName ? { name: happyOrgStartupBinding.displayName } : {},
|
|
2819
|
+
...hasValidStartupBinding && happyOrgStartupBinding?.displayName ? { name: happyOrgStartupBinding.displayName } : {},
|
|
2707
2820
|
host: os.hostname(),
|
|
2708
2821
|
version: persistence.packageJson.version,
|
|
2709
2822
|
os: os.platform(),
|
|
@@ -2718,7 +2831,12 @@ function createSessionMetadata(opts) {
|
|
|
2718
2831
|
lifecycleState: "running",
|
|
2719
2832
|
lifecycleStateSince: Date.now(),
|
|
2720
2833
|
flavor: opts.flavor,
|
|
2721
|
-
...metadataHostPid == null ? {} : { hostPid: metadataHostPid }
|
|
2834
|
+
...metadataHostPid == null ? {} : { hostPid: metadataHostPid },
|
|
2835
|
+
...happyOrgStartupBinding ? {
|
|
2836
|
+
happyOrg: {
|
|
2837
|
+
startupBinding: toHappyOrgStartupBindingMetadata(happyOrgStartupBinding)
|
|
2838
|
+
}
|
|
2839
|
+
} : {}
|
|
2722
2840
|
};
|
|
2723
2841
|
return {
|
|
2724
2842
|
state,
|
|
@@ -5150,13 +5268,13 @@ function resolveMemberAgent(agents, opts) {
|
|
|
5150
5268
|
}
|
|
5151
5269
|
const memberName = normalizeRef(opts.memberName);
|
|
5152
5270
|
if (memberName) {
|
|
5153
|
-
throw new Error("Dispatch send
|
|
5271
|
+
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");
|
|
5154
5272
|
}
|
|
5155
5273
|
const scope = normalizeRef(opts.scope);
|
|
5156
5274
|
if (!scope) {
|
|
5157
5275
|
throw new Error("Dispatch send requires --scope and formal truth via --member-id or truth-resolvable --position-id/--responsibility-id");
|
|
5158
5276
|
}
|
|
5159
|
-
throw new Error(`Dispatch send
|
|
5277
|
+
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}.`);
|
|
5160
5278
|
}
|
|
5161
5279
|
function findAgentById(agents, agentId) {
|
|
5162
5280
|
const normalizedAgentId = normalizeRef(agentId);
|
|
@@ -5204,7 +5322,7 @@ async function resolveFormalDispatchTarget(params) {
|
|
|
5204
5322
|
const truthMember = findAgentById(params.agents, truthMemberAgentId);
|
|
5205
5323
|
const dispatchMember = requestedMember ?? truthMember;
|
|
5206
5324
|
if (!dispatchMember) {
|
|
5207
|
-
throw new Error("Dispatch send requires --member-id or truth-resolvable --position-id/--responsibility-id; scope/name/role fallback
|
|
5325
|
+
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.");
|
|
5208
5326
|
}
|
|
5209
5327
|
if (dispatchMember.isRoot) {
|
|
5210
5328
|
throw new Error(`Member ${dispatchMember.id} is the CEO/root agent and cannot receive specialist dispatch notices`);
|
|
@@ -5281,6 +5399,30 @@ function formatDispatchReceipt(receipt) {
|
|
|
5281
5399
|
];
|
|
5282
5400
|
return lines.join("\n");
|
|
5283
5401
|
}
|
|
5402
|
+
function formatRepoTaskBoard(view) {
|
|
5403
|
+
const lines = [
|
|
5404
|
+
`total_count=${view.totalCount}`,
|
|
5405
|
+
`in_progress_count=${view.inProgressCount}`,
|
|
5406
|
+
`needs_handoff_count=${view.handoffCount}`,
|
|
5407
|
+
`awaiting_acceptance_count=${view.acceptanceCount}`,
|
|
5408
|
+
`closed_count=${view.closedCount}`,
|
|
5409
|
+
`last_updated_at=${view.lastUpdatedAt ?? ""}`
|
|
5410
|
+
];
|
|
5411
|
+
for (const section of view.sections) {
|
|
5412
|
+
lines.push("", `section=${section.key}`, `count=${section.count}`);
|
|
5413
|
+
for (const item of section.items) {
|
|
5414
|
+
lines.push([
|
|
5415
|
+
`task_id=${item.taskId}`,
|
|
5416
|
+
`status=${item.status}`,
|
|
5417
|
+
`title=${item.title}`,
|
|
5418
|
+
`owner=${item.ownerName}`,
|
|
5419
|
+
`responsibility=${item.responsibilityLabel ?? ""}`,
|
|
5420
|
+
`detail=${item.blockerOrDecision ?? item.latestResult ?? item.currentProgress ?? item.path ?? ""}`
|
|
5421
|
+
].join(" | "));
|
|
5422
|
+
}
|
|
5423
|
+
}
|
|
5424
|
+
return lines.join("\n");
|
|
5425
|
+
}
|
|
5284
5426
|
async function resolveOrganizationId(api, explicitOrganizationId) {
|
|
5285
5427
|
if (explicitOrganizationId) {
|
|
5286
5428
|
return {
|
|
@@ -5303,6 +5445,7 @@ ${chalk.bold("Usage:")}
|
|
|
5303
5445
|
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]
|
|
5304
5446
|
hicloud happy-org dispatch receipt <dispatch-id> [--organization-id <id>] [--json]
|
|
5305
5447
|
hicloud happy-org repo process --root <path> [--request-id <id>] [--json]
|
|
5448
|
+
hicloud happy-org repo task-board --root <path> [--json]
|
|
5306
5449
|
hicloud happy-org repo turn-report --root <path> --report-json <json> [--json]
|
|
5307
5450
|
|
|
5308
5451
|
${chalk.bold("Examples:")}
|
|
@@ -5310,6 +5453,7 @@ ${chalk.bold("Examples:")}
|
|
|
5310
5453
|
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/**
|
|
5311
5454
|
hicloud happy-org dispatch receipt dispatch-abc123 --json
|
|
5312
5455
|
hicloud happy-org repo process --root ./happy-org/acme --json
|
|
5456
|
+
hicloud happy-org repo task-board --root ./happy-org/acme --json
|
|
5313
5457
|
`);
|
|
5314
5458
|
}
|
|
5315
5459
|
async function requireApi(deps) {
|
|
@@ -5495,6 +5639,20 @@ async function handleRepoProcessCommand(parsed, deps) {
|
|
|
5495
5639
|
].join("\n"));
|
|
5496
5640
|
});
|
|
5497
5641
|
}
|
|
5642
|
+
async function handleRepoTaskBoardCommand(parsed, deps) {
|
|
5643
|
+
const logger = deps.logger ?? console;
|
|
5644
|
+
const rootPath = readSingleValue(parsed, "root");
|
|
5645
|
+
if (!rootPath) {
|
|
5646
|
+
throw new Error("Repo task-board requires --root");
|
|
5647
|
+
}
|
|
5648
|
+
const reader = deps.readRepoTaskBoard ?? persistence.readHappyOrgRepoTaskBoard;
|
|
5649
|
+
const board = await reader(rootPath);
|
|
5650
|
+
if (readBooleanFlag(parsed, "json")) {
|
|
5651
|
+
logger.log(JSON.stringify(board, null, 2));
|
|
5652
|
+
return;
|
|
5653
|
+
}
|
|
5654
|
+
logger.log(formatRepoTaskBoard(board));
|
|
5655
|
+
}
|
|
5498
5656
|
async function handleRepoTurnReportCommand(parsed, deps) {
|
|
5499
5657
|
const logger = deps.logger ?? console;
|
|
5500
5658
|
const rootPath = readSingleValue(parsed, "root");
|
|
@@ -5538,6 +5696,10 @@ async function handleRepoCommand(args, deps) {
|
|
|
5538
5696
|
await handleRepoProcessCommand(parsed, deps);
|
|
5539
5697
|
return;
|
|
5540
5698
|
}
|
|
5699
|
+
if (subcommand === "task-board") {
|
|
5700
|
+
await handleRepoTaskBoardCommand(parsed, deps);
|
|
5701
|
+
return;
|
|
5702
|
+
}
|
|
5541
5703
|
if (subcommand === "turn-report") {
|
|
5542
5704
|
await handleRepoTurnReportCommand(parsed, deps);
|
|
5543
5705
|
return;
|
|
@@ -10412,7 +10574,7 @@ class AbortError extends Error {
|
|
|
10412
10574
|
}
|
|
10413
10575
|
}
|
|
10414
10576
|
|
|
10415
|
-
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-
|
|
10577
|
+
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-Cgor8CE7.cjs', document.baseURI).href)));
|
|
10416
10578
|
const __dirname$1 = path.join(__filename$1, "..");
|
|
10417
10579
|
function getGlobalClaudeVersion() {
|
|
10418
10580
|
try {
|
|
@@ -11737,14 +11899,14 @@ var launch = /*#__PURE__*/Object.freeze({
|
|
|
11737
11899
|
const unifiedProviderExecutors = {
|
|
11738
11900
|
claude: async (opts) => {
|
|
11739
11901
|
const claudeOptions = opts.claudeOptions ?? {};
|
|
11740
|
-
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-
|
|
11902
|
+
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-CwXQwmgw.cjs'); });
|
|
11741
11903
|
await runClaude(opts.credentials, {
|
|
11742
11904
|
...claudeOptions,
|
|
11743
11905
|
startingMode: claudeOptions.startingMode ?? (claudeOptions.startedBy === "daemon" ? "remote" : void 0)
|
|
11744
11906
|
});
|
|
11745
11907
|
},
|
|
11746
11908
|
codex: async (opts) => {
|
|
11747
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-
|
|
11909
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-BkB_YKhV.cjs'); });
|
|
11748
11910
|
await runCodex({
|
|
11749
11911
|
credentials: opts.credentials,
|
|
11750
11912
|
startedBy: opts.startedBy,
|
|
@@ -11753,7 +11915,7 @@ const unifiedProviderExecutors = {
|
|
|
11753
11915
|
});
|
|
11754
11916
|
},
|
|
11755
11917
|
gemini: async (opts) => {
|
|
11756
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
11918
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-B4uXPrue.cjs'); });
|
|
11757
11919
|
await runGemini({
|
|
11758
11920
|
credentials: opts.credentials,
|
|
11759
11921
|
startedBy: opts.startedBy
|
|
@@ -11836,7 +11998,7 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
11836
11998
|
return;
|
|
11837
11999
|
} else if (subcommand === "runtime") {
|
|
11838
12000
|
if (args[1] === "providers") {
|
|
11839
|
-
const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-
|
|
12001
|
+
const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-CkYq_KwA.cjs'); });
|
|
11840
12002
|
console.log(renderRuntimeProviders());
|
|
11841
12003
|
return;
|
|
11842
12004
|
}
|
|
@@ -12042,8 +12204,8 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
12042
12204
|
const projectId = args[3];
|
|
12043
12205
|
try {
|
|
12044
12206
|
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
|
|
12045
|
-
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./api-
|
|
12046
|
-
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-
|
|
12207
|
+
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./api-BoeZDGwx.cjs'); }).then(function (n) { return n.persistence; });
|
|
12208
|
+
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-BoeZDGwx.cjs'); }).then(function (n) { return n.api; });
|
|
12047
12209
|
let userEmail = void 0;
|
|
12048
12210
|
try {
|
|
12049
12211
|
const credentials = await readCredentials2();
|
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('chalk');
|
|
4
|
-
require('./api-
|
|
4
|
+
require('./api-BoeZDGwx.cjs');
|
|
5
5
|
require('zod');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-Cgor8CE7.cjs');
|
|
7
7
|
require('node:child_process');
|
|
8
8
|
require('node:fs');
|
|
9
9
|
require('cross-spawn');
|
package/dist/index.mjs
CHANGED