very-happy-cli 0.2.134 → 0.2.136
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-B8KEjDwF.mjs → AcpBackend-C142vP3p.mjs} +2 -2
- package/dist/{AcpBackend-CeNp7tgD.cjs → AcpBackend-CRzu0_1Z.cjs} +2 -2
- package/dist/{AcpSessionManager-Bu1d05bx.cjs → AcpSessionManager-Ba6WMLXc.cjs} +1 -1
- package/dist/{AcpSessionManager-KlDZbEmZ.mjs → AcpSessionManager-CosTbAlR.mjs} +1 -1
- package/dist/{agentGuidance-Cg8Lha39.cjs → agentGuidance-6yh_wPwD.cjs} +1 -1
- package/dist/{agentGuidance-CPG5Cr5T.mjs → agentGuidance-ASxKHxBP.mjs} +1 -1
- package/dist/codex/happyMcpStdioBridge.cjs +2 -2
- package/dist/codex/happyMcpStdioBridge.mjs +2 -2
- package/dist/{config-C3e90AIH.cjs → config--cxxmkOd.cjs} +4 -4
- package/dist/{config-C4gWfnJX.mjs → config-VqHQ67d8.mjs} +4 -4
- package/dist/{index-B1plzL9M.cjs → index-8bwU9d-4.cjs} +1596 -1208
- package/dist/{index-jqG8CV0c.cjs → index-BPVQFcKW.cjs} +6 -6
- package/dist/{index-CX-zp3FH.cjs → index-BqbtKX0T.cjs} +4 -4
- package/dist/{index-BqUOj1zK.mjs → index-CHI7iTa0.mjs} +1594 -1206
- package/dist/{index-B6UvB88K.mjs → index-D3vlFjXy.mjs} +7 -7
- package/dist/{index-CEDPokKf.mjs → index-vN4Xf0zB.mjs} +4 -4
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{installTerminalHooks-DPmEaHg2.cjs → installTerminalHooks-2POBqVlu.cjs} +4 -4
- package/dist/{installTerminalHooks-BT4Dq28Y.mjs → installTerminalHooks-D0YRu_p-.mjs} +4 -4
- package/dist/lib.cjs +2 -2
- package/dist/lib.d.cts +14 -0
- package/dist/lib.d.mts +14 -0
- package/dist/lib.mjs +2 -2
- package/dist/{limits-D6kiAfXJ.cjs → limits-DRrdJ7gr.cjs} +8 -8
- package/dist/{limits-BGeIBBE3.mjs → limits-kjHZUlSp.mjs} +8 -8
- package/dist/{mcp-DGZmUpuZ.cjs → mcp-C1JQsM1s.cjs} +4 -4
- package/dist/{mcp-BGu_dUaJ.mjs → mcp-CgjEHlky.mjs} +4 -4
- package/dist/{runGemini-BPPnulIk.cjs → runGemini-B9Rc-H0G.cjs} +6 -6
- package/dist/{runGemini-DGTNwiLo.mjs → runGemini-DufGnnl2.mjs} +6 -6
- package/dist/{runOpenClaw-BB3Ivt1S.cjs → runOpenClaw-BsRRKDvF.cjs} +5 -5
- package/dist/{runOpenClaw-CxgTFOSM.mjs → runOpenClaw-DAl2nnjB.mjs} +5 -5
- package/dist/{send-DHShoBeq.mjs → send-BHquPaeG.mjs} +4 -4
- package/dist/{send-Bo6iKuXr.cjs → send-DP6n2J9x.cjs} +4 -4
- package/dist/{sessions-CJuwvEr0.mjs → sessions-BtrLzv5U.mjs} +4 -4
- package/dist/{sessions-DyC5Attg.cjs → sessions-Q4BR02dG.cjs} +4 -4
- package/dist/{spawn-gha6nGx-.cjs → spawn-CMjhlwlD.cjs} +4 -4
- package/dist/{spawn-QtKlr8Ig.mjs → spawn-DuQXydqI.mjs} +4 -4
- package/dist/{teams-BbzWNV9e.cjs → teams-CkdUH10-.cjs} +4 -4
- package/dist/{teams-BF-GxUZc.mjs → teams-D5HxnyaW.mjs} +4 -4
- package/dist/{todo-CkJ5UjWs.mjs → todo-BiLIZH4t.mjs} +3 -3
- package/dist/{todo-BaNaNZ8c.cjs → todo-CaYedmtq.cjs} +3 -3
- package/dist/{types-Cq-tvv9t.mjs → types-BKrZubg8.mjs} +45 -9
- package/dist/{types-Dabm17Ln.cjs → types-DbBPNIwf.cjs} +46 -9
- package/package.json +8 -8
|
@@ -1,9 +1,9 @@
|
|
|
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 { c as configuration, g as readSettings, i as encodeBase64, l as logger } from './limits-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
5
|
-
import { f as connectionState, A as ApiClient, p as projectPath, g as BUILTIN_TODO_DISCOVERY } from './types-
|
|
6
|
-
import { P as PI_TEAMS_EXTENSION, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, z as StreamRelay, x as MessageQueue2, B as hashObject, C as startHappyServer, E as registerAgentAttachmentDownloads, F as TitleGenerator, y as registerKillSessionHandler, H as CLAUDE_ATTACHMENT_KINDS, I as stageClaudeAttachments, J as appendStagedAttachmentsToPrompt, K as BasePermissionHandler, L as writeSessionModeFile, N as normalizeAcpPermissionMode, O as removeSessionModeFile } from './index-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend } from './AcpBackend-C142vP3p.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-C142vP3p.mjs';
|
|
3
|
+
import { c as configuration, g as readSettings, i as encodeBase64, l as logger } from './limits-kjHZUlSp.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-CosTbAlR.mjs';
|
|
5
|
+
import { f as connectionState, A as ApiClient, p as projectPath, g as BUILTIN_TODO_DISCOVERY } from './types-BKrZubg8.mjs';
|
|
6
|
+
import { P as PI_TEAMS_EXTENSION, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, z as StreamRelay, x as MessageQueue2, B as hashObject, C as startHappyServer, E as registerAgentAttachmentDownloads, F as TitleGenerator, y as registerKillSessionHandler, H as CLAUDE_ATTACHMENT_KINDS, I as stageClaudeAttachments, J as appendStagedAttachmentsToPrompt, K as BasePermissionHandler, L as writeSessionModeFile, N as normalizeAcpPermissionMode, O as removeSessionModeFile } from './index-CHI7iTa0.mjs';
|
|
7
7
|
import { mkdir, chmod, writeFile, rename } from 'node:fs/promises';
|
|
8
8
|
import { randomUUID } from 'node:crypto';
|
|
9
9
|
import { join } from 'node:path';
|
|
@@ -32,7 +32,7 @@ import 'fs';
|
|
|
32
32
|
import 'node:readline';
|
|
33
33
|
import '@anthropic-ai/sandbox-runtime';
|
|
34
34
|
import 'expo-server-sdk';
|
|
35
|
-
import './agentGuidance-
|
|
35
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
36
36
|
import 'ink';
|
|
37
37
|
import 'react';
|
|
38
38
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { q as query } from './index-
|
|
1
|
+
import { q as query } from './index-CHI7iTa0.mjs';
|
|
2
2
|
export { AbortError } from '@anthropic-ai/claude-agent-sdk';
|
|
3
3
|
import 'chalk';
|
|
4
4
|
import 'node:os';
|
|
5
5
|
import 'node:crypto';
|
|
6
|
-
import './types-
|
|
6
|
+
import './types-BKrZubg8.mjs';
|
|
7
7
|
import 'axios';
|
|
8
|
-
import './limits-
|
|
8
|
+
import './limits-kjHZUlSp.mjs';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:path';
|
|
@@ -29,7 +29,7 @@ import 'fs';
|
|
|
29
29
|
import 'node:readline';
|
|
30
30
|
import '@anthropic-ai/sandbox-runtime';
|
|
31
31
|
import 'expo-server-sdk';
|
|
32
|
-
import './agentGuidance-
|
|
32
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
33
33
|
import 'ink';
|
|
34
34
|
import 'react';
|
|
35
35
|
import 'ps-list';
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('chalk');
|
|
4
|
-
require('./index-
|
|
5
|
-
require('./limits-
|
|
4
|
+
require('./index-8bwU9d-4.cjs');
|
|
5
|
+
require('./limits-DRrdJ7gr.cjs');
|
|
6
6
|
require('zod');
|
|
7
|
-
require('./types-
|
|
7
|
+
require('./types-DbBPNIwf.cjs');
|
|
8
8
|
require('node:child_process');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('node:crypto');
|
|
@@ -12,7 +12,7 @@ require('cross-spawn');
|
|
|
12
12
|
require('node:path');
|
|
13
13
|
require('node:readline');
|
|
14
14
|
require('node:fs');
|
|
15
|
-
require('./agentGuidance-
|
|
15
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
16
16
|
require('node:fs/promises');
|
|
17
17
|
require('fs/promises');
|
|
18
18
|
require('ink');
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import 'chalk';
|
|
2
|
-
import './index-
|
|
3
|
-
import './limits-
|
|
2
|
+
import './index-CHI7iTa0.mjs';
|
|
3
|
+
import './limits-kjHZUlSp.mjs';
|
|
4
4
|
import 'zod';
|
|
5
|
-
import './types-
|
|
5
|
+
import './types-BKrZubg8.mjs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'node:crypto';
|
|
@@ -10,7 +10,7 @@ import 'cross-spawn';
|
|
|
10
10
|
import 'node:path';
|
|
11
11
|
import 'node:readline';
|
|
12
12
|
import 'node:fs';
|
|
13
|
-
import './agentGuidance-
|
|
13
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import 'fs/promises';
|
|
16
16
|
import 'ink';
|
|
@@ -5,10 +5,10 @@ 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 api = require('./types-
|
|
9
|
-
var index = require('./index-
|
|
8
|
+
var api = require('./types-DbBPNIwf.cjs');
|
|
9
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
10
10
|
require('axios');
|
|
11
|
-
require('./limits-
|
|
11
|
+
require('./limits-DRrdJ7gr.cjs');
|
|
12
12
|
require('node:fs/promises');
|
|
13
13
|
require('zod');
|
|
14
14
|
require('node:crypto');
|
|
@@ -30,7 +30,7 @@ require('fs');
|
|
|
30
30
|
require('node:readline');
|
|
31
31
|
require('@anthropic-ai/sandbox-runtime');
|
|
32
32
|
require('expo-server-sdk');
|
|
33
|
-
require('./agentGuidance-
|
|
33
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
34
34
|
require('ink');
|
|
35
35
|
require('react');
|
|
36
36
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -3,10 +3,10 @@ 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-BKrZubg8.mjs';
|
|
7
|
+
import { t as tmuxSupportsSessionEnv } from './index-CHI7iTa0.mjs';
|
|
8
8
|
import 'axios';
|
|
9
|
-
import './limits-
|
|
9
|
+
import './limits-kjHZUlSp.mjs';
|
|
10
10
|
import 'node:fs/promises';
|
|
11
11
|
import 'zod';
|
|
12
12
|
import 'node:crypto';
|
|
@@ -28,7 +28,7 @@ import 'fs';
|
|
|
28
28
|
import 'node:readline';
|
|
29
29
|
import '@anthropic-ai/sandbox-runtime';
|
|
30
30
|
import 'expo-server-sdk';
|
|
31
|
-
import './agentGuidance-
|
|
31
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
32
32
|
import 'ink';
|
|
33
33
|
import 'react';
|
|
34
34
|
import '@anthropic-ai/claude-agent-sdk';
|
package/dist/lib.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./types-
|
|
4
|
-
var persistence = require('./limits-
|
|
3
|
+
var api = require('./types-DbBPNIwf.cjs');
|
|
4
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
5
5
|
require('axios');
|
|
6
6
|
require('node:events');
|
|
7
7
|
require('socket.io-client');
|
package/dist/lib.d.cts
CHANGED
|
@@ -33,6 +33,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
|
|
|
33
33
|
t: z.ZodLiteral<"text">;
|
|
34
34
|
text: z.ZodString;
|
|
35
35
|
thinking: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
actualModel: z.ZodOptional<z.ZodString>;
|
|
36
37
|
}, z.core.$strip>, z.ZodObject<{
|
|
37
38
|
t: z.ZodLiteral<"service">;
|
|
38
39
|
text: z.ZodString;
|
|
@@ -379,6 +380,17 @@ type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
|
|
|
379
380
|
* Daemon state - dynamic runtime information (frequently updated)
|
|
380
381
|
*/
|
|
381
382
|
declare const DaemonStateSchema: z$1.ZodObject<{
|
|
383
|
+
agentVersions: z$1.ZodOptional<z$1.ZodObject<{
|
|
384
|
+
checkedAt: z$1.ZodNumber;
|
|
385
|
+
daemonPid: z$1.ZodNumber;
|
|
386
|
+
agents: z$1.ZodArray<z$1.ZodObject<{
|
|
387
|
+
id: z$1.ZodString;
|
|
388
|
+
installed: z$1.ZodNullable<z$1.ZodString>;
|
|
389
|
+
latest: z$1.ZodNullable<z$1.ZodString>;
|
|
390
|
+
status: z$1.ZodString;
|
|
391
|
+
}, z$1.core.$strip>>;
|
|
392
|
+
}, z$1.core.$strip>>;
|
|
393
|
+
agentVersionEpoch: z$1.ZodOptional<z$1.ZodNumber>;
|
|
382
394
|
status: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
383
395
|
running: "running";
|
|
384
396
|
"shutting-down": "shutting-down";
|
|
@@ -1293,6 +1305,8 @@ declare class ApiMachineClient {
|
|
|
1293
1305
|
* stale" so the FIRST keep-alive tick always probes and populates the
|
|
1294
1306
|
* machine metadata that a connecting/reconnecting web client reads. */
|
|
1295
1307
|
private lastCliProbeAt;
|
|
1308
|
+
/** Stable across socket reconnects; a new client/run invalidates old version checks. */
|
|
1309
|
+
private readonly agentVersionEpoch;
|
|
1296
1310
|
private cliUpdateState;
|
|
1297
1311
|
private cliUpdatePushChain;
|
|
1298
1312
|
private claudeAuthState;
|
package/dist/lib.d.mts
CHANGED
|
@@ -33,6 +33,7 @@ declare const sessionEnvelopeSchema: z.ZodObject<{
|
|
|
33
33
|
t: z.ZodLiteral<"text">;
|
|
34
34
|
text: z.ZodString;
|
|
35
35
|
thinking: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
actualModel: z.ZodOptional<z.ZodString>;
|
|
36
37
|
}, z.core.$strip>, z.ZodObject<{
|
|
37
38
|
t: z.ZodLiteral<"service">;
|
|
38
39
|
text: z.ZodString;
|
|
@@ -379,6 +380,17 @@ type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
|
|
|
379
380
|
* Daemon state - dynamic runtime information (frequently updated)
|
|
380
381
|
*/
|
|
381
382
|
declare const DaemonStateSchema: z$1.ZodObject<{
|
|
383
|
+
agentVersions: z$1.ZodOptional<z$1.ZodObject<{
|
|
384
|
+
checkedAt: z$1.ZodNumber;
|
|
385
|
+
daemonPid: z$1.ZodNumber;
|
|
386
|
+
agents: z$1.ZodArray<z$1.ZodObject<{
|
|
387
|
+
id: z$1.ZodString;
|
|
388
|
+
installed: z$1.ZodNullable<z$1.ZodString>;
|
|
389
|
+
latest: z$1.ZodNullable<z$1.ZodString>;
|
|
390
|
+
status: z$1.ZodString;
|
|
391
|
+
}, z$1.core.$strip>>;
|
|
392
|
+
}, z$1.core.$strip>>;
|
|
393
|
+
agentVersionEpoch: z$1.ZodOptional<z$1.ZodNumber>;
|
|
382
394
|
status: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
383
395
|
running: "running";
|
|
384
396
|
"shutting-down": "shutting-down";
|
|
@@ -1293,6 +1305,8 @@ declare class ApiMachineClient {
|
|
|
1293
1305
|
* stale" so the FIRST keep-alive tick always probes and populates the
|
|
1294
1306
|
* machine metadata that a connecting/reconnecting web client reads. */
|
|
1295
1307
|
private lastCliProbeAt;
|
|
1308
|
+
/** Stable across socket reconnects; a new client/run invalidates old version checks. */
|
|
1309
|
+
private readonly agentVersionEpoch;
|
|
1296
1310
|
private cliUpdateState;
|
|
1297
1311
|
private cliUpdatePushChain;
|
|
1298
1312
|
private claudeAuthState;
|
package/dist/lib.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-
|
|
2
|
-
export { c as configuration, l as logger } from './limits-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, R as RawJSONLinesSchema } from './types-BKrZubg8.mjs';
|
|
2
|
+
export { c as configuration, l as logger } from './limits-kjHZUlSp.mjs';
|
|
3
3
|
import 'axios';
|
|
4
4
|
import 'node:events';
|
|
5
5
|
import 'socket.io-client';
|
|
@@ -30,7 +30,7 @@ function _interopNamespaceDefault(e) {
|
|
|
30
30
|
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
31
31
|
|
|
32
32
|
var name = "very-happy-cli";
|
|
33
|
-
var version = "0.2.
|
|
33
|
+
var version = "0.2.136";
|
|
34
34
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
35
35
|
var author = "Kirill Dubovitskiy";
|
|
36
36
|
var contributors = [
|
|
@@ -109,7 +109,7 @@ var scripts = {
|
|
|
109
109
|
};
|
|
110
110
|
var dependencies = {
|
|
111
111
|
"@agentclientprotocol/sdk": "^0.14.1",
|
|
112
|
-
"@anthropic-ai/claude-agent-sdk": "
|
|
112
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.267",
|
|
113
113
|
"@anthropic-ai/sandbox-runtime": "^0.0.37",
|
|
114
114
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
115
115
|
"@noble/ed25519": "^3.0.0",
|
|
@@ -143,12 +143,12 @@ var dependencies = {
|
|
|
143
143
|
zod: "^4.0.0"
|
|
144
144
|
};
|
|
145
145
|
var optionalDependencies = {
|
|
146
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
147
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
148
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
149
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
150
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
151
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
146
|
+
"very-happy-tools-arm64-darwin": "0.2.136",
|
|
147
|
+
"very-happy-tools-x64-darwin": "0.2.136",
|
|
148
|
+
"very-happy-tools-arm64-linux": "0.2.136",
|
|
149
|
+
"very-happy-tools-x64-linux": "0.2.136",
|
|
150
|
+
"very-happy-tools-arm64-win32": "0.2.136",
|
|
151
|
+
"very-happy-tools-x64-win32": "0.2.136"
|
|
152
152
|
};
|
|
153
153
|
var devDependencies = {
|
|
154
154
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -9,7 +9,7 @@ import chalk from 'chalk';
|
|
|
9
9
|
import { inspect } from 'node:util';
|
|
10
10
|
|
|
11
11
|
var name = "very-happy-cli";
|
|
12
|
-
var version = "0.2.
|
|
12
|
+
var version = "0.2.136";
|
|
13
13
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
14
14
|
var author = "Kirill Dubovitskiy";
|
|
15
15
|
var contributors = [
|
|
@@ -88,7 +88,7 @@ var scripts = {
|
|
|
88
88
|
};
|
|
89
89
|
var dependencies = {
|
|
90
90
|
"@agentclientprotocol/sdk": "^0.14.1",
|
|
91
|
-
"@anthropic-ai/claude-agent-sdk": "
|
|
91
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.267",
|
|
92
92
|
"@anthropic-ai/sandbox-runtime": "^0.0.37",
|
|
93
93
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
94
94
|
"@noble/ed25519": "^3.0.0",
|
|
@@ -122,12 +122,12 @@ var dependencies = {
|
|
|
122
122
|
zod: "^4.0.0"
|
|
123
123
|
};
|
|
124
124
|
var optionalDependencies = {
|
|
125
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
126
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
127
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
128
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
129
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
130
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
125
|
+
"very-happy-tools-arm64-darwin": "0.2.136",
|
|
126
|
+
"very-happy-tools-x64-darwin": "0.2.136",
|
|
127
|
+
"very-happy-tools-arm64-linux": "0.2.136",
|
|
128
|
+
"very-happy-tools-x64-linux": "0.2.136",
|
|
129
|
+
"very-happy-tools-arm64-win32": "0.2.136",
|
|
130
|
+
"very-happy-tools-x64-win32": "0.2.136"
|
|
131
131
|
};
|
|
132
132
|
var devDependencies = {
|
|
133
133
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var agentGuidance = require('./agentGuidance-
|
|
3
|
+
var agentGuidance = require('./agentGuidance-6yh_wPwD.cjs');
|
|
4
4
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
5
5
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
6
6
|
var z = require('zod');
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var persistence = require('./limits-
|
|
7
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
8
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:crypto');
|
|
@@ -13,7 +13,7 @@ require('axios');
|
|
|
13
13
|
require('tweetnacl');
|
|
14
14
|
require('socket.io-client');
|
|
15
15
|
require('node:child_process');
|
|
16
|
-
require('./types-
|
|
16
|
+
require('./types-DbBPNIwf.cjs');
|
|
17
17
|
require('node:fs');
|
|
18
18
|
require('node:path');
|
|
19
19
|
require('chalk');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { r as registerTeamsTools } from './agentGuidance-
|
|
1
|
+
import { r as registerTeamsTools } from './agentGuidance-ASxKHxBP.mjs';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-
|
|
6
|
-
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES } from './limits-
|
|
5
|
+
import { p as pushClipboardViaDaemon, k as setTerminalTitleViaDaemon, m as registerAssistantSessionTools } from './index-CHI7iTa0.mjs';
|
|
6
|
+
import { l as logger, C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, e as CLIPBOARD_MAX_BYTES } from './limits-kjHZUlSp.mjs';
|
|
7
7
|
import 'node:fs/promises';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:crypto';
|
|
@@ -11,7 +11,7 @@ import 'axios';
|
|
|
11
11
|
import 'tweetnacl';
|
|
12
12
|
import 'socket.io-client';
|
|
13
13
|
import 'node:child_process';
|
|
14
|
-
import './types-
|
|
14
|
+
import './types-BKrZubg8.mjs';
|
|
15
15
|
import 'node:fs';
|
|
16
16
|
import 'node:path';
|
|
17
17
|
import 'chalk';
|
|
@@ -4,11 +4,11 @@ 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 api = require('./types-
|
|
8
|
-
var persistence = require('./limits-
|
|
9
|
-
var index = require('./index-
|
|
10
|
-
var AcpBackend = require('./AcpBackend-
|
|
11
|
-
var config = require('./config
|
|
7
|
+
var api = require('./types-DbBPNIwf.cjs');
|
|
8
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
9
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
10
|
+
var AcpBackend = require('./AcpBackend-CRzu0_1Z.cjs');
|
|
11
|
+
var config = require('./config--cxxmkOd.cjs');
|
|
12
12
|
require('axios');
|
|
13
13
|
require('node:events');
|
|
14
14
|
require('socket.io-client');
|
|
@@ -34,7 +34,7 @@ require('@anthropic-ai/sandbox-runtime');
|
|
|
34
34
|
require('expo-server-sdk');
|
|
35
35
|
require('chalk');
|
|
36
36
|
require('node:util');
|
|
37
|
-
require('./agentGuidance-
|
|
37
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
38
38
|
require('@anthropic-ai/claude-agent-sdk');
|
|
39
39
|
require('ps-list');
|
|
40
40
|
require('tmp');
|
|
@@ -2,11 +2,11 @@ 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 { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, d as contentLogMetadata } from './types-
|
|
6
|
-
import { l as logger, g as readSettings, i as encodeBase64 } from './limits-
|
|
7
|
-
import { Q as GEMINI_API_KEY_ENV, R as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, K as BasePermissionHandler, U as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, V as MessageBuffer, W as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-
|
|
8
|
-
import { A as AcpBackend } from './AcpBackend-
|
|
9
|
-
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-
|
|
5
|
+
import { f as connectionState, A as ApiClient, e as errorLogMetadata, p as projectPath, d as contentLogMetadata } from './types-BKrZubg8.mjs';
|
|
6
|
+
import { l as logger, g as readSettings, i as encodeBase64 } from './limits-kjHZUlSp.mjs';
|
|
7
|
+
import { Q as GEMINI_API_KEY_ENV, R as GOOGLE_API_KEY_ENV, G as GEMINI_MODEL_ENV, K as BasePermissionHandler, U as BaseReasoningProcessor, n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, B as hashObject, V as MessageBuffer, W as CHANGE_TITLE_INSTRUCTION, y as registerKillSessionHandler, C as startHappyServer } from './index-CHI7iTa0.mjs';
|
|
8
|
+
import { A as AcpBackend } from './AcpBackend-C142vP3p.mjs';
|
|
9
|
+
import { readGeminiLocalConfig, determineGeminiModel, getGeminiModelSource, getInitialGeminiModel, saveGeminiModelToConfig } from './config-VqHQ67d8.mjs';
|
|
10
10
|
import 'axios';
|
|
11
11
|
import 'node:events';
|
|
12
12
|
import 'socket.io-client';
|
|
@@ -32,7 +32,7 @@ import '@anthropic-ai/sandbox-runtime';
|
|
|
32
32
|
import 'expo-server-sdk';
|
|
33
33
|
import 'chalk';
|
|
34
34
|
import 'node:util';
|
|
35
|
-
import './agentGuidance-
|
|
35
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
36
36
|
import '@anthropic-ai/claude-agent-sdk';
|
|
37
37
|
import 'ps-list';
|
|
38
38
|
import 'tmp';
|
|
@@ -5,10 +5,10 @@ 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 api = require('./types-
|
|
9
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
10
|
-
var persistence = require('./limits-
|
|
11
|
-
var index = require('./index-
|
|
8
|
+
var api = require('./types-DbBPNIwf.cjs');
|
|
9
|
+
var AcpSessionManager = require('./AcpSessionManager-Ba6WMLXc.cjs');
|
|
10
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
11
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
12
12
|
var WebSocket = require('ws');
|
|
13
13
|
var ed = require('@noble/ed25519');
|
|
14
14
|
var sha2_js = require('@noble/hashes/sha2.js');
|
|
@@ -34,7 +34,7 @@ require('@anthropic-ai/sandbox-runtime');
|
|
|
34
34
|
require('expo-server-sdk');
|
|
35
35
|
require('chalk');
|
|
36
36
|
require('node:util');
|
|
37
|
-
require('./agentGuidance-
|
|
37
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
38
38
|
require('ink');
|
|
39
39
|
require('react');
|
|
40
40
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -3,10 +3,10 @@ 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 { e as errorLogMetadata, d as contentLogMetadata, f as connectionState, A as ApiClient } from './types-
|
|
7
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
8
|
-
import { f as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, g as readSettings, i as encodeBase64, l as logger, c as configuration } from './limits-
|
|
9
|
-
import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-
|
|
6
|
+
import { e as errorLogMetadata, d as contentLogMetadata, f as connectionState, A as ApiClient } from './types-BKrZubg8.mjs';
|
|
7
|
+
import { A as AcpSessionManager } from './AcpSessionManager-CosTbAlR.mjs';
|
|
8
|
+
import { f as ensurePrivateDirectorySync, h as hardenPrivateFileSync, w as writePrivateFileSync, g as readSettings, i as encodeBase64, l as logger, c as configuration } from './limits-kjHZUlSp.mjs';
|
|
9
|
+
import { n as initialMachineMetadata, o as createSessionMetadata, u as setupOfflineReconnection, v as notifyDaemonSessionStarted, x as MessageQueue2, y as registerKillSessionHandler } from './index-CHI7iTa0.mjs';
|
|
10
10
|
import WebSocket from 'ws';
|
|
11
11
|
import * as ed from '@noble/ed25519';
|
|
12
12
|
import { sha512 } from '@noble/hashes/sha2.js';
|
|
@@ -32,7 +32,7 @@ import '@anthropic-ai/sandbox-runtime';
|
|
|
32
32
|
import 'expo-server-sdk';
|
|
33
33
|
import 'chalk';
|
|
34
34
|
import 'node:util';
|
|
35
|
-
import './agentGuidance-
|
|
35
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
36
36
|
import 'ink';
|
|
37
37
|
import 'react';
|
|
38
38
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -1,15 +1,15 @@
|
|
|
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 './limits-
|
|
5
|
-
import { d as sendUserMessage, a as sessionWebUrl } from './index-
|
|
4
|
+
import { r as readPersistedSessions, c as configuration } from './limits-kjHZUlSp.mjs';
|
|
5
|
+
import { d as sendUserMessage, a as sessionWebUrl } from './index-CHI7iTa0.mjs';
|
|
6
6
|
import 'node:fs/promises';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'zod';
|
|
9
9
|
import 'node:crypto';
|
|
10
10
|
import 'tweetnacl';
|
|
11
11
|
import 'node:util';
|
|
12
|
-
import './types-
|
|
12
|
+
import './types-BKrZubg8.mjs';
|
|
13
13
|
import 'axios';
|
|
14
14
|
import 'node:events';
|
|
15
15
|
import 'socket.io-client';
|
|
@@ -28,7 +28,7 @@ import 'fs';
|
|
|
28
28
|
import 'node:readline';
|
|
29
29
|
import '@anthropic-ai/sandbox-runtime';
|
|
30
30
|
import 'expo-server-sdk';
|
|
31
|
-
import './agentGuidance-
|
|
31
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
32
32
|
import 'ink';
|
|
33
33
|
import 'react';
|
|
34
34
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -3,15 +3,15 @@
|
|
|
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('./limits-
|
|
7
|
-
var index = require('./index-
|
|
6
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
7
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
8
8
|
require('node:fs/promises');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('zod');
|
|
11
11
|
require('node:crypto');
|
|
12
12
|
require('tweetnacl');
|
|
13
13
|
require('node:util');
|
|
14
|
-
require('./types-
|
|
14
|
+
require('./types-DbBPNIwf.cjs');
|
|
15
15
|
require('axios');
|
|
16
16
|
require('node:events');
|
|
17
17
|
require('socket.io-client');
|
|
@@ -30,7 +30,7 @@ require('fs');
|
|
|
30
30
|
require('node:readline');
|
|
31
31
|
require('@anthropic-ai/sandbox-runtime');
|
|
32
32
|
require('expo-server-sdk');
|
|
33
|
-
require('./agentGuidance-
|
|
33
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
34
34
|
require('ink');
|
|
35
35
|
require('react');
|
|
36
36
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, e as listSessions, r as readSessionTranscript, f as stopSession, g as resolvePermissionRequest, h as archiveSession } from './index-
|
|
3
|
-
import { i as isValidSessionId } from './types-
|
|
2
|
+
import { D as DEFAULT_RECENT_LIMIT, M as MAX_READ_LIMIT, l as listAccountSessions, e as listSessions, r as readSessionTranscript, f as stopSession, g as resolvePermissionRequest, h as archiveSession } from './index-CHI7iTa0.mjs';
|
|
3
|
+
import { i as isValidSessionId } from './types-BKrZubg8.mjs';
|
|
4
4
|
import 'node:os';
|
|
5
5
|
import 'node:crypto';
|
|
6
|
-
import './limits-
|
|
6
|
+
import './limits-kjHZUlSp.mjs';
|
|
7
7
|
import 'node:fs/promises';
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:path';
|
|
@@ -12,7 +12,7 @@ import 'tweetnacl';
|
|
|
12
12
|
import 'node:util';
|
|
13
13
|
import 'cross-spawn';
|
|
14
14
|
import 'node:readline';
|
|
15
|
-
import './agentGuidance-
|
|
15
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
16
16
|
import 'fs/promises';
|
|
17
17
|
import 'ink';
|
|
18
18
|
import 'react';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var api = require('./types-
|
|
4
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
5
|
+
var api = require('./types-DbBPNIwf.cjs');
|
|
6
6
|
require('node:os');
|
|
7
7
|
require('node:crypto');
|
|
8
|
-
require('./limits-
|
|
8
|
+
require('./limits-DRrdJ7gr.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
10
|
require('node:fs');
|
|
11
11
|
require('node:path');
|
|
@@ -14,7 +14,7 @@ require('tweetnacl');
|
|
|
14
14
|
require('node:util');
|
|
15
15
|
require('cross-spawn');
|
|
16
16
|
require('node:readline');
|
|
17
|
-
require('./agentGuidance-
|
|
17
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
18
18
|
require('fs/promises');
|
|
19
19
|
require('ink');
|
|
20
20
|
require('react');
|
|
@@ -3,11 +3,11 @@
|
|
|
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('./limits-
|
|
6
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
7
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
8
8
|
require('node:os');
|
|
9
9
|
require('node:crypto');
|
|
10
|
-
require('./types-
|
|
10
|
+
require('./types-DbBPNIwf.cjs');
|
|
11
11
|
require('axios');
|
|
12
12
|
require('node:events');
|
|
13
13
|
require('socket.io-client');
|
|
@@ -29,7 +29,7 @@ require('tweetnacl');
|
|
|
29
29
|
require('node:readline');
|
|
30
30
|
require('@anthropic-ai/sandbox-runtime');
|
|
31
31
|
require('expo-server-sdk');
|
|
32
|
-
require('./agentGuidance-
|
|
32
|
+
require('./agentGuidance-6yh_wPwD.cjs');
|
|
33
33
|
require('ink');
|
|
34
34
|
require('react');
|
|
35
35
|
require('@anthropic-ai/claude-agent-sdk');
|
|
@@ -1,11 +1,11 @@
|
|
|
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, i as isValidSpawnOrigin, b as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, w as waitForSessionKey, d as sendUserMessage } from './index-
|
|
5
|
-
import { l as logger } from './limits-
|
|
4
|
+
import { c as checkIfDaemonRunningAndCleanupStaleState, s as spawnDaemonSession, a as sessionWebUrl, i as isValidSpawnOrigin, b as sanitizeSpawnPermissionMode, A as ALLOWED_SPAWN_PERMISSION_MODES, S as SPAWN_AGENTS, w as waitForSessionKey, d as sendUserMessage } from './index-CHI7iTa0.mjs';
|
|
5
|
+
import { l as logger } from './limits-kjHZUlSp.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:crypto';
|
|
8
|
-
import './types-
|
|
8
|
+
import './types-BKrZubg8.mjs';
|
|
9
9
|
import 'axios';
|
|
10
10
|
import 'node:events';
|
|
11
11
|
import 'socket.io-client';
|
|
@@ -27,7 +27,7 @@ import 'tweetnacl';
|
|
|
27
27
|
import 'node:readline';
|
|
28
28
|
import '@anthropic-ai/sandbox-runtime';
|
|
29
29
|
import 'expo-server-sdk';
|
|
30
|
-
import './agentGuidance-
|
|
30
|
+
import './agentGuidance-ASxKHxBP.mjs';
|
|
31
31
|
import 'ink';
|
|
32
32
|
import 'react';
|
|
33
33
|
import '@anthropic-ai/claude-agent-sdk';
|
|
@@ -4,15 +4,15 @@ var os = require('node:os');
|
|
|
4
4
|
var promises = require('node:fs/promises');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
|
-
var agentGuidance = require('./agentGuidance-
|
|
8
|
-
var persistence = require('./limits-
|
|
7
|
+
var agentGuidance = require('./agentGuidance-6yh_wPwD.cjs');
|
|
8
|
+
var persistence = require('./limits-DRrdJ7gr.cjs');
|
|
9
9
|
var path = require('node:path');
|
|
10
|
-
var index = require('./index-
|
|
10
|
+
var index = require('./index-8bwU9d-4.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('tweetnacl');
|
|
13
13
|
require('chalk');
|
|
14
14
|
require('node:util');
|
|
15
|
-
require('./types-
|
|
15
|
+
require('./types-DbBPNIwf.cjs');
|
|
16
16
|
require('axios');
|
|
17
17
|
require('node:events');
|
|
18
18
|
require('socket.io-client');
|