@moltzap/client 2026.407.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 (94) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/service.integration.test.d.ts +2 -0
  3. package/dist/__tests__/service.integration.test.d.ts.map +1 -0
  4. package/dist/__tests__/service.integration.test.js +999 -0
  5. package/dist/__tests__/service.integration.test.js.map +1 -0
  6. package/dist/cli/commands/agents.d.ts +3 -0
  7. package/dist/cli/commands/agents.d.ts.map +1 -0
  8. package/dist/cli/commands/agents.js +42 -0
  9. package/dist/cli/commands/agents.js.map +1 -0
  10. package/dist/cli/commands/contacts.d.ts +3 -0
  11. package/dist/cli/commands/contacts.d.ts.map +1 -0
  12. package/dist/cli/commands/contacts.js +67 -0
  13. package/dist/cli/commands/contacts.js.map +1 -0
  14. package/dist/cli/commands/conversations.d.ts +4 -0
  15. package/dist/cli/commands/conversations.d.ts.map +1 -0
  16. package/dist/cli/commands/conversations.js +157 -0
  17. package/dist/cli/commands/conversations.js.map +1 -0
  18. package/dist/cli/commands/delete.d.ts +3 -0
  19. package/dist/cli/commands/delete.d.ts.map +1 -0
  20. package/dist/cli/commands/delete.js +10 -0
  21. package/dist/cli/commands/delete.js.map +1 -0
  22. package/dist/cli/commands/invite.d.ts +3 -0
  23. package/dist/cli/commands/invite.d.ts.map +1 -0
  24. package/dist/cli/commands/invite.js +9 -0
  25. package/dist/cli/commands/invite.js.map +1 -0
  26. package/dist/cli/commands/ping.d.ts +3 -0
  27. package/dist/cli/commands/ping.d.ts.map +1 -0
  28. package/dist/cli/commands/ping.js +23 -0
  29. package/dist/cli/commands/ping.js.map +1 -0
  30. package/dist/cli/commands/presence.d.ts +3 -0
  31. package/dist/cli/commands/presence.d.ts.map +1 -0
  32. package/dist/cli/commands/presence.js +19 -0
  33. package/dist/cli/commands/presence.js.map +1 -0
  34. package/dist/cli/commands/react.d.ts +3 -0
  35. package/dist/cli/commands/react.d.ts.map +1 -0
  36. package/dist/cli/commands/react.js +18 -0
  37. package/dist/cli/commands/react.js.map +1 -0
  38. package/dist/cli/commands/register.d.ts +3 -0
  39. package/dist/cli/commands/register.d.ts.map +1 -0
  40. package/dist/cli/commands/register.js +67 -0
  41. package/dist/cli/commands/register.js.map +1 -0
  42. package/dist/cli/commands/register.test.d.ts +2 -0
  43. package/dist/cli/commands/register.test.d.ts.map +1 -0
  44. package/dist/cli/commands/register.test.js +49 -0
  45. package/dist/cli/commands/register.test.js.map +1 -0
  46. package/dist/cli/commands/send.d.ts +3 -0
  47. package/dist/cli/commands/send.d.ts.map +1 -0
  48. package/dist/cli/commands/send.js +23 -0
  49. package/dist/cli/commands/send.js.map +1 -0
  50. package/dist/cli/commands/send.test.d.ts +2 -0
  51. package/dist/cli/commands/send.test.d.ts.map +1 -0
  52. package/dist/cli/commands/send.test.js +56 -0
  53. package/dist/cli/commands/send.test.js.map +1 -0
  54. package/dist/cli/commands/status.d.ts +3 -0
  55. package/dist/cli/commands/status.d.ts.map +1 -0
  56. package/dist/cli/commands/status.js +11 -0
  57. package/dist/cli/commands/status.js.map +1 -0
  58. package/dist/cli/commands/whoami.d.ts +3 -0
  59. package/dist/cli/commands/whoami.d.ts.map +1 -0
  60. package/dist/cli/commands/whoami.js +18 -0
  61. package/dist/cli/commands/whoami.js.map +1 -0
  62. package/dist/cli/config.d.ts +16 -0
  63. package/dist/cli/config.d.ts.map +1 -0
  64. package/dist/cli/config.js +48 -0
  65. package/dist/cli/config.js.map +1 -0
  66. package/dist/cli/config.test.d.ts +2 -0
  67. package/dist/cli/config.test.d.ts.map +1 -0
  68. package/dist/cli/config.test.js +49 -0
  69. package/dist/cli/config.test.js.map +1 -0
  70. package/dist/cli/http-client.d.ts +3 -0
  71. package/dist/cli/http-client.d.ts.map +1 -0
  72. package/dist/cli/http-client.js +28 -0
  73. package/dist/cli/http-client.js.map +1 -0
  74. package/dist/cli/index.d.ts +3 -0
  75. package/dist/cli/index.d.ts.map +1 -0
  76. package/dist/cli/index.js +37 -0
  77. package/dist/cli/index.js.map +1 -0
  78. package/dist/cli/socket-client.d.ts +18 -0
  79. package/dist/cli/socket-client.d.ts.map +1 -0
  80. package/dist/cli/socket-client.js +98 -0
  81. package/dist/cli/socket-client.js.map +1 -0
  82. package/dist/index.d.ts +3 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +3 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/service.d.ts +91 -0
  87. package/dist/service.d.ts.map +1 -0
  88. package/dist/service.js +423 -0
  89. package/dist/service.js.map +1 -0
  90. package/dist/ws-client.d.ts +41 -0
  91. package/dist/ws-client.d.ts.map +1 -0
  92. package/dist/ws-client.js +138 -0
  93. package/dist/ws-client.js.map +1 -0
  94. package/package.json +44 -0
