@zhin.js/client 1.1.5 → 1.1.7

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 (103) hide show
  1. package/README.md +25 -19
  2. package/client/app.test.ts +37 -0
  3. package/client/app.ts +130 -138
  4. package/client/bootstrap/loadConsoleEntries.test.ts +0 -15
  5. package/client/bootstrap/loadConsoleEntries.ts +1 -20
  6. package/client/console-client-context.ts +24 -0
  7. package/client/console-client.test.ts +46 -0
  8. package/client/console-client.ts +70 -0
  9. package/client/console-events.ts +4 -3
  10. package/client/console-utils/remoteApi.ts +0 -7
  11. package/client/index.ts +21 -13
  12. package/client/persistence/idb-store.test.ts +0 -18
  13. package/client/persistence/idb-store.ts +3 -6
  14. package/client/segments.test.ts +2 -0
  15. package/client/segments.ts +1 -1
  16. package/client/{websocket/manager.test.ts → transport/console-transport.test.ts} +79 -34
  17. package/client/{websocket/manager.ts → transport/console-transport.ts} +237 -178
  18. package/client/{websocket → transport}/hooks.ts +240 -23
  19. package/client/transport/index.ts +23 -0
  20. package/client/{websocket → transport}/types.ts +11 -17
  21. package/client/types.ts +0 -3
  22. package/client/workroom/registerWorkroomConsole.test.ts +0 -1
  23. package/dist/app.d.ts +17 -52
  24. package/dist/app.d.ts.map +1 -1
  25. package/dist/app.js +110 -95
  26. package/dist/app.js.map +1 -1
  27. package/dist/bootstrap/loadConsoleEntries.d.ts +0 -6
  28. package/dist/bootstrap/loadConsoleEntries.d.ts.map +1 -1
  29. package/dist/bootstrap/loadConsoleEntries.js +0 -9
  30. package/dist/bootstrap/loadConsoleEntries.js.map +1 -1
  31. package/dist/console-client-context.d.ts +9 -0
  32. package/dist/console-client-context.d.ts.map +1 -0
  33. package/dist/console-client-context.js +13 -0
  34. package/dist/console-client-context.js.map +1 -0
  35. package/dist/console-client.d.ts +25 -0
  36. package/dist/console-client.d.ts.map +1 -0
  37. package/dist/console-client.js +45 -0
  38. package/dist/console-client.js.map +1 -0
  39. package/dist/console-events.d.ts +1 -0
  40. package/dist/console-events.d.ts.map +1 -1
  41. package/dist/console-events.js +3 -3
  42. package/dist/console-events.js.map +1 -1
  43. package/dist/console-utils/remoteApi.d.ts +0 -1
  44. package/dist/console-utils/remoteApi.d.ts.map +1 -1
  45. package/dist/console-utils/remoteApi.js +0 -6
  46. package/dist/console-utils/remoteApi.js.map +1 -1
  47. package/dist/index.d.ts +7 -6
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +9 -8
  50. package/dist/index.js.map +1 -1
  51. package/dist/persistence/idb-store.d.ts.map +1 -1
  52. package/dist/persistence/idb-store.js +3 -5
  53. package/dist/persistence/idb-store.js.map +1 -1
  54. package/dist/segments.js +1 -1
  55. package/dist/segments.js.map +1 -1
  56. package/dist/transport/console-transport.d.ts +217 -0
  57. package/dist/transport/console-transport.d.ts.map +1 -0
  58. package/dist/{websocket/manager.js → transport/console-transport.js} +147 -165
  59. package/dist/transport/console-transport.js.map +1 -0
  60. package/dist/transport/hooks.d.ts +253 -0
  61. package/dist/transport/hooks.d.ts.map +1 -0
  62. package/dist/{websocket → transport}/hooks.js +234 -19
  63. package/dist/transport/hooks.js.map +1 -0
  64. package/dist/transport/index.d.ts +4 -0
  65. package/dist/transport/index.d.ts.map +1 -0
  66. package/dist/transport/index.js +4 -0
  67. package/dist/transport/index.js.map +1 -0
  68. package/dist/{websocket → transport}/types.d.ts +10 -13
  69. package/dist/transport/types.d.ts.map +1 -0
  70. package/dist/{websocket → transport}/types.js +4 -9
  71. package/dist/transport/types.js.map +1 -0
  72. package/dist/types.d.ts +0 -1
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +3 -3
  75. package/client/runtime/index.ts +0 -12
  76. package/client/websocket/index.ts +0 -11
  77. package/client/websocket/instance.ts +0 -24
  78. package/client/websocket/remote-settings.ts +0 -47
  79. package/dist/runtime/index.d.ts +0 -6
  80. package/dist/runtime/index.d.ts.map +0 -1
  81. package/dist/runtime/index.js +0 -10
  82. package/dist/runtime/index.js.map +0 -1
  83. package/dist/websocket/hooks.d.ts +0 -114
  84. package/dist/websocket/hooks.d.ts.map +0 -1
  85. package/dist/websocket/hooks.js.map +0 -1
  86. package/dist/websocket/index.d.ts +0 -7
  87. package/dist/websocket/index.d.ts.map +0 -1
  88. package/dist/websocket/index.js +0 -7
  89. package/dist/websocket/index.js.map +0 -1
  90. package/dist/websocket/instance.d.ts +0 -5
  91. package/dist/websocket/instance.d.ts.map +0 -1
  92. package/dist/websocket/instance.js +0 -21
  93. package/dist/websocket/instance.js.map +0 -1
  94. package/dist/websocket/manager.d.ts +0 -131
  95. package/dist/websocket/manager.d.ts.map +0 -1
  96. package/dist/websocket/manager.js.map +0 -1
  97. package/dist/websocket/remote-settings.d.ts +0 -5
  98. package/dist/websocket/remote-settings.d.ts.map +0 -1
  99. package/dist/websocket/remote-settings.js +0 -47
  100. package/dist/websocket/remote-settings.js.map +0 -1
  101. package/dist/websocket/types.d.ts.map +0 -1
  102. package/dist/websocket/types.js.map +0 -1
  103. /package/client/{websocket → transport}/hooks.test.ts +0 -0
