@zhin.js/client 1.1.4 → 1.1.6

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 (147) hide show
  1. package/README.md +94 -432
  2. package/client/agent-stream.ts +121 -0
  3. package/client/app.test.ts +37 -0
  4. package/client/app.ts +130 -138
  5. package/client/bootstrap/loadConsoleEntries.test.ts +23 -12
  6. package/client/bootstrap/loadConsoleEntries.ts +40 -27
  7. package/client/console-client-context.ts +24 -0
  8. package/client/console-client.test.ts +46 -0
  9. package/client/console-client.ts +70 -0
  10. package/client/console-events.ts +38 -0
  11. package/client/console-utils/remoteApi.test.ts +91 -0
  12. package/client/console-utils/remoteApi.ts +47 -9
  13. package/client/index.ts +92 -28
  14. package/client/mediaSrc.test.ts +49 -0
  15. package/client/mediaSrc.ts +84 -11
  16. package/client/message-content/MarkdownContent.tsx +128 -0
  17. package/client/message-content/markdown.test.ts +48 -0
  18. package/client/message-content/markdown.ts +247 -0
  19. package/client/persistence/idb-store.test.ts +121 -0
  20. package/client/persistence/idb-store.ts +40 -21
  21. package/client/segments.test.ts +16 -0
  22. package/client/segments.ts +39 -0
  23. package/client/transport/console-transport.test.ts +394 -0
  24. package/client/transport/console-transport.ts +676 -0
  25. package/client/transport/hooks.test.ts +21 -0
  26. package/client/transport/hooks.ts +535 -0
  27. package/client/transport/index.ts +23 -0
  28. package/client/{websocket → transport}/types.ts +16 -17
  29. package/client/types.ts +5 -8
  30. package/client/workroom/WorkroomRunsPage.tsx +355 -0
  31. package/client/workroom/registerWorkroomConsole.test.ts +25 -0
  32. package/client/workroom/registerWorkroomConsole.ts +17 -0
  33. package/dist/agent-stream.d.ts +17 -0
  34. package/dist/agent-stream.d.ts.map +1 -0
  35. package/dist/agent-stream.js +73 -0
  36. package/dist/agent-stream.js.map +1 -0
  37. package/dist/app.d.ts +17 -52
  38. package/dist/app.d.ts.map +1 -1
  39. package/dist/app.js +110 -95
  40. package/dist/app.js.map +1 -1
  41. package/dist/bootstrap/loadConsoleEntries.d.ts +10 -7
  42. package/dist/bootstrap/loadConsoleEntries.d.ts.map +1 -1
  43. package/dist/bootstrap/loadConsoleEntries.js +37 -11
  44. package/dist/bootstrap/loadConsoleEntries.js.map +1 -1
  45. package/dist/console-client-context.d.ts +9 -0
  46. package/dist/console-client-context.d.ts.map +1 -0
  47. package/dist/console-client-context.js +13 -0
  48. package/dist/console-client-context.js.map +1 -0
  49. package/dist/console-client.d.ts +25 -0
  50. package/dist/console-client.d.ts.map +1 -0
  51. package/dist/console-client.js +45 -0
  52. package/dist/console-client.js.map +1 -0
  53. package/dist/console-events.d.ts +8 -0
  54. package/dist/console-events.d.ts.map +1 -0
  55. package/dist/console-events.js +26 -0
  56. package/dist/console-events.js.map +1 -0
  57. package/dist/console-utils/remoteApi.d.ts +2 -1
  58. package/dist/console-utils/remoteApi.d.ts.map +1 -1
  59. package/dist/console-utils/remoteApi.js +46 -8
  60. package/dist/console-utils/remoteApi.js.map +1 -1
  61. package/dist/index.d.ts +14 -7
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +18 -8
  64. package/dist/index.js.map +1 -1
  65. package/dist/mediaSrc.d.ts +1 -1
  66. package/dist/mediaSrc.d.ts.map +1 -1
  67. package/dist/mediaSrc.js +91 -11
  68. package/dist/mediaSrc.js.map +1 -1
  69. package/dist/message-content/MarkdownContent.d.ts +11 -0
  70. package/dist/message-content/MarkdownContent.d.ts.map +1 -0
  71. package/dist/message-content/MarkdownContent.js +68 -0
  72. package/dist/message-content/MarkdownContent.js.map +1 -0
  73. package/dist/message-content/markdown.d.ts +47 -0
  74. package/dist/message-content/markdown.d.ts.map +1 -0
  75. package/dist/message-content/markdown.js +219 -0
  76. package/dist/message-content/markdown.js.map +1 -0
  77. package/dist/persistence/idb-store.d.ts +5 -2
  78. package/dist/persistence/idb-store.d.ts.map +1 -1
  79. package/dist/persistence/idb-store.js +29 -20
  80. package/dist/persistence/idb-store.js.map +1 -1
  81. package/dist/segments.d.ts +9 -0
  82. package/dist/segments.d.ts.map +1 -0
  83. package/dist/segments.js +35 -0
  84. package/dist/segments.js.map +1 -0
  85. package/dist/transport/console-transport.d.ts +217 -0
  86. package/dist/transport/console-transport.d.ts.map +1 -0
  87. package/dist/transport/console-transport.js +563 -0
  88. package/dist/transport/console-transport.js.map +1 -0
  89. package/dist/transport/hooks.d.ts +253 -0
  90. package/dist/transport/hooks.d.ts.map +1 -0
  91. package/dist/transport/hooks.js +483 -0
  92. package/dist/transport/hooks.js.map +1 -0
  93. package/dist/transport/index.d.ts +4 -0
  94. package/dist/transport/index.d.ts.map +1 -0
  95. package/dist/transport/index.js +4 -0
  96. package/dist/transport/index.js.map +1 -0
  97. package/dist/{websocket → transport}/types.d.ts +14 -13
  98. package/dist/transport/types.d.ts.map +1 -0
  99. package/dist/{websocket → transport}/types.js +4 -9
  100. package/dist/transport/types.js.map +1 -0
  101. package/dist/types.d.ts +4 -4
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/workroom/WorkroomRunsPage.d.ts +2 -0
  104. package/dist/workroom/WorkroomRunsPage.d.ts.map +1 -0
  105. package/dist/workroom/WorkroomRunsPage.js +111 -0
  106. package/dist/workroom/WorkroomRunsPage.js.map +1 -0
  107. package/dist/workroom/registerWorkroomConsole.d.ts +4 -0
  108. package/dist/workroom/registerWorkroomConsole.d.ts.map +1 -0
  109. package/dist/workroom/registerWorkroomConsole.js +16 -0
  110. package/dist/workroom/registerWorkroomConsole.js.map +1 -0
  111. package/package.json +18 -8
  112. package/client/runtime/index.ts +0 -12
  113. package/client/websocket/hooks.ts +0 -289
  114. package/client/websocket/index.ts +0 -6
  115. package/client/websocket/instance.ts +0 -24
  116. package/client/websocket/manager.ts +0 -426
  117. package/client/websocket/remote-settings.ts +0 -25
  118. package/dist/bootstrap/loadConsoleEntries.test.d.ts +0 -2
  119. package/dist/bootstrap/loadConsoleEntries.test.d.ts.map +0 -1
  120. package/dist/bootstrap/loadConsoleEntries.test.js +0 -27
  121. package/dist/bootstrap/loadConsoleEntries.test.js.map +0 -1
  122. package/dist/runtime/index.d.ts +0 -6
  123. package/dist/runtime/index.d.ts.map +0 -1
  124. package/dist/runtime/index.js +0 -10
  125. package/dist/runtime/index.js.map +0 -1
  126. package/dist/websocket/hooks.d.ts +0 -105
  127. package/dist/websocket/hooks.d.ts.map +0 -1
  128. package/dist/websocket/hooks.js +0 -247
  129. package/dist/websocket/hooks.js.map +0 -1
  130. package/dist/websocket/index.d.ts +0 -7
  131. package/dist/websocket/index.d.ts.map +0 -1
  132. package/dist/websocket/index.js +0 -7
  133. package/dist/websocket/index.js.map +0 -1
  134. package/dist/websocket/instance.d.ts +0 -5
  135. package/dist/websocket/instance.d.ts.map +0 -1
  136. package/dist/websocket/instance.js +0 -21
  137. package/dist/websocket/instance.js.map +0 -1
  138. package/dist/websocket/manager.d.ts +0 -113
  139. package/dist/websocket/manager.d.ts.map +0 -1
  140. package/dist/websocket/manager.js +0 -403
  141. package/dist/websocket/manager.js.map +0 -1
  142. package/dist/websocket/remote-settings.d.ts +0 -5
  143. package/dist/websocket/remote-settings.d.ts.map +0 -1
  144. package/dist/websocket/remote-settings.js +0 -23
  145. package/dist/websocket/remote-settings.js.map +0 -1
  146. package/dist/websocket/types.d.ts.map +0 -1
  147. package/dist/websocket/types.js.map +0 -1
