@yuku123/z-agent-component 0.1.0 → 0.1.2

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.
@@ -0,0 +1,843 @@
1
+ import { createRequest as W } from "@yuku123/z-frontend-common";
2
+ import ge, { useState as me, useRef as J, useEffect as X } from "react";
3
+ import { Breadcrumb as Ae, Button as te, Input as Te } from "antd";
4
+ import { InboxOutlined as he, SearchOutlined as be, ExclamationCircleOutlined as Ee, ReloadOutlined as ve } from "@ant-design/icons";
5
+ import { useNavigate as ye } from "react-router-dom";
6
+ const re = W({ baseURL: "/api", timeout: 15e3 }), L = W({ baseURL: "/api", timeout: 15e3 }), N = W({ baseURL: "/api", timeout: 15e3 });
7
+ function B(r) {
8
+ const i = function(s, o = {}) {
9
+ const c = { ...o };
10
+ return c.body !== void 0 && (c.data = c.body, delete c.body), typeof c.method == "string" && (c.method = c.method.toUpperCase()), c.url = s, r.request(c);
11
+ };
12
+ return ["get", "post", "put", "delete", "patch", "head", "request", "create", "interceptors"].forEach((s) => {
13
+ typeof r[s] == "function" ? i[s] = r[s].bind(r) : i[s] = r[s];
14
+ }), i;
15
+ }
16
+ const Se = B(re);
17
+ B(L);
18
+ B(N);
19
+ function We({ apiBase: r } = {}) {
20
+ if (r !== void 0)
21
+ for (const i of [re, L, N])
22
+ i.defaults.baseURL = r;
23
+ }
24
+ const Z = { GET: "GET", DELETE: "DELETE" }, w = {};
25
+ function e(r, i, a, s, o) {
26
+ w[r] || (w[r] = {}), w[r][i] = { verb: a, path: s, transform: o };
27
+ }
28
+ function xe(r, i) {
29
+ let a = 0;
30
+ return r.replace(/\{(\w+)\}/g, () => String(i[a++] ?? ""));
31
+ }
32
+ class Oe extends Error {
33
+ constructor(i, a, s) {
34
+ super(`[apiRouter] ${i}.${a}() 未注册路由(${s}):本次没有发出任何请求。若该端点本应存在,请先在 agent/api/routes.js 里 reg('${i}', '${a}', ...)。`), this.name = "ApiRouteError", this.__missing_route = !0, this.api = i, this.method = a;
35
+ }
36
+ }
37
+ class Pe extends Error {
38
+ constructor(i, a, s) {
39
+ super(`[apiRouter] ${i}.${a}() 参数形状不对:${s}`), this.name = "ApiParamError", this.__param_shape = !0, this.api = i, this.method = a;
40
+ }
41
+ }
42
+ function ke(r, i) {
43
+ return i.startsWith("/ctc/ac") || i.startsWith("/ctc/authorization") || i.startsWith("/ctc/surl") ? N : i.startsWith("/auth/") ? L : Se;
44
+ }
45
+ function we(r) {
46
+ const i = { data: void 0, params: void 0 };
47
+ if (!r.length) return i;
48
+ const a = r[0];
49
+ if (a && typeof a == "object" && !Array.isArray(a) && ("data" in a || "params" in a) ? ("data" in a && (i.data = a.data), "params" in a && (i.params = a.params)) : i.data = a, r.length > 1) {
50
+ const s = r[1];
51
+ s && typeof s == "object" && !Array.isArray(s) && ("params" in s ? i.params = s.params : "data" in s ? i.data = s.data : i.params = s);
52
+ }
53
+ return i;
54
+ }
55
+ function _e(r, i, a, s) {
56
+ const o = {};
57
+ if (r === Z.GET || r === Z.DELETE) {
58
+ const n = i[0];
59
+ if (n != null) {
60
+ if (typeof n != "object" || Array.isArray(n))
61
+ throw new Pe(
62
+ a,
63
+ s,
64
+ `GET/DELETE 端点收到标量参数 ${JSON.stringify(n)},query 参数名未知,请改用 {params:{<参数名>: 值}}`
65
+ );
66
+ o.params = "params" in n ? n.params : n;
67
+ }
68
+ return o;
69
+ }
70
+ const { data: c, params: f } = we(i);
71
+ return c !== void 0 && (o.data = c), f !== void 0 && (o.params = f), o;
72
+ }
73
+ function h(r) {
74
+ return new Proxy({}, {
75
+ get: (i, a) => {
76
+ if (!(a === "then" || typeof a == "symbol"))
77
+ return a === "toJSON" || a === "constructor" || a === "toString" ? () => `[apiRouter:${r}]` : async (...s) => {
78
+ var c, f;
79
+ const o = (c = w[r]) == null ? void 0 : c[a];
80
+ if (!o) {
81
+ const n = w[r] ? "方法名未注册" : "api key 未注册", p = new Oe(r, a, n);
82
+ throw console.error(p.message), p;
83
+ }
84
+ try {
85
+ const n = xe(o.path, s), p = ke(o.verb, n), A = _e(o.verb, s, r, a), T = await p.request({
86
+ method: o.verb,
87
+ url: n,
88
+ ...A
89
+ });
90
+ return o.transform ? o.transform(T, s) : T;
91
+ } catch (n) {
92
+ if (n && n.__missing_route) throw n;
93
+ if (n && n.__param_shape)
94
+ throw console.error(n.message), n;
95
+ n && typeof n == "object" && (n.__api_error = !0, n.__api = r, n.__api_method = a);
96
+ const p = (f = n == null ? void 0 : n.response) == null ? void 0 : f.status;
97
+ throw console.error(
98
+ `[apiRouter] ${r}.${a}() 请求失败${p ? `(HTTP ${p})` : ""}:${(n == null ? void 0 : n.message) || n}`
99
+ ), n;
100
+ }
101
+ };
102
+ }
103
+ });
104
+ }
105
+ e("llmApi", "toolTemplateList", "GET", "/z-llm/config/tool-template/list");
106
+ e("mcpApi", "list", "GET", "/mcp/server/list");
107
+ e("mcpApi", "listTools", "POST", "/mcp/server/tools/list");
108
+ e("mcpApi", "callTool", "POST", "/mcp/server/tools/call");
109
+ e("ossApi", "listBuckets", "GET", "/v1/bucket");
110
+ e("ossApi", "getBucketStats", "GET", "/v1/bucket/stats");
111
+ e("ossApi", "createBucket", "POST", "/v1/bucket");
112
+ e("ossApi", "deleteBucket", "DELETE", "/v1/bucket");
113
+ e("ossApi", "setBucketAcl", "PUT", "/v1/bucket/acl");
114
+ e("ossApi", "listObjects", "GET", "/v1/object");
115
+ e("ossApi", "presignedUrl", "GET", "/v1/object/url");
116
+ e("ossApi", "uploadObject", "POST", "/v1/object");
117
+ e("ossApi", "downloadUrl", "GET", "/v1/object/url");
118
+ e("ossApi", "deleteObject", "DELETE", "/v1/object");
119
+ e("ossApi", "copyObject", "POST", "/v1/object/copy");
120
+ e("ossApi", "batchDelete", "POST", "/v1/object/batch-delete");
121
+ e("ossApi", "createFolder", "POST", "/v1/folder");
122
+ e("scriptApi", "list", "GET", "/script/list");
123
+ e("scriptApi", "create", "POST", "/script");
124
+ e("scriptApi", "update", "POST", "/script/update");
125
+ e("scriptApi", "delete", "POST", "/script/delete");
126
+ e("scriptApi", "publish", "POST", "/script/publish");
127
+ e("scriptApi", "unpublish", "POST", "/script/unpublish");
128
+ e("scriptApi", "run", "POST", "/script/run");
129
+ e("scriptApi", "importCurl", "POST", "/script/import-curl");
130
+ e("scriptApi", "importOpenApi", "POST", "/script/import-openapi");
131
+ e("scriptApi", "previewMapping", "POST", "/script/preview-mapping");
132
+ e("skillApi", "page", "POST", "/skill/page");
133
+ e("skillApi", "categoryTree", "GET", "/skill/category/tree");
134
+ e("skillApi", "create", "POST", "/skill");
135
+ e("skillApi", "createCategory", "POST", "/skill/category");
136
+ e("skillApi", "deleteCategory", "POST", "/skill/category/delete");
137
+ e("skillApi", "getBySkillCode", "GET", "/skill/by-code");
138
+ e("skillApi", "install", "POST", "/skill/install");
139
+ e("skillApi", "stats", "GET", "/skill/stats");
140
+ e("skillApi", "versions", "GET", "/skill/versions");
141
+ e("skillApi", "downloadPackage", "GET", "/skill/download");
142
+ e("skillApi", "uploadPackage", "POST", "/skill/upload");
143
+ e("agentApi", "appPage", "POST", "/agent/app/page");
144
+ e("agentApi", "appGet", "GET", "/agent/app/get");
145
+ e("agentApi", "appCreate", "POST", "/agent/app");
146
+ e("agentApi", "appUpdate", "POST", "/agent/app/update");
147
+ e("agentApi", "appDelete", "POST", "/agent/app/delete");
148
+ e("agentApi", "appPublish", "POST", "/agent/app/publish");
149
+ e("agentApi", "appUpgrade", "POST", "/agent/app/upgrade");
150
+ e("agentApi", "appToggleShare", "POST", "/agent/app/toggleShare");
151
+ e("agentApi", "versions", "GET", "/agent/app/versions");
152
+ e("agentApi", "groupTree", "GET", "/agent/group/tree");
153
+ e("agentApi", "groupCreate", "POST", "/agent/group");
154
+ e("agentApi", "groupUpdate", "POST", "/agent/group/update");
155
+ e("agentApi", "groupDelete", "POST", "/agent/group/delete");
156
+ e("agentApi", "chatHistory", "GET", "/agent/chat/history");
157
+ e("agentApi", "chatStream", "POST", "/agent/chat/send");
158
+ e("agentApi", "chatClear", "POST", "/agent/chat/clear");
159
+ e("agentApi", "shareVerify", "GET", "/agent/share/verify");
160
+ e("flowApi", "list", "GET", "/agent/flow/list");
161
+ e("flowApi", "get", "GET", "/agent/flow/byId");
162
+ e("flowApi", "byFlowId", "GET", "/agent/flow/byFlowId");
163
+ e("flowApi", "versions", "GET", "/agent/flow/versions");
164
+ e("flowApi", "create", "POST", "/agent/flow/create");
165
+ e("flowApi", "update", "POST", "/agent/flow/update");
166
+ e("flowApi", "publish", "POST", "/agent/flow/publish");
167
+ e("flowApi", "archive", "POST", "/agent/flow/archive");
168
+ e("flowApi", "newVersion", "POST", "/agent/flow/newVersion");
169
+ e("flowApi", "delete", "POST", "/agent/flow/delete");
170
+ e("flowApi", "execute", "POST", "/agent/flow/execute");
171
+ e("flowApi", "health", "GET", "/agent/flow/health");
172
+ e("statsApi", "overview", "GET", "/agent/stats/overview");
173
+ e("statsApi", "trend", "GET", "/agent/stats/trend");
174
+ e("statsApi", "latency", "GET", "/agent/stats/latency");
175
+ e("statsApi", "byApp", "GET", "/agent/stats/by-app");
176
+ e("statsApi", "byUser", "GET", "/agent/stats/by-user");
177
+ e("statsApi", "health", "GET", "/agent/stats/health");
178
+ e("pluginApi", "page", "GET", "/agent/plugin/page");
179
+ e("pluginApi", "get", "GET", "/agent/plugin/byId");
180
+ e("pluginApi", "byCode", "GET", "/agent/plugin/byCode");
181
+ e("pluginApi", "create", "POST", "/agent/plugin/create");
182
+ e("pluginApi", "update", "POST", "/agent/plugin/update");
183
+ e("pluginApi", "status", "POST", "/agent/plugin/status");
184
+ e("pluginApi", "delete", "POST", "/agent/plugin/delete");
185
+ e("pluginApi", "execute", "POST", "/agent/plugin/execute");
186
+ e("pluginApi", "builtinBeans", "GET", "/agent/plugin/builtin-beans");
187
+ e("pluginApi", "health", "GET", "/agent/plugin/health");
188
+ e("triggerApi", "page", "GET", "/agent/trigger/page");
189
+ e("triggerApi", "get", "GET", "/agent/trigger/byId");
190
+ e("triggerApi", "create", "POST", "/agent/trigger/create");
191
+ e("triggerApi", "update", "POST", "/agent/trigger/update");
192
+ e("triggerApi", "status", "POST", "/agent/trigger/status");
193
+ e("triggerApi", "delete", "POST", "/agent/trigger/delete");
194
+ e("triggerApi", "fire", "POST", "/agent/trigger/fire");
195
+ e("triggerApi", "health", "GET", "/agent/trigger/health");
196
+ e("templateApi", "page", "GET", "/agent/template/page");
197
+ e("templateApi", "get", "GET", "/agent/template/byId");
198
+ e("templateApi", "hot", "GET", "/agent/template/hot");
199
+ e("templateApi", "create", "POST", "/agent/template/create");
200
+ e("templateApi", "update", "POST", "/agent/template/update");
201
+ e("templateApi", "status", "POST", "/agent/template/status");
202
+ e("templateApi", "delete", "POST", "/agent/template/delete");
203
+ e("templateApi", "fork", "POST", "/agent/template/fork");
204
+ e("templateApi", "health", "GET", "/agent/template/health");
205
+ e("textGenApi", "page", "GET", "/agent/textgen/page");
206
+ e("textGenApi", "get", "GET", "/agent/textgen/byId");
207
+ e("textGenApi", "results", "GET", "/agent/textgen/results");
208
+ e("textGenApi", "create", "POST", "/agent/textgen/create");
209
+ e("textGenApi", "delete", "POST", "/agent/textgen/delete");
210
+ e("textGenApi", "run", "POST", "/agent/textgen/run");
211
+ e("textGenApi", "createAndRun", "POST", "/agent/textgen/createAndRun");
212
+ e("textGenApi", "health", "GET", "/agent/textgen/health");
213
+ e("humanInputApi", "inbox", "GET", "/agent/human/inbox");
214
+ e("humanInputApi", "listByExecution", "GET", "/agent/human/execution");
215
+ e("humanInputApi", "getById", "GET", "/agent/human/byId");
216
+ e("humanInputApi", "getByCode", "GET", "/agent/human/by-code");
217
+ e("humanInputApi", "decide", "POST", "/agent/human/decide");
218
+ e("humanInputApi", "create", "POST", "/agent/human/create");
219
+ e("humanInputApi", "health", "GET", "/agent/human/health");
220
+ e("productApi", "page", "GET", "/v1/products");
221
+ e("productApi", "create", "POST", "/v1/products");
222
+ e("productApi", "update", "PUT", "/v1/products");
223
+ e("productApi", "delete", "DELETE", "/v1/products");
224
+ e("productApi", "publish", "POST", "/v1/products/publish");
225
+ e("productApi", "offline", "POST", "/v1/products/offline");
226
+ e("productApi", "configGet", "GET", "/v1/products/config");
227
+ e("productApi", "configSave", "PUT", "/v1/products/config");
228
+ e("sceneApi", "page", "GET", "/v1/scenes");
229
+ e("sceneApi", "create", "POST", "/v1/scenes");
230
+ e("sceneApi", "update", "PUT", "/v1/scenes");
231
+ e("sceneApi", "delete", "DELETE", "/v1/scenes");
232
+ e("sceneApi", "duplicate", "POST", "/v1/scenes/duplicate");
233
+ e("sceneApi", "publish", "POST", "/v1/scenes/publish");
234
+ e("sceneApi", "offline", "POST", "/v1/scenes/offline");
235
+ e("sceneApi", "execute", "POST", "/v1/scenes/execute");
236
+ e("sceneApi", "canvasGet", "GET", "/v1/scenes/canvas");
237
+ e("sceneApi", "configGet", "GET", "/v1/scenes/config");
238
+ e("sceneApi", "nodes", "GET", "/v1/scenes/nodes");
239
+ e("sceneApi", "chatHistory", "GET", "/v1/scenes/chat-history");
240
+ const Le = h("agentApi"), Ne = h("flowApi"), Be = h("statsApi");
241
+ h("pluginApi");
242
+ h("memoryApi");
243
+ h("triggerApi");
244
+ const ze = h("templateApi");
245
+ h("textGenApi");
246
+ h("humanInputApi");
247
+ const Ye = h("llmApi"), qe = h("mcpApi"), Fe = h("scriptApi"), Me = h("skillApi"), Ve = h("productApi"), He = h("sceneApi"), Je = h("ossApi");
248
+ var j = { exports: {} }, P = {};
249
+ /**
250
+ * @license React
251
+ * react-jsx-runtime.production.js
252
+ *
253
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
254
+ *
255
+ * This source code is licensed under the MIT license found in the
256
+ * LICENSE file in the root directory of this source tree.
257
+ */
258
+ var Q;
259
+ function Re() {
260
+ if (Q) return P;
261
+ Q = 1;
262
+ var r = Symbol.for("react.transitional.element"), i = Symbol.for("react.fragment");
263
+ function a(s, o, c) {
264
+ var f = null;
265
+ if (c !== void 0 && (f = "" + c), o.key !== void 0 && (f = "" + o.key), "key" in o) {
266
+ c = {};
267
+ for (var n in o)
268
+ n !== "key" && (c[n] = o[n]);
269
+ } else c = o;
270
+ return o = c.ref, {
271
+ $$typeof: r,
272
+ type: s,
273
+ key: f,
274
+ ref: o !== void 0 ? o : null,
275
+ props: c
276
+ };
277
+ }
278
+ return P.Fragment = i, P.jsx = a, P.jsxs = a, P;
279
+ }
280
+ var k = {};
281
+ /**
282
+ * @license React
283
+ * react-jsx-runtime.development.js
284
+ *
285
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
286
+ *
287
+ * This source code is licensed under the MIT license found in the
288
+ * LICENSE file in the root directory of this source tree.
289
+ */
290
+ var K;
291
+ function je() {
292
+ return K || (K = 1, process.env.NODE_ENV !== "production" && (function() {
293
+ function r(t) {
294
+ if (t == null) return null;
295
+ if (typeof t == "function")
296
+ return t.$$typeof === ue ? null : t.displayName || t.name || null;
297
+ if (typeof t == "string") return t;
298
+ switch (t) {
299
+ case b:
300
+ return "Fragment";
301
+ case ne:
302
+ return "Profiler";
303
+ case O:
304
+ return "StrictMode";
305
+ case oe:
306
+ return "Suspense";
307
+ case le:
308
+ return "SuspenseList";
309
+ case pe:
310
+ return "Activity";
311
+ }
312
+ if (typeof t == "object")
313
+ switch (typeof t.tag == "number" && console.error(
314
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
315
+ ), t.$$typeof) {
316
+ case S:
317
+ return "Portal";
318
+ case ie:
319
+ return t.displayName || "Context";
320
+ case ae:
321
+ return (t._context.displayName || "Context") + ".Consumer";
322
+ case se:
323
+ var l = t.render;
324
+ return t = t.displayName, t || (t = l.displayName || l.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
325
+ case ce:
326
+ return l = t.displayName || null, l !== null ? l : r(t.type) || "Memo";
327
+ case C:
328
+ l = t._payload, t = t._init;
329
+ try {
330
+ return r(t(l));
331
+ } catch {
332
+ }
333
+ }
334
+ return null;
335
+ }
336
+ function i(t) {
337
+ return "" + t;
338
+ }
339
+ function a(t) {
340
+ try {
341
+ i(t);
342
+ var l = !1;
343
+ } catch {
344
+ l = !0;
345
+ }
346
+ if (l) {
347
+ l = console;
348
+ var d = l.error, g = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
349
+ return d.call(
350
+ l,
351
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
352
+ g
353
+ ), i(t);
354
+ }
355
+ }
356
+ function s(t) {
357
+ if (t === b) return "<>";
358
+ if (typeof t == "object" && t !== null && t.$$typeof === C)
359
+ return "<...>";
360
+ try {
361
+ var l = r(t);
362
+ return l ? "<" + l + ">" : "<...>";
363
+ } catch {
364
+ return "<...>";
365
+ }
366
+ }
367
+ function o() {
368
+ var t = I.A;
369
+ return t === null ? null : t.getOwner();
370
+ }
371
+ function c() {
372
+ return Error("react-stack-top-frame");
373
+ }
374
+ function f(t) {
375
+ if (Y.call(t, "key")) {
376
+ var l = Object.getOwnPropertyDescriptor(t, "key").get;
377
+ if (l && l.isReactWarning) return !1;
378
+ }
379
+ return t.key !== void 0;
380
+ }
381
+ function n(t, l) {
382
+ function d() {
383
+ q || (q = !0, console.error(
384
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
385
+ l
386
+ ));
387
+ }
388
+ d.isReactWarning = !0, Object.defineProperty(t, "key", {
389
+ get: d,
390
+ configurable: !0
391
+ });
392
+ }
393
+ function p() {
394
+ var t = r(this.type);
395
+ return F[t] || (F[t] = !0, console.error(
396
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
397
+ )), t = this.props.ref, t !== void 0 ? t : null;
398
+ }
399
+ function A(t, l, d, g, R, D) {
400
+ var m = d.ref;
401
+ return t = {
402
+ $$typeof: _,
403
+ type: t,
404
+ key: l,
405
+ props: d,
406
+ _owner: g
407
+ }, (m !== void 0 ? m : null) !== null ? Object.defineProperty(t, "ref", {
408
+ enumerable: !1,
409
+ get: p
410
+ }) : Object.defineProperty(t, "ref", { enumerable: !1, value: null }), t._store = {}, Object.defineProperty(t._store, "validated", {
411
+ configurable: !1,
412
+ enumerable: !1,
413
+ writable: !0,
414
+ value: 0
415
+ }), Object.defineProperty(t, "_debugInfo", {
416
+ configurable: !1,
417
+ enumerable: !1,
418
+ writable: !0,
419
+ value: null
420
+ }), Object.defineProperty(t, "_debugStack", {
421
+ configurable: !1,
422
+ enumerable: !1,
423
+ writable: !0,
424
+ value: R
425
+ }), Object.defineProperty(t, "_debugTask", {
426
+ configurable: !1,
427
+ enumerable: !1,
428
+ writable: !0,
429
+ value: D
430
+ }), Object.freeze && (Object.freeze(t.props), Object.freeze(t)), t;
431
+ }
432
+ function T(t, l, d, g, R, D) {
433
+ var m = l.children;
434
+ if (m !== void 0)
435
+ if (g)
436
+ if (de(m)) {
437
+ for (g = 0; g < m.length; g++)
438
+ E(m[g]);
439
+ Object.freeze && Object.freeze(m);
440
+ } else
441
+ console.error(
442
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
443
+ );
444
+ else E(m);
445
+ if (Y.call(l, "key")) {
446
+ m = r(t);
447
+ var x = Object.keys(l).filter(function(fe) {
448
+ return fe !== "key";
449
+ });
450
+ g = 0 < x.length ? "{key: someKey, " + x.join(": ..., ") + ": ...}" : "{key: someKey}", H[m + g] || (x = 0 < x.length ? "{" + x.join(": ..., ") + ": ...}" : "{}", console.error(
451
+ `A props object containing a "key" prop is being spread into JSX:
452
+ let props = %s;
453
+ <%s {...props} />
454
+ React keys must be passed directly to JSX without using spread:
455
+ let props = %s;
456
+ <%s key={someKey} {...props} />`,
457
+ g,
458
+ m,
459
+ x,
460
+ m
461
+ ), H[m + g] = !0);
462
+ }
463
+ if (m = null, d !== void 0 && (a(d), m = "" + d), f(l) && (a(l.key), m = "" + l.key), "key" in l) {
464
+ d = {};
465
+ for (var U in l)
466
+ U !== "key" && (d[U] = l[U]);
467
+ } else d = l;
468
+ return m && n(
469
+ d,
470
+ typeof t == "function" ? t.displayName || t.name || "Unknown" : t
471
+ ), A(
472
+ t,
473
+ m,
474
+ d,
475
+ o(),
476
+ R,
477
+ D
478
+ );
479
+ }
480
+ function E(t) {
481
+ y(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === C && (t._payload.status === "fulfilled" ? y(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
482
+ }
483
+ function y(t) {
484
+ return typeof t == "object" && t !== null && t.$$typeof === _;
485
+ }
486
+ var v = ge, _ = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), b = Symbol.for("react.fragment"), O = Symbol.for("react.strict_mode"), ne = Symbol.for("react.profiler"), ae = Symbol.for("react.consumer"), ie = Symbol.for("react.context"), se = Symbol.for("react.forward_ref"), oe = Symbol.for("react.suspense"), le = Symbol.for("react.suspense_list"), ce = Symbol.for("react.memo"), C = Symbol.for("react.lazy"), pe = Symbol.for("react.activity"), ue = Symbol.for("react.client.reference"), I = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Y = Object.prototype.hasOwnProperty, de = Array.isArray, $ = console.createTask ? console.createTask : function() {
487
+ return null;
488
+ };
489
+ v = {
490
+ react_stack_bottom_frame: function(t) {
491
+ return t();
492
+ }
493
+ };
494
+ var q, F = {}, M = v.react_stack_bottom_frame.bind(
495
+ v,
496
+ c
497
+ )(), V = $(s(c)), H = {};
498
+ k.Fragment = b, k.jsx = function(t, l, d) {
499
+ var g = 1e4 > I.recentlyCreatedOwnerStacks++;
500
+ return T(
501
+ t,
502
+ l,
503
+ d,
504
+ !1,
505
+ g ? Error("react-stack-top-frame") : M,
506
+ g ? $(s(t)) : V
507
+ );
508
+ }, k.jsxs = function(t, l, d) {
509
+ var g = 1e4 > I.recentlyCreatedOwnerStacks++;
510
+ return T(
511
+ t,
512
+ l,
513
+ d,
514
+ !0,
515
+ g ? Error("react-stack-top-frame") : M,
516
+ g ? $(s(t)) : V
517
+ );
518
+ };
519
+ })()), k;
520
+ }
521
+ var ee;
522
+ function Ge() {
523
+ return ee || (ee = 1, process.env.NODE_ENV === "production" ? j.exports = Re() : j.exports = je()), j.exports;
524
+ }
525
+ var u = Ge();
526
+ const G = {
527
+ // 卡片表面
528
+ surfaceAlt: "#fafbfc",
529
+ // 次级表面 (表格 hover 等)
530
+ border: "#e5e7eb",
531
+ text: "#111827",
532
+ // 主文本
533
+ textMuted: "#6b7280"
534
+ }, z = {
535
+ md: 12
536
+ };
537
+ function Xe({
538
+ icon: r,
539
+ title: i = "暂无数据",
540
+ description: a,
541
+ actionText: s,
542
+ onAction: o,
543
+ size: c = "md",
544
+ style: f
545
+ }) {
546
+ const n = { sm: 24, md: 40, lg: 64 }, p = { sm: 14, md: 16, lg: 20 };
547
+ return /* @__PURE__ */ u.jsxs(
548
+ "div",
549
+ {
550
+ role: "status",
551
+ "aria-live": "polite",
552
+ style: {
553
+ padding: n[c] || n.md,
554
+ textAlign: "center",
555
+ background: "#ffffff",
556
+ borderRadius: z.md,
557
+ border: "1px dashed #e5e7eb",
558
+ ...f
559
+ },
560
+ children: [
561
+ /* @__PURE__ */ u.jsx("div", { style: {
562
+ display: "inline-flex",
563
+ alignItems: "center",
564
+ justifyContent: "center",
565
+ width: 56,
566
+ height: 56,
567
+ borderRadius: "50%",
568
+ background: G.surfaceAlt,
569
+ marginBottom: 16,
570
+ fontSize: 28,
571
+ color: "#9ca3af"
572
+ }, children: r || /* @__PURE__ */ u.jsx(he, {}) }),
573
+ /* @__PURE__ */ u.jsx("div", { style: {
574
+ fontSize: p[c],
575
+ fontWeight: 600,
576
+ color: G.text,
577
+ marginBottom: a ? 6 : 16
578
+ }, children: i }),
579
+ a && /* @__PURE__ */ u.jsx("div", { style: {
580
+ fontSize: 13,
581
+ color: G.textMuted,
582
+ lineHeight: 1.6,
583
+ maxWidth: 360,
584
+ margin: "0 auto 16px"
585
+ }, children: a }),
586
+ s && o && /* @__PURE__ */ u.jsx(
587
+ te,
588
+ {
589
+ type: "primary",
590
+ onClick: o,
591
+ style: {
592
+ background: "linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%)",
593
+ border: "none",
594
+ minHeight: 36
595
+ },
596
+ children: s
597
+ }
598
+ )
599
+ ]
600
+ }
601
+ );
602
+ }
603
+ function Ze({
604
+ error: r,
605
+ title: i = "加载失败",
606
+ description: a,
607
+ onRetry: s,
608
+ retryText: o = "重新加载",
609
+ variant: c = "inline",
610
+ style: f
611
+ }) {
612
+ var n;
613
+ const p = c === "full", A = (n = r == null ? void 0 : r.response) == null ? void 0 : n.data, T = A && typeof A == "object" && (typeof A.message == "string" && A.message || typeof A.msg == "string" && A.msg) || null, E = T || (typeof r == "string" ? r : (r == null ? void 0 : r.message) || (r == null ? void 0 : r.msg) || (r ? String(r) : null)), y = a || (T ? `原因: ${T}` : E ? `原因: ${E}。请检查网络或稍后重试。` : "请检查网络或稍后重试。");
614
+ return /* @__PURE__ */ u.jsxs(
615
+ "div",
616
+ {
617
+ role: "alert",
618
+ "aria-live": "assertive",
619
+ style: {
620
+ padding: p ? "48px 24px" : "20px 24px",
621
+ background: p ? "#ffffff" : "#fef2f2",
622
+ border: p ? `1px dashed ${G.border}` : "1px solid #fecaca",
623
+ borderRadius: z.md,
624
+ textAlign: p ? "center" : "left",
625
+ display: "flex",
626
+ flexDirection: p ? "column" : "row",
627
+ alignItems: p ? "center" : "flex-start",
628
+ gap: p ? 12 : 16,
629
+ ...f
630
+ },
631
+ children: [
632
+ /* @__PURE__ */ u.jsx("div", { style: {
633
+ display: "inline-flex",
634
+ alignItems: "center",
635
+ justifyContent: "center",
636
+ width: p ? 56 : 36,
637
+ height: p ? 56 : 36,
638
+ borderRadius: "50%",
639
+ background: p ? "#fef2f2" : "#ffffff",
640
+ color: "#dc2626",
641
+ fontSize: p ? 28 : 18,
642
+ flexShrink: 0
643
+ }, children: /* @__PURE__ */ u.jsx(Ee, {}) }),
644
+ /* @__PURE__ */ u.jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
645
+ /* @__PURE__ */ u.jsx("div", { style: {
646
+ fontSize: p ? 16 : 14,
647
+ fontWeight: 600,
648
+ color: "#991b1b",
649
+ marginBottom: 4
650
+ }, children: i }),
651
+ /* @__PURE__ */ u.jsx("div", { style: {
652
+ fontSize: 13,
653
+ color: "#7f1d1d",
654
+ lineHeight: 1.6,
655
+ wordBreak: "break-word"
656
+ }, children: y }),
657
+ s && /* @__PURE__ */ u.jsx(
658
+ te,
659
+ {
660
+ type: "primary",
661
+ danger: !0,
662
+ icon: /* @__PURE__ */ u.jsx(ve, {}),
663
+ onClick: s,
664
+ size: p ? "middle" : "small",
665
+ style: { marginTop: 12 },
666
+ children: o
667
+ }
668
+ )
669
+ ] })
670
+ ]
671
+ }
672
+ );
673
+ }
674
+ function Qe({
675
+ value: r,
676
+ onChange: i,
677
+ onSearch: a,
678
+ placeholder: s = "搜索...",
679
+ debounceMs: o = 300,
680
+ width: c = 280,
681
+ allowClear: f = !0,
682
+ // antd v6: enterButton 已被废弃,SearchInput 已通过 onKeyDown 自行处理 Enter 键,
683
+ // 所以从 rest 里过滤掉,避免透传到原生 <input> 报 React 警告。
684
+ enterButton: n,
685
+ ...p
686
+ }) {
687
+ const [A, T] = me(r || ""), E = J(null), y = J(r || "");
688
+ X(() => {
689
+ r !== void 0 && r !== A && (T(r || ""), y.current = r || "");
690
+ }, [r]), X(() => () => {
691
+ E.current && clearTimeout(E.current);
692
+ }, []);
693
+ const v = (b) => {
694
+ y.current = b, i && i(b);
695
+ }, _ = (b) => {
696
+ const O = b.target.value;
697
+ if (T(O), E.current && clearTimeout(E.current), O === "") {
698
+ v("");
699
+ return;
700
+ }
701
+ E.current = setTimeout(() => v(O), o);
702
+ }, S = (b) => {
703
+ E.current && clearTimeout(E.current), v(b), a && a(b);
704
+ };
705
+ return /* @__PURE__ */ u.jsx(
706
+ Te,
707
+ {
708
+ ...p,
709
+ value: A,
710
+ onChange: _,
711
+ onPressEnter: S,
712
+ onKeyDown: (b) => {
713
+ b.key === "Enter" ? (b.preventDefault(), S(A)) : b.key === "Escape" && (T(""), S(""));
714
+ },
715
+ placeholder: s,
716
+ allowClear: f ? { clearIcon: /* @__PURE__ */ u.jsx("span", { onClick: () => {
717
+ T(""), S("");
718
+ }, children: "×" }) } : !1,
719
+ prefix: /* @__PURE__ */ u.jsx(be, { style: { color: "#9ca3af" } }),
720
+ style: {
721
+ width: c,
722
+ borderRadius: z.md,
723
+ ...p.style || {}
724
+ }
725
+ }
726
+ );
727
+ }
728
+ function Ke({
729
+ title: r,
730
+ subtitle: i,
731
+ breadcrumb: a,
732
+ extra: s,
733
+ back: o,
734
+ onBack: c
735
+ }) {
736
+ const f = ye();
737
+ return /* @__PURE__ */ u.jsx("div", { style: {
738
+ marginBottom: 12,
739
+ paddingBottom: 10,
740
+ borderBottom: "1px solid #f1f5f9"
741
+ }, children: /* @__PURE__ */ u.jsxs("div", { style: {
742
+ display: "flex",
743
+ alignItems: "center",
744
+ justifyContent: "space-between",
745
+ gap: 12,
746
+ flexWrap: "wrap"
747
+ }, children: [
748
+ /* @__PURE__ */ u.jsxs("div", { style: {
749
+ display: "flex",
750
+ alignItems: "center",
751
+ gap: 10,
752
+ minWidth: 0,
753
+ flexWrap: "wrap"
754
+ }, children: [
755
+ o && /* @__PURE__ */ u.jsx(
756
+ "button",
757
+ {
758
+ onClick: () => {
759
+ c ? c() : f(-1);
760
+ },
761
+ "aria-label": "返回上一页",
762
+ style: {
763
+ width: 28,
764
+ height: 28,
765
+ borderRadius: 6,
766
+ border: "1px solid #e5e7eb",
767
+ background: "#ffffff",
768
+ color: "#6b7280",
769
+ cursor: "pointer",
770
+ display: "inline-flex",
771
+ alignItems: "center",
772
+ justifyContent: "center",
773
+ fontSize: 13,
774
+ transition: "all 150ms ease",
775
+ flexShrink: 0
776
+ },
777
+ onMouseEnter: (n) => {
778
+ n.currentTarget.style.background = "#f8fafc", n.currentTarget.style.color = "#111827", n.currentTarget.style.borderColor = "#7c3aed";
779
+ },
780
+ onMouseLeave: (n) => {
781
+ n.currentTarget.style.background = "#ffffff", n.currentTarget.style.color = "#6b7280", n.currentTarget.style.borderColor = "#e5e7eb";
782
+ },
783
+ children: "←"
784
+ }
785
+ ),
786
+ a && a.length > 0 ? /* @__PURE__ */ u.jsx(
787
+ Ae,
788
+ {
789
+ items: a.map((n, p) => {
790
+ const A = p === a.length - 1;
791
+ return {
792
+ title: n.href && !A ? /* @__PURE__ */ u.jsx("a", { onClick: (T) => {
793
+ T.preventDefault(), f(n.href);
794
+ }, children: n.label }) : /* @__PURE__ */ u.jsx("span", { style: A ? {
795
+ fontWeight: 600,
796
+ color: "#111827"
797
+ } : void 0, children: n.label })
798
+ };
799
+ })
800
+ }
801
+ ) : r && /* @__PURE__ */ u.jsx("span", { role: "heading", "aria-level": 1, style: {
802
+ fontSize: 15,
803
+ fontWeight: 600,
804
+ color: "#111827",
805
+ lineHeight: 1.4
806
+ }, children: r }),
807
+ i && /* @__PURE__ */ u.jsx("span", { title: i, style: {
808
+ fontSize: 12,
809
+ color: "#94a3b8",
810
+ lineHeight: 1.4,
811
+ whiteSpace: "nowrap",
812
+ overflow: "hidden",
813
+ textOverflow: "ellipsis",
814
+ maxWidth: 360
815
+ }, children: i })
816
+ ] }),
817
+ s && /* @__PURE__ */ u.jsx("div", { style: {
818
+ display: "flex",
819
+ gap: 8,
820
+ flexShrink: 0
821
+ }, children: s })
822
+ ] }) });
823
+ }
824
+ export {
825
+ Qe as S,
826
+ Le as a,
827
+ Be as b,
828
+ ze as c,
829
+ We as d,
830
+ Xe as e,
831
+ Ne as f,
832
+ Fe as g,
833
+ Me as h,
834
+ u as j,
835
+ Ye as l,
836
+ qe as m,
837
+ Je as o,
838
+ Ve as p,
839
+ Ke as r,
840
+ He as s,
841
+ Ze as t,
842
+ Se as u
843
+ };