@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.
- package/README.md +94 -432
- package/client/agent-stream.ts +121 -0
- package/client/app.test.ts +37 -0
- package/client/app.ts +130 -138
- package/client/bootstrap/loadConsoleEntries.test.ts +23 -12
- package/client/bootstrap/loadConsoleEntries.ts +40 -27
- package/client/console-client-context.ts +24 -0
- package/client/console-client.test.ts +46 -0
- package/client/console-client.ts +70 -0
- package/client/console-events.ts +38 -0
- package/client/console-utils/remoteApi.test.ts +91 -0
- package/client/console-utils/remoteApi.ts +47 -9
- package/client/index.ts +92 -28
- package/client/mediaSrc.test.ts +49 -0
- package/client/mediaSrc.ts +84 -11
- package/client/message-content/MarkdownContent.tsx +128 -0
- package/client/message-content/markdown.test.ts +48 -0
- package/client/message-content/markdown.ts +247 -0
- package/client/persistence/idb-store.test.ts +121 -0
- package/client/persistence/idb-store.ts +40 -21
- package/client/segments.test.ts +16 -0
- package/client/segments.ts +39 -0
- package/client/transport/console-transport.test.ts +394 -0
- package/client/transport/console-transport.ts +676 -0
- package/client/transport/hooks.test.ts +21 -0
- package/client/transport/hooks.ts +535 -0
- package/client/transport/index.ts +23 -0
- package/client/{websocket → transport}/types.ts +16 -17
- package/client/types.ts +5 -8
- package/client/workroom/WorkroomRunsPage.tsx +355 -0
- package/client/workroom/registerWorkroomConsole.test.ts +25 -0
- package/client/workroom/registerWorkroomConsole.ts +17 -0
- package/dist/agent-stream.d.ts +17 -0
- package/dist/agent-stream.d.ts.map +1 -0
- package/dist/agent-stream.js +73 -0
- package/dist/agent-stream.js.map +1 -0
- package/dist/app.d.ts +17 -52
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +110 -95
- package/dist/app.js.map +1 -1
- package/dist/bootstrap/loadConsoleEntries.d.ts +10 -7
- package/dist/bootstrap/loadConsoleEntries.d.ts.map +1 -1
- package/dist/bootstrap/loadConsoleEntries.js +37 -11
- package/dist/bootstrap/loadConsoleEntries.js.map +1 -1
- package/dist/console-client-context.d.ts +9 -0
- package/dist/console-client-context.d.ts.map +1 -0
- package/dist/console-client-context.js +13 -0
- package/dist/console-client-context.js.map +1 -0
- package/dist/console-client.d.ts +25 -0
- package/dist/console-client.d.ts.map +1 -0
- package/dist/console-client.js +45 -0
- package/dist/console-client.js.map +1 -0
- package/dist/console-events.d.ts +8 -0
- package/dist/console-events.d.ts.map +1 -0
- package/dist/console-events.js +26 -0
- package/dist/console-events.js.map +1 -0
- package/dist/console-utils/remoteApi.d.ts +2 -1
- package/dist/console-utils/remoteApi.d.ts.map +1 -1
- package/dist/console-utils/remoteApi.js +46 -8
- package/dist/console-utils/remoteApi.js.map +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/dist/mediaSrc.d.ts +1 -1
- package/dist/mediaSrc.d.ts.map +1 -1
- package/dist/mediaSrc.js +91 -11
- package/dist/mediaSrc.js.map +1 -1
- package/dist/message-content/MarkdownContent.d.ts +11 -0
- package/dist/message-content/MarkdownContent.d.ts.map +1 -0
- package/dist/message-content/MarkdownContent.js +68 -0
- package/dist/message-content/MarkdownContent.js.map +1 -0
- package/dist/message-content/markdown.d.ts +47 -0
- package/dist/message-content/markdown.d.ts.map +1 -0
- package/dist/message-content/markdown.js +219 -0
- package/dist/message-content/markdown.js.map +1 -0
- package/dist/persistence/idb-store.d.ts +5 -2
- package/dist/persistence/idb-store.d.ts.map +1 -1
- package/dist/persistence/idb-store.js +29 -20
- package/dist/persistence/idb-store.js.map +1 -1
- package/dist/segments.d.ts +9 -0
- package/dist/segments.d.ts.map +1 -0
- package/dist/segments.js +35 -0
- package/dist/segments.js.map +1 -0
- package/dist/transport/console-transport.d.ts +217 -0
- package/dist/transport/console-transport.d.ts.map +1 -0
- package/dist/transport/console-transport.js +563 -0
- package/dist/transport/console-transport.js.map +1 -0
- package/dist/transport/hooks.d.ts +253 -0
- package/dist/transport/hooks.d.ts.map +1 -0
- package/dist/transport/hooks.js +483 -0
- package/dist/transport/hooks.js.map +1 -0
- package/dist/transport/index.d.ts +4 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +4 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/{websocket → transport}/types.d.ts +14 -13
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/{websocket → transport}/types.js +4 -9
- package/dist/transport/types.js.map +1 -0
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/workroom/WorkroomRunsPage.d.ts +2 -0
- package/dist/workroom/WorkroomRunsPage.d.ts.map +1 -0
- package/dist/workroom/WorkroomRunsPage.js +111 -0
- package/dist/workroom/WorkroomRunsPage.js.map +1 -0
- package/dist/workroom/registerWorkroomConsole.d.ts +4 -0
- package/dist/workroom/registerWorkroomConsole.d.ts.map +1 -0
- package/dist/workroom/registerWorkroomConsole.js +16 -0
- package/dist/workroom/registerWorkroomConsole.js.map +1 -0
- package/package.json +18 -8
- package/client/runtime/index.ts +0 -12
- package/client/websocket/hooks.ts +0 -289
- package/client/websocket/index.ts +0 -6
- package/client/websocket/instance.ts +0 -24
- package/client/websocket/manager.ts +0 -426
- package/client/websocket/remote-settings.ts +0 -25
- package/dist/bootstrap/loadConsoleEntries.test.d.ts +0 -2
- package/dist/bootstrap/loadConsoleEntries.test.d.ts.map +0 -1
- package/dist/bootstrap/loadConsoleEntries.test.js +0 -27
- package/dist/bootstrap/loadConsoleEntries.test.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -6
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -10
- package/dist/runtime/index.js.map +0 -1
- package/dist/websocket/hooks.d.ts +0 -105
- package/dist/websocket/hooks.d.ts.map +0 -1
- package/dist/websocket/hooks.js +0 -247
- package/dist/websocket/hooks.js.map +0 -1
- package/dist/websocket/index.d.ts +0 -7
- package/dist/websocket/index.d.ts.map +0 -1
- package/dist/websocket/index.js +0 -7
- package/dist/websocket/index.js.map +0 -1
- package/dist/websocket/instance.d.ts +0 -5
- package/dist/websocket/instance.d.ts.map +0 -1
- package/dist/websocket/instance.js +0 -21
- package/dist/websocket/instance.js.map +0 -1
- package/dist/websocket/manager.d.ts +0 -113
- package/dist/websocket/manager.d.ts.map +0 -1
- package/dist/websocket/manager.js +0 -403
- package/dist/websocket/manager.js.map +0 -1
- package/dist/websocket/remote-settings.d.ts +0 -5
- package/dist/websocket/remote-settings.d.ts.map +0 -1
- package/dist/websocket/remote-settings.js +0 -23
- package/dist/websocket/remote-settings.js.map +0 -1
- package/dist/websocket/types.d.ts.map +0 -1
- package/dist/websocket/types.js.map +0 -1
package/dist/websocket/hooks.js
DELETED
|
@@ -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"}
|
package/dist/websocket/index.js
DELETED
|
@@ -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 +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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"}
|