linkshell-cli 0.2.13 → 0.2.15

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.
@@ -18,9 +18,9 @@ export declare const envelopeSchema: z.ZodObject<{
18
18
  ack: z.ZodOptional<z.ZodNumber>;
19
19
  payload: z.ZodUnknown;
20
20
  }, "strip", z.ZodTypeAny, {
21
- sessionId: string;
22
21
  id: string;
23
22
  type: string;
23
+ sessionId: string;
24
24
  timestamp: string;
25
25
  terminalId?: string | undefined;
26
26
  deviceId?: string | undefined;
@@ -29,9 +29,9 @@ export declare const envelopeSchema: z.ZodObject<{
29
29
  ack?: number | undefined;
30
30
  payload?: unknown;
31
31
  }, {
32
- sessionId: string;
33
32
  id: string;
34
33
  type: string;
34
+ sessionId: string;
35
35
  timestamp: string;
36
36
  terminalId?: string | undefined;
37
37
  deviceId?: string | undefined;
@@ -89,7 +89,7 @@ export declare const sessionConnectPayloadSchema: z.ZodObject<{
89
89
  }, "strip", z.ZodTypeAny, {
90
90
  role: "host" | "client";
91
91
  clientName: string;
92
- provider?: "claude" | "codex" | "custom" | undefined;
92
+ provider?: "custom" | "claude" | "codex" | undefined;
93
93
  protocolVersion?: number | undefined;
94
94
  hostname?: string | undefined;
95
95
  platform?: string | undefined;
@@ -98,7 +98,7 @@ export declare const sessionConnectPayloadSchema: z.ZodObject<{
98
98
  }, {
99
99
  role: "host" | "client";
100
100
  clientName: string;
101
- provider?: "claude" | "codex" | "custom" | undefined;
101
+ provider?: "custom" | "claude" | "codex" | undefined;
102
102
  protocolVersion?: number | undefined;
103
103
  hostname?: string | undefined;
104
104
  platform?: string | undefined;
@@ -248,8 +248,8 @@ export declare const screenStatusPayloadSchema: z.ZodObject<{
248
248
  error?: string | undefined;
249
249
  }, {
250
250
  active: boolean;
251
- error?: string | undefined;
252
251
  mode?: "webrtc" | "fallback" | "off" | undefined;
252
+ error?: string | undefined;
253
253
  }>;
254
254
  export declare const screenOfferPayloadSchema: z.ZodObject<{
255
255
  sdp: z.ZodString;
@@ -283,10 +283,10 @@ export declare const terminalSpawnPayloadSchema: z.ZodObject<{
283
283
  provider: z.ZodOptional<z.ZodEnum<["claude", "codex", "custom"]>>;
284
284
  }, "strip", z.ZodTypeAny, {
285
285
  cwd: string;
286
- provider?: "claude" | "codex" | "custom" | undefined;
286
+ provider?: "custom" | "claude" | "codex" | undefined;
287
287
  }, {
288
288
  cwd: string;
289
- provider?: "claude" | "codex" | "custom" | undefined;
289
+ provider?: "custom" | "claude" | "codex" | undefined;
290
290
  }>;
291
291
  export declare const terminalInfoSchema: z.ZodObject<{
292
292
  terminalId: z.ZodString;
@@ -295,14 +295,14 @@ export declare const terminalInfoSchema: z.ZodObject<{
295
295
  provider: z.ZodString;
296
296
  status: z.ZodEnum<["running", "exited"]>;
297
297
  }, "strip", z.ZodTypeAny, {
298
- status: "running" | "exited";
299
298
  terminalId: string;
299
+ status: "running" | "exited";
300
300
  provider: string;
301
301
  cwd: string;
302
302
  projectName: string;
303
303
  }, {
304
- status: "running" | "exited";
305
304
  terminalId: string;
305
+ status: "running" | "exited";
306
306
  provider: string;
307
307
  cwd: string;
308
308
  projectName: string;
@@ -315,30 +315,30 @@ export declare const terminalListPayloadSchema: z.ZodObject<{
315
315
  provider: z.ZodString;
316
316
  status: z.ZodEnum<["running", "exited"]>;
317
317
  }, "strip", z.ZodTypeAny, {
318
- status: "running" | "exited";
319
318
  terminalId: string;
319
+ status: "running" | "exited";
320
320
  provider: string;
321
321
  cwd: string;
322
322
  projectName: string;
323
323
  }, {
324
- status: "running" | "exited";
325
324
  terminalId: string;
325
+ status: "running" | "exited";
326
326
  provider: string;
327
327
  cwd: string;
328
328
  projectName: string;
329
329
  }>, "many">;
330
330
  }, "strip", z.ZodTypeAny, {
331
331
  terminals: {
332
- status: "running" | "exited";
333
332
  terminalId: string;
333
+ status: "running" | "exited";
334
334
  provider: string;
335
335
  cwd: string;
336
336
  projectName: string;
337
337
  }[];
338
338
  }, {
339
339
  terminals: {
340
- status: "running" | "exited";
341
340
  terminalId: string;
341
+ status: "running" | "exited";
342
342
  provider: string;
343
343
  cwd: string;
344
344
  projectName: string;
@@ -357,6 +357,13 @@ export declare const terminalSpawnedPayloadSchema: z.ZodObject<{
357
357
  cwd: string;
358
358
  projectName: string;
359
359
  }>;
360
+ export declare const terminalKillPayloadSchema: z.ZodObject<{
361
+ terminalId: z.ZodString;
362
+ }, "strip", z.ZodTypeAny, {
363
+ terminalId: string;
364
+ }, {
365
+ terminalId: string;
366
+ }>;
360
367
  export declare const terminalBrowsePayloadSchema: z.ZodObject<{
361
368
  path: z.ZodString;
362
369
  }, "strip", z.ZodTypeAny, {
@@ -410,6 +417,25 @@ export declare const terminalBrowseResultPayloadSchema: z.ZodObject<{
410
417
  }[];
411
418
  error?: string | undefined;
412
419
  }>;
420
+ export declare const terminalStatusPayloadSchema: z.ZodObject<{
421
+ phase: z.ZodEnum<["thinking", "tool_use", "outputting", "waiting", "idle", "error"]>;
422
+ toolName: z.ZodOptional<z.ZodString>;
423
+ toolInput: z.ZodOptional<z.ZodString>;
424
+ permissionRequest: z.ZodOptional<z.ZodString>;
425
+ summary: z.ZodOptional<z.ZodString>;
426
+ }, "strip", z.ZodTypeAny, {
427
+ phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
428
+ toolName?: string | undefined;
429
+ toolInput?: string | undefined;
430
+ permissionRequest?: string | undefined;
431
+ summary?: string | undefined;
432
+ }, {
433
+ phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
434
+ toolName?: string | undefined;
435
+ toolInput?: string | undefined;
436
+ permissionRequest?: string | undefined;
437
+ summary?: string | undefined;
438
+ }>;
413
439
  export declare const fileUploadPayloadSchema: z.ZodObject<{
414
440
  data: z.ZodString;
415
441
  filename: z.ZodString;
@@ -424,11 +450,11 @@ export declare const errorPayloadSchema: z.ZodObject<{
424
450
  code: z.ZodString;
425
451
  message: z.ZodString;
426
452
  }, "strip", z.ZodTypeAny, {
427
- message: string;
428
453
  code: string;
429
- }, {
430
454
  message: string;
455
+ }, {
431
456
  code: string;
457
+ message: string;
432
458
  }>;
433
459
  export declare const protocolMessageSchemas: {
434
460
  readonly "session.connect": z.ZodObject<{
@@ -443,7 +469,7 @@ export declare const protocolMessageSchemas: {
443
469
  }, "strip", z.ZodTypeAny, {
444
470
  role: "host" | "client";
445
471
  clientName: string;
446
- provider?: "claude" | "codex" | "custom" | undefined;
472
+ provider?: "custom" | "claude" | "codex" | undefined;
447
473
  protocolVersion?: number | undefined;
448
474
  hostname?: string | undefined;
449
475
  platform?: string | undefined;
@@ -452,7 +478,7 @@ export declare const protocolMessageSchemas: {
452
478
  }, {
453
479
  role: "host" | "client";
454
480
  clientName: string;
455
- provider?: "claude" | "codex" | "custom" | undefined;
481
+ provider?: "custom" | "claude" | "codex" | undefined;
456
482
  protocolVersion?: number | undefined;
457
483
  hostname?: string | undefined;
458
484
  platform?: string | undefined;
@@ -484,11 +510,11 @@ export declare const protocolMessageSchemas: {
484
510
  code: z.ZodString;
485
511
  message: z.ZodString;
486
512
  }, "strip", z.ZodTypeAny, {
487
- message: string;
488
513
  code: string;
489
- }, {
490
514
  message: string;
515
+ }, {
491
516
  code: string;
517
+ message: string;
492
518
  }>;
493
519
  readonly "terminal.output": z.ZodObject<{
494
520
  stream: z.ZodEnum<["stdout", "stderr"]>;
@@ -648,8 +674,8 @@ export declare const protocolMessageSchemas: {
648
674
  error?: string | undefined;
649
675
  }, {
650
676
  active: boolean;
651
- error?: string | undefined;
652
677
  mode?: "webrtc" | "fallback" | "off" | undefined;
678
+ error?: string | undefined;
653
679
  }>;
654
680
  readonly "screen.offer": z.ZodObject<{
655
681
  sdp: z.ZodString;
@@ -693,10 +719,10 @@ export declare const protocolMessageSchemas: {
693
719
  provider: z.ZodOptional<z.ZodEnum<["claude", "codex", "custom"]>>;
694
720
  }, "strip", z.ZodTypeAny, {
695
721
  cwd: string;
696
- provider?: "claude" | "codex" | "custom" | undefined;
722
+ provider?: "custom" | "claude" | "codex" | undefined;
697
723
  }, {
698
724
  cwd: string;
699
- provider?: "claude" | "codex" | "custom" | undefined;
725
+ provider?: "custom" | "claude" | "codex" | undefined;
700
726
  }>;
701
727
  readonly "terminal.spawned": z.ZodObject<{
702
728
  terminalId: z.ZodString;
@@ -719,30 +745,30 @@ export declare const protocolMessageSchemas: {
719
745
  provider: z.ZodString;
720
746
  status: z.ZodEnum<["running", "exited"]>;
721
747
  }, "strip", z.ZodTypeAny, {
722
- status: "running" | "exited";
723
748
  terminalId: string;
749
+ status: "running" | "exited";
724
750
  provider: string;
725
751
  cwd: string;
726
752
  projectName: string;
727
753
  }, {
728
- status: "running" | "exited";
729
754
  terminalId: string;
755
+ status: "running" | "exited";
730
756
  provider: string;
731
757
  cwd: string;
732
758
  projectName: string;
733
759
  }>, "many">;
734
760
  }, "strip", z.ZodTypeAny, {
735
761
  terminals: {
736
- status: "running" | "exited";
737
762
  terminalId: string;
763
+ status: "running" | "exited";
738
764
  provider: string;
739
765
  cwd: string;
740
766
  projectName: string;
741
767
  }[];
742
768
  }, {
743
769
  terminals: {
744
- status: "running" | "exited";
745
770
  terminalId: string;
771
+ status: "running" | "exited";
746
772
  provider: string;
747
773
  cwd: string;
748
774
  projectName: string;
@@ -788,6 +814,32 @@ export declare const protocolMessageSchemas: {
788
814
  }[];
789
815
  error?: string | undefined;
790
816
  }>;
817
+ readonly "terminal.kill": z.ZodObject<{
818
+ terminalId: z.ZodString;
819
+ }, "strip", z.ZodTypeAny, {
820
+ terminalId: string;
821
+ }, {
822
+ terminalId: string;
823
+ }>;
824
+ readonly "terminal.status": z.ZodObject<{
825
+ phase: z.ZodEnum<["thinking", "tool_use", "outputting", "waiting", "idle", "error"]>;
826
+ toolName: z.ZodOptional<z.ZodString>;
827
+ toolInput: z.ZodOptional<z.ZodString>;
828
+ permissionRequest: z.ZodOptional<z.ZodString>;
829
+ summary: z.ZodOptional<z.ZodString>;
830
+ }, "strip", z.ZodTypeAny, {
831
+ phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
832
+ toolName?: string | undefined;
833
+ toolInput?: string | undefined;
834
+ permissionRequest?: string | undefined;
835
+ summary?: string | undefined;
836
+ }, {
837
+ phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
838
+ toolName?: string | undefined;
839
+ toolInput?: string | undefined;
840
+ permissionRequest?: string | undefined;
841
+ summary?: string | undefined;
842
+ }>;
791
843
  };
792
844
  export type ProtocolMessageType = keyof typeof protocolMessageSchemas;
793
845
  export declare function createEnvelope<T>(input: {
@@ -151,6 +151,9 @@ export const terminalSpawnedPayloadSchema = z.object({
151
151
  cwd: z.string(),
152
152
  projectName: z.string(),
153
153
  });
154
+ export const terminalKillPayloadSchema = z.object({
155
+ terminalId: z.string().min(1),
156
+ });
154
157
  // ── Terminal browse payloads ──────────────────────────────────────
155
158
  export const terminalBrowsePayloadSchema = z.object({
156
159
  path: z.string().min(1),
@@ -165,6 +168,14 @@ export const terminalBrowseResultPayloadSchema = z.object({
165
168
  entries: z.array(terminalBrowseEntrySchema),
166
169
  error: z.string().optional(),
167
170
  });
171
+ // ── Terminal status payloads (from Claude Code hooks) ────────────────
172
+ export const terminalStatusPayloadSchema = z.object({
173
+ phase: z.enum(["thinking", "tool_use", "outputting", "waiting", "idle", "error"]),
174
+ toolName: z.string().optional(),
175
+ toolInput: z.string().optional(),
176
+ permissionRequest: z.string().optional(),
177
+ summary: z.string().optional(),
178
+ });
168
179
  // ── File upload payloads ────────────────────────────────────────────
169
180
  export const fileUploadPayloadSchema = z.object({
170
181
  data: z.string(), // base64 encoded
@@ -207,6 +218,8 @@ export const protocolMessageSchemas = {
207
218
  "terminal.list": terminalListPayloadSchema,
208
219
  "terminal.browse": terminalBrowsePayloadSchema,
209
220
  "terminal.browse.result": terminalBrowseResultPayloadSchema,
221
+ "terminal.kill": terminalKillPayloadSchema,
222
+ "terminal.status": terminalStatusPayloadSchema,
210
223
  };
211
224
  // ── UUID helper (works in Node, Web, and Expo) ─────────────────────
212
225
  function generateId() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-protocol/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-protocol/src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkshell-cli",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "description": "Remote terminal bridge for Claude Code / Codex — control from your phone",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,7 +1,8 @@
1
1
  import * as pty from "node-pty";
2
+ import * as http from "node:http";
2
3
  import WebSocket from "ws";
3
4
  import { hostname, platform, homedir } from "node:os";
4
- import { writeFileSync, readdirSync, statSync } from "node:fs";
5
+ import { writeFileSync, readdirSync, statSync, unlinkSync } from "node:fs";
5
6
  import { tmpdir } from "node:os";
6
7
  import { join, basename, resolve } from "node:path";
7
8
  import {
@@ -47,6 +48,9 @@ interface TerminalInstance {
47
48
  scrollback: ScrollbackBuffer;
48
49
  outputSeq: number;
49
50
  status: "running" | "exited";
51
+ hookServer?: http.Server;
52
+ hookPort?: number;
53
+ hookConfigPath?: string;
50
54
  }
51
55
 
52
56
  function getPairingGatewayParam(gatewayHttpUrl: string): string | undefined {
@@ -303,6 +307,14 @@ export class BridgeSession {
303
307
  this.sendTerminalList();
304
308
  break;
305
309
  }
310
+ case "terminal.kill": {
311
+ const p = parseTypedPayload("terminal.kill", envelope.payload);
312
+ const term = this.terminals.get(p.terminalId);
313
+ if (term && term.status === "running") {
314
+ term.pty.kill();
315
+ }
316
+ break;
317
+ }
306
318
  case "terminal.browse": {
307
319
  const p = parseTypedPayload("terminal.browse", envelope.payload);
308
320
  // Expand ~ to home directory
@@ -434,11 +446,26 @@ export class BridgeSession {
434
446
  if (v !== undefined) cleanEnv[k] = v;
435
447
  }
436
448
 
449
+ const provider = providerOverride ?? this.options.providerConfig.provider;
450
+ const args = [...this.options.providerConfig.args];
451
+
452
+ // For Claude provider: set up hook server for structured status
453
+ let hookServer: http.Server | undefined;
454
+ let hookPort: number | undefined;
455
+ let hookConfigPath: string | undefined;
456
+
457
+ if (provider === "claude") {
458
+ const { server, port, configPath } = this.setupHookServer(terminalId, args);
459
+ hookServer = server;
460
+ hookPort = port;
461
+ hookConfigPath = configPath;
462
+ }
463
+
437
464
  const term: TerminalInstance = {
438
465
  id: terminalId,
439
466
  pty: pty.spawn(
440
467
  this.options.providerConfig.command,
441
- this.options.providerConfig.args,
468
+ args,
442
469
  {
443
470
  name: "xterm-256color",
444
471
  cols: this.options.cols,
@@ -449,10 +476,13 @@ export class BridgeSession {
449
476
  ),
450
477
  cwd,
451
478
  projectName: basename(cwd),
452
- provider: providerOverride ?? this.options.providerConfig.provider,
479
+ provider,
453
480
  scrollback: new ScrollbackBuffer(1000),
454
481
  outputSeq: 0,
455
482
  status: "running",
483
+ hookServer,
484
+ hookPort,
485
+ hookConfigPath,
456
486
  };
457
487
 
458
488
  term.pty.onData((data) => {
@@ -476,6 +506,7 @@ export class BridgeSession {
476
506
 
477
507
  term.pty.onExit(({ exitCode, signal }) => {
478
508
  term.status = "exited";
509
+ this.cleanupHookServer(term);
479
510
  this.send(createEnvelope({
480
511
  type: "terminal.exit",
481
512
  sessionId: this.sessionId,
@@ -500,6 +531,130 @@ export class BridgeSession {
500
531
  this.log(`spawned terminal ${terminalId} in ${cwd}`);
501
532
  }
502
533
 
534
+ private setupHookServer(terminalId: string, args: string[]): {
535
+ server: http.Server;
536
+ port: number;
537
+ configPath: string;
538
+ } {
539
+ const server = http.createServer((req, res) => {
540
+ if (req.method !== "POST" || req.url !== "/hook") {
541
+ res.writeHead(404);
542
+ res.end();
543
+ return;
544
+ }
545
+ let body = "";
546
+ req.on("data", (chunk: Buffer) => { body += chunk.toString(); });
547
+ req.on("end", () => {
548
+ res.writeHead(200);
549
+ res.end("ok");
550
+ try {
551
+ const event = JSON.parse(body);
552
+ this.handleHookEvent(terminalId, event);
553
+ } catch (e) {
554
+ this.log(`hook parse error: ${e}`);
555
+ }
556
+ });
557
+ });
558
+
559
+ // Listen on random port
560
+ server.listen(0, "127.0.0.1");
561
+ const addr = server.address() as { port: number };
562
+ const port = addr.port;
563
+ this.log(`hook server for ${terminalId} listening on port ${port}`);
564
+
565
+ // Write temporary hook config
566
+ const configPath = join(tmpdir(), `linkshell-hooks-${terminalId}.json`);
567
+ const curlCmd = `curl -s -X POST http://127.0.0.1:${port}/hook -H 'Content-Type: application/json' -d "$(cat)"`;
568
+ const hookEntry = { hooks: [{ type: "command", command: curlCmd }] };
569
+ const config = {
570
+ hooks: {
571
+ PreToolUse: [hookEntry],
572
+ PostToolUse: [hookEntry],
573
+ PostToolUseFailure: [hookEntry],
574
+ Stop: [hookEntry],
575
+ PermissionRequest: [hookEntry],
576
+ },
577
+ };
578
+ writeFileSync(configPath, JSON.stringify(config));
579
+ this.log(`hook config written to ${configPath}`);
580
+
581
+ // Inject --settings into Claude CLI args
582
+ args.push("--settings", configPath);
583
+
584
+ return { server, port, configPath };
585
+ }
586
+
587
+ private handleHookEvent(terminalId: string, event: Record<string, unknown>): void {
588
+ const hookName = event.hook_event_name as string | undefined;
589
+ if (!hookName) return;
590
+
591
+ let phase: string;
592
+ let toolName: string | undefined;
593
+ let toolInput: string | undefined;
594
+ let permissionRequest: string | undefined;
595
+ let summary: string | undefined;
596
+
597
+ switch (hookName) {
598
+ case "PreToolUse":
599
+ phase = "tool_use";
600
+ toolName = event.tool_name as string | undefined;
601
+ if (event.tool_input && typeof event.tool_input === "object") {
602
+ const input = event.tool_input as Record<string, unknown>;
603
+ toolInput = JSON.stringify(input).slice(0, 200);
604
+ }
605
+ break;
606
+ case "PostToolUse":
607
+ phase = "thinking";
608
+ toolName = event.tool_name as string | undefined;
609
+ break;
610
+ case "PostToolUseFailure":
611
+ phase = "error";
612
+ toolName = event.tool_name as string | undefined;
613
+ break;
614
+ case "Stop":
615
+ phase = "idle";
616
+ if (event.stop_reason) summary = String(event.stop_reason);
617
+ break;
618
+ case "PermissionRequest":
619
+ phase = "waiting";
620
+ toolName = event.tool_name as string | undefined;
621
+ if (event.tool_input && typeof event.tool_input === "object") {
622
+ const input = event.tool_input as Record<string, unknown>;
623
+ permissionRequest = JSON.stringify(input).slice(0, 300);
624
+ }
625
+ break;
626
+ default:
627
+ return;
628
+ }
629
+
630
+ this.log(`hook event: ${hookName} → phase=${phase} tool=${toolName ?? "none"}`);
631
+
632
+ this.send(createEnvelope({
633
+ type: "terminal.status",
634
+ sessionId: this.sessionId,
635
+ terminalId,
636
+ payload: {
637
+ phase,
638
+ ...(toolName && { toolName }),
639
+ ...(toolInput && { toolInput }),
640
+ ...(permissionRequest && { permissionRequest }),
641
+ ...(summary && { summary }),
642
+ },
643
+ }));
644
+ }
645
+
646
+ private cleanupHookServer(term: TerminalInstance): void {
647
+ if (term.hookServer) {
648
+ term.hookServer.close();
649
+ term.hookServer = undefined;
650
+ this.log(`hook server closed for ${term.id}`);
651
+ }
652
+ if (term.hookConfigPath) {
653
+ try { unlinkSync(term.hookConfigPath); } catch { /* ignore */ }
654
+ term.hookConfigPath = undefined;
655
+ }
656
+ }
657
+
503
658
  private send(message: Envelope): void {
504
659
  if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {
505
660
  return;
@@ -632,6 +787,7 @@ export class BridgeSession {
632
787
  this.socket?.close();
633
788
  this.socket = undefined;
634
789
  for (const term of this.terminals.values()) {
790
+ this.cleanupHookServer(term);
635
791
  if (term.status === "running") term.pty.kill();
636
792
  }
637
793
  this.terminals.clear();