tinyagent 1.0.5

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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +100 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +91 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/pty-wrapper.py +73 -0
  8. package/dist/qr-generator.d.ts +2 -0
  9. package/dist/qr-generator.d.ts.map +1 -0
  10. package/dist/qr-generator.js +50 -0
  11. package/dist/qr-generator.js.map +1 -0
  12. package/dist/shared-types/auth.d.ts +44 -0
  13. package/dist/shared-types/auth.d.ts.map +1 -0
  14. package/dist/shared-types/auth.js +3 -0
  15. package/dist/shared-types/auth.js.map +1 -0
  16. package/dist/shared-types/constants.d.ts +6 -0
  17. package/dist/shared-types/constants.d.ts.map +1 -0
  18. package/dist/shared-types/constants.js +9 -0
  19. package/dist/shared-types/constants.js.map +1 -0
  20. package/dist/shared-types/host.d.ts +61 -0
  21. package/dist/shared-types/host.d.ts.map +1 -0
  22. package/dist/shared-types/host.js +17 -0
  23. package/dist/shared-types/host.js.map +1 -0
  24. package/dist/shared-types/index.d.ts +6 -0
  25. package/dist/shared-types/index.d.ts.map +1 -0
  26. package/dist/shared-types/index.js +22 -0
  27. package/dist/shared-types/index.js.map +1 -0
  28. package/dist/shared-types/messages.d.ts +106 -0
  29. package/dist/shared-types/messages.d.ts.map +1 -0
  30. package/dist/shared-types/messages.js +22 -0
  31. package/dist/shared-types/messages.js.map +1 -0
  32. package/dist/shared-types/session.d.ts +21 -0
  33. package/dist/shared-types/session.d.ts.map +1 -0
  34. package/dist/shared-types/session.js +3 -0
  35. package/dist/shared-types/session.js.map +1 -0
  36. package/dist/shell-client-v2.d.ts +45 -0
  37. package/dist/shell-client-v2.d.ts.map +1 -0
  38. package/dist/shell-client-v2.js +685 -0
  39. package/dist/shell-client-v2.js.map +1 -0
  40. package/dist/shell-client.d.ts +34 -0
  41. package/dist/shell-client.d.ts.map +1 -0
  42. package/dist/shell-client.js +304 -0
  43. package/dist/shell-client.js.map +1 -0
  44. package/dist/tunnel-manager.d.ts +6 -0
  45. package/dist/tunnel-manager.d.ts.map +1 -0
  46. package/dist/tunnel-manager.js +27 -0
  47. package/dist/tunnel-manager.js.map +1 -0
  48. package/package.json +48 -0
