@viccy123/tapcli 1.0.0

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 (97) hide show
  1. package/dist/a2ui/index.d.ts +5 -0
  2. package/dist/a2ui/index.d.ts.map +1 -0
  3. package/dist/a2ui/index.js +4 -0
  4. package/dist/a2ui/index.js.map +1 -0
  5. package/dist/a2ui/schemas.d.ts +1953 -0
  6. package/dist/a2ui/schemas.d.ts.map +1 -0
  7. package/dist/a2ui/schemas.js +107 -0
  8. package/dist/a2ui/schemas.js.map +1 -0
  9. package/dist/a2ui/surface-manager.d.ts +21 -0
  10. package/dist/a2ui/surface-manager.d.ts.map +1 -0
  11. package/dist/a2ui/surface-manager.js +71 -0
  12. package/dist/a2ui/surface-manager.js.map +1 -0
  13. package/dist/a2ui/types.d.ts +50 -0
  14. package/dist/a2ui/types.d.ts.map +1 -0
  15. package/dist/a2ui/types.js +2 -0
  16. package/dist/a2ui/types.js.map +1 -0
  17. package/dist/ai/analyzer.d.ts +19 -0
  18. package/dist/ai/analyzer.d.ts.map +1 -0
  19. package/dist/ai/analyzer.js +87 -0
  20. package/dist/ai/analyzer.js.map +1 -0
  21. package/dist/ai/index.d.ts +6 -0
  22. package/dist/ai/index.d.ts.map +1 -0
  23. package/dist/ai/index.js +4 -0
  24. package/dist/ai/index.js.map +1 -0
  25. package/dist/ai/prompts.d.ts +5 -0
  26. package/dist/ai/prompts.d.ts.map +1 -0
  27. package/dist/ai/prompts.js +81 -0
  28. package/dist/ai/prompts.js.map +1 -0
  29. package/dist/ai/ui-generator.d.ts +14 -0
  30. package/dist/ai/ui-generator.d.ts.map +1 -0
  31. package/dist/ai/ui-generator.js +172 -0
  32. package/dist/ai/ui-generator.js.map +1 -0
  33. package/dist/auth/index.d.ts +2 -0
  34. package/dist/auth/index.d.ts.map +1 -0
  35. package/dist/auth/index.js +2 -0
  36. package/dist/auth/index.js.map +1 -0
  37. package/dist/auth/pairing.d.ts +18 -0
  38. package/dist/auth/pairing.d.ts.map +1 -0
  39. package/dist/auth/pairing.js +59 -0
  40. package/dist/auth/pairing.js.map +1 -0
  41. package/dist/config/index.d.ts +7 -0
  42. package/dist/config/index.d.ts.map +1 -0
  43. package/dist/config/index.js +31 -0
  44. package/dist/config/index.js.map +1 -0
  45. package/dist/config/schema.d.ts +89 -0
  46. package/dist/config/schema.d.ts.map +1 -0
  47. package/dist/config/schema.js +22 -0
  48. package/dist/config/schema.js.map +1 -0
  49. package/dist/index.d.ts +3 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +34 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/protocol/index.d.ts +3 -0
  54. package/dist/protocol/index.d.ts.map +1 -0
  55. package/dist/protocol/index.js +3 -0
  56. package/dist/protocol/index.js.map +1 -0
  57. package/dist/protocol/schemas.d.ts +77 -0
  58. package/dist/protocol/schemas.d.ts.map +1 -0
  59. package/dist/protocol/schemas.js +18 -0
  60. package/dist/protocol/schemas.js.map +1 -0
  61. package/dist/protocol/types.d.ts +74 -0
  62. package/dist/protocol/types.d.ts.map +1 -0
  63. package/dist/protocol/types.js +2 -0
  64. package/dist/protocol/types.js.map +1 -0
  65. package/dist/pty/index.d.ts +5 -0
  66. package/dist/pty/index.d.ts.map +1 -0
  67. package/dist/pty/index.js +3 -0
  68. package/dist/pty/index.js.map +1 -0
  69. package/dist/pty/session.d.ts +17 -0
  70. package/dist/pty/session.d.ts.map +1 -0
  71. package/dist/pty/session.js +71 -0
  72. package/dist/pty/session.js.map +1 -0
  73. package/dist/pty/terminal-query-interceptor.d.ts +27 -0
  74. package/dist/pty/terminal-query-interceptor.d.ts.map +1 -0
  75. package/dist/pty/terminal-query-interceptor.js +63 -0
  76. package/dist/pty/terminal-query-interceptor.js.map +1 -0
  77. package/dist/pty/types.d.ts +13 -0
  78. package/dist/pty/types.d.ts.map +1 -0
  79. package/dist/pty/types.js +2 -0
  80. package/dist/pty/types.js.map +1 -0
  81. package/dist/server.d.ts +60 -0
  82. package/dist/server.d.ts.map +1 -0
  83. package/dist/server.js +524 -0
  84. package/dist/server.js.map +1 -0
  85. package/dist/transport/client.d.ts +26 -0
  86. package/dist/transport/client.d.ts.map +1 -0
  87. package/dist/transport/client.js +68 -0
  88. package/dist/transport/client.js.map +1 -0
  89. package/dist/transport/index.d.ts +5 -0
  90. package/dist/transport/index.d.ts.map +1 -0
  91. package/dist/transport/index.js +3 -0
  92. package/dist/transport/index.js.map +1 -0
  93. package/dist/transport/websocket.d.ts +25 -0
  94. package/dist/transport/websocket.d.ts.map +1 -0
  95. package/dist/transport/websocket.js +61 -0
  96. package/dist/transport/websocket.js.map +1 -0
  97. package/package.json +39 -0
