very-happy-cli 0.2.91 → 0.2.92
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-GqveWg8u.cjs → AcpBackend-BP7id8L6.cjs} +1 -1
- package/dist/{AcpBackend-B5RRlzLU.mjs → AcpBackend-DDEsgc1c.mjs} +1 -1
- package/dist/{AcpSessionManager-Ij1pI5Ex.mjs → AcpSessionManager-C29t6wb_.mjs} +1 -1
- package/dist/{AcpSessionManager-YcrSZwvq.cjs → AcpSessionManager-Cys1Hsb8.cjs} +1 -1
- package/dist/{config-C4NCw7Dz.cjs → config-B77vhdwT.cjs} +2 -2
- package/dist/{config-ra8iKxdU.mjs → config-CJQw0z1o.mjs} +2 -2
- package/dist/{index-UCYD5Wk3.mjs → index-8LDXVYWi.mjs} +337 -35
- package/dist/{index-FkXJNwiy.cjs → index-B63Vjt4W.cjs} +353 -51
- package/dist/{index-CB5H7YI6.mjs → index-BP9pfzdZ.mjs} +5 -5
- package/dist/{index-C1HIm7NY.cjs → index-L3o5Gz-2.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{installTerminalHooks-CoK5wNcA.cjs → installTerminalHooks-BBc2nij4.cjs} +2 -2
- package/dist/{installTerminalHooks-TkkGzzbI.mjs → installTerminalHooks-DDRrUG_n.mjs} +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.d.cts +69 -3
- package/dist/lib.d.mts +69 -3
- package/dist/lib.mjs +1 -1
- package/dist/{mcp-C3MiqObi.mjs → mcp-CYJAl5pk.mjs} +2 -2
- package/dist/{mcp-DcRvswVI.cjs → mcp-DbYXyw1U.cjs} +2 -2
- package/dist/{runGemini-Dnvd2gWq.cjs → runGemini-BDSWSID6.cjs} +4 -4
- package/dist/{runGemini-BbC0uwUj.mjs → runGemini-DHYs_Beq.mjs} +4 -4
- package/dist/{runOpenClaw-CnuTBNQW.cjs → runOpenClaw-DC9gb1bd.cjs} +3 -3
- package/dist/{runOpenClaw--nbqTW3K.mjs → runOpenClaw-DTaXxvNd.mjs} +3 -3
- package/dist/{send-DkKOPatx.cjs → send-BEdGwmA-.cjs} +2 -2
- package/dist/{send-9nJxn09Y.mjs → send-BQSaVz9r.mjs} +2 -2
- package/dist/{spawn-DE7WhS8Y.cjs → spawn-CK1ma_qc.cjs} +2 -2
- package/dist/{spawn-CRW4ioms.mjs → spawn-DS-Uz_Hw.mjs} +2 -2
- package/dist/{types-BKyjG23_.mjs → types-B_8X_rZk.mjs} +328 -85
- package/dist/{types-ClDADuxP.cjs → types-CjlB_fKT.cjs} +329 -85
- package/package.json +7 -7
package/dist/index.mjs
CHANGED
|
@@ -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-CjlB_fKT.cjs');
|
|
9
|
+
var index = require('./index-B63Vjt4W.cjs');
|
|
10
10
|
require('axios');
|
|
11
11
|
require('node:util');
|
|
12
12
|
require('node:fs/promises');
|
|
@@ -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-B_8X_rZk.mjs';
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-8LDXVYWi.mjs';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import 'node:util';
|
|
10
10
|
import 'node:fs/promises';
|
package/dist/lib.cjs
CHANGED
package/dist/lib.d.cts
CHANGED
|
@@ -321,6 +321,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
321
321
|
}>>;
|
|
322
322
|
mirrorSessionId: z$1.ZodOptional<z$1.ZodString>;
|
|
323
323
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
324
|
+
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
324
325
|
}, z$1.core.$strip>>;
|
|
325
326
|
}, z$1.core.$strip>>;
|
|
326
327
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -333,8 +334,14 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
333
334
|
closed: "closed";
|
|
334
335
|
"daemon-gap": "daemon-gap";
|
|
335
336
|
}>>;
|
|
337
|
+
tags: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
338
|
+
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
336
339
|
closedAt: z$1.ZodNumber;
|
|
337
340
|
}, z$1.core.$strip>>>;
|
|
341
|
+
terminalRestore: z$1.ZodOptional<z$1.ZodObject<{
|
|
342
|
+
rpcAvailable: z$1.ZodBoolean;
|
|
343
|
+
detectedAt: z$1.ZodNumber;
|
|
344
|
+
}, z$1.core.$strip>>;
|
|
338
345
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
339
346
|
currentVersion: z$1.ZodString;
|
|
340
347
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -725,7 +732,14 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
725
732
|
private readonly directInboundLocalIds;
|
|
726
733
|
private readonly routedInboundLocalIds;
|
|
727
734
|
private handoverInFlight;
|
|
728
|
-
|
|
735
|
+
/** B-265 reconnect: the message cursor was seeded from the server, so
|
|
736
|
+
* nothing before it is history to replay — but socket fast-path routing
|
|
737
|
+
* must wait for the first fetch, otherwise a message that lands between
|
|
738
|
+
* the seed and the first fetch is routed twice (socket + fetch). */
|
|
739
|
+
private awaitingInitialFetch;
|
|
740
|
+
constructor(token: string, session: Session, opts?: {
|
|
741
|
+
initialSeq?: number;
|
|
742
|
+
});
|
|
729
743
|
private createControlSocket;
|
|
730
744
|
private startReleaseHandover;
|
|
731
745
|
private releaseHandover;
|
|
@@ -1050,6 +1064,9 @@ interface TerminalListItem {
|
|
|
1050
1064
|
* the claude conversation carried over. The web badges it until the user
|
|
1051
1065
|
* opens it once; the mark is daemon-local and never persisted. */
|
|
1052
1066
|
restoredAt?: number;
|
|
1067
|
+
/** B-265: `@vh_title_manual` is set — carried into close records so a
|
|
1068
|
+
* restore can put the flag back (old webs ignore it). */
|
|
1069
|
+
manual?: boolean;
|
|
1053
1070
|
}
|
|
1054
1071
|
|
|
1055
1072
|
/**
|
|
@@ -1063,6 +1080,11 @@ type MachineRpcHandlers = {
|
|
|
1063
1080
|
model?: string;
|
|
1064
1081
|
permissionMode?: string;
|
|
1065
1082
|
}) => Promise<SpawnSessionResult>;
|
|
1083
|
+
/** B-264: stop a live-but-broken wrapper and relaunch it on the current CLI. */
|
|
1084
|
+
restartSession?: (sessionId: string, options?: {
|
|
1085
|
+
model?: string;
|
|
1086
|
+
permissionMode?: string;
|
|
1087
|
+
}) => Promise<SpawnSessionResult>;
|
|
1066
1088
|
stopSession: (sessionId: string) => boolean;
|
|
1067
1089
|
listTrackedSessionIds?: () => string[];
|
|
1068
1090
|
requestShutdown: () => void;
|
|
@@ -1082,6 +1104,7 @@ declare class ApiMachineClient {
|
|
|
1082
1104
|
private cliUpdatePushChain;
|
|
1083
1105
|
private rpcHandlerManager;
|
|
1084
1106
|
private resumeSessionHandler;
|
|
1107
|
+
private restartSessionHandler;
|
|
1085
1108
|
private stopSessionHandler;
|
|
1086
1109
|
private listTrackedSessionIds;
|
|
1087
1110
|
private reconnectInterval;
|
|
@@ -1107,7 +1130,8 @@ declare class ApiMachineClient {
|
|
|
1107
1130
|
/** Cache the latest relay policy locally and publish it now or on the next
|
|
1108
1131
|
* socket connect. This makes startup/offline races harmless. */
|
|
1109
1132
|
setCliUpdateState(state: CliUpdateState | null): void;
|
|
1110
|
-
setRPCHandlers({ spawnSession, resumeSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1133
|
+
setRPCHandlers({ spawnSession, resumeSession, restartSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1134
|
+
private syncRestartSessionRpcRegistration;
|
|
1111
1135
|
private syncResumeSessionRpcRegistration;
|
|
1112
1136
|
/** Every pushed list also flows to the mirror manager (claude-exit
|
|
1113
1137
|
* detection via pane observation). Set by the daemon at startup. */
|
|
@@ -1256,6 +1280,26 @@ declare class NotificationProducer {
|
|
|
1256
1280
|
private clip;
|
|
1257
1281
|
}
|
|
1258
1282
|
|
|
1283
|
+
/**
|
|
1284
|
+
* Reconnect-in-place helpers (B-265). A resumed process reattaches to an
|
|
1285
|
+
* EXISTING happy session (HAPPY_RECONNECT_*). Two truths must not be mixed up:
|
|
1286
|
+
*
|
|
1287
|
+
* - the server owns the conversation-level metadata (summary, tags,
|
|
1288
|
+
* claudeSessionId, board, …) and the message `seq`;
|
|
1289
|
+
* - the new process owns its own identity (pid, version, capabilities, …).
|
|
1290
|
+
*
|
|
1291
|
+
* Everything here is pure so the merge rules are unit-tested; the network
|
|
1292
|
+
* side is `api.getSession` and the wiring lives in runClaude / runCodex.
|
|
1293
|
+
*/
|
|
1294
|
+
|
|
1295
|
+
interface ServerSessionSnapshot {
|
|
1296
|
+
seq: number;
|
|
1297
|
+
metadata: Metadata;
|
|
1298
|
+
metadataVersion: number;
|
|
1299
|
+
agentState: AgentState$1 | null;
|
|
1300
|
+
agentStateVersion: number;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1259
1303
|
declare class ApiClient {
|
|
1260
1304
|
static create(credential: Credentials): Promise<ApiClient>;
|
|
1261
1305
|
private readonly credential;
|
|
@@ -1278,7 +1322,9 @@ declare class ApiClient {
|
|
|
1278
1322
|
metadata: MachineMetadata;
|
|
1279
1323
|
daemonState?: DaemonState;
|
|
1280
1324
|
}): Promise<Machine>;
|
|
1281
|
-
sessionSyncClient(session: Session
|
|
1325
|
+
sessionSyncClient(session: Session, opts?: {
|
|
1326
|
+
initialSeq?: number;
|
|
1327
|
+
}): ApiSessionClient;
|
|
1282
1328
|
machineSyncClient(machine: Machine): ApiMachineClient;
|
|
1283
1329
|
push(): PushNotificationClient;
|
|
1284
1330
|
/**
|
|
@@ -1321,6 +1367,26 @@ declare class ApiClient {
|
|
|
1321
1367
|
* response confirms the deactivate landed.
|
|
1322
1368
|
*/
|
|
1323
1369
|
deactivateSession(sessionId: string): Promise<boolean>;
|
|
1370
|
+
/**
|
|
1371
|
+
* B-265: one session by id — the message cursor (`seq`), metadata and
|
|
1372
|
+
* agent state with their versions, decrypted with the session key the
|
|
1373
|
+
* reconnecting process already holds. `unsupported` = the server has no
|
|
1374
|
+
* such route (or the row is gone): callers fall back to the legacy
|
|
1375
|
+
* skip-all-history reconnect. Transient failures are retried a few times
|
|
1376
|
+
* first, because falling back silently discards the very message a restore
|
|
1377
|
+
* is meant to deliver.
|
|
1378
|
+
*/
|
|
1379
|
+
getSession(sessionId: string, encryptionKey: Uint8Array, encryptionVariant: 'legacy' | 'dataKey', opts?: {
|
|
1380
|
+
attempts?: number;
|
|
1381
|
+
delaysMs?: number[];
|
|
1382
|
+
timeoutMs?: number;
|
|
1383
|
+
}): Promise<{
|
|
1384
|
+
ok: true;
|
|
1385
|
+
session: ServerSessionSnapshot;
|
|
1386
|
+
} | {
|
|
1387
|
+
ok: false;
|
|
1388
|
+
reason: 'unsupported' | 'unavailable';
|
|
1389
|
+
}>;
|
|
1324
1390
|
/** Clear the server-owned archive tombstone before an intentional resume.
|
|
1325
1391
|
* Older servers return 404 because the endpoint does not exist; that is a
|
|
1326
1392
|
* compatible no-op because those servers also have no durable tombstone. */
|
package/dist/lib.d.mts
CHANGED
|
@@ -321,6 +321,7 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
321
321
|
}>>;
|
|
322
322
|
mirrorSessionId: z$1.ZodOptional<z$1.ZodString>;
|
|
323
323
|
restoredAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
324
|
+
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
324
325
|
}, z$1.core.$strip>>;
|
|
325
326
|
}, z$1.core.$strip>>;
|
|
326
327
|
closedTerminals: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -333,8 +334,14 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
333
334
|
closed: "closed";
|
|
334
335
|
"daemon-gap": "daemon-gap";
|
|
335
336
|
}>>;
|
|
337
|
+
tags: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
338
|
+
manual: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
336
339
|
closedAt: z$1.ZodNumber;
|
|
337
340
|
}, z$1.core.$strip>>>;
|
|
341
|
+
terminalRestore: z$1.ZodOptional<z$1.ZodObject<{
|
|
342
|
+
rpcAvailable: z$1.ZodBoolean;
|
|
343
|
+
detectedAt: z$1.ZodNumber;
|
|
344
|
+
}, z$1.core.$strip>>;
|
|
338
345
|
cliUpdate: z$1.ZodOptional<z$1.ZodObject<{
|
|
339
346
|
currentVersion: z$1.ZodString;
|
|
340
347
|
recommendedVersion: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -725,7 +732,14 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
725
732
|
private readonly directInboundLocalIds;
|
|
726
733
|
private readonly routedInboundLocalIds;
|
|
727
734
|
private handoverInFlight;
|
|
728
|
-
|
|
735
|
+
/** B-265 reconnect: the message cursor was seeded from the server, so
|
|
736
|
+
* nothing before it is history to replay — but socket fast-path routing
|
|
737
|
+
* must wait for the first fetch, otherwise a message that lands between
|
|
738
|
+
* the seed and the first fetch is routed twice (socket + fetch). */
|
|
739
|
+
private awaitingInitialFetch;
|
|
740
|
+
constructor(token: string, session: Session, opts?: {
|
|
741
|
+
initialSeq?: number;
|
|
742
|
+
});
|
|
729
743
|
private createControlSocket;
|
|
730
744
|
private startReleaseHandover;
|
|
731
745
|
private releaseHandover;
|
|
@@ -1050,6 +1064,9 @@ interface TerminalListItem {
|
|
|
1050
1064
|
* the claude conversation carried over. The web badges it until the user
|
|
1051
1065
|
* opens it once; the mark is daemon-local and never persisted. */
|
|
1052
1066
|
restoredAt?: number;
|
|
1067
|
+
/** B-265: `@vh_title_manual` is set — carried into close records so a
|
|
1068
|
+
* restore can put the flag back (old webs ignore it). */
|
|
1069
|
+
manual?: boolean;
|
|
1053
1070
|
}
|
|
1054
1071
|
|
|
1055
1072
|
/**
|
|
@@ -1063,6 +1080,11 @@ type MachineRpcHandlers = {
|
|
|
1063
1080
|
model?: string;
|
|
1064
1081
|
permissionMode?: string;
|
|
1065
1082
|
}) => Promise<SpawnSessionResult>;
|
|
1083
|
+
/** B-264: stop a live-but-broken wrapper and relaunch it on the current CLI. */
|
|
1084
|
+
restartSession?: (sessionId: string, options?: {
|
|
1085
|
+
model?: string;
|
|
1086
|
+
permissionMode?: string;
|
|
1087
|
+
}) => Promise<SpawnSessionResult>;
|
|
1066
1088
|
stopSession: (sessionId: string) => boolean;
|
|
1067
1089
|
listTrackedSessionIds?: () => string[];
|
|
1068
1090
|
requestShutdown: () => void;
|
|
@@ -1082,6 +1104,7 @@ declare class ApiMachineClient {
|
|
|
1082
1104
|
private cliUpdatePushChain;
|
|
1083
1105
|
private rpcHandlerManager;
|
|
1084
1106
|
private resumeSessionHandler;
|
|
1107
|
+
private restartSessionHandler;
|
|
1085
1108
|
private stopSessionHandler;
|
|
1086
1109
|
private listTrackedSessionIds;
|
|
1087
1110
|
private reconnectInterval;
|
|
@@ -1107,7 +1130,8 @@ declare class ApiMachineClient {
|
|
|
1107
1130
|
/** Cache the latest relay policy locally and publish it now or on the next
|
|
1108
1131
|
* socket connect. This makes startup/offline races harmless. */
|
|
1109
1132
|
setCliUpdateState(state: CliUpdateState | null): void;
|
|
1110
|
-
setRPCHandlers({ spawnSession, resumeSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1133
|
+
setRPCHandlers({ spawnSession, resumeSession, restartSession, stopSession, listTrackedSessionIds, requestShutdown }: MachineRpcHandlers): void;
|
|
1134
|
+
private syncRestartSessionRpcRegistration;
|
|
1111
1135
|
private syncResumeSessionRpcRegistration;
|
|
1112
1136
|
/** Every pushed list also flows to the mirror manager (claude-exit
|
|
1113
1137
|
* detection via pane observation). Set by the daemon at startup. */
|
|
@@ -1256,6 +1280,26 @@ declare class NotificationProducer {
|
|
|
1256
1280
|
private clip;
|
|
1257
1281
|
}
|
|
1258
1282
|
|
|
1283
|
+
/**
|
|
1284
|
+
* Reconnect-in-place helpers (B-265). A resumed process reattaches to an
|
|
1285
|
+
* EXISTING happy session (HAPPY_RECONNECT_*). Two truths must not be mixed up:
|
|
1286
|
+
*
|
|
1287
|
+
* - the server owns the conversation-level metadata (summary, tags,
|
|
1288
|
+
* claudeSessionId, board, …) and the message `seq`;
|
|
1289
|
+
* - the new process owns its own identity (pid, version, capabilities, …).
|
|
1290
|
+
*
|
|
1291
|
+
* Everything here is pure so the merge rules are unit-tested; the network
|
|
1292
|
+
* side is `api.getSession` and the wiring lives in runClaude / runCodex.
|
|
1293
|
+
*/
|
|
1294
|
+
|
|
1295
|
+
interface ServerSessionSnapshot {
|
|
1296
|
+
seq: number;
|
|
1297
|
+
metadata: Metadata;
|
|
1298
|
+
metadataVersion: number;
|
|
1299
|
+
agentState: AgentState$1 | null;
|
|
1300
|
+
agentStateVersion: number;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1259
1303
|
declare class ApiClient {
|
|
1260
1304
|
static create(credential: Credentials): Promise<ApiClient>;
|
|
1261
1305
|
private readonly credential;
|
|
@@ -1278,7 +1322,9 @@ declare class ApiClient {
|
|
|
1278
1322
|
metadata: MachineMetadata;
|
|
1279
1323
|
daemonState?: DaemonState;
|
|
1280
1324
|
}): Promise<Machine>;
|
|
1281
|
-
sessionSyncClient(session: Session
|
|
1325
|
+
sessionSyncClient(session: Session, opts?: {
|
|
1326
|
+
initialSeq?: number;
|
|
1327
|
+
}): ApiSessionClient;
|
|
1282
1328
|
machineSyncClient(machine: Machine): ApiMachineClient;
|
|
1283
1329
|
push(): PushNotificationClient;
|
|
1284
1330
|
/**
|
|
@@ -1321,6 +1367,26 @@ declare class ApiClient {
|
|
|
1321
1367
|
* response confirms the deactivate landed.
|
|
1322
1368
|
*/
|
|
1323
1369
|
deactivateSession(sessionId: string): Promise<boolean>;
|
|
1370
|
+
/**
|
|
1371
|
+
* B-265: one session by id — the message cursor (`seq`), metadata and
|
|
1372
|
+
* agent state with their versions, decrypted with the session key the
|
|
1373
|
+
* reconnecting process already holds. `unsupported` = the server has no
|
|
1374
|
+
* such route (or the row is gone): callers fall back to the legacy
|
|
1375
|
+
* skip-all-history reconnect. Transient failures are retried a few times
|
|
1376
|
+
* first, because falling back silently discards the very message a restore
|
|
1377
|
+
* is meant to deliver.
|
|
1378
|
+
*/
|
|
1379
|
+
getSession(sessionId: string, encryptionKey: Uint8Array, encryptionVariant: 'legacy' | 'dataKey', opts?: {
|
|
1380
|
+
attempts?: number;
|
|
1381
|
+
delaysMs?: number[];
|
|
1382
|
+
timeoutMs?: number;
|
|
1383
|
+
}): Promise<{
|
|
1384
|
+
ok: true;
|
|
1385
|
+
session: ServerSessionSnapshot;
|
|
1386
|
+
} | {
|
|
1387
|
+
ok: false;
|
|
1388
|
+
reason: 'unsupported' | 'unavailable';
|
|
1389
|
+
}>;
|
|
1324
1390
|
/** Clear the server-owned archive tombstone before an intentional resume.
|
|
1325
1391
|
* Older servers return 404 because the endpoint does not exist; that is a
|
|
1326
1392
|
* compatible no-op because those servers also have no durable tombstone. */
|
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-B_8X_rZk.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'chalk';
|
|
4
4
|
import 'node:util';
|
|
@@ -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-8LDXVYWi.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-B_8X_rZk.mjs';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:crypto';
|
|
@@ -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-B63Vjt4W.cjs');
|
|
7
7
|
var limits = require('./limits-KdWKmwtH.cjs');
|
|
8
|
-
var persistence = require('./types-
|
|
8
|
+
var persistence = require('./types-CjlB_fKT.cjs');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:crypto');
|
|
@@ -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-CjlB_fKT.cjs');
|
|
8
|
+
var index = require('./index-B63Vjt4W.cjs');
|
|
9
|
+
var AcpBackend = require('./AcpBackend-BP7id8L6.cjs');
|
|
10
|
+
var config = require('./config-B77vhdwT.cjs');
|
|
11
11
|
require('axios');
|
|
12
12
|
require('chalk');
|
|
13
13
|
require('node:util');
|
|
@@ -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-B_8X_rZk.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-8LDXVYWi.mjs';
|
|
7
|
+
import { A as AcpBackend } from './AcpBackend-DDEsgc1c.mjs';
|
|
8
|
+
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-CJQw0z1o.mjs';
|
|
9
9
|
import 'axios';
|
|
10
10
|
import 'chalk';
|
|
11
11
|
import 'node:util';
|
|
@@ -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-CjlB_fKT.cjs');
|
|
9
|
+
var AcpSessionManager = require('./AcpSessionManager-Cys1Hsb8.cjs');
|
|
10
|
+
var index = require('./index-B63Vjt4W.cjs');
|
|
11
11
|
var WebSocket = require('ws');
|
|
12
12
|
var ed = require('@noble/ed25519');
|
|
13
13
|
var sha2_js = require('@noble/hashes/sha2.js');
|
|
@@ -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-B_8X_rZk.mjs';
|
|
7
|
+
import { A as AcpSessionManager } from './AcpSessionManager-C29t6wb_.mjs';
|
|
8
|
+
import { i as initialMachineMetadata, d as createSessionMetadata, e as setupOfflineReconnection, n as notifyDaemonSessionStarted, M as MessageQueue2, r as registerKillSessionHandler } from './index-8LDXVYWi.mjs';
|
|
9
9
|
import WebSocket from 'ws';
|
|
10
10
|
import * as ed from '@noble/ed25519';
|
|
11
11
|
import { sha512 } from '@noble/hashes/sha2.js';
|
|
@@ -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-CjlB_fKT.cjs');
|
|
7
|
+
var index = require('./index-B63Vjt4W.cjs');
|
|
8
8
|
require('axios');
|
|
9
9
|
require('node:util');
|
|
10
10
|
require('node:os');
|
|
@@ -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-B_8X_rZk.mjs';
|
|
5
|
+
import { b as sendUserMessage, a as sessionWebUrl } from './index-8LDXVYWi.mjs';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'node:util';
|
|
8
8
|
import 'node:os';
|
|
@@ -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-B63Vjt4W.cjs');
|
|
7
|
+
var persistence = require('./types-CjlB_fKT.cjs');
|
|
8
8
|
require('node:os');
|
|
9
9
|
require('node:crypto');
|
|
10
10
|
require('cross-spawn');
|
|
@@ -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-8LDXVYWi.mjs';
|
|
5
|
+
import { l as logger } from './types-B_8X_rZk.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:crypto';
|
|
8
8
|
import 'cross-spawn';
|