@@ -0,0 +1,106 @@
1
+ export declare enum MessageType {
2
+ SESSION_INIT = "SESSION_INIT",
3
+ SESSION_READY = "SESSION_READY",
4
+ SESSION_ERROR = "SESSION_ERROR",
5
+ SESSION_CLOSE = "SESSION_CLOSE",
6
+ SHELL_DATA = "SHELL_DATA",
7
+ SHELL_RESIZE = "SHELL_RESIZE",
8
+ TUNNEL_URL = "TUNNEL_URL",
9
+ HEARTBEAT = "HEARTBEAT",
10
+ COMMAND = "COMMAND",
11
+ HOST_REGISTER = "HOST_REGISTER",
12
+ HOST_STATUS = "HOST_STATUS",
13
+ HOST_CONNECT = "HOST_CONNECT",
14
+ HTTP_REQUEST = "HTTP_REQUEST",
15
+ HTTP_RESPONSE = "HTTP_RESPONSE",
16
+ REGISTER_PORT = "REGISTER_PORT"
17
+ }
18
+ export interface BaseMessage {
19
+ type: MessageType;
20
+ sessionId: string;
21
+ timestamp: number;
22
+ }
23
+ export interface SessionInitMessage extends BaseMessage {
24
+ type: MessageType.SESSION_INIT;
25
+ clientType: 'mobile' | 'shell' | 'host';
26
+ hostId?: string;
27
+ }
28
+ export interface SessionReadyMessage extends BaseMessage {
29
+ type: MessageType.SESSION_READY;
30
+ }
31
+ export interface SessionErrorMessage extends BaseMessage {
32
+ type: MessageType.SESSION_ERROR;
33
+ error: string;
34
+ }
35
+ export interface SessionCloseMessage extends BaseMessage {
36
+ type: MessageType.SESSION_CLOSE;
37
+ reason?: string;
38
+ }
39
+ export interface ShellDataMessage extends BaseMessage {
40
+ type: MessageType.SHELL_DATA;
41
+ data: string;
42
+ }
43
+ export interface ShellResizeMessage extends BaseMessage {
44
+ type: MessageType.SHELL_RESIZE;
45
+ cols: number;
46
+ rows: number;
47
+ }
48
+ export interface TunnelUrlMessage extends BaseMessage {
49
+ type: MessageType.TUNNEL_URL;
50
+ url: string;
51
+ port: number;
52
+ }
53
+ export interface HeartbeatMessage extends BaseMessage {
54
+ type: MessageType.HEARTBEAT;
55
+ }
56
+ export interface CommandMessage extends BaseMessage {
57
+ type: MessageType.COMMAND;
58
+ command: 'start_server' | 'stop_server' | 'terminate';
59
+ args?: any;
60
+ }
61
+ export interface HostRegisterMessage extends BaseMessage {
62
+ type: MessageType.HOST_REGISTER;
63
+ hostId: string;
64
+ registrationToken: string;
65
+ specs?: {
66
+ cpu: number;
67
+ memory: number;
68
+ storage: number;
69
+ };
70
+ }
71
+ export interface HostStatusMessage extends BaseMessage {
72
+ type: MessageType.HOST_STATUS;
73
+ hostId: string;
74
+ status: 'online' | 'offline' | 'starting' | 'stopping' | 'error';
75
+ metadata?: Record<string, any>;
76
+ }
77
+ export interface HostConnectMessage extends BaseMessage {
78
+ type: MessageType.HOST_CONNECT;
79
+ hostId: string;
80
+ userId: string;
81
+ }
82
+ export interface HttpRequestMessage extends BaseMessage {
83
+ type: MessageType.HTTP_REQUEST;
84
+ streamId: string;
85
+ method: string;
86
+ path: string;
87
+ headers: Record<string, string | string[]>;
88
+ body?: Buffer | string;
89
+ targetPort?: number;
90
+ }
91
+ export interface HttpResponseMessage extends BaseMessage {
92
+ type: MessageType.HTTP_RESPONSE;
93
+ streamId: string;
94
+ head?: {
95
+ status: number;
96
+ headers: Record<string, string | string[]>;
97
+ };
98
+ data?: Buffer | string;
99
+ end?: boolean;
100
+ }
101
+ export interface RegisterPortMessage extends BaseMessage {
102
+ type: MessageType.REGISTER_PORT;
103
+ ports: number[];
104
+ }
105
+ export type Message = SessionInitMessage | SessionReadyMessage | SessionErrorMessage | SessionCloseMessage | ShellDataMessage | ShellResizeMessage | TunnelUrlMessage | HeartbeatMessage | CommandMessage | HostRegisterMessage | HostStatusMessage | HostConnectMessage | HttpRequestMessage | HttpResponseMessage | RegisterPortMessage;
106
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/shared-types/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageType = void 0;
4
+ var MessageType;
5
+ (function (MessageType) {
6
+ MessageType["SESSION_INIT"] = "SESSION_INIT";
7
+ MessageType["SESSION_READY"] = "SESSION_READY";
8
+ MessageType["SESSION_ERROR"] = "SESSION_ERROR";
9
+ MessageType["SESSION_CLOSE"] = "SESSION_CLOSE";
10
+ MessageType["SHELL_DATA"] = "SHELL_DATA";
11
+ MessageType["SHELL_RESIZE"] = "SHELL_RESIZE";
12
+ MessageType["TUNNEL_URL"] = "TUNNEL_URL";
13
+ MessageType["HEARTBEAT"] = "HEARTBEAT";
14
+ MessageType["COMMAND"] = "COMMAND";
15
+ MessageType["HOST_REGISTER"] = "HOST_REGISTER";
16
+ MessageType["HOST_STATUS"] = "HOST_STATUS";
17
+ MessageType["HOST_CONNECT"] = "HOST_CONNECT";
18
+ MessageType["HTTP_REQUEST"] = "HTTP_REQUEST";
19
+ MessageType["HTTP_RESPONSE"] = "HTTP_RESPONSE";
20
+ MessageType["REGISTER_PORT"] = "REGISTER_PORT";
21
+ })(MessageType || (exports.MessageType = MessageType = {}));
22
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/shared-types/messages.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;IAC/B,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,8CAA+B,CAAA;IAC/B,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;IAC7B,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;AACjC,CAAC,EAhBW,WAAW,2BAAX,WAAW,QAgBtB"}
@@ -0,0 +1,21 @@
1
+ export interface SessionMetadata {
2
+ sessionId: string;
3
+ createdAt: number;
4
+ lastActivity: number;
5
+ mobileConnected: boolean;
6
+ shellConnected: boolean;
7
+ tunnelUrl?: string;
8
+ tunnelPort?: number;
9
+ }
10
+ export interface SessionConfig {
11
+ sessionId: string;
12
+ relayUrl: string;
13
+ shell?: string;
14
+ serverCommand?: string;
15
+ serverPort?: number;
16
+ }
17
+ export interface TunnelProvider {
18
+ type: 'localtunnel' | 'ngrok';
19
+ config?: Record<string, any>;
20
+ }
21
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/shared-types/session.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/shared-types/session.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ interface ShellClientOptions {
2
+ sessionId: string;
3
+ relayUrl: string;
4
+ shell: string;
5
+ serverCommand?: string;
6
+ serverPort?: number;
7
+ createTunnel?: boolean;
8
+ }
9
+ export declare class ShellClient {
10
+ private options;
11
+ private ws?;
12
+ private ptyProcess?;
13
+ private serverProcess?;
14
+ private tunnelManager?;
15
+ private heartbeatInterval?;
16
+ private reconnectTimeout?;
17
+ private portCheckInterval?;
18
+ private isConnected;
19
+ private spinner;
20
+ private terminalBuffer;
21
+ private exposedPorts;
22
+ private lastKnownPorts;
23
+ private stdinListener?;
24
+ private lastInputSource;
25
+ private lastInputTime;
26
+ private terminalDimensions;
27
+ constructor(options: ShellClientOptions);
28
+ connect(): Promise<void>;
29
+ private handleMessage;
30
+ private startShell;
31
+ private startServer;
32
+ private handleCommand;
33
+ private sendMessage;
34
+ private startHeartbeat;
35
+ private scheduleReconnect;
36
+ private handleHttpRequest;
37
+ private startPortDetection;
38
+ private detectActivePorts;
39
+ private isPortActive;
40
+ private setupLocalInput;
41
+ private cleanup;
42
+ disconnect(): void;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=shell-client-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-client-v2.d.ts","sourceRoot":"","sources":["../src/shell-client-v2.ts"],"names":[],"mappings":"AAwBA,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,WAAW;IAqBV,OAAO,CAAC,OAAO;IApB3B,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,UAAU,CAAC,CAAM;IACzB,OAAO,CAAC,aAAa,CAAC,CAAM;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,kBAAkB,CAGxB;gBAEkB,OAAO,EAAE,kBAAkB;IAuCzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC9B,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,UAAU;YA2FJ,WAAW;IAkCzB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,iBAAiB;YAUX,iBAAiB;IAsL/B,OAAO,CAAC,kBAAkB;YAUZ,iBAAiB;IA6D/B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,eAAe;IAsDvB,OAAO,CAAC,OAAO;IA2Bf,UAAU,IAAI,IAAI;CAMnB"}