@@ -1,247 +0,0 @@
1
- import { useCallback, useEffect, useMemo, useState } from "react";
2
- import { getWebSocketManager } from "./instance";
3
- export function useWebSocket(options = {}) {
4
- const { autoConnect = true } = options;
5
- const wsManager = getWebSocketManager();
6
- const [connected, setConnected] = useState(wsManager.isConnected());
7
- useEffect(() => {
8
- return wsManager.onConnectionChange(setConnected);
9
- }, [wsManager]);
10
- const connect = useCallback(() => wsManager.connect(), [wsManager]);
11
- const disconnect = useCallback(() => wsManager.disconnect(), [wsManager]);
12
- const send = useCallback((message) => wsManager.send(message), [wsManager]);
13
- const sendRequest = useCallback((message) => wsManager.sendRequest(message), [wsManager]);
14
- useEffect(() => {
15
- if (autoConnect && !connected)
16
- connect();
17
- }, [autoConnect, connected, connect]);
18
- return { connected, connect, disconnect, send, sendRequest, manager: wsManager };
19
- }
20
- export function useConfig(pluginName, options) {
21
- const { autoLoad = true, autoLoadSchema = true } = options ?? {};
22
- const wsManager = getWebSocketManager();
23
- const [connected, setConnected] = useState(wsManager.isConnected());
24
- const [config, setConfigState] = useState(null);
25
- const [schema, setSchemaState] = useState(null);
26
- const [loading, setLoading] = useState(false);
27
- const [error, setError] = useState(null);
28
- useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
29
- const getConfig = useCallback(async () => {
30
- setLoading(true);
31
- setError(null);
32
- try {
33
- const result = await wsManager.getConfig(pluginName);
34
- setConfigState(result);
35
- return result;
36
- }
37
- catch (e) {
38
- setError(e instanceof Error ? e.message : "Unknown error");
39
- throw e;
40
- }
41
- finally {
42
- setLoading(false);
43
- }
44
- }, [pluginName, wsManager]);
45
- const setConfig = useCallback(async (newConfig) => {
46
- setLoading(true);
47
- setError(null);
48
- try {
49
- return await wsManager.setConfig(pluginName, newConfig);
50
- }
51
- catch (e) {
52
- setError(e instanceof Error ? e.message : "Unknown error");
53
- throw e;
54
- }
55
- finally {
56
- setLoading(false);
57
- }
58
- }, [pluginName, wsManager]);
59
- const getSchema = useCallback(async () => {
60
- try {
61
- const result = await wsManager.getSchema(pluginName);
62
- if (result)
63
- setSchemaState(result);
64
- return result;
65
- }
66
- catch (e) {
67
- throw e;
68
- }
69
- }, [pluginName, wsManager]);
70
- useEffect(() => {
71
- if (connected && autoLoad && !config && !loading)
72
- getConfig().catch(() => { });
73
- }, [connected, autoLoad, config, loading, getConfig]);
74
- useEffect(() => {
75
- if (connected && autoLoadSchema && !schema)
76
- getSchema().catch(() => { });
77
- }, [connected, autoLoadSchema, schema, getSchema]);
78
- return useMemo(() => ({ config, schema, loading, error, connected, getConfig, setConfig, getSchema }), [config, schema, loading, error, connected, getConfig, setConfig, getSchema]);
79
- }
80
- export function useConfigYaml() {
81
- const wsManager = getWebSocketManager();
82
- const [connected, setConnected] = useState(wsManager.isConnected());
83
- const [yaml, setYaml] = useState("");
84
- const [pluginKeys, setPluginKeys] = useState([]);
85
- const [loading, setLoading] = useState(false);
86
- const [error, setError] = useState(null);
87
- useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
88
- const load = useCallback(async () => {
89
- setLoading(true);
90
- setError(null);
91
- try {
92
- const result = await wsManager.getConfigYaml();
93
- setYaml(result.yaml);
94
- setPluginKeys(result.pluginKeys);
95
- return result;
96
- }
97
- catch (e) {
98
- setError(e instanceof Error ? e.message : "Unknown error");
99
- throw e;
100
- }
101
- finally {
102
- setLoading(false);
103
- }
104
- }, [wsManager]);
105
- const save = useCallback(async (content) => {
106
- setLoading(true);
107
- setError(null);
108
- try {
109
- const result = await wsManager.saveConfigYaml(content);
110
- setYaml(content);
111
- return result;
112
- }
113
- catch (e) {
114
- setError(e instanceof Error ? e.message : "Unknown error");
115
- throw e;
116
- }
117
- finally {
118
- setLoading(false);
119
- }
120
- }, [wsManager]);
121
- useEffect(() => {
122
- if (connected && !yaml && !loading)
123
- load().catch(() => { });
124
- }, [connected, yaml, loading, load]);
125
- return useMemo(() => ({ yaml, pluginKeys, loading, error, load, save }), [yaml, pluginKeys, loading, error, load, save]);
126
- }
127
- export function useFiles() {
128
- const wsManager = getWebSocketManager();
129
- const [connected, setConnected] = useState(wsManager.isConnected());
130
- const [tree, setTree] = useState([]);
131
- const [loading, setLoading] = useState(false);
132
- const [error, setError] = useState(null);
133
- useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
134
- const loadTree = useCallback(async () => {
135
- setLoading(true);
136
- setError(null);
137
- try {
138
- const result = await wsManager.getFileTree();
139
- setTree(result.tree);
140
- return result.tree;
141
- }
142
- catch (e) {
143
- setError(e instanceof Error ? e.message : "Unknown error");
144
- throw e;
145
- }
146
- finally {
147
- setLoading(false);
148
- }
149
- }, [wsManager]);
150
- const readFile = useCallback(async (filePath) => (await wsManager.readFile(filePath)).content, [wsManager]);
151
- const saveFile = useCallback(async (filePath, content) => wsManager.saveFile(filePath, content), [wsManager]);
152
- useEffect(() => {
153
- if (connected && tree.length === 0 && !loading)
154
- loadTree().catch(() => { });
155
- }, [connected, tree.length, loading, loadTree]);
156
- return useMemo(() => ({ tree, loading, error, loadTree, readFile, saveFile }), [tree, loading, error, loadTree, readFile, saveFile]);
157
- }
158
- export function useEnvFiles() {
159
- const wsManager = getWebSocketManager();
160
- const [connected, setConnected] = useState(wsManager.isConnected());
161
- const [files, setFiles] = useState([]);
162
- const [loading, setLoading] = useState(false);
163
- const [error, setError] = useState(null);
164
- useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
165
- const listFiles = useCallback(async () => {
166
- setLoading(true);
167
- setError(null);
168
- try {
169
- const result = await wsManager.getEnvList();
170
- setFiles(result.files);
171
- return result.files;
172
- }
173
- catch (e) {
174
- setError(e instanceof Error ? e.message : "Unknown error");
175
- throw e;
176
- }
177
- finally {
178
- setLoading(false);
179
- }
180
- }, [wsManager]);
181
- const getFile = useCallback(async (filename) => {
182
- const result = await wsManager.getEnvFile(filename);
183
- return result.content;
184
- }, [wsManager]);
185
- const saveFile = useCallback(async (filename, content) => wsManager.saveEnvFile(filename, content), [wsManager]);
186
- useEffect(() => {
187
- if (connected && files.length === 0 && !loading)
188
- listFiles().catch(() => { });
189
- }, [connected, files.length, loading, listFiles]);
190
- return useMemo(() => ({ files, loading, error, listFiles, getFile, saveFile }), [files, loading, error, listFiles, getFile, saveFile]);
191
- }
192
- export function useDatabase() {
193
- const wsManager = getWebSocketManager();
194
- const [connected, setConnected] = useState(wsManager.isConnected());
195
- const [info, setInfo] = useState(null);
196
- const [tables, setTables] = useState([]);
197
- const [loading, setLoading] = useState(false);
198
- const [error, setError] = useState(null);
199
- useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
200
- const loadInfo = useCallback(async () => {
201
- setLoading(true);
202
- try {
203
- const result = await wsManager.getDbInfo();
204
- setInfo(result);
205
- return result;
206
- }
207
- catch (e) {
208
- setError(e instanceof Error ? e.message : "Unknown error");
209
- throw e;
210
- }
211
- finally {
212
- setLoading(false);
213
- }
214
- }, [wsManager]);
215
- const loadTables = useCallback(async () => {
216
- setLoading(true);
217
- try {
218
- const result = await wsManager.getDbTables();
219
- setTables(result.tables);
220
- return result.tables;
221
- }
222
- catch (e) {
223
- setError(e instanceof Error ? e.message : "Unknown error");
224
- throw e;
225
- }
226
- finally {
227
- setLoading(false);
228
- }
229
- }, [wsManager]);
230
- const select = useCallback(async (table, page, pageSize, where) => wsManager.dbSelect(table, page, pageSize, where), [wsManager]);
231
- const insert = useCallback(async (table, row) => wsManager.dbInsert(table, row), [wsManager]);
232
- const update = useCallback(async (table, row, where) => wsManager.dbUpdate(table, row, where), [wsManager]);
233
- const remove = useCallback(async (table, where) => wsManager.dbDelete(table, where), [wsManager]);
234
- const dropTable = useCallback(async (table) => { const r = await wsManager.dbDropTable(table); await loadTables(); return r; }, [wsManager, loadTables]);
235
- const kvGet = useCallback(async (table, key) => wsManager.kvGet(table, key), [wsManager]);
236
- const kvSet = useCallback(async (table, key, value, ttl) => wsManager.kvSet(table, key, value, ttl), [wsManager]);
237
- const kvDelete = useCallback(async (table, key) => wsManager.kvDelete(table, key), [wsManager]);
238
- const kvEntries = useCallback(async (table) => wsManager.kvGetEntries(table), [wsManager]);
239
- useEffect(() => {
240
- if (connected && !info && !loading) {
241
- loadInfo().catch(() => { });
242
- loadTables().catch(() => { });
243
- }
244
- }, [connected, info, loading, loadInfo, loadTables]);
245
- return useMemo(() => ({ info, tables, loading, error, loadInfo, loadTables, dropTable, select, insert, update, remove, kvGet, kvSet, kvDelete, kvEntries }), [info, tables, loading, error, loadInfo, loadTables, dropTable, select, insert, update, remove, kvGet, kvSet, kvDelete, kvEntries]);
246
- }
247
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../client/websocket/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export * from "./types";
2
- export { WebSocketManager } from "./manager";
3
- export { getWebSocketManager, destroyWebSocketManager, resetWebSocketManager } from "./instance";
4
- export { useWebSocket, useConfig, useConfigYaml, useFiles, useEnvFiles, useDatabase } from "./hooks";
5
- import { getWebSocketManager } from "./instance";
6
- export default getWebSocketManager;
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,eAAe,mBAAmB,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from "./types";
2
- export { WebSocketManager } from "./manager";
3
- export { getWebSocketManager, destroyWebSocketManager, resetWebSocketManager } from "./instance";
4
- export { useWebSocket, useConfig, useConfigYaml, useFiles, useEnvFiles, useDatabase } from "./hooks";
5
- import { getWebSocketManager } from "./instance";
6
- export default getWebSocketManager;
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../client/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,eAAe,mBAAmB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { WebSocketManager } from "./manager";
2
- export declare function getWebSocketManager(): WebSocketManager;
3
- export declare function destroyWebSocketManager(): void;
4
- export declare function resetWebSocketManager(): void;
5
- //# sourceMappingURL=instance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../client/websocket/instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C,wBAAgB,mBAAmB,IAAI,gBAAgB,CAQtD;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1,21 +0,0 @@
1
- import { WebSocketManager } from "./manager";
2
- let globalWebSocketManager = null;
3
- export function getWebSocketManager() {
4
- if (!globalWebSocketManager) {
5
- globalWebSocketManager = new WebSocketManager();
6
- if (typeof window !== "undefined") {
7
- globalWebSocketManager.connect();
8
- }
9
- }
10
- return globalWebSocketManager;
11
- }
12
- export function destroyWebSocketManager() {
13
- if (globalWebSocketManager) {
14
- globalWebSocketManager.disconnect();
15
- globalWebSocketManager = null;
16
- }
17
- }
18
- export function resetWebSocketManager() {
19
- destroyWebSocketManager();
20
- }
21
- //# sourceMappingURL=instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance.js","sourceRoot":"","sources":["../../client/websocket/instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,IAAI,sBAAsB,GAA4B,IAAI,CAAC;AAE3D,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,sBAAsB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAChD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,sBAAsB,EAAE,CAAC;QAC3B,sBAAsB,CAAC,UAAU,EAAE,CAAC;QACpC,sBAAsB,GAAG,IAAI,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,uBAAuB,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,113 +0,0 @@
1
- import type { WebSocketConfig, WebSocketCallbacks } from "./types";
2
- import { ConnectionState } from "./types";
3
- export declare class WebSocketManager {
4
- private ws;
5
- private config;
6
- private callbacks;
7
- private state;
8
- private reconnectAttempts;
9
- private reconnectTimer;
10
- private requestId;
11
- private pendingRequests;
12
- private connectedListeners;
13
- private sseAbort;
14
- private useRestTransport;
15
- constructor(config?: WebSocketConfig, callbacks?: WebSocketCallbacks);
16
- onConnectionChange(listener: (connected: boolean) => void): () => void;
17
- private notifyConnection;
18
- connect(): void;
19
- private connectRestSse;
20
- private pumpSse;
21
- disconnect(): void;
22
- send(message: unknown): void;
23
- sendRequest<T = unknown>(message: unknown): Promise<T>;
24
- private sendRestRequest;
25
- isConnected(): boolean;
26
- getState(): ConnectionState;
27
- getConfig(pluginName: string): Promise<unknown>;
28
- setConfig(pluginName: string, config: unknown): Promise<{
29
- success?: boolean;
30
- reloaded?: boolean;
31
- message?: string;
32
- }>;
33
- getSchema(pluginName: string): Promise<unknown>;
34
- getAllConfigs(): Promise<Record<string, unknown>>;
35
- getAllSchemas(): Promise<Record<string, unknown>>;
36
- getConfigYaml(): Promise<{
37
- yaml: string;
38
- pluginKeys: string[];
39
- }>;
40
- saveConfigYaml(yaml: string): Promise<{
41
- success: boolean;
42
- message?: string;
43
- }>;
44
- getEnvList(): Promise<{
45
- files: Array<{
46
- name: string;
47
- exists: boolean;
48
- }>;
49
- }>;
50
- getEnvFile(filename: string): Promise<{
51
- content: string;
52
- }>;
53
- saveEnvFile(filename: string, content: string): Promise<{
54
- success: boolean;
55
- message?: string;
56
- }>;
57
- getFileTree(): Promise<{
58
- tree: import("./types").FileTreeNode[];
59
- }>;
60
- readFile(filePath: string): Promise<{
61
- content: string;
62
- size: number;
63
- }>;
64
- saveFile(filePath: string, content: string): Promise<{
65
- success: boolean;
66
- message?: string;
67
- }>;
68
- getDbInfo(): Promise<import("./types").DatabaseInfo>;
69
- getDbTables(): Promise<{
70
- tables: import("./types").TableInfo[];
71
- }>;
72
- dbSelect(table: string, page?: number, pageSize?: number, where?: unknown): Promise<import("./types").SelectResult>;
73
- dbInsert(table: string, row: unknown): Promise<{
74
- success: boolean;
75
- }>;
76
- dbUpdate(table: string, row: unknown, where: unknown): Promise<{
77
- success: boolean;
78
- affected: number;
79
- }>;
80
- dbDelete(table: string, where: unknown): Promise<{
81
- success: boolean;
82
- deleted: number;
83
- }>;
84
- dbDropTable(table: string): Promise<{
85
- success: boolean;
86
- }>;
87
- kvGet(table: string, key: string): Promise<{
88
- key: string;
89
- value: unknown;
90
- }>;
91
- kvSet(table: string, key: string, value: unknown, ttl?: number): Promise<{
92
- success: boolean;
93
- }>;
94
- kvDelete(table: string, key: string): Promise<{
95
- success: boolean;
96
- }>;
97
- kvGetEntries(table: string): Promise<{
98
- entries: import("./types").KvEntry[];
99
- }>;
100
- private buildWebSocketUrl;
101
- private setState;
102
- private attachEventHandlers;
103
- private handleConnectionOpen;
104
- private handleMessage;
105
- private handleBroadcast;
106
- private handleRequestResponse;
107
- private handleConnectionClose;
108
- private handleConnectionError;
109
- private scheduleReconnect;
110
- private clearReconnectTimer;
111
- private clearPendingRequests;
112
- }
113
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../client/websocket/manager.ts"],"names":[],"mappings":"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"}