@@ -0,0 +1,5 @@
1
+ export { WSClient } from './client.js';
2
+ export type { WSClientHandlers } from './client.js';
3
+ export { WSServer } from './websocket.js';
4
+ export type { WSServerOptions, WSServerEvents } from './websocket.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { WSClient } from './client.js';
2
+ export { WSServer } from './websocket.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { Server } from 'http';
2
+ import { WSClient } from './client.js';
3
+ import type { ClientMessage, ServerMessage } from '../protocol/types.js';
4
+ export interface WSServerOptions {
5
+ port?: number;
6
+ server?: Server;
7
+ }
8
+ export interface WSServerEvents {
9
+ onConnection: (client: WSClient) => void;
10
+ onMessage: (client: WSClient, message: ClientMessage) => void;
11
+ onDisconnect: (client: WSClient) => void;
12
+ }
13
+ export declare class WSServer {
14
+ private readonly events;
15
+ private readonly wss;
16
+ private readonly clients;
17
+ constructor(options: WSServerOptions, events: WSServerEvents);
18
+ private handleConnection;
19
+ broadcast(message: ServerMessage): void;
20
+ getClient(id: string): WSClient | undefined;
21
+ getClientCount(): number;
22
+ getAuthenticatedClientCount(): number;
23
+ close(): void;
24
+ }
25
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC1C;AAED,qBAAa,QAAQ;IAMjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;gBAG1D,OAAO,EAAE,eAAe,EACP,MAAM,EAAE,cAAc;IAUzC,OAAO,CAAC,gBAAgB;IAkBxB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAQvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,cAAc,IAAI,MAAM;IAIxB,2BAA2B,IAAI,MAAM;IAUrC,KAAK,IAAI,IAAI;CAOd"}
@@ -0,0 +1,61 @@
1
+ import { WebSocketServer } from 'ws';
2
+ import { WSClient } from './client.js';
3
+ export class WSServer {
4
+ events;
5
+ wss;
6
+ clients = new Map();
7
+ constructor(options, events) {
8
+ this.events = events;
9
+ this.wss = new WebSocketServer({
10
+ port: options.port,
11
+ server: options.server,
12
+ });
13
+ this.wss.on('connection', this.handleConnection.bind(this));
14
+ }
15
+ handleConnection(ws) {
16
+ const client = new WSClient(ws, {
17
+ onMessage: (c, msg) => this.events.onMessage(c, msg),
18
+ onClose: (c) => {
19
+ this.clients.delete(c.id);
20
+ this.events.onDisconnect(c);
21
+ },
22
+ onError: (c, error) => {
23
+ // Log error but don't expose to external handlers
24
+ // Error handling is internal to the client
25
+ void error;
26
+ },
27
+ });
28
+ this.clients.set(client.id, client);
29
+ this.events.onConnection(client);
30
+ }
31
+ broadcast(message) {
32
+ for (const client of this.clients.values()) {
33
+ if (client.isAuthenticated()) {
34
+ client.send(message);
35
+ }
36
+ }
37
+ }
38
+ getClient(id) {
39
+ return this.clients.get(id);
40
+ }
41
+ getClientCount() {
42
+ return this.clients.size;
43
+ }
44
+ getAuthenticatedClientCount() {
45
+ let count = 0;
46
+ for (const client of this.clients.values()) {
47
+ if (client.isAuthenticated()) {
48
+ count++;
49
+ }
50
+ }
51
+ return count;
52
+ }
53
+ close() {
54
+ for (const client of this.clients.values()) {
55
+ client.close();
56
+ }
57
+ this.clients.clear();
58
+ this.wss.close();
59
+ }
60
+ }
61
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAcvC,MAAM,OAAO,QAAQ;IAMA;IALF,GAAG,CAAkB;IACrB,OAAO,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE5D,YACE,OAAwB,EACP,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;QAEvC,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,gBAAgB,CAAC,EAAa;QACpC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE;YAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YACpD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBACpB,kDAAkD;gBAClD,2CAA2C;gBAC3C,KAAK,KAAK,CAAC;YACb,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,OAAsB;QAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,2BAA2B;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC7B,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@viccy123/tapcli",
3
+ "version": "1.0.0",
4
+ "description": "TapCLI Mac Service",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "tapcli": "./dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "engines": {
14
+ "node": ">=18.0.0"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "dev": "tsx watch src/index.ts",
19
+ "start": "node dist/index.js",
20
+ "prepublishOnly": "npm run build",
21
+ "test": "vitest",
22
+ "test:coverage": "vitest --coverage"
23
+ },
24
+ "dependencies": {
25
+ "node-pty": "^1.0.0",
26
+ "ws": "^8.18.0",
27
+ "uuid": "^10.0.0",
28
+ "zod": "^3.23.0"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "^22.0.0",
32
+ "@types/ws": "^8.5.0",
33
+ "@types/uuid": "^10.0.0",
34
+ "typescript": "^5.6.0",
35
+ "tsx": "^4.19.0",
36
+ "vitest": "^2.1.0",
37
+ "@vitest/coverage-v8": "^2.1.0"
38
+ }
39
+ }