very-happy-cli 0.2.96 → 0.2.98
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-B5Eh8G3W.mjs → AcpBackend-BXiGiFC7.mjs} +1 -1
- package/dist/{AcpBackend-BaCt4_zS.cjs → AcpBackend-DhR8ml8L.cjs} +1 -1
- package/dist/{AcpSessionManager-grr_aJEI.mjs → AcpSessionManager-CDnrxAfQ.mjs} +1 -1
- package/dist/{AcpSessionManager-CvgmPlXB.cjs → AcpSessionManager-Ckc0NFmf.cjs} +1 -1
- package/dist/{config-B69TZlJj.mjs → config-B3pA9YsN.mjs} +3 -3
- package/dist/{config-BjsUeQPA.cjs → config-GJQc_kpD.cjs} +3 -3
- package/dist/{index-DID1FV_n.cjs → index-BBm2b34F.cjs} +5 -5
- package/dist/{index-C-uJXSm3.mjs → index-Bh5Rcy0s.mjs} +6 -6
- package/dist/{index-uc-dtu-3.cjs → index-CO1gNtuP.cjs} +528 -25
- package/dist/{index-BMmbxCTq.mjs → index-CuUVSZnK.mjs} +527 -24
- package/dist/index.cjs +3 -3
- package/dist/index.mjs +3 -3
- package/dist/{installTerminalHooks-CepXxAM_.cjs → installTerminalHooks-Cp9JVxQ-.cjs} +3 -3
- package/dist/{installTerminalHooks-CBHjEQ-a.mjs → installTerminalHooks-Ru0dn_zF.mjs} +3 -3
- package/dist/lib.cjs +1 -1
- package/dist/lib.d.cts +77 -0
- package/dist/lib.d.mts +77 -0
- package/dist/lib.mjs +1 -1
- package/dist/{mcp-CAtbtTXF.cjs → mcp-B5HMF24K.cjs} +3 -3
- package/dist/{mcp-BdSHqi2d.mjs → mcp-CQoVN0u2.mjs} +3 -3
- package/dist/{runGemini-qStPY5fH.cjs → runGemini-BBzPVzuc.cjs} +5 -5
- package/dist/{runGemini-cMZ3_CRf.mjs → runGemini-CwZXQsgu.mjs} +5 -5
- package/dist/{runOpenClaw-B8HR6GnX.cjs → runOpenClaw-B4nC6XGL.cjs} +4 -4
- package/dist/{runOpenClaw-BJ36wEbk.mjs → runOpenClaw-C-jz4rWr.mjs} +4 -4
- package/dist/{send-6eY55o3C.cjs → send-CWgaINHC.cjs} +3 -3
- package/dist/{send-TX13v8Xe.mjs → send-DN-nVBEI.mjs} +3 -3
- package/dist/{spawn-vOZA0kOi.cjs → spawn-C0NSP84Y.cjs} +3 -3
- package/dist/{spawn-CfCE6JAv.mjs → spawn-CqcfbOnk.mjs} +3 -3
- package/dist/{types-okYCRlgl.cjs → types-BP-4phS_.cjs} +358 -72
- package/dist/{types-CLRl0ET3.mjs → types-Cl4vWuDY.mjs} +356 -72
- package/package.json +7 -7
- package/scripts/shims/keychain-off/security +51 -0
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('chalk');
|
|
4
|
-
require('./index-
|
|
5
|
-
require('./types-
|
|
4
|
+
require('./index-CO1gNtuP.cjs');
|
|
5
|
+
require('./types-BP-4phS_.cjs');
|
|
6
6
|
require('zod');
|
|
7
7
|
require('node:child_process');
|
|
8
8
|
require('node:os');
|
|
@@ -34,11 +34,11 @@ require('tmp');
|
|
|
34
34
|
require('open');
|
|
35
35
|
require('fastify');
|
|
36
36
|
require('fastify-type-provider-zod');
|
|
37
|
+
require('node:module');
|
|
37
38
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
38
39
|
require('node:http');
|
|
39
40
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
40
41
|
require('./limits-KdWKmwtH.cjs');
|
|
41
|
-
require('node:module');
|
|
42
42
|
require('http');
|
|
43
43
|
require('util');
|
|
44
44
|
require('inquirer');
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'chalk';
|
|
2
|
-
import './index-
|
|
3
|
-
import './types-
|
|
2
|
+
import './index-CuUVSZnK.mjs';
|
|
3
|
+
import './types-Cl4vWuDY.mjs';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'node:child_process';
|
|
6
6
|
import 'node:os';
|
|
@@ -32,11 +32,11 @@ import 'tmp';
|
|
|
32
32
|
import 'open';
|
|
33
33
|
import 'fastify';
|
|
34
34
|
import 'fastify-type-provider-zod';
|
|
35
|
+
import 'node:module';
|
|
35
36
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
36
37
|
import 'node:http';
|
|
37
38
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
38
39
|
import './limits-CwFb5S2b.mjs';
|
|
39
|
-
import 'node:module';
|
|
40
40
|
import 'http';
|
|
41
41
|
import 'util';
|
|
42
42
|
import 'inquirer';
|
|
@@ -5,8 +5,8 @@ var path = require('node:path');
|
|
|
5
5
|
var os = require('node:os');
|
|
6
6
|
var node_child_process = require('node:child_process');
|
|
7
7
|
var chalk = require('chalk');
|
|
8
|
-
var persistence = require('./types-
|
|
9
|
-
var index = require('./index-
|
|
8
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
9
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
10
10
|
require('axios');
|
|
11
11
|
require('node:util');
|
|
12
12
|
require('node:fs/promises');
|
|
@@ -39,10 +39,10 @@ require('tmp');
|
|
|
39
39
|
require('open');
|
|
40
40
|
require('fastify');
|
|
41
41
|
require('fastify-type-provider-zod');
|
|
42
|
+
require('node:module');
|
|
42
43
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
43
44
|
require('node:http');
|
|
44
45
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
45
|
-
require('node:module');
|
|
46
46
|
require('http');
|
|
47
47
|
require('inquirer');
|
|
48
48
|
require('node:url');
|
|
@@ -3,8 +3,8 @@ import { join, resolve } from 'node:path';
|
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { spawnSync } from 'node:child_process';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
|
-
import { p as projectPath } from './types-
|
|
7
|
-
import { t as tmuxSupportsSessionEnv } from './index-
|
|
6
|
+
import { p as projectPath } from './types-Cl4vWuDY.mjs';
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-CuUVSZnK.mjs';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import 'node:util';
|
|
10
10
|
import 'node:fs/promises';
|
|
@@ -37,10 +37,10 @@ import 'tmp';
|
|
|
37
37
|
import 'open';
|
|
38
38
|
import 'fastify';
|
|
39
39
|
import 'fastify-type-provider-zod';
|
|
40
|
+
import 'node:module';
|
|
40
41
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
41
42
|
import 'node:http';
|
|
42
43
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
43
|
-
import 'node:module';
|
|
44
44
|
import 'http';
|
|
45
45
|
import 'inquirer';
|
|
46
46
|
import 'node:url';
|
package/dist/lib.cjs
CHANGED
package/dist/lib.d.cts
CHANGED
|
@@ -5,6 +5,28 @@ import { EventEmitter } from 'node:events';
|
|
|
5
5
|
import { Socket } from 'socket.io-client';
|
|
6
6
|
import { ExpoPushMessage } from 'expo-server-sdk';
|
|
7
7
|
|
|
8
|
+
declare const CLAUDE_AUTH_PROBE_VERSION: 1;
|
|
9
|
+
type ClaudeAuthStatus = 'ok' | 'not-logged-in' | 'unknown' | 'error' | 'claude-missing';
|
|
10
|
+
type ClaudeAuthDiagnosis = 'keychain-empty-item' | 'store-divergence' | 'no-credentials' | 'sdk-binary-missing' | 'probe-timeout' | 'probe-crash';
|
|
11
|
+
type ClaudeAuthLineage = 'launchd' | 'inherited-env' | 'other';
|
|
12
|
+
type ClaudeCredentialStore = 'auto' | 'file';
|
|
13
|
+
interface ClaudeAuthState$1 {
|
|
14
|
+
probeVersion: typeof CLAUDE_AUTH_PROBE_VERSION;
|
|
15
|
+
daemonPid: number;
|
|
16
|
+
status: ClaudeAuthStatus;
|
|
17
|
+
authMethod?: string;
|
|
18
|
+
subscriptionType?: string;
|
|
19
|
+
diagnosis?: ClaudeAuthDiagnosis;
|
|
20
|
+
detail?: string;
|
|
21
|
+
repairable?: 'delete-empty-keychain-item';
|
|
22
|
+
context: {
|
|
23
|
+
platform: string;
|
|
24
|
+
lineage: ClaudeAuthLineage;
|
|
25
|
+
credentialStore: ClaudeCredentialStore;
|
|
26
|
+
};
|
|
27
|
+
checkedAt: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
8
30
|
declare const sessionTurnEndStatusSchema: z.ZodEnum<{
|
|
9
31
|
completed: "completed";
|
|
10
32
|
failed: "failed";
|
|
@@ -322,6 +344,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
322
344
|
mirrorSessionId: z$1.ZodOptional<z$1.ZodString>;
|
|
323
345
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
324
346
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
347
|
+
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
325
348
|
}, z$1.core.$strip>>;
|
|
326
349
|
}, z$1.core.$strip>>;
|
|
327
350
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -336,12 +359,17 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
336
359
|
}>>;
|
|
337
360
|
tags: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
338
361
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
362
|
+
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
339
363
|
closedAt: z$1.ZodNumber;
|
|
340
364
|
}, z$1.core.$strip>>>;
|
|
341
365
|
terminalRestore: z$1.ZodOptional<z$1.ZodObject<{
|
|
342
366
|
rpcAvailable: z$1.ZodBoolean;
|
|
343
367
|
detectedAt: z$1.ZodNumber;
|
|
344
368
|
}, z$1.core.$strip>>;
|
|
369
|
+
tmuxSessions: z$1.ZodOptional<z$1.ZodObject<{
|
|
370
|
+
rpcAvailable: z$1.ZodBoolean;
|
|
371
|
+
detectedAt: z$1.ZodNumber;
|
|
372
|
+
}, z$1.core.$strip>>;
|
|
345
373
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
346
374
|
currentVersion: z$1.ZodString;
|
|
347
375
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -353,8 +381,31 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
353
381
|
}>;
|
|
354
382
|
checkedAt: z$1.ZodNumber;
|
|
355
383
|
}, z$1.core.$strip>>;
|
|
384
|
+
claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
|
|
385
|
+
probeVersion: z$1.ZodNumber;
|
|
386
|
+
daemonPid: z$1.ZodNumber;
|
|
387
|
+
status: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
388
|
+
error: "error";
|
|
389
|
+
unknown: "unknown";
|
|
390
|
+
ok: "ok";
|
|
391
|
+
"not-logged-in": "not-logged-in";
|
|
392
|
+
"claude-missing": "claude-missing";
|
|
393
|
+
}>, z$1.ZodString]>;
|
|
394
|
+
authMethod: z$1.ZodOptional<z$1.ZodString>;
|
|
395
|
+
subscriptionType: z$1.ZodOptional<z$1.ZodString>;
|
|
396
|
+
diagnosis: z$1.ZodOptional<z$1.ZodString>;
|
|
397
|
+
detail: z$1.ZodOptional<z$1.ZodString>;
|
|
398
|
+
repairable: z$1.ZodOptional<z$1.ZodString>;
|
|
399
|
+
context: z$1.ZodObject<{
|
|
400
|
+
platform: z$1.ZodString;
|
|
401
|
+
lineage: z$1.ZodString;
|
|
402
|
+
credentialStore: z$1.ZodString;
|
|
403
|
+
}, z$1.core.$strip>;
|
|
404
|
+
checkedAt: z$1.ZodNumber;
|
|
405
|
+
}, z$1.core.$strip>>;
|
|
356
406
|
}, z$1.core.$strip>;
|
|
357
407
|
type DaemonState = z$1.infer<typeof DaemonStateSchema>;
|
|
408
|
+
type ClaudeAuthState = ClaudeAuthState$1;
|
|
358
409
|
type Machine = {
|
|
359
410
|
id: string;
|
|
360
411
|
encryptionKey: Uint8Array;
|
|
@@ -826,6 +877,7 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
826
877
|
} | {
|
|
827
878
|
type: 'message';
|
|
828
879
|
message: string;
|
|
880
|
+
kind?: string;
|
|
829
881
|
} | {
|
|
830
882
|
type: 'permission-mode-changed';
|
|
831
883
|
mode: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
|
|
@@ -1073,6 +1125,10 @@ interface TerminalListItem {
|
|
|
1073
1125
|
/** B-265: `@vh_title_manual` is set — carried into close records so a
|
|
1074
1126
|
* restore can put the flag back (old webs ignore it). */
|
|
1075
1127
|
manual?: boolean;
|
|
1128
|
+
/** B-273: this terminal was opened to attach the user's tmux session of
|
|
1129
|
+
* this NAME (`@vh_attach`). Carried into close records so a manual
|
|
1130
|
+
* restore re-attaches; old webs ignore it. */
|
|
1131
|
+
attachTmux?: string;
|
|
1076
1132
|
}
|
|
1077
1133
|
|
|
1078
1134
|
/**
|
|
@@ -1108,6 +1164,7 @@ declare class ApiMachineClient {
|
|
|
1108
1164
|
private lastKnownResumeSupport;
|
|
1109
1165
|
private cliUpdateState;
|
|
1110
1166
|
private cliUpdatePushChain;
|
|
1167
|
+
private claudeAuthState;
|
|
1111
1168
|
private rpcHandlerManager;
|
|
1112
1169
|
private resumeSessionHandler;
|
|
1113
1170
|
private restartSessionHandler;
|
|
@@ -1136,6 +1193,26 @@ declare class ApiMachineClient {
|
|
|
1136
1193
|
/** Cache the latest relay policy locally and publish it now or on the next
|
|
1137
1194
|
* socket connect. This makes startup/offline races harmless. */
|
|
1138
1195
|
setCliUpdateState(state: CliUpdateState | null): void;
|
|
1196
|
+
/**
|
|
1197
|
+
* B-276: publish the daemon-context Claude auth preflight into daemonState
|
|
1198
|
+
* (same serialized push chain as the CLI update policy). Resolves true when
|
|
1199
|
+
* the server acknowledged the write with our value in it, false otherwise
|
|
1200
|
+
* (rate-limit `result:'error'` is swallowed by updateDaemonState, so the
|
|
1201
|
+
* caller checks the echoed state and re-sends on the next probe).
|
|
1202
|
+
*/
|
|
1203
|
+
setClaudeAuthState(state: ClaudeAuthState): Promise<boolean>;
|
|
1204
|
+
/** B-276 machine RPCs. Responses always carry `claudeAuth` so the web can refresh in place. */
|
|
1205
|
+
setClaudeAuthHandlers(handlers: {
|
|
1206
|
+
probe: () => Promise<ClaudeAuthState>;
|
|
1207
|
+
repair: (action: string) => Promise<{
|
|
1208
|
+
ok: true;
|
|
1209
|
+
claudeAuth: ClaudeAuthState;
|
|
1210
|
+
} | {
|
|
1211
|
+
error: string;
|
|
1212
|
+
claudeAuth: ClaudeAuthState | null;
|
|
1213
|
+
}>;
|
|
1214
|
+
setStore: (store: 'auto' | 'file') => Promise<ClaudeAuthState>;
|
|
1215
|
+
}): void;
|
|
1139
1216
|
setRPCHandlers({ spawnSession, resumeSession, restartSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1140
1217
|
private syncRestartSessionRpcRegistration;
|
|
1141
1218
|
private syncResumeSessionRpcRegistration;
|
package/dist/lib.d.mts
CHANGED
|
@@ -5,6 +5,28 @@ import { EventEmitter } from 'node:events';
|
|
|
5
5
|
import { Socket } from 'socket.io-client';
|
|
6
6
|
import { ExpoPushMessage } from 'expo-server-sdk';
|
|
7
7
|
|
|
8
|
+
declare const CLAUDE_AUTH_PROBE_VERSION: 1;
|
|
9
|
+
type ClaudeAuthStatus = 'ok' | 'not-logged-in' | 'unknown' | 'error' | 'claude-missing';
|
|
10
|
+
type ClaudeAuthDiagnosis = 'keychain-empty-item' | 'store-divergence' | 'no-credentials' | 'sdk-binary-missing' | 'probe-timeout' | 'probe-crash';
|
|
11
|
+
type ClaudeAuthLineage = 'launchd' | 'inherited-env' | 'other';
|
|
12
|
+
type ClaudeCredentialStore = 'auto' | 'file';
|
|
13
|
+
interface ClaudeAuthState$1 {
|
|
14
|
+
probeVersion: typeof CLAUDE_AUTH_PROBE_VERSION;
|
|
15
|
+
daemonPid: number;
|
|
16
|
+
status: ClaudeAuthStatus;
|
|
17
|
+
authMethod?: string;
|
|
18
|
+
subscriptionType?: string;
|
|
19
|
+
diagnosis?: ClaudeAuthDiagnosis;
|
|
20
|
+
detail?: string;
|
|
21
|
+
repairable?: 'delete-empty-keychain-item';
|
|
22
|
+
context: {
|
|
23
|
+
platform: string;
|
|
24
|
+
lineage: ClaudeAuthLineage;
|
|
25
|
+
credentialStore: ClaudeCredentialStore;
|
|
26
|
+
};
|
|
27
|
+
checkedAt: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
8
30
|
declare const sessionTurnEndStatusSchema: z.ZodEnum<{
|
|
9
31
|
completed: "completed";
|
|
10
32
|
failed: "failed";
|
|
@@ -322,6 +344,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
322
344
|
mirrorSessionId: z$1.ZodOptional<z$1.ZodString>;
|
|
323
345
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
324
346
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
347
|
+
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
325
348
|
}, z$1.core.$strip>>;
|
|
326
349
|
}, z$1.core.$strip>>;
|
|
327
350
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -336,12 +359,17 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
336
359
|
}>>;
|
|
337
360
|
tags: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
338
361
|
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
362
|
+
attachTmux: z$1.ZodOptional<z$1.ZodString>;
|
|
339
363
|
closedAt: z$1.ZodNumber;
|
|
340
364
|
}, z$1.core.$strip>>>;
|
|
341
365
|
terminalRestore: z$1.ZodOptional<z$1.ZodObject<{
|
|
342
366
|
rpcAvailable: z$1.ZodBoolean;
|
|
343
367
|
detectedAt: z$1.ZodNumber;
|
|
344
368
|
}, z$1.core.$strip>>;
|
|
369
|
+
tmuxSessions: z$1.ZodOptional<z$1.ZodObject<{
|
|
370
|
+
rpcAvailable: z$1.ZodBoolean;
|
|
371
|
+
detectedAt: z$1.ZodNumber;
|
|
372
|
+
}, z$1.core.$strip>>;
|
|
345
373
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
346
374
|
currentVersion: z$1.ZodString;
|
|
347
375
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -353,8 +381,31 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
353
381
|
}>;
|
|
354
382
|
checkedAt: z$1.ZodNumber;
|
|
355
383
|
}, z$1.core.$strip>>;
|
|
384
|
+
claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
|
|
385
|
+
probeVersion: z$1.ZodNumber;
|
|
386
|
+
daemonPid: z$1.ZodNumber;
|
|
387
|
+
status: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
388
|
+
error: "error";
|
|
389
|
+
unknown: "unknown";
|
|
390
|
+
ok: "ok";
|
|
391
|
+
"not-logged-in": "not-logged-in";
|
|
392
|
+
"claude-missing": "claude-missing";
|
|
393
|
+
}>, z$1.ZodString]>;
|
|
394
|
+
authMethod: z$1.ZodOptional<z$1.ZodString>;
|
|
395
|
+
subscriptionType: z$1.ZodOptional<z$1.ZodString>;
|
|
396
|
+
diagnosis: z$1.ZodOptional<z$1.ZodString>;
|
|
397
|
+
detail: z$1.ZodOptional<z$1.ZodString>;
|
|
398
|
+
repairable: z$1.ZodOptional<z$1.ZodString>;
|
|
399
|
+
context: z$1.ZodObject<{
|
|
400
|
+
platform: z$1.ZodString;
|
|
401
|
+
lineage: z$1.ZodString;
|
|
402
|
+
credentialStore: z$1.ZodString;
|
|
403
|
+
}, z$1.core.$strip>;
|
|
404
|
+
checkedAt: z$1.ZodNumber;
|
|
405
|
+
}, z$1.core.$strip>>;
|
|
356
406
|
}, z$1.core.$strip>;
|
|
357
407
|
type DaemonState = z$1.infer<typeof DaemonStateSchema>;
|
|
408
|
+
type ClaudeAuthState = ClaudeAuthState$1;
|
|
358
409
|
type Machine = {
|
|
359
410
|
id: string;
|
|
360
411
|
encryptionKey: Uint8Array;
|
|
@@ -826,6 +877,7 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
826
877
|
} | {
|
|
827
878
|
type: 'message';
|
|
828
879
|
message: string;
|
|
880
|
+
kind?: string;
|
|
829
881
|
} | {
|
|
830
882
|
type: 'permission-mode-changed';
|
|
831
883
|
mode: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
|
|
@@ -1073,6 +1125,10 @@ interface TerminalListItem {
|
|
|
1073
1125
|
/** B-265: `@vh_title_manual` is set — carried into close records so a
|
|
1074
1126
|
* restore can put the flag back (old webs ignore it). */
|
|
1075
1127
|
manual?: boolean;
|
|
1128
|
+
/** B-273: this terminal was opened to attach the user's tmux session of
|
|
1129
|
+
* this NAME (`@vh_attach`). Carried into close records so a manual
|
|
1130
|
+
* restore re-attaches; old webs ignore it. */
|
|
1131
|
+
attachTmux?: string;
|
|
1076
1132
|
}
|
|
1077
1133
|
|
|
1078
1134
|
/**
|
|
@@ -1108,6 +1164,7 @@ declare class ApiMachineClient {
|
|
|
1108
1164
|
private lastKnownResumeSupport;
|
|
1109
1165
|
private cliUpdateState;
|
|
1110
1166
|
private cliUpdatePushChain;
|
|
1167
|
+
private claudeAuthState;
|
|
1111
1168
|
private rpcHandlerManager;
|
|
1112
1169
|
private resumeSessionHandler;
|
|
1113
1170
|
private restartSessionHandler;
|
|
@@ -1136,6 +1193,26 @@ declare class ApiMachineClient {
|
|
|
1136
1193
|
/** Cache the latest relay policy locally and publish it now or on the next
|
|
1137
1194
|
* socket connect. This makes startup/offline races harmless. */
|
|
1138
1195
|
setCliUpdateState(state: CliUpdateState | null): void;
|
|
1196
|
+
/**
|
|
1197
|
+
* B-276: publish the daemon-context Claude auth preflight into daemonState
|
|
1198
|
+
* (same serialized push chain as the CLI update policy). Resolves true when
|
|
1199
|
+
* the server acknowledged the write with our value in it, false otherwise
|
|
1200
|
+
* (rate-limit `result:'error'` is swallowed by updateDaemonState, so the
|
|
1201
|
+
* caller checks the echoed state and re-sends on the next probe).
|
|
1202
|
+
*/
|
|
1203
|
+
setClaudeAuthState(state: ClaudeAuthState): Promise<boolean>;
|
|
1204
|
+
/** B-276 machine RPCs. Responses always carry `claudeAuth` so the web can refresh in place. */
|
|
1205
|
+
setClaudeAuthHandlers(handlers: {
|
|
1206
|
+
probe: () => Promise<ClaudeAuthState>;
|
|
1207
|
+
repair: (action: string) => Promise<{
|
|
1208
|
+
ok: true;
|
|
1209
|
+
claudeAuth: ClaudeAuthState;
|
|
1210
|
+
} | {
|
|
1211
|
+
error: string;
|
|
1212
|
+
claudeAuth: ClaudeAuthState | null;
|
|
1213
|
+
}>;
|
|
1214
|
+
setStore: (store: 'auto' | 'file') => Promise<ClaudeAuthState>;
|
|
1215
|
+
}): void;
|
|
1139
1216
|
setRPCHandlers({ spawnSession, resumeSession, restartSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1140
1217
|
private syncRestartSessionRpcRegistration;
|
|
1141
1218
|
private syncResumeSessionRpcRegistration;
|
package/dist/lib.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema, c as configuration, l as logger } from './types-Cl4vWuDY.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'chalk';
|
|
4
4
|
import 'node:util';
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
4
4
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
5
5
|
var z = require('zod');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
7
7
|
var limits = require('./limits-KdWKmwtH.cjs');
|
|
8
|
-
var persistence = require('./types-
|
|
8
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:crypto');
|
|
@@ -37,9 +37,9 @@ require('tmp');
|
|
|
37
37
|
require('open');
|
|
38
38
|
require('fastify');
|
|
39
39
|
require('fastify-type-provider-zod');
|
|
40
|
+
require('node:module');
|
|
40
41
|
require('node:http');
|
|
41
42
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
42
|
-
require('node:module');
|
|
43
43
|
require('http');
|
|
44
44
|
require('util');
|
|
45
45
|
require('inquirer');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { p as pushClipboardViaDaemon } from './index-
|
|
4
|
+
import { p as pushClipboardViaDaemon } from './index-CuUVSZnK.mjs';
|
|
5
5
|
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-CwFb5S2b.mjs';
|
|
6
|
-
import { l as logger } from './types-
|
|
6
|
+
import { l as logger } from './types-Cl4vWuDY.mjs';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:crypto';
|
|
@@ -35,9 +35,9 @@ import 'tmp';
|
|
|
35
35
|
import 'open';
|
|
36
36
|
import 'fastify';
|
|
37
37
|
import 'fastify-type-provider-zod';
|
|
38
|
+
import 'node:module';
|
|
38
39
|
import 'node:http';
|
|
39
40
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
40
|
-
import 'node:module';
|
|
41
41
|
import 'http';
|
|
42
42
|
import 'util';
|
|
43
43
|
import 'inquirer';
|
|
@@ -4,10 +4,10 @@ var ink = require('ink');
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
6
|
var path = require('node:path');
|
|
7
|
-
var persistence = require('./types-
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
var AcpBackend = require('./AcpBackend-
|
|
10
|
-
var config = require('./config-
|
|
7
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
8
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
9
|
+
var AcpBackend = require('./AcpBackend-DhR8ml8L.cjs');
|
|
10
|
+
var config = require('./config-GJQc_kpD.cjs');
|
|
11
11
|
require('axios');
|
|
12
12
|
require('chalk');
|
|
13
13
|
require('node:util');
|
|
@@ -41,10 +41,10 @@ require('tmp');
|
|
|
41
41
|
require('open');
|
|
42
42
|
require('fastify');
|
|
43
43
|
require('fastify-type-provider-zod');
|
|
44
|
+
require('node:module');
|
|
44
45
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
45
46
|
require('node:http');
|
|
46
47
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
47
|
-
require('node:module');
|
|
48
48
|
require('http');
|
|
49
49
|
require('inquirer');
|
|
50
50
|
require('node:url');
|
|
@@ -2,10 +2,10 @@ import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
|
2
2
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
-
import { l as logger, h as connectionState, A as ApiClient, i as readSettings, e as errorLogMetadata, j as encodeBase64, p as projectPath, d as contentLogMetadata } from './types-
|
|
6
|
-
import { g as GEMINI_API_KEY_ENV, j as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, B as BasePermissionHandler, k as BaseReasoningProcessor, i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, l as MessageBuffer, C as CHANGE_TITLE_INSTRUCTION, r as registerKillSessionHandler, f as startHappyServer } from './index-
|
|
7
|
-
import { A as AcpBackend } from './AcpBackend-
|
|
8
|
-
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-
|
|
5
|
+
import { l as logger, h as connectionState, A as ApiClient, i as readSettings, e as errorLogMetadata, j as encodeBase64, p as projectPath, d as contentLogMetadata } from './types-Cl4vWuDY.mjs';
|
|
6
|
+
import { g as GEMINI_API_KEY_ENV, j as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, B as BasePermissionHandler, k as BaseReasoningProcessor, i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, h as hashObject, l as MessageBuffer, C as CHANGE_TITLE_INSTRUCTION, r as registerKillSessionHandler, f as startHappyServer } from './index-CuUVSZnK.mjs';
|
|
7
|
+
import { A as AcpBackend } from './AcpBackend-BXiGiFC7.mjs';
|
|
8
|
+
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-B3pA9YsN.mjs';
|
|
9
9
|
import 'axios';
|
|
10
10
|
import 'chalk';
|
|
11
11
|
import 'node:util';
|
|
@@ -39,10 +39,10 @@ import 'tmp';
|
|
|
39
39
|
import 'open';
|
|
40
40
|
import 'fastify';
|
|
41
41
|
import 'fastify-type-provider-zod';
|
|
42
|
+
import 'node:module';
|
|
42
43
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
43
44
|
import 'node:http';
|
|
44
45
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
45
|
-
import 'node:module';
|
|
46
46
|
import 'http';
|
|
47
47
|
import 'inquirer';
|
|
48
48
|
import 'node:url';
|
|
@@ -5,9 +5,9 @@ var node_child_process = require('node:child_process');
|
|
|
5
5
|
var os = require('node:os');
|
|
6
6
|
var node_fs = require('node:fs');
|
|
7
7
|
var path = require('node:path');
|
|
8
|
-
var persistence = require('./types-
|
|
9
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
10
|
-
var index = require('./index-
|
|
8
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
9
|
+
var AcpSessionManager = require('./AcpSessionManager-Ckc0NFmf.cjs');
|
|
10
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
11
11
|
var WebSocket = require('ws');
|
|
12
12
|
var ed = require('@noble/ed25519');
|
|
13
13
|
var sha2_js = require('@noble/hashes/sha2.js');
|
|
@@ -43,10 +43,10 @@ require('tmp');
|
|
|
43
43
|
require('open');
|
|
44
44
|
require('fastify');
|
|
45
45
|
require('fastify-type-provider-zod');
|
|
46
|
+
require('node:module');
|
|
46
47
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
47
48
|
require('node:http');
|
|
48
49
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
49
|
-
require('node:module');
|
|
50
50
|
require('http');
|
|
51
51
|
require('inquirer');
|
|
52
52
|
require('node:url');
|
|
@@ -3,9 +3,9 @@ import { execFileSync } from 'node:child_process';
|
|
|
3
3
|
import os from 'node:os';
|
|
4
4
|
import { existsSync, readFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
|
-
import { k as ensurePrivateDirectorySync, m as hardenPrivateFileSync, w as writePrivateFileSync, e as errorLogMetadata, d as contentLogMetadata, h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, c as configuration } from './types-
|
|
7
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
8
|
-
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-
|
|
6
|
+
import { k as ensurePrivateDirectorySync, m as hardenPrivateFileSync, w as writePrivateFileSync, e as errorLogMetadata, d as contentLogMetadata, h as connectionState, A as ApiClient, i as readSettings, j as encodeBase64, l as logger, c as configuration } from './types-Cl4vWuDY.mjs';
|
|
7
|
+
import { A as AcpSessionManager } from './AcpSessionManager-CDnrxAfQ.mjs';
|
|
8
|
+
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-CuUVSZnK.mjs';
|
|
9
9
|
import WebSocket from 'ws';
|
|
10
10
|
import * as ed from '@noble/ed25519';
|
|
11
11
|
import { sha512 } from '@noble/hashes/sha2.js';
|
|
@@ -41,10 +41,10 @@ import 'tmp';
|
|
|
41
41
|
import 'open';
|
|
42
42
|
import 'fastify';
|
|
43
43
|
import 'fastify-type-provider-zod';
|
|
44
|
+
import 'node:module';
|
|
44
45
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
45
46
|
import 'node:http';
|
|
46
47
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
47
|
-
import 'node:module';
|
|
48
48
|
import 'http';
|
|
49
49
|
import 'inquirer';
|
|
50
50
|
import 'node:url';
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var persistence = require('./types-
|
|
7
|
-
var index = require('./index-
|
|
6
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
7
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
8
8
|
require('axios');
|
|
9
9
|
require('node:util');
|
|
10
10
|
require('node:os');
|
|
@@ -39,10 +39,10 @@ require('tmp');
|
|
|
39
39
|
require('open');
|
|
40
40
|
require('fastify');
|
|
41
41
|
require('fastify-type-provider-zod');
|
|
42
|
+
require('node:module');
|
|
42
43
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
43
44
|
require('node:http');
|
|
44
45
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
45
|
-
require('node:module');
|
|
46
46
|
require('http');
|
|
47
47
|
require('inquirer');
|
|
48
48
|
require('node:url');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
|
-
import { r as readPersistedSessions, c as configuration } from './types-
|
|
5
|
-
import { b as sendUserMessage, a as sessionWebUrl } from './index-
|
|
4
|
+
import { r as readPersistedSessions, c as configuration } from './types-Cl4vWuDY.mjs';
|
|
5
|
+
import { b as sendUserMessage, a as sessionWebUrl } from './index-CuUVSZnK.mjs';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'node:util';
|
|
8
8
|
import 'node:os';
|
|
@@ -37,10 +37,10 @@ import 'tmp';
|
|
|
37
37
|
import 'open';
|
|
38
38
|
import 'fastify';
|
|
39
39
|
import 'fastify-type-provider-zod';
|
|
40
|
+
import 'node:module';
|
|
40
41
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
41
42
|
import 'node:http';
|
|
42
43
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
43
|
-
import 'node:module';
|
|
44
44
|
import 'http';
|
|
45
45
|
import 'inquirer';
|
|
46
46
|
import 'node:url';
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var persistence = require('./types-
|
|
6
|
+
var index = require('./index-CO1gNtuP.cjs');
|
|
7
|
+
var persistence = require('./types-BP-4phS_.cjs');
|
|
8
8
|
require('node:os');
|
|
9
9
|
require('node:crypto');
|
|
10
10
|
require('cross-spawn');
|
|
@@ -34,11 +34,11 @@ require('open');
|
|
|
34
34
|
require('fastify');
|
|
35
35
|
require('zod');
|
|
36
36
|
require('fastify-type-provider-zod');
|
|
37
|
+
require('node:module');
|
|
37
38
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
38
39
|
require('node:http');
|
|
39
40
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
40
41
|
require('./limits-KdWKmwtH.cjs');
|
|
41
|
-
require('node:module');
|
|
42
42
|
require('http');
|
|
43
43
|
require('util');
|
|
44
44
|
require('inquirer');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { readFileSync, statSync } from 'node:fs';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
|
-
import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-
|
|
5
|
-
import { l as logger } from './types-
|
|
4
|
+
import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, w as waitForSessionKey, b as sendUserMessage } from './index-CuUVSZnK.mjs';
|
|
5
|
+
import { l as logger } from './types-Cl4vWuDY.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:crypto';
|
|
8
8
|
import 'cross-spawn';
|
|
@@ -32,11 +32,11 @@ import 'open';
|
|
|
32
32
|
import 'fastify';
|
|
33
33
|
import 'zod';
|
|
34
34
|
import 'fastify-type-provider-zod';
|
|
35
|
+
import 'node:module';
|
|
35
36
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
36
37
|
import 'node:http';
|
|
37
38
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
38
39
|
import './limits-CwFb5S2b.mjs';
|
|
39
|
-
import 'node:module';
|
|
40
40
|
import 'http';
|
|
41
41
|
import 'util';
|
|
42
42
|
import 'inquirer';
|