@yunzai-ng/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +51 -0
  3. package/dist/adapter/accounts.d.ts +174 -0
  4. package/dist/adapter/accounts.d.ts.map +1 -0
  5. package/dist/adapter/accounts.js +653 -0
  6. package/dist/adapter/accounts.js.map +1 -0
  7. package/dist/adapter/bots.d.ts +142 -0
  8. package/dist/adapter/bots.d.ts.map +1 -0
  9. package/dist/adapter/bots.js +454 -0
  10. package/dist/adapter/bots.js.map +1 -0
  11. package/dist/adapter/host.d.ts +114 -0
  12. package/dist/adapter/host.d.ts.map +1 -0
  13. package/dist/adapter/host.js +90 -0
  14. package/dist/adapter/host.js.map +1 -0
  15. package/dist/adapter/login.d.ts +174 -0
  16. package/dist/adapter/login.d.ts.map +1 -0
  17. package/dist/adapter/login.js +345 -0
  18. package/dist/adapter/login.js.map +1 -0
  19. package/dist/adapter/registry.d.ts +102 -0
  20. package/dist/adapter/registry.d.ts.map +1 -0
  21. package/dist/adapter/registry.js +150 -0
  22. package/dist/adapter/registry.js.map +1 -0
  23. package/dist/config/core-config.d.ts +151 -0
  24. package/dist/config/core-config.d.ts.map +1 -0
  25. package/dist/config/core-config.js +338 -0
  26. package/dist/config/core-config.js.map +1 -0
  27. package/dist/config/schema.d.ts +449 -0
  28. package/dist/config/schema.d.ts.map +1 -0
  29. package/dist/config/schema.js +871 -0
  30. package/dist/config/schema.js.map +1 -0
  31. package/dist/config/store.d.ts +184 -0
  32. package/dist/config/store.d.ts.map +1 -0
  33. package/dist/config/store.js +428 -0
  34. package/dist/config/store.js.map +1 -0
  35. package/dist/config/yaml.d.ts +23 -0
  36. package/dist/config/yaml.d.ts.map +1 -0
  37. package/dist/config/yaml.js +108 -0
  38. package/dist/config/yaml.js.map +1 -0
  39. package/dist/http/client.d.ts +82 -0
  40. package/dist/http/client.d.ts.map +1 -0
  41. package/dist/http/client.js +658 -0
  42. package/dist/http/client.js.map +1 -0
  43. package/dist/index.d.ts +77 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +94 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/kernel/app.d.ts +244 -0
  48. package/dist/kernel/app.d.ts.map +1 -0
  49. package/dist/kernel/app.js +654 -0
  50. package/dist/kernel/app.js.map +1 -0
  51. package/dist/kernel/kv-sink.d.ts +34 -0
  52. package/dist/kernel/kv-sink.d.ts.map +1 -0
  53. package/dist/kernel/kv-sink.js +25 -0
  54. package/dist/kernel/kv-sink.js.map +1 -0
  55. package/dist/kernel/policy.d.ts +77 -0
  56. package/dist/kernel/policy.d.ts.map +1 -0
  57. package/dist/kernel/policy.js +99 -0
  58. package/dist/kernel/policy.js.map +1 -0
  59. package/dist/kernel/runtime.d.ts +117 -0
  60. package/dist/kernel/runtime.d.ts.map +1 -0
  61. package/dist/kernel/runtime.js +197 -0
  62. package/dist/kernel/runtime.js.map +1 -0
  63. package/dist/kernel/sql-sink.d.ts +36 -0
  64. package/dist/kernel/sql-sink.d.ts.map +1 -0
  65. package/dist/kernel/sql-sink.js +114 -0
  66. package/dist/kernel/sql-sink.js.map +1 -0
  67. package/dist/logger/format.d.ts +67 -0
  68. package/dist/logger/format.d.ts.map +1 -0
  69. package/dist/logger/format.js +218 -0
  70. package/dist/logger/format.js.map +1 -0
  71. package/dist/logger/index.d.ts +97 -0
  72. package/dist/logger/index.d.ts.map +1 -0
  73. package/dist/logger/index.js +363 -0
  74. package/dist/logger/index.js.map +1 -0
  75. package/dist/logger/rotate.d.ts +47 -0
  76. package/dist/logger/rotate.d.ts.map +1 -0
  77. package/dist/logger/rotate.js +242 -0
  78. package/dist/logger/rotate.js.map +1 -0
  79. package/dist/message/segment.d.ts +255 -0
  80. package/dist/message/segment.d.ts.map +1 -0
  81. package/dist/message/segment.js +510 -0
  82. package/dist/message/segment.js.map +1 -0
  83. package/dist/message/split.d.ts +34 -0
  84. package/dist/message/split.d.ts.map +1 -0
  85. package/dist/message/split.js +79 -0
  86. package/dist/message/split.js.map +1 -0
  87. package/dist/message/target.d.ts +29 -0
  88. package/dist/message/target.d.ts.map +1 -0
  89. package/dist/message/target.js +34 -0
  90. package/dist/message/target.js.map +1 -0
  91. package/dist/pipeline/cooldown.d.ts +84 -0
  92. package/dist/pipeline/cooldown.d.ts.map +1 -0
  93. package/dist/pipeline/cooldown.js +94 -0
  94. package/dist/pipeline/cooldown.js.map +1 -0
  95. package/dist/pipeline/dispatch.d.ts +98 -0
  96. package/dist/pipeline/dispatch.d.ts.map +1 -0
  97. package/dist/pipeline/dispatch.js +323 -0
  98. package/dist/pipeline/dispatch.js.map +1 -0
  99. package/dist/pipeline/event.d.ts +130 -0
  100. package/dist/pipeline/event.d.ts.map +1 -0
  101. package/dist/pipeline/event.js +538 -0
  102. package/dist/pipeline/event.js.map +1 -0
  103. package/dist/pipeline/middleware.d.ts +63 -0
  104. package/dist/pipeline/middleware.d.ts.map +1 -0
  105. package/dist/pipeline/middleware.js +174 -0
  106. package/dist/pipeline/middleware.js.map +1 -0
  107. package/dist/pipeline/prompt.d.ts +80 -0
  108. package/dist/pipeline/prompt.d.ts.map +1 -0
  109. package/dist/pipeline/prompt.js +155 -0
  110. package/dist/pipeline/prompt.js.map +1 -0
  111. package/dist/pipeline/router.d.ts +98 -0
  112. package/dist/pipeline/router.d.ts.map +1 -0
  113. package/dist/pipeline/router.js +489 -0
  114. package/dist/pipeline/router.js.map +1 -0
  115. package/dist/platform/detect.d.ts +24 -0
  116. package/dist/platform/detect.d.ts.map +1 -0
  117. package/dist/platform/detect.js +178 -0
  118. package/dist/platform/detect.js.map +1 -0
  119. package/dist/platform/paths.d.ts +38 -0
  120. package/dist/platform/paths.d.ts.map +1 -0
  121. package/dist/platform/paths.js +129 -0
  122. package/dist/platform/paths.js.map +1 -0
  123. package/dist/platform/system.d.ts +71 -0
  124. package/dist/platform/system.d.ts.map +1 -0
  125. package/dist/platform/system.js +242 -0
  126. package/dist/platform/system.js.map +1 -0
  127. package/dist/plugin/context.d.ts +92 -0
  128. package/dist/plugin/context.d.ts.map +1 -0
  129. package/dist/plugin/context.js +573 -0
  130. package/dist/plugin/context.js.map +1 -0
  131. package/dist/plugin/define.d.ts +92 -0
  132. package/dist/plugin/define.d.ts.map +1 -0
  133. package/dist/plugin/define.js +82 -0
  134. package/dist/plugin/define.js.map +1 -0
  135. package/dist/plugin/discover.d.ts +106 -0
  136. package/dist/plugin/discover.d.ts.map +1 -0
  137. package/dist/plugin/discover.js +254 -0
  138. package/dist/plugin/discover.js.map +1 -0
  139. package/dist/plugin/events.d.ts +109 -0
  140. package/dist/plugin/events.d.ts.map +1 -0
  141. package/dist/plugin/events.js +209 -0
  142. package/dist/plugin/events.js.map +1 -0
  143. package/dist/plugin/hooks.d.ts +266 -0
  144. package/dist/plugin/hooks.d.ts.map +1 -0
  145. package/dist/plugin/hooks.js +84 -0
  146. package/dist/plugin/hooks.js.map +1 -0
  147. package/dist/plugin/host.d.ts +160 -0
  148. package/dist/plugin/host.d.ts.map +1 -0
  149. package/dist/plugin/host.js +546 -0
  150. package/dist/plugin/host.js.map +1 -0
  151. package/dist/plugin/market.d.ts +264 -0
  152. package/dist/plugin/market.d.ts.map +1 -0
  153. package/dist/plugin/market.js +700 -0
  154. package/dist/plugin/market.js.map +1 -0
  155. package/dist/plugin/services.d.ts +116 -0
  156. package/dist/plugin/services.d.ts.map +1 -0
  157. package/dist/plugin/services.js +213 -0
  158. package/dist/plugin/services.js.map +1 -0
  159. package/dist/plugin/tar.d.ts +65 -0
  160. package/dist/plugin/tar.d.ts.map +1 -0
  161. package/dist/plugin/tar.js +277 -0
  162. package/dist/plugin/tar.js.map +1 -0
  163. package/dist/render/registry.d.ts +127 -0
  164. package/dist/render/registry.d.ts.map +1 -0
  165. package/dist/render/registry.js +306 -0
  166. package/dist/render/registry.js.map +1 -0
  167. package/dist/scheduler/index.d.ts +67 -0
  168. package/dist/scheduler/index.d.ts.map +1 -0
  169. package/dist/scheduler/index.js +279 -0
  170. package/dist/scheduler/index.js.map +1 -0
  171. package/dist/server/api.d.ts +179 -0
  172. package/dist/server/api.d.ts.map +1 -0
  173. package/dist/server/api.js +602 -0
  174. package/dist/server/api.js.map +1 -0
  175. package/dist/server/auth.d.ts +83 -0
  176. package/dist/server/auth.d.ts.map +1 -0
  177. package/dist/server/auth.js +178 -0
  178. package/dist/server/auth.js.map +1 -0
  179. package/dist/server/browse.d.ts +60 -0
  180. package/dist/server/browse.d.ts.map +1 -0
  181. package/dist/server/browse.js +187 -0
  182. package/dist/server/browse.js.map +1 -0
  183. package/dist/server/files.d.ts +27 -0
  184. package/dist/server/files.d.ts.map +1 -0
  185. package/dist/server/files.js +76 -0
  186. package/dist/server/files.js.map +1 -0
  187. package/dist/server/index.d.ts +189 -0
  188. package/dist/server/index.d.ts.map +1 -0
  189. package/dist/server/index.js +1123 -0
  190. package/dist/server/index.js.map +1 -0
  191. package/dist/server/table.d.ts +105 -0
  192. package/dist/server/table.d.ts.map +1 -0
  193. package/dist/server/table.js +289 -0
  194. package/dist/server/table.js.map +1 -0
  195. package/dist/store/index.d.ts +50 -0
  196. package/dist/store/index.d.ts.map +1 -0
  197. package/dist/store/index.js +120 -0
  198. package/dist/store/index.js.map +1 -0
  199. package/dist/store/json.d.ts +73 -0
  200. package/dist/store/json.d.ts.map +1 -0
  201. package/dist/store/json.js +174 -0
  202. package/dist/store/json.js.map +1 -0
  203. package/dist/store/kv.d.ts +126 -0
  204. package/dist/store/kv.d.ts.map +1 -0
  205. package/dist/store/kv.js +232 -0
  206. package/dist/store/kv.js.map +1 -0
  207. package/dist/store/level.d.ts +103 -0
  208. package/dist/store/level.d.ts.map +1 -0
  209. package/dist/store/level.js +119 -0
  210. package/dist/store/level.js.map +1 -0
  211. package/dist/store/memory.d.ts +61 -0
  212. package/dist/store/memory.d.ts.map +1 -0
  213. package/dist/store/memory.js +94 -0
  214. package/dist/store/memory.js.map +1 -0
  215. package/dist/store/sql.d.ts +142 -0
  216. package/dist/store/sql.d.ts.map +1 -0
  217. package/dist/store/sql.js +246 -0
  218. package/dist/store/sql.js.map +1 -0
  219. package/dist/testing/fake.d.ts +109 -0
  220. package/dist/testing/fake.d.ts.map +1 -0
  221. package/dist/testing/fake.js +196 -0
  222. package/dist/testing/fake.js.map +1 -0
  223. package/dist/testing/index.d.ts +16 -0
  224. package/dist/testing/index.d.ts.map +1 -0
  225. package/dist/testing/index.js +16 -0
  226. package/dist/testing/index.js.map +1 -0
  227. package/dist/testing/mock-adapter.d.ts +205 -0
  228. package/dist/testing/mock-adapter.d.ts.map +1 -0
  229. package/dist/testing/mock-adapter.js +309 -0
  230. package/dist/testing/mock-adapter.js.map +1 -0
  231. package/dist/util/deep.d.ts +108 -0
  232. package/dist/util/deep.d.ts.map +1 -0
  233. package/dist/util/deep.js +275 -0
  234. package/dist/util/deep.js.map +1 -0
  235. package/dist/util/defer.d.ts +107 -0
  236. package/dist/util/defer.d.ts.map +1 -0
  237. package/dist/util/defer.js +163 -0
  238. package/dist/util/defer.js.map +1 -0
  239. package/dist/util/dispose.d.ts +88 -0
  240. package/dist/util/dispose.d.ts.map +1 -0
  241. package/dist/util/dispose.js +143 -0
  242. package/dist/util/dispose.js.map +1 -0
  243. package/dist/util/duration.d.ts +28 -0
  244. package/dist/util/duration.d.ts.map +1 -0
  245. package/dist/util/duration.js +77 -0
  246. package/dist/util/duration.js.map +1 -0
  247. package/dist/util/fs.d.ts +110 -0
  248. package/dist/util/fs.d.ts.map +1 -0
  249. package/dist/util/fs.js +269 -0
  250. package/dist/util/fs.js.map +1 -0
  251. package/dist/util/id.d.ts +49 -0
  252. package/dist/util/id.d.ts.map +1 -0
  253. package/dist/util/id.js +87 -0
  254. package/dist/util/id.js.map +1 -0
  255. package/dist/util/lru.d.ts +74 -0
  256. package/dist/util/lru.d.ts.map +1 -0
  257. package/dist/util/lru.js +156 -0
  258. package/dist/util/lru.js.map +1 -0
  259. package/dist/util/queue.d.ts +64 -0
  260. package/dist/util/queue.d.ts.map +1 -0
  261. package/dist/util/queue.js +147 -0
  262. package/dist/util/queue.js.map +1 -0
  263. package/dist/util/text.d.ts +86 -0
  264. package/dist/util/text.d.ts.map +1 -0
  265. package/dist/util/text.js +182 -0
  266. package/dist/util/text.js.map +1 -0
  267. package/package.json +44 -0
  268. package/src/adapter/accounts.ts +758 -0
  269. package/src/adapter/bots.ts +582 -0
  270. package/src/adapter/host.ts +224 -0
  271. package/src/adapter/login.ts +481 -0
  272. package/src/adapter/registry.ts +202 -0
  273. package/src/config/core-config.test.ts +60 -0
  274. package/src/config/core-config.ts +401 -0
  275. package/src/config/schema.test.ts +179 -0
  276. package/src/config/schema.ts +1036 -0
  277. package/src/config/store.test.ts +245 -0
  278. package/src/config/store.ts +506 -0
  279. package/src/config/yaml.ts +119 -0
  280. package/src/http/client.test.ts +568 -0
  281. package/src/http/client.ts +777 -0
  282. package/src/index.ts +106 -0
  283. package/src/kernel/app.test.ts +267 -0
  284. package/src/kernel/app.ts +843 -0
  285. package/src/kernel/kv-sink.ts +58 -0
  286. package/src/kernel/policy.ts +120 -0
  287. package/src/kernel/runtime.test.ts +542 -0
  288. package/src/kernel/runtime.ts +307 -0
  289. package/src/kernel/sql-sink.ts +154 -0
  290. package/src/logger/format.ts +259 -0
  291. package/src/logger/index.ts +427 -0
  292. package/src/logger/rotate.ts +265 -0
  293. package/src/message/segment.test.ts +335 -0
  294. package/src/message/segment.ts +569 -0
  295. package/src/message/split.ts +97 -0
  296. package/src/message/target.ts +48 -0
  297. package/src/pipeline/cooldown.ts +136 -0
  298. package/src/pipeline/dispatch.ts +419 -0
  299. package/src/pipeline/event.ts +735 -0
  300. package/src/pipeline/middleware.test.ts +426 -0
  301. package/src/pipeline/middleware.ts +199 -0
  302. package/src/pipeline/prompt.ts +212 -0
  303. package/src/pipeline/router.test.ts +432 -0
  304. package/src/pipeline/router.ts +575 -0
  305. package/src/platform/detect.ts +178 -0
  306. package/src/platform/paths.ts +147 -0
  307. package/src/platform/system.test.ts +102 -0
  308. package/src/platform/system.ts +289 -0
  309. package/src/plugin/context.test.ts +459 -0
  310. package/src/plugin/context.ts +757 -0
  311. package/src/plugin/define.test.ts +120 -0
  312. package/src/plugin/define.ts +142 -0
  313. package/src/plugin/discover.test.ts +253 -0
  314. package/src/plugin/discover.ts +353 -0
  315. package/src/plugin/events.test.ts +162 -0
  316. package/src/plugin/events.ts +266 -0
  317. package/src/plugin/hooks.ts +373 -0
  318. package/src/plugin/host.test.ts +696 -0
  319. package/src/plugin/host.ts +738 -0
  320. package/src/plugin/market.test.ts +781 -0
  321. package/src/plugin/market.ts +870 -0
  322. package/src/plugin/services.test.ts +135 -0
  323. package/src/plugin/services.ts +261 -0
  324. package/src/plugin/tar.test.ts +158 -0
  325. package/src/plugin/tar.ts +309 -0
  326. package/src/render/registry.test.ts +127 -0
  327. package/src/render/registry.ts +439 -0
  328. package/src/scheduler/index.ts +357 -0
  329. package/src/server/api.test.ts +802 -0
  330. package/src/server/api.ts +869 -0
  331. package/src/server/auth.ts +201 -0
  332. package/src/server/browse.test.ts +193 -0
  333. package/src/server/browse.ts +240 -0
  334. package/src/server/files.ts +97 -0
  335. package/src/server/index.test.ts +566 -0
  336. package/src/server/index.ts +1386 -0
  337. package/src/server/table.ts +351 -0
  338. package/src/store/index.ts +156 -0
  339. package/src/store/json.ts +198 -0
  340. package/src/store/kv.test.ts +307 -0
  341. package/src/store/kv.ts +256 -0
  342. package/src/store/level.ts +167 -0
  343. package/src/store/memory.ts +109 -0
  344. package/src/store/sql.test.ts +204 -0
  345. package/src/store/sql.ts +324 -0
  346. package/src/testing/fake.ts +297 -0
  347. package/src/testing/index.ts +15 -0
  348. package/src/testing/mock-adapter.ts +588 -0
  349. package/src/util/deep.ts +272 -0
  350. package/src/util/defer.ts +211 -0
  351. package/src/util/dispose.ts +169 -0
  352. package/src/util/duration.ts +82 -0
  353. package/src/util/fs.ts +279 -0
  354. package/src/util/id.ts +94 -0
  355. package/src/util/lru.ts +185 -0
  356. package/src/util/queue.ts +167 -0
  357. package/src/util/text.ts +189 -0
