station-kit 1.0.7 → 1.0.9
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/.next/standalone/package.json +3 -1
- package/.next/standalone/packages/station-kit/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/station-kit/.next/app-build-manifest.json +76 -17
- package/.next/standalone/packages/station-kit/.next/app-path-routes-manifest.json +10 -3
- package/.next/standalone/packages/station-kit/.next/build-manifest.json +3 -3
- package/.next/standalone/packages/station-kit/.next/prerender-manifest.json +112 -16
- package/.next/standalone/packages/station-kit/.next/routes-manifest.json +49 -0
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/_not-found.rsc +7 -7
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/[id]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/dyn/[name]/v/[n]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/new.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/broadcasts.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/index.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/index.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/playground/expression.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/runs/[id]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/runs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/[id]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/new.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page.js.nft.json +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules/page_client-reference-manifest.js +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.html +1 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.meta +7 -0
- package/.next/standalone/packages/station-kit/.next/server/app/schedules.rsc +25 -0
- package/.next/standalone/packages/station-kit/.next/server/app/settings/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/settings.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/settings.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app/signals/[name]/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/signals/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals/page.js +2 -2
- package/.next/standalone/packages/station-kit/.next/server/app/signals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/app/signals.rsc +8 -8
- package/.next/standalone/packages/station-kit/.next/server/app-paths-manifest.json +10 -3
- package/.next/standalone/packages/station-kit/.next/server/chunks/102.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/chunks/535.js +2 -0
- package/.next/standalone/packages/station-kit/.next/server/chunks/606.js +14 -14
- package/.next/standalone/packages/station-kit/.next/server/chunks/783.js +3 -3
- package/.next/standalone/packages/station-kit/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/404.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/500.html +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_app.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_document.js +1 -1
- package/.next/standalone/packages/station-kit/.next/server/pages/_error.js +9 -9
- package/.next/standalone/packages/station-kit/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/packages/station-kit/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/145-9e370afd2e5aba39.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/285-ff198f0a909c4fdd.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/561-33d912169940283e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/935-dff12960528de017.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/_not-found/{page-ce21b4ba9038a5a7.js → page-67ef312aee40cfeb.js} +1 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/[id]/page-fe2f5467a0c68fef.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/dyn/[name]/page-0d2505242014f51e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/dyn/[name]/v/[n]/page-5eac0507f49a00ec.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/new/page-3d02707043d24dc7.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/page-dee500ccc01f0821.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/layout-e14e14f3e5b0b8a9.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/page-aac41ef7a470daab.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/playground/expression/page-dc9d91f3f50f4716.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/runs/[id]/page-9e4c4f751a4bea72.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/[id]/page-435f67be180b8e4f.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/new/page-f697c289c813496a.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/schedules/page-738d98dc0b63166e.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/settings/page-fc5654b31f57ac21.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/[name]/page-4b1c09a539a1ebcd.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/page-d2f2403dfede87cc.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/pages/_app-a3774a320f58a018.js +1 -0
- package/.next/standalone/packages/station-kit/.next/static/demLiQWDy62JuUkBw-ILG/_buildManifest.js +1 -0
- package/.next/standalone/packages/station-kit/package.json +10 -2
- package/dist/config/schema.d.ts +13 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/server/auth/keys.d.ts +56 -8
- package/dist/server/auth/keys.d.ts.map +1 -1
- package/dist/server/auth/keys.js +155 -53
- package/dist/server/auth/keys.js.map +1 -1
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +55 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/auth.js +1 -1
- package/dist/server/middleware/auth.js.map +1 -1
- package/dist/server/routes/v1/definitions.d.ts +21 -0
- package/dist/server/routes/v1/definitions.d.ts.map +1 -0
- package/dist/server/routes/v1/definitions.js +139 -0
- package/dist/server/routes/v1/definitions.js.map +1 -0
- package/dist/server/routes/v1/expressions.d.ts +3 -0
- package/dist/server/routes/v1/expressions.d.ts.map +1 -0
- package/dist/server/routes/v1/expressions.js +56 -0
- package/dist/server/routes/v1/expressions.js.map +1 -0
- package/dist/server/routes/v1/keys.js +3 -3
- package/dist/server/routes/v1/keys.js.map +1 -1
- package/dist/server/routes/v1/schedules.d.ts +10 -0
- package/dist/server/routes/v1/schedules.d.ts.map +1 -0
- package/dist/server/routes/v1/schedules.js +169 -0
- package/dist/server/routes/v1/schedules.js.map +1 -0
- package/dist/server/routes/v1/trigger.d.ts.map +1 -1
- package/dist/server/routes/v1/trigger.js +21 -0
- package/dist/server/routes/v1/trigger.js.map +1 -1
- package/package.json +15 -7
- package/src/app/broadcasts/components/broadcast-builder.tsx +535 -0
- package/src/app/broadcasts/components/dag-editor.tsx +510 -0
- package/src/app/broadcasts/dyn/[name]/dynamic-detail.tsx +243 -0
- package/src/app/broadcasts/dyn/[name]/page.tsx +10 -0
- package/src/app/broadcasts/dyn/[name]/v/[n]/page.tsx +10 -0
- package/src/app/broadcasts/dyn/[name]/v/[n]/version-view.tsx +285 -0
- package/src/app/broadcasts/new/page.tsx +102 -0
- package/src/app/broadcasts/page.tsx +176 -91
- package/src/app/components/api-panel.tsx +151 -0
- package/src/app/components/shell.tsx +23 -0
- package/src/app/hooks/use-api.ts +117 -0
- package/src/app/playground/expression/page.tsx +245 -0
- package/src/app/schedules/[id]/page.tsx +10 -0
- package/src/app/schedules/[id]/schedule-editor.tsx +195 -0
- package/src/app/schedules/components/schedule-form.tsx +140 -0
- package/src/app/schedules/new/page.tsx +166 -0
- package/src/app/schedules/page.tsx +126 -0
- package/src/config/schema.ts +14 -0
- package/src/index.ts +2 -0
- package/src/server/auth/keys.ts +191 -56
- package/src/server/index.ts +78 -5
- package/src/server/middleware/auth.ts +1 -1
- package/src/server/routes/v1/definitions.ts +164 -0
- package/src/server/routes/v1/expressions.ts +76 -0
- package/src/server/routes/v1/keys.ts +3 -3
- package/src/server/routes/v1/schedules.ts +176 -0
- package/src/server/routes/v1/trigger.ts +27 -0
- package/.next/standalone/packages/station-kit/.next/static/chunks/580-f007f4d4c050db4e.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/[id]/page-a0a20cccda13a0e9.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/broadcasts/page-937eb876f9087bc9.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/layout-68cd71116ba65cd8.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/page-70b0c0958c03459a.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/runs/[id]/page-01f8040619fe56c5.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/settings/page-beac11049f90da31.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/[name]/page-931e6a38a4a53d25.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/app/signals/page-6a123a355d93fec5.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/chunks/pages/_app-0a7b2e66ecbe3f0a.js +0 -1
- package/.next/standalone/packages/station-kit/.next/static/pHHaxeGaet0VW1dhcIcuY/_buildManifest.js +0 -1
- /package/.next/standalone/packages/station-kit/.next/static/{pHHaxeGaet0VW1dhcIcuY → demLiQWDy62JuUkBw-ILG}/_ssgManifest.js +0 -0
package/dist/server/index.js
CHANGED
|
@@ -3,8 +3,9 @@ import { createMiddleware } from "hono/factory";
|
|
|
3
3
|
import { serve } from "@hono/node-server";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { existsSync } from "node:fs";
|
|
6
|
-
import { SignalRunner, MemoryAdapter } from "station-signal";
|
|
6
|
+
import { SignalRunner, MemoryAdapter, parseInterval } from "station-signal";
|
|
7
7
|
import { BroadcastRunner, BroadcastMemoryAdapter } from "station-broadcast";
|
|
8
|
+
import { ScheduleReconciler, } from "station-schedules";
|
|
8
9
|
import { ensureStationDir } from "../station-dir.js";
|
|
9
10
|
import { WebSocketHub } from "./ws.js";
|
|
10
11
|
import { SSEHub } from "./sse.js";
|
|
@@ -15,7 +16,7 @@ import { healthRoutes } from "./routes/health.js";
|
|
|
15
16
|
import { signalRoutes } from "./routes/signals.js";
|
|
16
17
|
import { runRoutes } from "./routes/runs.js";
|
|
17
18
|
import { broadcastRoutes } from "./routes/broadcasts.js";
|
|
18
|
-
import { KeyStore } from "./auth/keys.js";
|
|
19
|
+
import { KeyStore, SqliteKeyStorage } from "./auth/keys.js";
|
|
19
20
|
import { verifySessionToken, verifyCredentials, createSessionToken } from "./auth/session.js";
|
|
20
21
|
import { authResolver } from "./middleware/auth.js";
|
|
21
22
|
import { requireScope } from "./middleware/scope-guard.js";
|
|
@@ -28,6 +29,10 @@ import { v1TriggerRoutes } from "./routes/v1/trigger.js";
|
|
|
28
29
|
import { v1KeyRoutes } from "./routes/v1/keys.js";
|
|
29
30
|
import { v1AuthRoutes } from "./routes/v1/auth.js";
|
|
30
31
|
import { v1EventRoutes } from "./routes/v1/events.js";
|
|
32
|
+
import { v1DefinitionRoutes, v1DefinitionReadRoutes } from "./routes/v1/definitions.js";
|
|
33
|
+
import { v1ScheduleRoutes, v1ScheduleReadRoutes } from "./routes/v1/schedules.js";
|
|
34
|
+
import { v1ExpressionRoutes } from "./routes/v1/expressions.js";
|
|
35
|
+
export { KeyStore, SqliteKeyStorage, MemoryKeyStorage, } from "./auth/keys.js";
|
|
31
36
|
export async function createStation(config, cwd, nextPort) {
|
|
32
37
|
const signalAdapter = config.adapter ?? new MemoryAdapter();
|
|
33
38
|
const broadcastAdapter = config.broadcastAdapter ?? (config.broadcastsDir ? new BroadcastMemoryAdapter() : undefined);
|
|
@@ -40,7 +45,9 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
40
45
|
let keyStore;
|
|
41
46
|
let sessionConfig;
|
|
42
47
|
if (config.auth) {
|
|
43
|
-
|
|
48
|
+
const storage = config.auth.keyStorage
|
|
49
|
+
?? new SqliteKeyStorage({ dbPath: resolve(dataDir, "station-keys.db") });
|
|
50
|
+
keyStore = new KeyStore(storage);
|
|
44
51
|
sessionConfig = {
|
|
45
52
|
username: config.auth.username,
|
|
46
53
|
password: config.auth.password,
|
|
@@ -67,7 +74,20 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
67
74
|
// Create runners if enabled
|
|
68
75
|
let signalRunner;
|
|
69
76
|
let broadcastRunner;
|
|
77
|
+
const scheduleAdapter = config.scheduleAdapter;
|
|
70
78
|
if (config.runRunners) {
|
|
79
|
+
// Build schedule reconcilers up front. Each reconciler handles only the
|
|
80
|
+
// kinds it's responsible for; the runner ticks it once per loop.
|
|
81
|
+
const signalScheduleReconciler = scheduleAdapter
|
|
82
|
+
? new ScheduleReconciler({
|
|
83
|
+
adapter: scheduleAdapter,
|
|
84
|
+
kinds: ["signal"],
|
|
85
|
+
parseInterval,
|
|
86
|
+
triggerFn: (s) => signalRunner.triggerSignal(s.target, s.input ?? {}),
|
|
87
|
+
hasPendingOrRunning: (s) => signalRunner.hasPendingOrRunningForSignal(s.target),
|
|
88
|
+
onError: (err) => console.error("[station] Signal schedule reconciler:", err),
|
|
89
|
+
})
|
|
90
|
+
: undefined;
|
|
71
91
|
signalRunner = new SignalRunner({
|
|
72
92
|
signalsDir,
|
|
73
93
|
adapter: signalAdapter,
|
|
@@ -76,14 +96,26 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
76
96
|
maxAttempts: config.runner.maxAttempts,
|
|
77
97
|
retryBackoffMs: config.runner.retryBackoffMs,
|
|
78
98
|
subscribers: [stationSignalSub],
|
|
99
|
+
scheduleReconciler: signalScheduleReconciler,
|
|
79
100
|
});
|
|
80
101
|
if (broadcastsDir || broadcastAdapter) {
|
|
102
|
+
const broadcastScheduleReconciler = scheduleAdapter
|
|
103
|
+
? new ScheduleReconciler({
|
|
104
|
+
adapter: scheduleAdapter,
|
|
105
|
+
kinds: ["broadcast-static", "broadcast-dynamic"],
|
|
106
|
+
parseInterval,
|
|
107
|
+
triggerFn: (s) => broadcastRunner.trigger(s.target, s.input ?? {}),
|
|
108
|
+
hasPendingOrRunning: (s) => broadcastRunner.hasPendingOrRunningForBroadcast(s.target),
|
|
109
|
+
onError: (err) => console.error("[station] Broadcast schedule reconciler:", err),
|
|
110
|
+
})
|
|
111
|
+
: undefined;
|
|
81
112
|
broadcastRunner = new BroadcastRunner({
|
|
82
113
|
signalRunner,
|
|
83
114
|
broadcastsDir,
|
|
84
115
|
adapter: broadcastAdapter ?? new BroadcastMemoryAdapter(),
|
|
85
116
|
pollIntervalMs: config.broadcastRunner.pollIntervalMs,
|
|
86
117
|
subscribers: [stationBroadcastSub],
|
|
118
|
+
scheduleReconciler: broadcastScheduleReconciler,
|
|
87
119
|
});
|
|
88
120
|
}
|
|
89
121
|
}
|
|
@@ -165,6 +197,15 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
165
197
|
readRoutes.route("/", v1RunRoutes({ signalRunner, signalAdapter, logBuffer, logStore }));
|
|
166
198
|
readRoutes.route("/", v1BroadcastRoutes({ broadcastRunner, broadcastAdapter, broadcastSubscriber: stationBroadcastSub }));
|
|
167
199
|
readRoutes.route("/", v1EventRoutes({ sseHub }));
|
|
200
|
+
readRoutes.route("/", v1ExpressionRoutes());
|
|
201
|
+
// Schedule GET + preview are read-scoped; mutating routes are mounted under admin below.
|
|
202
|
+
readRoutes.route("/", v1ScheduleReadRoutes({ scheduleAdapter }));
|
|
203
|
+
readRoutes.route("/", v1DefinitionReadRoutes({
|
|
204
|
+
broadcastRunner,
|
|
205
|
+
broadcastAdapter,
|
|
206
|
+
signalRunner,
|
|
207
|
+
signalSubscriber: stationSignalSub,
|
|
208
|
+
}));
|
|
168
209
|
v1.route("/", readRoutes);
|
|
169
210
|
// Trigger-scope routes
|
|
170
211
|
const triggerRoutes = new Hono();
|
|
@@ -197,10 +238,17 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
197
238
|
return c.json({ data: { cancelled: true } });
|
|
198
239
|
});
|
|
199
240
|
v1.route("/", cancelRoutes);
|
|
200
|
-
// Admin-scope routes
|
|
241
|
+
// Admin-scope routes — destructive / mutating endpoints
|
|
201
242
|
const adminRoutes = new Hono();
|
|
202
243
|
adminRoutes.use("/*", requireScope("admin"));
|
|
203
244
|
adminRoutes.route("/", v1KeyRoutes({ keyStore }));
|
|
245
|
+
adminRoutes.route("/", v1DefinitionRoutes({
|
|
246
|
+
broadcastRunner,
|
|
247
|
+
broadcastAdapter,
|
|
248
|
+
signalRunner,
|
|
249
|
+
signalSubscriber: stationSignalSub,
|
|
250
|
+
}));
|
|
251
|
+
adminRoutes.route("/", v1ScheduleRoutes({ scheduleAdapter }));
|
|
204
252
|
v1.route("/", adminRoutes);
|
|
205
253
|
app.route("/api/v1", v1);
|
|
206
254
|
// ── Proxy to Next.js standalone server ──────────────────────────
|
|
@@ -249,6 +297,8 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
249
297
|
}
|
|
250
298
|
let httpServer = null;
|
|
251
299
|
return {
|
|
300
|
+
keyStore,
|
|
301
|
+
dataDir,
|
|
252
302
|
async start() {
|
|
253
303
|
// Start runners (non-blocking — they have internal poll loops)
|
|
254
304
|
if (config.runRunners) {
|
|
@@ -281,7 +331,7 @@ export async function createStation(config, cwd, nextPort) {
|
|
|
281
331
|
wsHub.close();
|
|
282
332
|
sseHub.close();
|
|
283
333
|
logStore.close();
|
|
284
|
-
keyStore?.close();
|
|
334
|
+
await keyStore?.close();
|
|
285
335
|
if (httpServer) {
|
|
286
336
|
httpServer.close();
|
|
287
337
|
}
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAI5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,GAAW,EAAE,QAAiB;IACvF,MAAM,aAAa,GAAuB,MAAM,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;IAChF,MAAM,gBAAgB,GACpB,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/F,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEnE,gEAAgE;IAChE,IAAI,QAA8B,CAAC;IACnC,IAAI,aAAwC,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC7D,aAAa,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACjC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;QACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;IAEhB,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,mBAAmB,GAAG,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAElE,wEAAwE;IACxE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtC,4BAA4B;IAC5B,IAAI,YAAsC,CAAC;IAC3C,IAAI,eAA4C,CAAC;IAEjD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,YAAY,GAAG,IAAI,YAAY,CAAC;YAC9B,UAAU;YACV,OAAO,EAAE,aAAa;YACtB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;YAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,WAAW,EAAE,CAAC,gBAAgB,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,aAAa,IAAI,gBAAgB,EAAE,CAAC;YACtC,eAAe,GAAG,IAAI,eAAe,CAAC;gBACpC,YAAY;gBACZ,aAAa;gBACb,OAAO,EAAE,gBAAgB,IAAI,IAAI,sBAAsB,EAAE;gBACzD,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,cAAc;gBACrD,WAAW,EAAE,CAAC,mBAAmB,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,sEAAsE;IACtE,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACtD,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QACjF,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,KAAK,6CAA6C,UAAU,EAAE,CAAC,CAAC;QAC1G,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,6DAA6D,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACnD,0DAA0D;YAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACvD,mDAAmD;YACnD,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAErD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACtD,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;oBACzD,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvH,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEzI,sEAAsE;IAEtE,sCAAsC;IACtC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAE1E,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE9B,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAExD,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5F,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzF,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC1H,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE1B,uBAAuB;IACvB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAClJ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE7B,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE5B,qBAAqB;IACrB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE3B,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEzB,mEAAmE;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,oBAAoB,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAE1E,IAAI,CAAC;gBACH,iFAAiF;gBACjF,0EAA0E;gBAC1E,mEAAmE;gBACnE,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;oBACnC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;oBACpB,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzE,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBAEH,iDAAiD;gBACjD,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACtC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAEpC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,+DAA+D;YAC/D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBAC1C,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBAC7C,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,UAAU,GAAG,KAAK,CAChB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,EAC9D,CAAC,IAAI,EAAE,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC,CACmB,CAAC;YAEvB,sCAAsC;YACtC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,IAAI;YACR,2EAA2E;YAC3E,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAiBxB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,GAAW,EAAE,QAAiB;IACvF,MAAM,aAAa,GAAuB,MAAM,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;IAChF,MAAM,gBAAgB,GACpB,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/F,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEnE,gEAAgE;IAChE,IAAI,QAA8B,CAAC;IACnC,IAAI,aAAwC,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;eACjC,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC3E,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,aAAa,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACjC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;QACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;IAEhB,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,mBAAmB,GAAG,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAElE,wEAAwE;IACxE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtC,4BAA4B;IAC5B,IAAI,YAAsC,CAAC;IAC3C,IAAI,eAA4C,CAAC;IACjD,MAAM,eAAe,GAAgC,MAAM,CAAC,eAAe,CAAC;IAE5E,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,wBAAwB,GAAG,eAAe;YAC9C,CAAC,CAAC,IAAI,kBAAkB,CAAC;gBACrB,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,aAAa;gBACb,SAAS,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,YAAa,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChF,mBAAmB,EAAE,CAAC,CAAW,EAAE,EAAE,CACnC,YAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC;aAC9E,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,YAAY,GAAG,IAAI,YAAY,CAAC;YAC9B,UAAU;YACV,OAAO,EAAE,aAAa;YACtB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;YAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,WAAW,EAAE,CAAC,gBAAgB,CAAC;YAC/B,kBAAkB,EAAE,wBAAwB;SAC7C,CAAC,CAAC;QAEH,IAAI,aAAa,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,2BAA2B,GAAG,eAAe;gBACjD,CAAC,CAAC,IAAI,kBAAkB,CAAC;oBACrB,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;oBAChD,aAAa;oBACb,SAAS,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC7E,mBAAmB,EAAE,CAAC,CAAW,EAAE,EAAE,CACnC,eAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC5D,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC;iBACjF,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,eAAe,GAAG,IAAI,eAAe,CAAC;gBACpC,YAAY;gBACZ,aAAa;gBACb,OAAO,EAAE,gBAAgB,IAAI,IAAI,sBAAsB,EAAE;gBACzD,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,cAAc;gBACrD,WAAW,EAAE,CAAC,mBAAmB,CAAC;gBAClC,kBAAkB,EAAE,2BAA2B;aAChD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,sEAAsE;IACtE,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACtD,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QACjF,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,KAAK,6CAA6C,UAAU,EAAE,CAAC,CAAC;QAC1G,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,6DAA6D,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACnD,0DAA0D;YAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACvD,mDAAmD;YACnD,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAErD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACtD,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;oBACzD,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvH,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEzI,sEAAsE;IAEtE,sCAAsC;IACtC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAE1E,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE9B,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAExD,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5F,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzF,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC1H,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5C,yFAAyF;IACzF,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IACjE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC;QAC3C,eAAe;QACf,gBAAgB;QAChB,YAAY;QACZ,gBAAgB,EAAE,gBAAgB;KACnC,CAAC,CAAC,CAAC;IACJ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE1B,uBAAuB;IACvB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAClJ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE7B,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE5B,wDAAwD;IACxD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC;QACxC,eAAe;QACf,gBAAgB;QAChB,YAAY;QACZ,gBAAgB,EAAE,gBAAgB;KACnC,CAAC,CAAC,CAAC;IACJ,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAC9D,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE3B,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEzB,mEAAmE;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,oBAAoB,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAE1E,IAAI,CAAC;gBACH,iFAAiF;gBACjF,0EAA0E;gBAC1E,mEAAmE;gBACnE,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;oBACnC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;oBACpB,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzE,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBAEH,iDAAiD;gBACjD,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACtC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAEpC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,OAAO;QACP,KAAK,CAAC,KAAK;YACT,+DAA+D;YAC/D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBAC1C,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBAC7C,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,UAAU,GAAG,KAAK,CAChB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,EAC9D,CAAC,IAAI,EAAE,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC,CACmB,CAAC;YAEvB,sCAAsC;YACtC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,IAAI;YACR,2EAA2E;YAC3E,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC;YACxB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -8,7 +8,7 @@ export function authResolver(deps) {
|
|
|
8
8
|
if (authHeader?.startsWith("Bearer ") && deps.keyStore) {
|
|
9
9
|
const token = authHeader.slice(7);
|
|
10
10
|
if (token.startsWith("sk_")) {
|
|
11
|
-
const key = deps.keyStore.verify(token);
|
|
11
|
+
const key = await deps.keyStore.verify(token);
|
|
12
12
|
if (key) {
|
|
13
13
|
c.set("authType", "api-key");
|
|
14
14
|
c.set("apiKeyId", key.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAO5E,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACxC,4CAA4C;QAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAO5E,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACxC,4CAA4C;QAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,GAAG,EAAE,CAAC;oBACR,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC7B,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5B,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;gBACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,GAAG,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC7B,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC7B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACxD,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU;QACV,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpB,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import type { BroadcastRunner, BroadcastQueueAdapter } from "station-broadcast";
|
|
3
|
+
import type { SignalRunner } from "station-signal";
|
|
4
|
+
import type { StationSignalSubscriber } from "../../subscriber.js";
|
|
5
|
+
export interface V1DefinitionDeps {
|
|
6
|
+
broadcastRunner?: BroadcastRunner;
|
|
7
|
+
broadcastAdapter?: BroadcastQueueAdapter;
|
|
8
|
+
signalRunner?: SignalRunner;
|
|
9
|
+
signalSubscriber?: StationSignalSubscriber;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read-scope routes for dynamic broadcast definitions: list, get, version
|
|
13
|
+
* history, get-by-version, plus the read-only `validate` endpoint.
|
|
14
|
+
*/
|
|
15
|
+
export declare function v1DefinitionReadRoutes(deps: V1DefinitionDeps): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
16
|
+
/**
|
|
17
|
+
* Admin-scope routes for mutating dynamic broadcast definitions. GETs are
|
|
18
|
+
* mounted under read scope in server/index.ts.
|
|
19
|
+
*/
|
|
20
|
+
export declare function v1DefinitionRoutes(deps: V1DefinitionDeps): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
21
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/v1/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,8EA6C5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,8EAwDxD"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import { validateDynamicSpec } from "station-broadcast";
|
|
3
|
+
/**
|
|
4
|
+
* Read-scope routes for dynamic broadcast definitions: list, get, version
|
|
5
|
+
* history, get-by-version, plus the read-only `validate` endpoint.
|
|
6
|
+
*/
|
|
7
|
+
export function v1DefinitionReadRoutes(deps) {
|
|
8
|
+
const app = new Hono();
|
|
9
|
+
app.get("/broadcast-definitions", async (c) => {
|
|
10
|
+
if (!deps.broadcastAdapter?.listDefinitions)
|
|
11
|
+
return c.json({ data: [] });
|
|
12
|
+
const list = await deps.broadcastAdapter.listDefinitions();
|
|
13
|
+
return c.json({ data: list.map(serializeSpec) });
|
|
14
|
+
});
|
|
15
|
+
app.get("/broadcast-definitions/:name", async (c) => {
|
|
16
|
+
if (!deps.broadcastAdapter?.getDefinition)
|
|
17
|
+
return c.json({ error: "unavailable" }, 503);
|
|
18
|
+
const spec = await deps.broadcastAdapter.getDefinition(c.req.param("name"));
|
|
19
|
+
if (!spec)
|
|
20
|
+
return c.json({ error: "not_found" }, 404);
|
|
21
|
+
return c.json({ data: serializeSpec(spec) });
|
|
22
|
+
});
|
|
23
|
+
app.get("/broadcast-definitions/:name/versions", async (c) => {
|
|
24
|
+
if (!deps.broadcastAdapter?.listDefinitionVersions)
|
|
25
|
+
return c.json({ data: [] });
|
|
26
|
+
const versions = await deps.broadcastAdapter.listDefinitionVersions(c.req.param("name"));
|
|
27
|
+
return c.json({ data: versions.map(serializeSpec) });
|
|
28
|
+
});
|
|
29
|
+
app.get("/broadcast-definitions/:name/versions/:n", async (c) => {
|
|
30
|
+
if (!deps.broadcastAdapter?.getDefinition)
|
|
31
|
+
return c.json({ error: "unavailable" }, 503);
|
|
32
|
+
const version = parseInt(c.req.param("n"), 10);
|
|
33
|
+
if (Number.isNaN(version)) {
|
|
34
|
+
return c.json({ error: "bad_request", message: "Version must be a number." }, 400);
|
|
35
|
+
}
|
|
36
|
+
const spec = await deps.broadcastAdapter.getDefinition(c.req.param("name"), version);
|
|
37
|
+
if (!spec)
|
|
38
|
+
return c.json({ error: "not_found" }, 404);
|
|
39
|
+
return c.json({ data: serializeSpec(spec) });
|
|
40
|
+
});
|
|
41
|
+
app.post("/broadcast-definitions/validate", async (c) => {
|
|
42
|
+
const body = await c.req.json().catch(() => ({}));
|
|
43
|
+
const spec = body;
|
|
44
|
+
if (!spec || typeof spec !== "object" || typeof spec.name !== "string") {
|
|
45
|
+
return c.json({ error: "bad_request", message: "Spec is missing required fields." }, 400);
|
|
46
|
+
}
|
|
47
|
+
const ctx = buildValidationContext(deps);
|
|
48
|
+
const result = validateDynamicSpec(spec, ctx);
|
|
49
|
+
return c.json({ data: result });
|
|
50
|
+
});
|
|
51
|
+
return app;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Admin-scope routes for mutating dynamic broadcast definitions. GETs are
|
|
55
|
+
* mounted under read scope in server/index.ts.
|
|
56
|
+
*/
|
|
57
|
+
export function v1DefinitionRoutes(deps) {
|
|
58
|
+
const app = new Hono();
|
|
59
|
+
app.post("/broadcast-definitions", async (c) => {
|
|
60
|
+
if (!deps.broadcastAdapter?.saveDefinition) {
|
|
61
|
+
return c.json({ error: "unavailable", message: "Broadcast adapter does not support dynamic definitions." }, 503);
|
|
62
|
+
}
|
|
63
|
+
const body = await c.req.json().catch(() => ({}));
|
|
64
|
+
const incoming = body;
|
|
65
|
+
if (!incoming?.name || !Array.isArray(incoming.nodes)) {
|
|
66
|
+
return c.json({ error: "bad_request", message: "Spec is missing required fields." }, 400);
|
|
67
|
+
}
|
|
68
|
+
const ctx = buildValidationContext(deps);
|
|
69
|
+
const validation = validateDynamicSpec(incoming, ctx);
|
|
70
|
+
if (!validation.ok) {
|
|
71
|
+
return c.json({ error: "validation_failed", data: validation }, 422);
|
|
72
|
+
}
|
|
73
|
+
const apiKeyId = c.get("apiKeyId");
|
|
74
|
+
const now = new Date();
|
|
75
|
+
const toSave = {
|
|
76
|
+
...incoming,
|
|
77
|
+
version: 0,
|
|
78
|
+
createdAt: incoming.createdAt ?? now,
|
|
79
|
+
updatedAt: now,
|
|
80
|
+
createdBy: apiKeyId,
|
|
81
|
+
failurePolicy: incoming.failurePolicy ?? "fail-fast",
|
|
82
|
+
};
|
|
83
|
+
const saved = await deps.broadcastAdapter.saveDefinition(toSave);
|
|
84
|
+
// Trigger an eager reconciliation so the new version is live immediately.
|
|
85
|
+
if (deps.broadcastRunner) {
|
|
86
|
+
void deps.broadcastRunner.reconcileDynamicDefinitions().catch(() => { });
|
|
87
|
+
}
|
|
88
|
+
return c.json({ data: serializeSpec(saved) }, 201);
|
|
89
|
+
});
|
|
90
|
+
// GET routes for definitions live in the read-scope mount in server/index.ts;
|
|
91
|
+
// this router only exposes mutating endpoints under admin scope.
|
|
92
|
+
app.delete("/broadcast-definitions/:name", async (c) => {
|
|
93
|
+
if (!deps.broadcastAdapter?.deleteDefinition) {
|
|
94
|
+
return c.json({ error: "unavailable" }, 503);
|
|
95
|
+
}
|
|
96
|
+
const success = await deps.broadcastAdapter.deleteDefinition(c.req.param("name"));
|
|
97
|
+
if (!success)
|
|
98
|
+
return c.json({ error: "not_found" }, 404);
|
|
99
|
+
if (deps.broadcastRunner) {
|
|
100
|
+
void deps.broadcastRunner.reconcileDynamicDefinitions().catch(() => { });
|
|
101
|
+
}
|
|
102
|
+
return c.json({ data: { deleted: true } });
|
|
103
|
+
});
|
|
104
|
+
return app;
|
|
105
|
+
}
|
|
106
|
+
function serializeSpec(spec) {
|
|
107
|
+
return {
|
|
108
|
+
...spec,
|
|
109
|
+
createdAt: spec.createdAt?.toISOString?.() ?? spec.createdAt,
|
|
110
|
+
updatedAt: spec.updatedAt?.toISOString?.() ?? spec.updatedAt,
|
|
111
|
+
deletedAt: spec.deletedAt?.toISOString?.() ?? spec.deletedAt,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function buildValidationContext(deps) {
|
|
115
|
+
const signalSchemas = new Map();
|
|
116
|
+
// Best-effort schema reflection: we don't know the precise SchemaField for
|
|
117
|
+
// each signal here without traversing Zod schemas. Use `any` for now — the
|
|
118
|
+
// structural checks (signal exists, deps exist, no cycles, expression
|
|
119
|
+
// wellformedness) still run. Zod input validation runs at trigger time.
|
|
120
|
+
const sigs = deps.signalRunner?.getAllSignals();
|
|
121
|
+
if (sigs) {
|
|
122
|
+
for (const name of sigs.keys()) {
|
|
123
|
+
signalSchemas.set(name, {
|
|
124
|
+
inputSchema: { type: "any" },
|
|
125
|
+
outputSchema: { type: "any" },
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if (deps.signalSubscriber) {
|
|
130
|
+
for (const meta of deps.signalSubscriber.getAllSignalMeta()) {
|
|
131
|
+
signalSchemas.set(meta.name, {
|
|
132
|
+
inputSchema: { type: "any" },
|
|
133
|
+
outputSchema: { type: "any" },
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return { signalSchemas };
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/server/routes/v1/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/v1/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,wBAAgB,kBAAkB,+EAgEjC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import { evaluate, validate, parse, ExpressionEvalError, ExpressionParseError, } from "station-expressions";
|
|
3
|
+
export function v1ExpressionRoutes() {
|
|
4
|
+
const app = new Hono();
|
|
5
|
+
app.post("/expressions/evaluate", async (c) => {
|
|
6
|
+
const body = await c.req.json().catch(() => ({}));
|
|
7
|
+
const { node, context } = body;
|
|
8
|
+
if (!node) {
|
|
9
|
+
return c.json({ error: "bad_request", message: "Missing `node`." }, 400);
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const result = evaluate(node, {
|
|
13
|
+
input: context?.input,
|
|
14
|
+
upstream: context?.upstream ?? {},
|
|
15
|
+
});
|
|
16
|
+
return c.json({ data: { value: result } });
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
20
|
+
const status = err instanceof ExpressionEvalError ? 400 : 500;
|
|
21
|
+
return c.json({ error: "evaluation_failed", message }, status);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
app.post("/expressions/validate", async (c) => {
|
|
25
|
+
const body = await c.req.json().catch(() => ({}));
|
|
26
|
+
const { node, schemaContext } = body;
|
|
27
|
+
if (!node) {
|
|
28
|
+
return c.json({ error: "bad_request", message: "Missing `node`." }, 400);
|
|
29
|
+
}
|
|
30
|
+
const result = validate(node, {
|
|
31
|
+
inputSchema: schemaContext?.inputSchema ?? { type: "any" },
|
|
32
|
+
upstreamSchemas: schemaContext?.upstreamSchemas ?? {},
|
|
33
|
+
expectedSchema: schemaContext?.expectedSchema,
|
|
34
|
+
});
|
|
35
|
+
return c.json({ data: result });
|
|
36
|
+
});
|
|
37
|
+
app.post("/expressions/parse", async (c) => {
|
|
38
|
+
const body = await c.req.json().catch(() => ({}));
|
|
39
|
+
const { source } = body;
|
|
40
|
+
if (typeof source !== "string") {
|
|
41
|
+
return c.json({ error: "bad_request", message: "Missing `source` string." }, 400);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const node = parse(source);
|
|
45
|
+
return c.json({ data: { node } });
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
if (err instanceof ExpressionParseError) {
|
|
49
|
+
return c.json({ error: "parse_error", message: err.message, position: err.position }, 400);
|
|
50
|
+
}
|
|
51
|
+
return c.json({ error: "parse_error", message: err instanceof Error ? err.message : String(err) }, 400);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return app;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../../src/server/routes/v1/expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export function v1KeyRoutes(deps) {
|
|
|
8
8
|
const body = await c.req.json().catch(() => ({}));
|
|
9
9
|
const name = body.name || "Unnamed key";
|
|
10
10
|
const scopes = Array.isArray(body.scopes) ? body.scopes : ["trigger", "read"];
|
|
11
|
-
const { key, record } = deps.keyStore.create(name, scopes);
|
|
11
|
+
const { key, record } = await deps.keyStore.create(name, scopes);
|
|
12
12
|
return c.json({
|
|
13
13
|
data: {
|
|
14
14
|
id: record.id,
|
|
@@ -24,7 +24,7 @@ export function v1KeyRoutes(deps) {
|
|
|
24
24
|
if (!deps.keyStore) {
|
|
25
25
|
return c.json({ error: "unavailable", message: "Auth not configured." }, 503);
|
|
26
26
|
}
|
|
27
|
-
const keys = deps.keyStore.list();
|
|
27
|
+
const keys = await deps.keyStore.list();
|
|
28
28
|
return c.json({ data: keys });
|
|
29
29
|
});
|
|
30
30
|
app.delete("/keys/:id", async (c) => {
|
|
@@ -32,7 +32,7 @@ export function v1KeyRoutes(deps) {
|
|
|
32
32
|
return c.json({ error: "unavailable", message: "Auth not configured." }, 503);
|
|
33
33
|
}
|
|
34
34
|
const id = c.req.param("id");
|
|
35
|
-
const success = deps.keyStore.revoke(id);
|
|
35
|
+
const success = await deps.keyStore.revoke(id);
|
|
36
36
|
if (!success) {
|
|
37
37
|
return c.json({ error: "not_found", message: "Key not found." }, 404);
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/server/routes/v1/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9E,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/server/routes/v1/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9E,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC,IAAI,CACX;YACE,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,iCAAiC;gBACtC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;SACF,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import type { ScheduleAdapter } from "station-schedules";
|
|
3
|
+
export interface V1ScheduleDeps {
|
|
4
|
+
scheduleAdapter?: ScheduleAdapter;
|
|
5
|
+
}
|
|
6
|
+
/** Read-scope routes: list / get / preview. */
|
|
7
|
+
export declare function v1ScheduleReadRoutes(deps: V1ScheduleDeps): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
8
|
+
/** Admin-scope routes: create / update / delete. */
|
|
9
|
+
export declare function v1ScheduleRoutes(deps: V1ScheduleDeps): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
10
|
+
//# sourceMappingURL=schedules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/v1/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAY,eAAe,EAAgB,MAAM,mBAAmB,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAID,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,8EA0CxD;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,8EA6GpD"}
|