@@ -0,0 +1,253 @@
1
+ import type { UseConsoleTransportOptions } from "./types.js";
2
+ export declare function useConsoleTransport(options?: UseConsoleTransportOptions): {
3
+ connected: boolean;
4
+ connect: () => void;
5
+ disconnect: () => void;
6
+ send: (message: unknown) => void;
7
+ sendRequest: <T = unknown>(message: unknown) => Promise<T>;
8
+ manager: import("./console-transport.js").ConsoleTransport;
9
+ };
10
+ /**
11
+ * 按 key 绑定异步加载结果:key(如 pluginName)切换后,旧 key 的残留值视为 null,
12
+ * 避免 useConfig 的 ready 判断(config != null)被上一插件的 state 挡住而不再加载新配置。
13
+ * @internal
14
+ */
15
+ export declare function resolveKeyedValue<T>(entry: {
16
+ readonly key: string;
17
+ readonly value: T;
18
+ } | null, key: string): T | null;
19
+ export declare function useConfig(pluginName: string, options?: {
20
+ autoLoad?: boolean;
21
+ autoLoadSchema?: boolean;
22
+ }): {
23
+ config: unknown;
24
+ schema: unknown;
25
+ loading: boolean;
26
+ error: string | null;
27
+ connected: boolean;
28
+ getConfig: () => Promise<unknown>;
29
+ setConfig: (newConfig: unknown) => Promise<{
30
+ success?: boolean;
31
+ reloaded?: boolean;
32
+ message?: string;
33
+ }>;
34
+ getSchema: () => Promise<unknown>;
35
+ };
36
+ export declare function useConfigSource(): {
37
+ source: string;
38
+ format: "json" | "yaml";
39
+ revision: string;
40
+ configKeys: string[];
41
+ loading: boolean;
42
+ error: string | null;
43
+ load: () => Promise<import("@zhin.js/console-protocol").ConsoleConfigSource>;
44
+ save: (content: string) => Promise<{
45
+ success: boolean;
46
+ revision: string;
47
+ restartRequired: boolean;
48
+ message?: string;
49
+ }>;
50
+ };
51
+ /** Shared Console flow for previewing and committing a plugin installation. */
52
+ export declare function usePluginInstall(): {
53
+ plan: {
54
+ packageName: string;
55
+ instanceKey: string;
56
+ alreadyDeclared: boolean;
57
+ alreadyInstalled: boolean;
58
+ restartRequired: boolean;
59
+ changes: {
60
+ packageManifest: string;
61
+ config: string;
62
+ };
63
+ warnings: string[];
64
+ } | null;
65
+ loading: boolean;
66
+ error: string | null;
67
+ preview: (packageName: string) => Promise<{
68
+ packageName: string;
69
+ instanceKey: string;
70
+ alreadyDeclared: boolean;
71
+ alreadyInstalled: boolean;
72
+ restartRequired: boolean;
73
+ changes: {
74
+ packageManifest: string;
75
+ config: string;
76
+ };
77
+ warnings: string[];
78
+ }>;
79
+ install: (packageName: string, expectedRevision?: string) => Promise<{
80
+ success: boolean;
81
+ plan: Awaited<ReturnType<import("./console-transport.js").ConsoleTransport["planPluginInstall"]>>;
82
+ restartRequired: boolean;
83
+ }>;
84
+ };
85
+ export declare function usePluginConfigValidation(pluginName: string): {
86
+ loading: boolean;
87
+ error: string | null;
88
+ validate: (data: unknown) => Promise<{
89
+ valid: boolean;
90
+ errors: {
91
+ path: string;
92
+ message: string;
93
+ }[];
94
+ missingEnv: string[];
95
+ }>;
96
+ };
97
+ export declare function usePluginDiagnostics(pluginName: string): {
98
+ loading: boolean;
99
+ error: string | null;
100
+ diagnose: () => Promise<{
101
+ pluginName: string;
102
+ plan: unknown;
103
+ validation: {
104
+ valid: boolean;
105
+ errors: {
106
+ path: string;
107
+ message: string;
108
+ }[];
109
+ missingEnv: string[];
110
+ };
111
+ }>;
112
+ };
113
+ export declare function usePluginLifecycle(instanceKey: string): {
114
+ loading: boolean;
115
+ error: string | null;
116
+ setEnabled: (enabled: boolean) => Promise<{
117
+ success: boolean;
118
+ instanceKey: string;
119
+ enabled: boolean;
120
+ disabled: string[];
121
+ restartRequired: boolean;
122
+ message: string;
123
+ }>;
124
+ };
125
+ export declare function usePluginUninstall(): {
126
+ loading: boolean;
127
+ error: string | null;
128
+ preview: (packageName: string) => Promise<{
129
+ packageName: string;
130
+ instanceKey: string;
131
+ installed: boolean;
132
+ declared: boolean;
133
+ hasConfig: boolean;
134
+ restartRequired: boolean;
135
+ }>;
136
+ uninstall: (packageName: string, expectedRevision?: string) => Promise<{
137
+ success: boolean;
138
+ plan: Awaited<ReturnType<import("./console-transport.js").ConsoleTransport["planPluginUninstall"]>>;
139
+ restartRequired: boolean;
140
+ }>;
141
+ };
142
+ export declare function usePluginUpdate(): {
143
+ loading: boolean;
144
+ error: string | null;
145
+ preview: (packageName: string, targetVersion: string) => Promise<{
146
+ packageName: string;
147
+ instanceKey: string;
148
+ currentVersion: string | null;
149
+ targetVersion: string;
150
+ installed: boolean;
151
+ declared: boolean;
152
+ alreadyCurrent: boolean;
153
+ restartRequired: boolean;
154
+ }>;
155
+ update: (packageName: string, targetVersion: string, expectedRevision?: string) => Promise<{
156
+ success: boolean;
157
+ plan: Awaited<ReturnType<import("./console-transport.js").ConsoleTransport["planPluginUpdate"]>>;
158
+ installedVersion: string;
159
+ restartRequired: boolean;
160
+ }>;
161
+ };
162
+ export declare function useEndpointTest(adapter: string, endpointKey: string): {
163
+ loading: boolean;
164
+ error: string | null;
165
+ test: () => Promise<{
166
+ reachable: boolean;
167
+ connected: boolean;
168
+ status?: "online" | "offline";
169
+ phase: string;
170
+ pendingLogin?: boolean;
171
+ latencyMs: number;
172
+ message: string;
173
+ }>;
174
+ };
175
+ export declare function usePluginMarketplace(): {
176
+ loading: boolean;
177
+ error: string | null;
178
+ search: (query?: Parameters<(query?: {
179
+ keyword?: string;
180
+ category?: string;
181
+ official?: boolean;
182
+ page?: number;
183
+ pageSize?: number;
184
+ }) => Promise<unknown>>[0]) => Promise<unknown>;
185
+ detail: (packageName: string) => Promise<unknown>;
186
+ updates: () => Promise<Record<string, unknown>[]>;
187
+ installed: () => Promise<Record<string, unknown>[]>;
188
+ };
189
+ export declare function useFiles(): {
190
+ tree: import("./types.js").FileTreeNode[];
191
+ loading: boolean;
192
+ error: string | null;
193
+ loadTree: () => Promise<import("./types.js").FileTreeNode[]>;
194
+ readFile: (filePath: string) => Promise<string>;
195
+ saveFile: (filePath: string, content: string) => Promise<{
196
+ success: boolean;
197
+ message?: string;
198
+ }>;
199
+ };
200
+ export declare function useEnvFiles(): {
201
+ files: {
202
+ name: string;
203
+ exists: boolean;
204
+ }[];
205
+ loading: boolean;
206
+ error: string | null;
207
+ listFiles: () => Promise<{
208
+ name: string;
209
+ exists: boolean;
210
+ }[]>;
211
+ getFile: (filename: string) => Promise<string>;
212
+ saveFile: (filename: string, content: string) => Promise<{
213
+ success: boolean;
214
+ message?: string;
215
+ }>;
216
+ };
217
+ export declare function useDatabase(): {
218
+ info: import("./types.js").DatabaseInfo | null;
219
+ tables: import("./types.js").TableInfo[];
220
+ loading: boolean;
221
+ error: string | null;
222
+ loadInfo: () => Promise<import("./types.js").DatabaseInfo>;
223
+ loadTables: () => Promise<import("./types.js").TableInfo[]>;
224
+ dropTable: (table: string) => Promise<{
225
+ success: boolean;
226
+ }>;
227
+ select: (table: string, page?: number, pageSize?: number, where?: unknown) => Promise<import("./types.js").SelectResult>;
228
+ insert: (table: string, row: unknown) => Promise<{
229
+ success: boolean;
230
+ }>;
231
+ update: (table: string, row: unknown, where: unknown) => Promise<{
232
+ success: boolean;
233
+ affected: number;
234
+ }>;
235
+ remove: (table: string, where: unknown) => Promise<{
236
+ success: boolean;
237
+ deleted: number;
238
+ }>;
239
+ kvGet: (table: string, key: string) => Promise<{
240
+ key: string;
241
+ value: unknown;
242
+ }>;
243
+ kvSet: (table: string, key: string, value: unknown, ttl?: number) => Promise<{
244
+ success: boolean;
245
+ }>;
246
+ kvDelete: (table: string, key: string) => Promise<{
247
+ success: boolean;
248
+ }>;
249
+ kvEntries: (table: string) => Promise<{
250
+ entries: import("./types.js").KvEntry[];
251
+ }>;
252
+ };
253
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../client/transport/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAoB7D,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B;;;;oBAWvC,OAAO;kBAEvC,CAAC,qBAAqB,OAAO;;EASjC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,EACzD,GAAG,EAAE,MAAM,GACV,CAAC,GAAG,IAAI,CAEV;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;2BA6BlF,OAAO;;;;;;EAoC5B;AAED,wBAAgB,eAAe;;;;;;;;oBA+BX,MAAM;;;;;;EA2BzB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB;;;;;;;;;;;;;;;2BAMkB,MAAM;;;;;;;;;;;;2BAeN,MAAM,qBAAqB,MAAM;;;;;EAgBlF;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM;;;qBAIhB,OAAO;;;;;;;;EAalD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;EAiBtD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM;;;0BAIL,OAAO;;;;;;;;EAavD;AAED,wBAAgB,kBAAkB;;;2BAIgB,MAAM;;;;;;;;6BAYJ,MAAM,qBAAqB,MAAM;;;;;EAepF;AAED,wBAAgB,eAAe;;;2BAIa,MAAM,iBAAiB,MAAM;;;;;;;;;;0BAU9B,MAAM,iBAAiB,MAAM,qBAAqB,MAAM;;;;;;EAWlG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;;;;;;;EAiBnE;AAED,wBAAgB,oBAAoB;;;qBAiBvB,UAAU;eA8FoB,CAAC;gBAAsB,CAAC;gBAC9C,CAAA;YAAmB,CAAC;gBAEzC,CAAA;2BAjG2D,CAAC,CAAC,CAAC;0BAK5C,MAAM;;;EAQvB;AAED,wBAAgB,QAAQ;;;;;yBAwBwB,MAAM;yBAEjC,MAAM,WAAW,MAAM;;;;EAS3C;AAED,wBAAgB,WAAW;;cAGwB,MAAM;gBAAU,OAAO;;;;;;;;wBAsBrD,MAAM;yBAQN,MAAM,WAAW,MAAM;;;;EAY3C;AAED,wBAAgB,WAAW;;;;;;;uBA0CmB,MAAM;;;oBAJT,MAAM,SAAS,MAAM,aAAa,MAAM,UAAU,OAAO;oBACzD,MAAM,OAAO,OAAO;;;oBACpB,MAAM,OAAO,OAAO,SAAS,OAAO;;;;oBACpC,MAAM,SAAS,OAAO;;;;mBAEvB,MAAM,OAAO,MAAM;;;;mBACnB,MAAM,OAAO,MAAM,SAAS,OAAO,QAAQ,MAAM;;;sBAC9C,MAAM,OAAO,MAAM;;;uBAClB,MAAM;;;EAWnD"}
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- import { getWebSocketManager } from "./instance";
2
+ import { useConsoleClient } from "../console-client-context.js";
3
3
  /**
4
4
  * 每次连接会话只对同一 key 自动加载一次:失败后不再零退避死循环
5
5
  * (旧行为:加载失败 → 状态保持空 → effect 反复立即重试,打爆 /api/console/request)。
@@ -18,9 +18,9 @@ function useAutoLoadOnce(connected, key, ready, fire) {
18
18
  fire();
19
19
  });
20
20
  }
21
- export function useWebSocket(options = {}) {
21
+ export function useConsoleTransport(options = {}) {
22
22
  const { autoConnect = true } = options;
23
- const wsManager = getWebSocketManager();
23
+ const wsManager = useConsoleClient().transport;
24
24
  const [connected, setConnected] = useState(wsManager.isConnected());
25
25
  useEffect(() => {
26
26
  return wsManager.onConnectionChange(setConnected);
@@ -45,7 +45,7 @@ export function resolveKeyedValue(entry, key) {
45
45
  }
46
46
  export function useConfig(pluginName, options) {
47
47
  const { autoLoad = true, autoLoadSchema = true } = options ?? {};
48
- const wsManager = getWebSocketManager();
48
+ const wsManager = useConsoleClient().transport;
49
49
  const [connected, setConnected] = useState(wsManager.isConnected());
50
50
  const [configEntry, setConfigEntry] = useState(null);
51
51
  const [schemaEntry, setSchemaEntry] = useState(null);
@@ -103,11 +103,13 @@ export function useConfig(pluginName, options) {
103
103
  });
104
104
  return useMemo(() => ({ config, schema, loading, error, connected, getConfig, setConfig, getSchema }), [config, schema, loading, error, connected, getConfig, setConfig, getSchema]);
105
105
  }
106
- export function useConfigYaml() {
107
- const wsManager = getWebSocketManager();
106
+ export function useConfigSource() {
107
+ const wsManager = useConsoleClient().transport;
108
108
  const [connected, setConnected] = useState(wsManager.isConnected());
109
- const [yaml, setYaml] = useState("");
110
- const [pluginKeys, setPluginKeys] = useState([]);
109
+ const [source, setSource] = useState("");
110
+ const [format, setFormat] = useState('yaml');
111
+ const [revision, setRevision] = useState("");
112
+ const [configKeys, setConfigKeys] = useState([]);
111
113
  const [loading, setLoading] = useState(false);
112
114
  const [error, setError] = useState(null);
113
115
  useEffect(() => wsManager.onConnectionChange(setConnected), [wsManager]);
@@ -115,9 +117,11 @@ export function useConfigYaml() {
115
117
  setLoading(true);
116
118
  setError(null);
117
119
  try {
118
- const result = await wsManager.getConfigYaml();
119
- setYaml(result.yaml);
120
- setPluginKeys(result.pluginKeys);
120
+ const result = await wsManager.getConfigSource();
121
+ setSource(result.source);
122
+ setFormat(result.format);
123
+ setRevision(result.revision);
124
+ setConfigKeys([...result.configKeys]);
121
125
  return result;
122
126
  }
123
127
  catch (e) {
@@ -132,8 +136,11 @@ export function useConfigYaml() {
132
136
  setLoading(true);
133
137
  setError(null);
134
138
  try {
135
- const result = await wsManager.saveConfigYaml(content);
136
- setYaml(content);
139
+ if (!revision)
140
+ throw new Error('Config source must be loaded before it can be replaced');
141
+ const result = await wsManager.replaceConfigSource(content, revision);
142
+ setSource(content);
143
+ setRevision(result.revision);
137
144
  return result;
138
145
  }
139
146
  catch (e) {
@@ -143,14 +150,222 @@ export function useConfigYaml() {
143
150
  finally {
144
151
  setLoading(false);
145
152
  }
146
- }, [wsManager]);
147
- useAutoLoadOnce(connected, "config-yaml", !!yaml || loading, () => {
153
+ }, [revision, wsManager]);
154
+ useAutoLoadOnce(connected, "config-source", !!revision || loading, () => {
148
155
  load().catch(() => { });
149
156
  });
150
- return useMemo(() => ({ yaml, pluginKeys, loading, error, load, save }), [yaml, pluginKeys, loading, error, load, save]);
157
+ return useMemo(() => ({ source, format, revision, configKeys, loading, error, load, save }), [source, format, revision, configKeys, loading, error, load, save]);
158
+ }
159
+ /** Shared Console flow for previewing and committing a plugin installation. */
160
+ export function usePluginInstall() {
161
+ const wsManager = useConsoleClient().transport;
162
+ const [loading, setLoading] = useState(false);
163
+ const [error, setError] = useState(null);
164
+ const [plan, setPlan] = useState(null);
165
+ const preview = useCallback(async (packageName) => {
166
+ setLoading(true);
167
+ setError(null);
168
+ try {
169
+ const next = await wsManager.planPluginInstall(packageName);
170
+ setPlan(next);
171
+ return next;
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 install = useCallback(async (packageName, expectedRevision) => {
182
+ setLoading(true);
183
+ setError(null);
184
+ try {
185
+ return await wsManager.installPlugin(packageName, expectedRevision);
186
+ }
187
+ catch (e) {
188
+ setError(e instanceof Error ? e.message : 'Unknown error');
189
+ throw e;
190
+ }
191
+ finally {
192
+ setLoading(false);
193
+ }
194
+ }, [wsManager]);
195
+ return useMemo(() => ({ plan, loading, error, preview, install }), [
196
+ plan, loading, error, preview, install,
197
+ ]);
198
+ }
199
+ export function usePluginConfigValidation(pluginName) {
200
+ const wsManager = useConsoleClient().transport;
201
+ const [loading, setLoading] = useState(false);
202
+ const [error, setError] = useState(null);
203
+ const validate = useCallback(async (data) => {
204
+ setLoading(true);
205
+ setError(null);
206
+ try {
207
+ return await wsManager.validatePluginConfig(pluginName, data);
208
+ }
209
+ catch (e) {
210
+ setError(e instanceof Error ? e.message : 'Unknown error');
211
+ throw e;
212
+ }
213
+ finally {
214
+ setLoading(false);
215
+ }
216
+ }, [pluginName, wsManager]);
217
+ return useMemo(() => ({ loading, error, validate }), [loading, error, validate]);
218
+ }
219
+ export function usePluginDiagnostics(pluginName) {
220
+ const wsManager = useConsoleClient().transport;
221
+ const [loading, setLoading] = useState(false);
222
+ const [error, setError] = useState(null);
223
+ const diagnose = useCallback(async () => {
224
+ setLoading(true);
225
+ setError(null);
226
+ try {
227
+ return await wsManager.diagnosePlugin(pluginName);
228
+ }
229
+ catch (e) {
230
+ setError(e instanceof Error ? e.message : 'Unknown error');
231
+ throw e;
232
+ }
233
+ finally {
234
+ setLoading(false);
235
+ }
236
+ }, [pluginName, wsManager]);
237
+ return useMemo(() => ({ loading, error, diagnose }), [loading, error, diagnose]);
238
+ }
239
+ export function usePluginLifecycle(instanceKey) {
240
+ const wsManager = useConsoleClient().transport;
241
+ const [loading, setLoading] = useState(false);
242
+ const [error, setError] = useState(null);
243
+ const setEnabled = useCallback(async (enabled) => {
244
+ setLoading(true);
245
+ setError(null);
246
+ try {
247
+ return await wsManager.setPluginEnabled(instanceKey, enabled);
248
+ }
249
+ catch (e) {
250
+ setError(e instanceof Error ? e.message : 'Unknown error');
251
+ throw e;
252
+ }
253
+ finally {
254
+ setLoading(false);
255
+ }
256
+ }, [instanceKey, wsManager]);
257
+ return useMemo(() => ({ loading, error, setEnabled }), [loading, error, setEnabled]);
258
+ }
259
+ export function usePluginUninstall() {
260
+ const wsManager = useConsoleClient().transport;
261
+ const [loading, setLoading] = useState(false);
262
+ const [error, setError] = useState(null);
263
+ const preview = useCallback(async (packageName) => {
264
+ setLoading(true);
265
+ setError(null);
266
+ try {
267
+ return await wsManager.planPluginUninstall(packageName);
268
+ }
269
+ catch (e) {
270
+ setError(e instanceof Error ? e.message : 'Unknown error');
271
+ throw e;
272
+ }
273
+ finally {
274
+ setLoading(false);
275
+ }
276
+ }, [wsManager]);
277
+ const uninstall = useCallback(async (packageName, expectedRevision) => {
278
+ setLoading(true);
279
+ setError(null);
280
+ try {
281
+ return await wsManager.uninstallPlugin(packageName, expectedRevision);
282
+ }
283
+ catch (e) {
284
+ setError(e instanceof Error ? e.message : 'Unknown error');
285
+ throw e;
286
+ }
287
+ finally {
288
+ setLoading(false);
289
+ }
290
+ }, [wsManager]);
291
+ return useMemo(() => ({ loading, error, preview, uninstall }), [
292
+ loading, error, preview, uninstall,
293
+ ]);
294
+ }
295
+ export function usePluginUpdate() {
296
+ const wsManager = useConsoleClient().transport;
297
+ const [loading, setLoading] = useState(false);
298
+ const [error, setError] = useState(null);
299
+ const preview = useCallback((packageName, targetVersion) => {
300
+ setLoading(true);
301
+ setError(null);
302
+ return wsManager.planPluginUpdate(packageName, targetVersion)
303
+ .catch((e) => {
304
+ setError(e instanceof Error ? e.message : 'Unknown error');
305
+ throw e;
306
+ })
307
+ .finally(() => setLoading(false));
308
+ }, [wsManager]);
309
+ const update = useCallback((packageName, targetVersion, expectedRevision) => {
310
+ setLoading(true);
311
+ setError(null);
312
+ return wsManager.updatePlugin(packageName, targetVersion, expectedRevision)
313
+ .catch((e) => {
314
+ setError(e instanceof Error ? e.message : 'Unknown error');
315
+ throw e;
316
+ })
317
+ .finally(() => setLoading(false));
318
+ }, [wsManager]);
319
+ return useMemo(() => ({ loading, error, preview, update }), [loading, error, preview, update]);
320
+ }
321
+ export function useEndpointTest(adapter, endpointKey) {
322
+ const wsManager = useConsoleClient().transport;
323
+ const [loading, setLoading] = useState(false);
324
+ const [error, setError] = useState(null);
325
+ const test = useCallback(async () => {
326
+ setLoading(true);
327
+ setError(null);
328
+ try {
329
+ return await wsManager.testEndpoint(adapter, endpointKey);
330
+ }
331
+ catch (e) {
332
+ setError(e instanceof Error ? e.message : 'Unknown error');
333
+ throw e;
334
+ }
335
+ finally {
336
+ setLoading(false);
337
+ }
338
+ }, [adapter, endpointKey, wsManager]);
339
+ return useMemo(() => ({ loading, error, test }), [loading, error, test]);
340
+ }
341
+ export function usePluginMarketplace() {
342
+ const wsManager = useConsoleClient().transport;
343
+ const [loading, setLoading] = useState(false);
344
+ const [error, setError] = useState(null);
345
+ const run = useCallback(async (operation) => {
346
+ setLoading(true);
347
+ setError(null);
348
+ try {
349
+ return await operation();
350
+ }
351
+ catch (e) {
352
+ setError(e instanceof Error ? e.message : 'Unknown error');
353
+ throw e;
354
+ }
355
+ finally {
356
+ setLoading(false);
357
+ }
358
+ }, []);
359
+ const search = useCallback((query) => run(() => wsManager.searchMarketplace(query)), [run, wsManager]);
360
+ const detail = useCallback((packageName) => run(() => wsManager.getMarketplacePlugin(packageName)), [run, wsManager]);
361
+ const updates = useCallback(() => run(() => wsManager.getPluginUpdates()), [run, wsManager]);
362
+ const installed = useCallback(() => run(() => wsManager.listPlugins()), [run, wsManager]);
363
+ return useMemo(() => ({ loading, error, search, detail, updates, installed }), [
364
+ loading, error, search, detail, updates, installed,
365
+ ]);
151
366
  }
152
367
  export function useFiles() {
153
- const wsManager = getWebSocketManager();
368
+ const wsManager = useConsoleClient().transport;
154
369
  const [connected, setConnected] = useState(wsManager.isConnected());
155
370
  const [tree, setTree] = useState([]);
156
371
  const [loading, setLoading] = useState(false);
@@ -180,7 +395,7 @@ export function useFiles() {
180
395
  return useMemo(() => ({ tree, loading, error, loadTree, readFile, saveFile }), [tree, loading, error, loadTree, readFile, saveFile]);
181
396
  }
182
397
  export function useEnvFiles() {
183
- const wsManager = getWebSocketManager();
398
+ const wsManager = useConsoleClient().transport;
184
399
  const [connected, setConnected] = useState(wsManager.isConnected());
185
400
  const [files, setFiles] = useState([]);
186
401
  const [loading, setLoading] = useState(false);
@@ -213,7 +428,7 @@ export function useEnvFiles() {
213
428
  return useMemo(() => ({ files, loading, error, listFiles, getFile, saveFile }), [files, loading, error, listFiles, getFile, saveFile]);
214
429
  }
215
430
  export function useDatabase() {
216
- const wsManager = getWebSocketManager();
431
+ const wsManager = useConsoleClient().transport;
217
432
  const [connected, setConnected] = useState(wsManager.isConnected());
218
433
  const [info, setInfo] = useState(null);
219
434
  const [tables, setTables] = useState([]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../client/transport/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export { ConsoleTransport, type ConsoleEventListener, type ConsoleEventRecoveryGap, type ConsoleEventRecoveryGapListener, } from "./console-transport.js";
3
+ export { useConsoleTransport, useConfig, useConfigSource, usePluginInstall, usePluginConfigValidation, usePluginDiagnostics, usePluginLifecycle, usePluginUninstall, usePluginUpdate, useEndpointTest, usePluginMarketplace, useFiles, useEnvFiles, useDatabase, } from "./hooks.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export { ConsoleTransport, } from "./console-transport.js";
3
+ export { useConsoleTransport, useConfig, useConfigSource, usePluginInstall, usePluginConfigValidation, usePluginDiagnostics, usePluginLifecycle, usePluginUninstall, usePluginUpdate, useEndpointTest, usePluginMarketplace, useFiles, useEnvFiles, useDatabase, } from "./hooks.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../client/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,gBAAgB,GAIjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC"}