very-happy-cli 0.2.90 → 0.2.91
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/{AcpBackend-BV4wSnJ3.mjs → AcpBackend-B5RRlzLU.mjs} +1 -1
- package/dist/{AcpBackend-CnYZFdd0.cjs → AcpBackend-GqveWg8u.cjs} +1 -1
- package/dist/{AcpSessionManager-Cyne6Rmg.mjs → AcpSessionManager-Ij1pI5Ex.mjs} +1 -1
- package/dist/{AcpSessionManager-BPBdrrME.cjs → AcpSessionManager-YcrSZwvq.cjs} +1 -1
- package/dist/{config-CgXitj0f.cjs → config-C4NCw7Dz.cjs} +2 -2
- package/dist/{config-BEdyyciP.mjs → config-ra8iKxdU.mjs} +2 -2
- package/dist/{index-B1wTVXjt.cjs → index-C1HIm7NY.cjs} +4 -4
- package/dist/{index-Dfu5uvjk.mjs → index-CB5H7YI6.mjs} +5 -5
- package/dist/{index-4YmVbx7j.cjs → index-FkXJNwiy.cjs} +87 -31
- package/dist/{index-an09rejO.mjs → index-UCYD5Wk3.mjs} +84 -28
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{installTerminalHooks-DDpVxk8-.cjs → installTerminalHooks-CoK5wNcA.cjs} +2 -2
- package/dist/{installTerminalHooks-C-OgZr5k.mjs → installTerminalHooks-TkkGzzbI.mjs} +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.d.cts +34 -0
- package/dist/lib.d.mts +34 -0
- package/dist/lib.mjs +1 -1
- package/dist/{mcp-Du-N0qlK.mjs → mcp-C3MiqObi.mjs} +2 -2
- package/dist/{mcp-B6Nq-RUL.cjs → mcp-DcRvswVI.cjs} +2 -2
- package/dist/{runGemini-DBr_TiTL.mjs → runGemini-BbC0uwUj.mjs} +4 -4
- package/dist/{runGemini-ChG7cGMC.cjs → runGemini-Dnvd2gWq.cjs} +4 -4
- package/dist/{runOpenClaw-Cbde8t92.mjs → runOpenClaw--nbqTW3K.mjs} +3 -3
- package/dist/{runOpenClaw-D2jtVgpC.cjs → runOpenClaw-CnuTBNQW.cjs} +3 -3
- package/dist/{send-BHliX59m.mjs → send-9nJxn09Y.mjs} +2 -2
- package/dist/{send-Bjen1TUE.cjs → send-DkKOPatx.cjs} +2 -2
- package/dist/{spawn-JxaPHAoP.mjs → spawn-CRW4ioms.mjs} +2 -2
- package/dist/{spawn-CH1Rq-LW.cjs → spawn-DE7WhS8Y.cjs} +2 -2
- package/dist/{types-DS3i_5LV.mjs → types-BKyjG23_.mjs} +251 -15
- package/dist/{types-BNGeiP1C.cjs → types-ClDADuxP.cjs} +252 -16
- package/package.json +7 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-
|
|
4
|
+
import { l as logger, d as contentLogMetadata, e as errorLogMetadata, f as packageJson, g as delay } from './types-BKyjG23_.mjs';
|
|
5
5
|
|
|
6
6
|
const DEFAULT_TIMEOUTS = {
|
|
7
7
|
/** Default initialization timeout: 60 seconds */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var node_child_process = require('node:child_process');
|
|
4
4
|
var sdk = require('@agentclientprotocol/sdk');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var persistence = require('./types-
|
|
6
|
+
var persistence = require('./types-ClDADuxP.cjs');
|
|
7
7
|
|
|
8
8
|
const DEFAULT_TIMEOUTS = {
|
|
9
9
|
/** Default initialization timeout: 60 seconds */
|
|
@@ -4,8 +4,8 @@ var fs = require('fs');
|
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var os = require('os');
|
|
6
6
|
var child_process = require('child_process');
|
|
7
|
-
var persistence = require('./types-
|
|
8
|
-
var index = require('./index-
|
|
7
|
+
var persistence = require('./types-ClDADuxP.cjs');
|
|
8
|
+
var index = require('./index-FkXJNwiy.cjs');
|
|
9
9
|
require('axios');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('node:util');
|
|
@@ -2,8 +2,8 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
|
-
import { l as logger } from './types-
|
|
6
|
-
import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-
|
|
5
|
+
import { l as logger } from './types-BKyjG23_.mjs';
|
|
6
|
+
import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './index-UCYD5Wk3.mjs';
|
|
7
7
|
import 'axios';
|
|
8
8
|
import 'chalk';
|
|
9
9
|
import 'node:util';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var persistence = require('./types-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-GqveWg8u.cjs');
|
|
4
|
+
var persistence = require('./types-ClDADuxP.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-YcrSZwvq.cjs');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
var path = require('node:path');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-FkXJNwiy.cjs');
|
|
9
9
|
require('node:child_process');
|
|
10
10
|
require('@agentclientprotocol/sdk');
|
|
11
11
|
require('axios');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-
|
|
2
|
-
export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-
|
|
3
|
-
import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-B5RRlzLU.mjs';
|
|
2
|
+
export { a as DEFAULT_IDLE_TIMEOUT_MS, b as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, c as formatDurationMinutes, h as handleAgentMessageChunk, d as handleAgentThoughtChunk, g as handleLegacyMessageChunk, i as handlePlanUpdate, j as handleThinkingUpdate, k as handleToolCall, l as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-B5RRlzLU.mjs';
|
|
3
|
+
import { h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, p as projectPath } from './types-BKyjG23_.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-Ij1pI5Ex.mjs';
|
|
5
5
|
import { randomUUID } from 'node:crypto';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
|
-
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, f as startHappyServer, r as registerKillSessionHandler, B as BasePermissionHandler } from './index-
|
|
7
|
+
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, f as startHappyServer, r as registerKillSessionHandler, B as BasePermissionHandler } from './index-UCYD5Wk3.mjs';
|
|
8
8
|
import 'node:child_process';
|
|
9
9
|
import '@agentclientprotocol/sdk';
|
|
10
10
|
import 'axios';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var os = require('node:os');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var persistence = require('./types-
|
|
6
|
+
var persistence = require('./types-ClDADuxP.cjs');
|
|
7
7
|
var spawn = require('cross-spawn');
|
|
8
8
|
var path = require('node:path');
|
|
9
9
|
var node_readline = require('node:readline');
|
|
@@ -1655,6 +1655,12 @@ function resolveRemoteClaudePermissionMode(currentMode, incomingMode, sandboxEna
|
|
|
1655
1655
|
}
|
|
1656
1656
|
return nextMode;
|
|
1657
1657
|
}
|
|
1658
|
+
function reconcilePublishedPermissionMode(input) {
|
|
1659
|
+
if (!input.effective) return null;
|
|
1660
|
+
const mismatch = input.effective !== input.intent;
|
|
1661
|
+
if (input.effective === input.published) return mismatch ? { publish: input.effective, mismatch } : null;
|
|
1662
|
+
return { publish: input.effective, mismatch };
|
|
1663
|
+
}
|
|
1658
1664
|
|
|
1659
1665
|
function parseCompact(message) {
|
|
1660
1666
|
const trimmed = message.trim();
|
|
@@ -1984,7 +1990,12 @@ async function claudeRemote(opts) {
|
|
|
1984
1990
|
mcpServers: systemInit.mcp_servers?.map((s) => ({ name: s.name, status: s.status })),
|
|
1985
1991
|
skills: systemInit.skills,
|
|
1986
1992
|
model: systemInit.model,
|
|
1987
|
-
modelIsDefault: initial.mode.model == null
|
|
1993
|
+
modelIsDefault: initial.mode.model == null,
|
|
1994
|
+
// The SDK's own verdict on the mode it will enforce —
|
|
1995
|
+
// settings (permissions.deny/ask/defaultMode/
|
|
1996
|
+
// disableBypassPermissionsMode) can override what we
|
|
1997
|
+
// asked for. runClaude publishes THIS, not our intent.
|
|
1998
|
+
permissionMode: systemInit.permissionMode
|
|
1988
1999
|
});
|
|
1989
2000
|
}
|
|
1990
2001
|
if (systemInit.session_id) {
|
|
@@ -2002,6 +2013,10 @@ async function claudeRemote(opts) {
|
|
|
2002
2013
|
if (message.type === "result") {
|
|
2003
2014
|
updateThinking(false);
|
|
2004
2015
|
persistence.logger.debug("[claudeRemote] Result received");
|
|
2016
|
+
const denials = message.permission_denials;
|
|
2017
|
+
if (denials && denials.length > 0) {
|
|
2018
|
+
persistence.logger.warn(`[claudeRemote] ${denials.length} tool call(s) auto-denied by Claude Code policy: ${denials.map((d) => d.tool_name ?? "?").join(", ")}`);
|
|
2019
|
+
}
|
|
2005
2020
|
if (isCompactCommand) {
|
|
2006
2021
|
const compactSucceeded = message.subtype === "success";
|
|
2007
2022
|
persistence.logger.debug(`[claudeRemote] Compaction ${compactSucceeded ? "completed" : "failed"}`);
|
|
@@ -2212,16 +2227,9 @@ class PermissionHandler {
|
|
|
2212
2227
|
}
|
|
2213
2228
|
} else {
|
|
2214
2229
|
if (response.approved && response.mode) {
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
this.permissionMode = response.mode;
|
|
2219
|
-
this.onModeChangedCallback?.(response.mode);
|
|
2220
|
-
} catch (err) {
|
|
2221
|
-
const reason = `Failed to switch permission mode: ${err instanceof Error ? err.message : String(err)}`;
|
|
2222
|
-
pending.resolve({ behavior: "deny", message: reason });
|
|
2223
|
-
return { ...response, approved: false, reason };
|
|
2224
|
-
}
|
|
2230
|
+
this.permissionMode = response.mode;
|
|
2231
|
+
this.deferredPermissionMode = response.mode;
|
|
2232
|
+
this.onModeChangedCallback?.(response.mode);
|
|
2225
2233
|
}
|
|
2226
2234
|
if (response.approved && !pending.suggestions?.length && response.allowTools?.length) {
|
|
2227
2235
|
response.allowTools.forEach((tool) => {
|
|
@@ -2562,6 +2570,17 @@ class PermissionHandler {
|
|
|
2562
2570
|
}
|
|
2563
2571
|
}
|
|
2564
2572
|
|
|
2573
|
+
function rewriteQueuedPermissionMode(queue, hasher, permissionMode) {
|
|
2574
|
+
let rewritten = 0;
|
|
2575
|
+
for (const item of queue) {
|
|
2576
|
+
if (item.mode.permissionMode === permissionMode) continue;
|
|
2577
|
+
item.mode = { ...item.mode, permissionMode };
|
|
2578
|
+
item.modeHash = hasher(item.mode);
|
|
2579
|
+
rewritten += 1;
|
|
2580
|
+
}
|
|
2581
|
+
return rewritten;
|
|
2582
|
+
}
|
|
2583
|
+
|
|
2565
2584
|
function formatClaudeMessageForInk(message, messageBuffer, onAssistantResult) {
|
|
2566
2585
|
persistence.logger.debugLargeJson("[CLAUDE INK] Message from remote mode:", message);
|
|
2567
2586
|
switch (message.type) {
|
|
@@ -2816,7 +2835,13 @@ class SDKToLogConverter {
|
|
|
2816
2835
|
type: "user",
|
|
2817
2836
|
message: userMsg.message,
|
|
2818
2837
|
...userMsg.parent_tool_use_id ? { parent_tool_use_id: userMsg.parent_tool_use_id } : {},
|
|
2819
|
-
...meta ? { isMeta: true } : {}
|
|
2838
|
+
...meta ? { isMeta: true } : {},
|
|
2839
|
+
// B-260-P2: structured tool output (Agent/Task final report +
|
|
2840
|
+
// run totals, or the `async_launched` stub marker) and the
|
|
2841
|
+
// message origin (task-notification). Both are consumed by
|
|
2842
|
+
// sessionProtocolMapper; the raw-line schema is passthrough.
|
|
2843
|
+
...userMsg.tool_use_result !== void 0 ? { tool_use_result: userMsg.tool_use_result } : {},
|
|
2844
|
+
...userMsg.origin ? { origin: userMsg.origin } : {}
|
|
2820
2845
|
};
|
|
2821
2846
|
if (Array.isArray(userMsg.message.content)) {
|
|
2822
2847
|
for (const content of userMsg.message.content) {
|
|
@@ -3327,7 +3352,7 @@ function createTurnSteeringController() {
|
|
|
3327
3352
|
};
|
|
3328
3353
|
}
|
|
3329
3354
|
|
|
3330
|
-
async function claudeRemoteLauncher(session, onPermissionModeChange) {
|
|
3355
|
+
async function claudeRemoteLauncher(session, onPermissionModeChange, onEffectivePermissionMode) {
|
|
3331
3356
|
persistence.logger.debug("[claudeRemoteLauncher] Starting remote launcher");
|
|
3332
3357
|
const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
3333
3358
|
persistence.logger.debug(`[claudeRemoteLauncher] TTY available: ${hasTTY}`);
|
|
@@ -3561,6 +3586,10 @@ async function claudeRemoteLauncher(session, onPermissionModeChange) {
|
|
|
3561
3586
|
mode = { ...mode, permissionMode: nextMode };
|
|
3562
3587
|
modeHash = session.queue.modeHasher(mode);
|
|
3563
3588
|
}
|
|
3589
|
+
rewriteQueuedPermissionMode(session.queue.queue, session.queue.modeHasher, nextMode);
|
|
3590
|
+
if (pending) {
|
|
3591
|
+
pending = { ...pending, mode: { ...pending.mode, permissionMode: nextMode } };
|
|
3592
|
+
}
|
|
3564
3593
|
onPermissionModeChange?.(nextMode);
|
|
3565
3594
|
return nextMode;
|
|
3566
3595
|
};
|
|
@@ -3633,6 +3662,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange) {
|
|
|
3633
3662
|
skillCount: metadata.skills?.length ?? 0
|
|
3634
3663
|
});
|
|
3635
3664
|
session.client.updateMetadata((currentMetadata) => applyClaudeSdkMetadata(currentMetadata, metadata));
|
|
3665
|
+
if (metadata.permissionMode) onEffectivePermissionMode?.(metadata.permissionMode);
|
|
3636
3666
|
},
|
|
3637
3667
|
onQueryReady: (q) => {
|
|
3638
3668
|
turnSteering.setInterrupt(q.interrupt);
|
|
@@ -3810,7 +3840,7 @@ async function loop(opts) {
|
|
|
3810
3840
|
break;
|
|
3811
3841
|
}
|
|
3812
3842
|
case "remote": {
|
|
3813
|
-
const reason = await claudeRemoteLauncher(session, opts.onPermissionModeChange);
|
|
3843
|
+
const reason = await claudeRemoteLauncher(session, opts.onPermissionModeChange, opts.onEffectivePermissionMode);
|
|
3814
3844
|
switch (reason) {
|
|
3815
3845
|
case "exit":
|
|
3816
3846
|
return 0;
|
|
@@ -8843,7 +8873,7 @@ const MAX_TITLE_CHARS = 60;
|
|
|
8843
8873
|
const GENERATION_TIMEOUT_MS = 3e4;
|
|
8844
8874
|
function resolveClaudeBinary() {
|
|
8845
8875
|
try {
|
|
8846
|
-
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-
|
|
8876
|
+
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-FkXJNwiy.cjs', document.baseURI).href)));
|
|
8847
8877
|
const utilsPath = path.resolve(path.join(persistence.projectPath(), "scripts", "claude_version_utils.cjs"));
|
|
8848
8878
|
const { getClaudeCliPath } = require$1(utilsPath);
|
|
8849
8879
|
const path$1 = getClaudeCliPath();
|
|
@@ -9408,7 +9438,11 @@ async function runClaude(credentials, options = {}) {
|
|
|
9408
9438
|
...meta,
|
|
9409
9439
|
lifecycleState: "running",
|
|
9410
9440
|
archivedBy: void 0,
|
|
9411
|
-
queueCancellation: true
|
|
9441
|
+
queueCancellation: true,
|
|
9442
|
+
// B-262 batch 2 (B5): a reconnected process re-publishes the mode
|
|
9443
|
+
// IT enforces; the server copy may still carry the previous
|
|
9444
|
+
// process's value.
|
|
9445
|
+
permissionMode: mapToClaudeMode(initialPermissionMode ?? "default")
|
|
9412
9446
|
}));
|
|
9413
9447
|
}
|
|
9414
9448
|
const forkClaudeSessionId = process.env.HAPPY_FORK_CLAUDE_SESSION_ID;
|
|
@@ -9548,6 +9582,22 @@ async function runClaude(credentials, options = {}) {
|
|
|
9548
9582
|
publishedPermissionMode = published;
|
|
9549
9583
|
session.updateMetadata((meta) => ({ ...meta, permissionMode: published }));
|
|
9550
9584
|
};
|
|
9585
|
+
const publishEffectivePermissionMode = (effective) => {
|
|
9586
|
+
const decision = reconcilePublishedPermissionMode({
|
|
9587
|
+
intent: mapToClaudeMode(currentPermissionMode ?? "default"),
|
|
9588
|
+
published: publishedPermissionMode,
|
|
9589
|
+
effective
|
|
9590
|
+
});
|
|
9591
|
+
if (!decision) return;
|
|
9592
|
+
if (decision.mismatch) {
|
|
9593
|
+
persistence.logger.warn(`[loop] Claude Code enforces permission mode '${effective}' but this process asked for '${mapToClaudeMode(currentPermissionMode ?? "default")}' \u2014 check ~/.claude settings (permissions.deny/ask/defaultMode/disableBypassPermissionsMode). Publishing the effective mode.`);
|
|
9594
|
+
}
|
|
9595
|
+
if (decision.publish !== publishedPermissionMode) {
|
|
9596
|
+
publishedPermissionMode = decision.publish;
|
|
9597
|
+
session.updateMetadata((meta) => ({ ...meta, permissionMode: decision.publish }));
|
|
9598
|
+
}
|
|
9599
|
+
};
|
|
9600
|
+
let lastExplicitModeSwitchAt = 0;
|
|
9551
9601
|
let currentModel = options.model ?? DEFAULT_CLAUDE_MODEL;
|
|
9552
9602
|
let currentFallbackModel = void 0;
|
|
9553
9603
|
let currentCustomSystemPrompt = void 0;
|
|
@@ -9592,7 +9642,11 @@ async function runClaude(credentials, options = {}) {
|
|
|
9592
9642
|
}
|
|
9593
9643
|
const attachmentsForThisMessage = await session.drainAttachmentsForUserMessage();
|
|
9594
9644
|
let messagePermissionMode = currentPermissionMode;
|
|
9595
|
-
|
|
9645
|
+
const messageCreatedAt = message.createdAt;
|
|
9646
|
+
const staleModeSnapshot = message.meta?.permissionMode !== void 0 && typeof messageCreatedAt === "number" && messageCreatedAt < lastExplicitModeSwitchAt;
|
|
9647
|
+
if (staleModeSnapshot) {
|
|
9648
|
+
persistence.logger.debug(`[loop] Ignoring stale meta.permissionMode=${message.meta?.permissionMode} (message ${messageCreatedAt} predates explicit switch ${lastExplicitModeSwitchAt}); keeping ${currentPermissionMode}`);
|
|
9649
|
+
} else if (message.meta?.permissionMode) {
|
|
9596
9650
|
const previousPermissionMode = currentPermissionMode;
|
|
9597
9651
|
messagePermissionMode = resolveRemoteClaudePermissionMode(
|
|
9598
9652
|
currentPermissionMode,
|
|
@@ -9856,9 +9910,11 @@ async function runClaude(credentials, options = {}) {
|
|
|
9856
9910
|
},
|
|
9857
9911
|
onAbort: resetCurrentModeDefaults,
|
|
9858
9912
|
onPermissionModeChange: (mode) => {
|
|
9913
|
+
lastExplicitModeSwitchAt = Date.now();
|
|
9859
9914
|
publishPermissionMode(mode);
|
|
9860
9915
|
persistence.logger.debug(`[loop] Permission mode updated from session RPC / approval to: ${mode}`);
|
|
9861
9916
|
},
|
|
9917
|
+
onEffectivePermissionMode: (mode) => publishEffectivePermissionMode(mode),
|
|
9862
9918
|
mcpServers: {
|
|
9863
9919
|
"happy": {
|
|
9864
9920
|
type: "http",
|
|
@@ -11001,9 +11057,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
|
|
|
11001
11057
|
};
|
|
11002
11058
|
}
|
|
11003
11059
|
|
|
11004
|
-
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-
|
|
11060
|
+
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-FkXJNwiy.cjs', document.baseURI).href)));
|
|
11005
11061
|
const __dirname$1 = path.dirname(__filename$1);
|
|
11006
|
-
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
11062
|
+
const require_ = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-FkXJNwiy.cjs', document.baseURI).href)));
|
|
11007
11063
|
const PRISMA_QUERY_ENGINE_FILES = {
|
|
11008
11064
|
"arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
|
|
11009
11065
|
"x64-darwin": "libquery_engine-darwin.dylib.node",
|
|
@@ -13615,7 +13671,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13615
13671
|
process.exit(0);
|
|
13616
13672
|
} else if (subcommand === "install-terminal-hooks") {
|
|
13617
13673
|
try {
|
|
13618
|
-
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-
|
|
13674
|
+
const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-CoK5wNcA.cjs'); });
|
|
13619
13675
|
const command = parseTerminalHooksArgs(args.slice(1));
|
|
13620
13676
|
if (command.action === "help") {
|
|
13621
13677
|
console.log(TERMINAL_HOOKS_HELP);
|
|
@@ -13632,7 +13688,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13632
13688
|
}
|
|
13633
13689
|
} else if (subcommand === "spawn") {
|
|
13634
13690
|
try {
|
|
13635
|
-
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-
|
|
13691
|
+
const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-DE7WhS8Y.cjs'); });
|
|
13636
13692
|
await handleSpawnCommand(args.slice(1));
|
|
13637
13693
|
} catch (error) {
|
|
13638
13694
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -13644,7 +13700,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13644
13700
|
return;
|
|
13645
13701
|
} else if (subcommand === "send") {
|
|
13646
13702
|
try {
|
|
13647
|
-
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-
|
|
13703
|
+
const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-DkKOPatx.cjs'); });
|
|
13648
13704
|
await handleSendCommand(args.slice(1));
|
|
13649
13705
|
} catch (error) {
|
|
13650
13706
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -13750,9 +13806,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13750
13806
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
13751
13807
|
const projectId = args[3];
|
|
13752
13808
|
try {
|
|
13753
|
-
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
13754
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-
|
|
13755
|
-
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-
|
|
13809
|
+
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-C4NCw7Dz.cjs'); });
|
|
13810
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./types-ClDADuxP.cjs'); }).then(function (n) { return n.persistence; });
|
|
13811
|
+
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./types-ClDADuxP.cjs'); }).then(function (n) { return n.api; });
|
|
13756
13812
|
let userEmail = void 0;
|
|
13757
13813
|
try {
|
|
13758
13814
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -13783,7 +13839,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13783
13839
|
}
|
|
13784
13840
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
13785
13841
|
try {
|
|
13786
|
-
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-
|
|
13842
|
+
const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-C4NCw7Dz.cjs'); });
|
|
13787
13843
|
const config = readGeminiLocalConfig();
|
|
13788
13844
|
if (config.googleCloudProject) {
|
|
13789
13845
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -13823,7 +13879,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13823
13879
|
process.exit(0);
|
|
13824
13880
|
}
|
|
13825
13881
|
try {
|
|
13826
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
13882
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-Dnvd2gWq.cjs'); });
|
|
13827
13883
|
let startedBy = void 0;
|
|
13828
13884
|
for (let i = 1; i < args.length; i++) {
|
|
13829
13885
|
if (args[i] === "--started-by") {
|
|
@@ -13845,7 +13901,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13845
13901
|
return;
|
|
13846
13902
|
} else if (subcommand === "acp") {
|
|
13847
13903
|
try {
|
|
13848
|
-
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-
|
|
13904
|
+
const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-C1HIm7NY.cjs'); });
|
|
13849
13905
|
let startedBy = void 0;
|
|
13850
13906
|
let verbose = false;
|
|
13851
13907
|
const acpArgs = [];
|
|
@@ -13885,7 +13941,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13885
13941
|
return;
|
|
13886
13942
|
} else if (subcommand === "openclaw") {
|
|
13887
13943
|
try {
|
|
13888
|
-
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-
|
|
13944
|
+
const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-CnuTBNQW.cjs'); });
|
|
13889
13945
|
let startedBy = void 0;
|
|
13890
13946
|
let verbose = false;
|
|
13891
13947
|
let gatewayUrl;
|
|
@@ -13936,7 +13992,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
13936
13992
|
return;
|
|
13937
13993
|
} else if (subcommand === "mcp" && args.length === 1) {
|
|
13938
13994
|
try {
|
|
13939
|
-
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-
|
|
13995
|
+
const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-DcRvswVI.cjs'); });
|
|
13940
13996
|
await handleMcpCommand();
|
|
13941
13997
|
} catch (error) {
|
|
13942
13998
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|