@@ -0,0 +1,189 @@
1
+ import { type FastifyInstance } from "fastify";
2
+ import type { Disposer, HttpMethod, Logger, RouteHandler, RouteOptions, ServerInfo, WebSocketHandler, WebSocketOptions } from "@yunzai-ng/types";
3
+ import type { CoreConfigHandle } from "../config/core-config.js";
4
+ import type { ServerSink } from "../plugin/hooks.js";
5
+ /** 面板"路由一览"里的一条 HTTP 路由 */
6
+ export interface RouteSummary {
7
+ /** 请求方法 */
8
+ readonly method: HttpMethod;
9
+ /** URL 模式 */
10
+ readonly pattern: string;
11
+ /** 注册方前缀 */
12
+ readonly scope: string;
13
+ /** 是否需要鉴权 */
14
+ readonly auth: boolean;
15
+ }
16
+ /** 面板"路由一览"里的一个 WebSocket 端点 */
17
+ export interface WebSocketSummary {
18
+ /** URL 模式 */
19
+ readonly pattern: string;
20
+ /** 注册方前缀 */
21
+ readonly scope: string;
22
+ }
23
+ /** 面板"路由一览"里的一个静态挂载 */
24
+ export interface StaticSummary {
25
+ /** URL 模式 */
26
+ readonly pattern: string;
27
+ /** 本地目录 */
28
+ readonly dir: string;
29
+ /** 是否单页回退 */
30
+ readonly spa: boolean;
31
+ }
32
+ /** 创建共享服务器的参数 */
33
+ export interface ManagedServerOptions {
34
+ /** 内核配置句柄,监听地址、端口与访问令牌都从这里读 */
35
+ readonly config: CoreConfigHandle;
36
+ /** 日志器 */
37
+ readonly logger: Logger;
38
+ }
39
+ /**
40
+ * 共享 HTTP / WebSocket 服务器
41
+ *
42
+ * 实现 `ServerSink`,因此 `ctx.route()` / `ctx.websocket()` / `ctx.static()` 最终都落到
43
+ * 这里。面板自己的 API 也只是"一个 scope 为 `/api` 的普通注册方",没有任何特权 ——
44
+ * 这是"一切皆可为插件"在服务器层的体现。
45
+ */
46
+ export declare class ManagedServer implements ServerSink {
47
+ #private;
48
+ /**
49
+ * 建好实例但不监听
50
+ *
51
+ * **不要直接 `new`**,用 `createManagedServer()`:路由必须等到两个 Fastify 插件启动
52
+ * 完成之后才能注册(原因见 `#boot()`),而那是一个异步过程,构造函数里做不到。
53
+ * @param opts 构造参数
54
+ */
55
+ constructor(opts: ManagedServerOptions);
56
+ /**
57
+ * 建一个已就绪的服务器
58
+ * @param opts 构造参数
59
+ * @returns 已 `ready()` 的服务器
60
+ */
61
+ static create(opts: ManagedServerOptions): Promise<ManagedServer>;
62
+ /**
63
+ * 当前服务器状态
64
+ *
65
+ * 刻意做成 getter 而不是构造时算好的常量:`port: 0` 时内核会拿到一个随机端口,
66
+ * 只有 `listen()` 之后才知道是多少,而测试与面板都要显示真实端口。
67
+ * @returns 服务器信息
68
+ */
69
+ get info(): ServerInfo;
70
+ /** 当前保持连接的 WebSocket 数量 */
71
+ get connections(): number;
72
+ /**
73
+ * 原生 Fastify 实例
74
+ *
75
+ * 保留给两种场合:测试中的 `inject()` / `injectWS()`,以及插件确实需要 Fastify 原生
76
+ * 能力(multipart、SSE、自定义序列化)之时。**直接在其上注册的路由无法摘除**,
77
+ * 插件热重载后会残留为失效路由,因此除已确认可接受该后果外,应使用 `route()`。
78
+ * @returns Fastify 实例
79
+ */
80
+ get raw(): FastifyInstance;
81
+ /**
82
+ * 非本机监听时确保有访问令牌
83
+ *
84
+ * 只监听本机就不生成 —— 单机用户不该为了打开面板先去配置文件里抄一串随机字符。
85
+ * 一旦监听地址对外,没有令牌等于把配置写权限公开,所以这里**自动生成并落盘**,
86
+ * 而不是只打一句警告了事。
87
+ * @returns 完成时 resolve
88
+ */
89
+ ensureToken(): Promise<void>;
90
+ /**
91
+ * 开始监听
92
+ *
93
+ * 由 `App.start()` 在插件全部装完之后调用:那时路由才齐,也不会出现"面板半截可用"
94
+ * 的窗口期。
95
+ * @returns 完成时 resolve
96
+ * @throws 服务器已关闭、或端口被占用时
97
+ */
98
+ listen(): Promise<void>;
99
+ /**
100
+ * 关闭服务器
101
+ *
102
+ * 幂等。清表置于 `finally` 中:`fastify.close()` 抛错(例如某个 `preClose` 钩子出现问题)
103
+ * 亦不应残留大量指向已卸载插件闭包的注册项。
104
+ * @returns 完成时 resolve
105
+ */
106
+ close(): Promise<void>;
107
+ /**
108
+ * 注册一条 HTTP 路由
109
+ * @param scope URL 前缀,通常是 `/plugin/<插件名>`
110
+ * @param method 请求方法,大小写不敏感
111
+ * @param path 相对 scope 的路径,可含 `:id` 与末尾的 `*rest`
112
+ * @param handler 处理函数
113
+ * @param opts 路由选项;`auth` 缺省为 true
114
+ * @returns 注销句柄;幂等
115
+ * @throws 服务器已关闭、方法不受支持、或同一模式重复注册时
116
+ */
117
+ route(scope: string, method: HttpMethod, path: string, handler: RouteHandler, opts?: RouteOptions): Disposer;
118
+ /**
119
+ * 注册一个 WebSocket 端点
120
+ *
121
+ * 不给 `verify` 时沿用面板令牌校验(与 `route()` 的 `auth` 默认为 true 对齐)。
122
+ * 适配器的反向连接端点要让平台连进来,就自己给一个 `verify` 做签名校验 ——
123
+ * 给了就完全接管,不再叠加令牌校验。
124
+ * @param scope URL 前缀
125
+ * @param path 相对 scope 的路径
126
+ * @param handler 连接建立后的处理函数
127
+ * @param opts 端点选项
128
+ * @returns 注销句柄;幂等
129
+ * @throws 服务器已关闭、或同一模式重复注册时
130
+ */
131
+ websocket(scope: string, path: string, handler: WebSocketHandler, opts?: WebSocketOptions): Disposer;
132
+ /**
133
+ * 挂一个静态目录
134
+ * @param scope URL 前缀
135
+ * @param urlPath 相对 scope 的 URL 路径,`""` 或 `"/"` 表示挂在 scope 根上
136
+ * @param dir 本地目录绝对路径
137
+ * @returns 注销句柄;幂等
138
+ * @throws 服务器已关闭、`dir` 不是绝对路径、或同一模式重复注册时
139
+ */
140
+ static(scope: string, urlPath: string, dir: string): Disposer;
141
+ /**
142
+ * 挂载面板:把一个单页应用目录挂到站点根路径
143
+ *
144
+ * 内置面板与接管它的插件都走这里,因此"谁在提供面板"只有一个判定依据
145
+ * (`claimant("/")`)。第二个调用方会在路径表里撞上重复模式而抛错,
146
+ * 这正是期望行为:静默覆盖会让面板显示的内容无法判定。
147
+ * @param owner 归属标识,如 `core` 或 `plugin:webui-next`
148
+ * @param dir 单页应用产物目录(绝对路径)
149
+ * @returns 注销句柄;幂等
150
+ * @throws 服务器已关闭、`dir` 不是绝对路径、或根路径已被占用时
151
+ */
152
+ panel(owner: string, dir: string): Disposer;
153
+ /**
154
+ * 导出全部 HTTP 路由,面板"路由一览"用
155
+ * @returns 路由摘要数组
156
+ */
157
+ listRoutes(): RouteSummary[];
158
+ /**
159
+ * 导出全部 WebSocket 端点
160
+ * @returns 端点摘要数组
161
+ */
162
+ listWebsockets(): WebSocketSummary[];
163
+ /**
164
+ * 导出全部静态挂载
165
+ * @returns 挂载摘要数组
166
+ */
167
+ listStatic(): StaticSummary[];
168
+ /**
169
+ * 查询某路径当前由谁提供
170
+ *
171
+ * 先查静态挂载再查 GET 路由:内核用它判断根路径是否已被插件接管,而接管
172
+ * 面板既可以挂一个单页目录,也可以注册一条返回 HTML 的路由,两种都要认。
173
+ * @param path URL 路径
174
+ * @returns 提供方的注册前缀;无人提供时 undefined
175
+ */
176
+ claimant(path: string): string | undefined;
177
+ }
178
+ /**
179
+ * 创建一个共享服务器,但**不**开始监听
180
+ *
181
+ * `await ready()` 在此处即完成,而非留至 `listen()`:`ready()` 之后 Fastify 不再
182
+ * 接受新路由,而本服务器共计只有那 4 条 catch-all,插件后续注册的路由均进入 `PathTable`,
183
+ * 不经由 Fastify —— 因此提前 ready 是安全的,同时可使 `raw.inject()` / `raw.injectWS()`
184
+ * 在不占用端口的前提下直接用于测试。
185
+ * @param opts 构造参数
186
+ * @returns 已就绪的服务器
187
+ */
188
+ export declare function createManagedServer(opts: ManagedServerOptions): Promise<ManagedServer>;
189
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}