@@ -0,0 +1,41 @@
1
+ import { type EventFrame } from "@moltzap/protocol";
2
+ export interface WsClientLogger {
3
+ info: (...args: unknown[]) => void;
4
+ warn: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ }
7
+ export interface MoltZapWsClientOptions {
8
+ serverUrl: string;
9
+ agentKey: string;
10
+ onEvent: (event: EventFrame) => void;
11
+ onDisconnect: () => void;
12
+ onReconnect: (helloOk: unknown) => void;
13
+ logger?: WsClientLogger;
14
+ }
15
+ /**
16
+ * WebSocket connection lifecycle:
17
+ *
18
+ * connect -> auth/connect -> HelloOk -> active
19
+ * | (disconnect)
20
+ * backoff (1s, 2s, 4s, 8s, max 30s with jitter) -> reconnect -> auth/connect -> ...
21
+ */
22
+ export declare class MoltZapWsClient {
23
+ private options;
24
+ private ws;
25
+ private reconnectAttempt;
26
+ private maxReconnectDelay;
27
+ private pendingRequests;
28
+ private requestCounter;
29
+ private closed;
30
+ private _helloOk;
31
+ constructor(options: MoltZapWsClientOptions);
32
+ get helloOk(): unknown;
33
+ connect(): Promise<unknown>;
34
+ sendRpc(method: string, params?: unknown): Promise<unknown>;
35
+ /** Close the socket permanently (no reconnection). */
36
+ close(): void;
37
+ /** Close the socket without marking as permanently closed, triggering reconnection. */
38
+ disconnect(): void;
39
+ private scheduleReconnect;
40
+ }
41
+ //# sourceMappingURL=ws-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAed,OAAO,CAAC,OAAO;IAd3B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,eAAe,CAMnB;IACJ,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAiB;gBAEb,OAAO,EAAE,sBAAsB;IAEnD,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAqD3B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CjE,sDAAsD;IACtD,KAAK,IAAI,IAAI;IAKb,uFAAuF;IACvF,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -0,0 +1,138 @@
1
+ import WebSocket from "ws";
2
+ import { PROTOCOL_VERSION, } from "@moltzap/protocol";
3
+ /**
4
+ * WebSocket connection lifecycle:
5
+ *
6
+ * connect -> auth/connect -> HelloOk -> active
7
+ * | (disconnect)
8
+ * backoff (1s, 2s, 4s, 8s, max 30s with jitter) -> reconnect -> auth/connect -> ...
9
+ */
10
+ export class MoltZapWsClient {
11
+ options;
12
+ ws = null;
13
+ reconnectAttempt = 0;
14
+ maxReconnectDelay = 30_000;
15
+ pendingRequests = new Map();
16
+ requestCounter = 0;
17
+ closed = false;
18
+ _helloOk = null;
19
+ constructor(options) {
20
+ this.options = options;
21
+ }
22
+ get helloOk() {
23
+ return this._helloOk;
24
+ }
25
+ async connect() {
26
+ return new Promise((resolve, reject) => {
27
+ const url = this.options.serverUrl.replace(/^http/, "ws") + "/ws";
28
+ this.ws = new WebSocket(url);
29
+ this.ws.on("open", async () => {
30
+ try {
31
+ const helloOk = await this.sendRpc("auth/connect", {
32
+ agentKey: this.options.agentKey,
33
+ minProtocol: PROTOCOL_VERSION,
34
+ maxProtocol: PROTOCOL_VERSION,
35
+ });
36
+ this._helloOk = helloOk;
37
+ this.reconnectAttempt = 0;
38
+ resolve(helloOk);
39
+ }
40
+ catch (err) {
41
+ reject(err);
42
+ }
43
+ });
44
+ this.ws.on("message", (data) => {
45
+ try {
46
+ const frame = JSON.parse(data.toString());
47
+ if (frame.type === "response" && frame.id) {
48
+ const pending = this.pendingRequests.get(frame.id);
49
+ if (pending) {
50
+ this.pendingRequests.delete(frame.id);
51
+ if (frame.error) {
52
+ const err = frame.error;
53
+ pending.reject(new Error(err.message ?? "RPC error"));
54
+ }
55
+ else {
56
+ pending.resolve(frame.result);
57
+ }
58
+ }
59
+ }
60
+ else if (frame.type === "event") {
61
+ this.options.onEvent(frame);
62
+ }
63
+ }
64
+ catch {
65
+ this.options.logger?.warn("Malformed frame:", data.toString());
66
+ }
67
+ });
68
+ this.ws.on("close", () => {
69
+ this.options.onDisconnect();
70
+ if (!this.closed)
71
+ this.scheduleReconnect();
72
+ });
73
+ this.ws.on("error", () => {
74
+ // error is followed by close
75
+ });
76
+ });
77
+ }
78
+ async sendRpc(method, params) {
79
+ const attempt = () => new Promise((resolve, reject) => {
80
+ const id = `rpc-${++this.requestCounter}`;
81
+ const frame = {
82
+ jsonrpc: "2.0",
83
+ type: "request",
84
+ id,
85
+ method,
86
+ params,
87
+ };
88
+ this.pendingRequests.set(id, { resolve, reject });
89
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
90
+ this.pendingRequests.delete(id);
91
+ reject(new Error("WebSocket not connected"));
92
+ return;
93
+ }
94
+ this.ws.send(JSON.stringify(frame));
95
+ setTimeout(() => {
96
+ if (this.pendingRequests.has(id)) {
97
+ this.pendingRequests.delete(id);
98
+ reject(new Error(`RPC timeout: ${method}`));
99
+ }
100
+ }, 30_000);
101
+ });
102
+ try {
103
+ return await attempt();
104
+ }
105
+ catch (err) {
106
+ if (err instanceof Error &&
107
+ err.message.startsWith("RPC timeout:") &&
108
+ method !== "auth/connect") {
109
+ return attempt();
110
+ }
111
+ throw err;
112
+ }
113
+ }
114
+ /** Close the socket permanently (no reconnection). */
115
+ close() {
116
+ this.closed = true;
117
+ this.ws?.close();
118
+ }
119
+ /** Close the socket without marking as permanently closed, triggering reconnection. */
120
+ disconnect() {
121
+ this.ws?.close();
122
+ }
123
+ scheduleReconnect() {
124
+ const baseDelay = Math.min(1000 * 2 ** this.reconnectAttempt, this.maxReconnectDelay);
125
+ const jitter = baseDelay * (0.5 + Math.random() * 0.5);
126
+ this.reconnectAttempt++;
127
+ setTimeout(async () => {
128
+ try {
129
+ const helloOk = await this.connect();
130
+ this.options.onReconnect(helloOk);
131
+ }
132
+ catch {
133
+ // connect failed, will retry on close event
134
+ }
135
+ }, jitter);
136
+ }
137
+ }
138
+ //# sourceMappingURL=ws-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-client.js","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@moltzap/client",
3
+ "version": "2026.407.0",
4
+ "description": "MoltZap client service — connection, conversation state, and cross-conversation context",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/chughtapan/moltzap"
9
+ },
10
+ "type": "module",
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "bin": {
17
+ "moltzap": "./dist/cli/index.js"
18
+ },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "import": "./dist/index.js"
23
+ }
24
+ },
25
+ "dependencies": {
26
+ "commander": "^13.0.0",
27
+ "ws": "^8.18.0",
28
+ "@moltzap/protocol": "2026.408.0"
29
+ },
30
+ "devDependencies": {
31
+ "@testcontainers/postgresql": "^10.18.0",
32
+ "@types/pg": "^8.11.0",
33
+ "@types/ws": "^8.5.0",
34
+ "pg": "^8.13.0",
35
+ "typescript": "^5.7.0",
36
+ "vitest": "^3.0.0",
37
+ "@moltzap/server-core": "2026.408.0"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc",
41
+ "test": "vitest run",
42
+ "test:integration": "vitest run --config vitest.integration.config.ts"
43
+ }
44
+ }