@azlib/scheduler 1.0.5 → 1.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 (48) hide show
  1. package/Dockerfile +14 -0
  2. package/README.md +40 -0
  3. package/compose.yaml +28 -0
  4. package/dist/cli-config-7F2U8qPM.mjs +462 -0
  5. package/dist/cli-config-7F2U8qPM.mjs.map +1 -0
  6. package/dist/cli-config-Cz8QP_4I.cjs +512 -0
  7. package/dist/dashboard/cli.cjs +30 -0
  8. package/dist/dashboard/cli.d.cts +6 -0
  9. package/dist/dashboard/cli.d.cts.map +1 -0
  10. package/dist/dashboard/cli.d.mts +6 -0
  11. package/dist/dashboard/cli.d.mts.map +1 -0
  12. package/dist/dashboard/cli.mjs +31 -0
  13. package/dist/dashboard/cli.mjs.map +1 -0
  14. package/dist/dashboard/public/assets/index-CbmpG6_w.css +2 -0
  15. package/dist/dashboard/public/assets/index-eWhp41cY.js +12 -0
  16. package/dist/dashboard/public/index.html +13 -0
  17. package/dist/dashboard-types-BHjRLcxJ.d.cts +127 -0
  18. package/dist/dashboard-types-BHjRLcxJ.d.cts.map +1 -0
  19. package/dist/dashboard-types-BHjRLcxJ.d.mts +127 -0
  20. package/dist/dashboard-types-BHjRLcxJ.d.mts.map +1 -0
  21. package/dist/dashboard.cjs +9 -0
  22. package/dist/dashboard.d.cts +20 -0
  23. package/dist/dashboard.d.cts.map +1 -0
  24. package/dist/dashboard.d.mts +20 -0
  25. package/dist/dashboard.d.mts.map +1 -0
  26. package/dist/dashboard.mjs +4 -0
  27. package/dist/http-server-DN6Lg464.d.cts +19 -0
  28. package/dist/http-server-DN6Lg464.d.cts.map +1 -0
  29. package/dist/http-server-DPQ9HIK-.d.mts +19 -0
  30. package/dist/http-server-DPQ9HIK-.d.mts.map +1 -0
  31. package/dist/index.cjs +49 -442
  32. package/dist/index.d.cts +3 -158
  33. package/dist/index.d.cts.map +1 -1
  34. package/dist/index.d.mts +3 -158
  35. package/dist/index.d.mts.map +1 -1
  36. package/dist/index.mjs +44 -439
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/queue-dashboard-service-BFXcnfUr.cjs +55 -0
  39. package/dist/queue-dashboard-service-C0QapgOg.mjs +52 -0
  40. package/dist/queue-dashboard-service-C0QapgOg.mjs.map +1 -0
  41. package/dist/store-dashboard-C44d7sdh.d.cts +59 -0
  42. package/dist/store-dashboard-C44d7sdh.d.cts.map +1 -0
  43. package/dist/store-dashboard-Cyf_JILa.mjs +515 -0
  44. package/dist/store-dashboard-Cyf_JILa.mjs.map +1 -0
  45. package/dist/store-dashboard-D-yIxXxL.d.mts +59 -0
  46. package/dist/store-dashboard-D-yIxXxL.d.mts.map +1 -0
  47. package/dist/store-dashboard-Sg4BBWiJ.cjs +554 -0
  48. package/package.json +55 -7
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>@azlib/scheduler dashboard</title>
7
+ <script type="module" crossorigin src="/assets/index-eWhp41cY.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CbmpG6_w.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
@@ -0,0 +1,127 @@
1
+ import { SqlClientAdapter, SqlDialectAdapter } from "@azlib/persistence";
2
+ //#region src/contracts/scheduler-types.d.ts
3
+ type SchedulerMode = "standalone" | "embedded";
4
+ type ScheduleType = "once" | "cron";
5
+ type SchedulerOverlapPolicy = "skip" | "enqueue" | "coalesce";
6
+ type SchedulerMissedRunPolicy = "run-immediately" | "skip-missed";
7
+ interface SchedulerScheduleConfig {
8
+ scheduleType: ScheduleType;
9
+ expression: string;
10
+ timezone: string;
11
+ overlapPolicy?: SchedulerOverlapPolicy;
12
+ missedRunPolicy?: SchedulerMissedRunPolicy;
13
+ }
14
+ interface SchedulerJobDefinition<TConfig = unknown> {
15
+ name: string;
16
+ handlerKey: string;
17
+ schedule: SchedulerScheduleConfig;
18
+ config: TConfig;
19
+ enabled?: boolean;
20
+ }
21
+ interface SchedulerJobRecord<TConfig = unknown> extends SchedulerJobDefinition<TConfig> {
22
+ jobId: string;
23
+ enabled: boolean;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ }
27
+ interface SchedulerExecutionRecord {
28
+ executionId: string;
29
+ jobId: string;
30
+ scheduledFor: string;
31
+ triggeredAt: string;
32
+ status: "queued" | "running" | "succeeded" | "failed" | "dead-letter";
33
+ queueTaskId?: string;
34
+ attemptCount: number;
35
+ lastError?: string;
36
+ }
37
+ interface SchedulerJobListItem {
38
+ jobId: string;
39
+ name: string;
40
+ enabled: boolean;
41
+ nextRunAt?: string;
42
+ timezone: string;
43
+ handlerKey: string;
44
+ schedule: SchedulerScheduleConfig;
45
+ config: unknown;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ }
49
+ interface SchedulerExecutionQuery {
50
+ jobId?: string;
51
+ status?: SchedulerExecutionRecord["status"];
52
+ from?: string;
53
+ to?: string;
54
+ limit?: number;
55
+ }
56
+ interface SchedulerService {
57
+ registerJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
58
+ jobId: string;
59
+ }>;
60
+ updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
61
+ pauseJob(jobId: string): Promise<void>;
62
+ resumeJob(jobId: string): Promise<void>;
63
+ deleteJob(jobId: string): Promise<void>;
64
+ listJobs(): Promise<SchedulerJobListItem[]>;
65
+ listExecutions(query?: SchedulerExecutionQuery): Promise<SchedulerExecutionRecord[]>;
66
+ retryFailedExecution(executionId: string): Promise<void>;
67
+ runNow(jobId: string): Promise<void>;
68
+ start(): Promise<void>;
69
+ stop(): Promise<void>;
70
+ }
71
+ interface SchedulerServiceOptions {
72
+ mode: SchedulerMode;
73
+ queueName?: string;
74
+ queueService?: import("@azlib/queue").QueueService;
75
+ cache?: import("@azlib/cache").Cache<string>;
76
+ logger?: {
77
+ debug(message: string, meta?: Record<string, unknown>): void;
78
+ info(message: string, meta?: Record<string, unknown>): void;
79
+ warn(message: string, meta?: Record<string, unknown>): void;
80
+ error(message: string, meta?: Record<string, unknown>): void;
81
+ };
82
+ tickIntervalMs?: number;
83
+ maxDueJobsPerTick?: number;
84
+ persistence?: SchedulerPersistenceConfig;
85
+ }
86
+ interface SchedulerPersistenceConfig {
87
+ client: SqlClientAdapter;
88
+ dialect: SqlDialectAdapter;
89
+ namespace?: string;
90
+ }
91
+ interface SchedulerHandlerRegistry {
92
+ register<TConfig>(handlerKey: string, handler: (input: TConfig) => Promise<void>): void;
93
+ resolve(handlerKey: string): ((input: unknown) => Promise<void>) | null;
94
+ has(handlerKey: string): boolean;
95
+ keys(): string[];
96
+ }
97
+ //#endregion
98
+ //#region src/dashboard/dashboard-types.d.ts
99
+ interface SchedulerDashboardHealth {
100
+ totalJobs: number;
101
+ enabledJobs: number;
102
+ pausedJobs: number;
103
+ failedExecutions: number;
104
+ }
105
+ interface SchedulerDashboardItem extends SchedulerJobRecord {
106
+ nextRunAt?: string;
107
+ executions: SchedulerExecutionRecord[];
108
+ }
109
+ interface SchedulerDashboardService {
110
+ getHealth(): Promise<SchedulerDashboardHealth>;
111
+ listItems(): Promise<SchedulerDashboardItem[]>;
112
+ getJob(jobId: string): Promise<SchedulerDashboardItem | null>;
113
+ createJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
114
+ jobId: string;
115
+ }>;
116
+ updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
117
+ pauseJob(jobId: string): Promise<void>;
118
+ resumeJob(jobId: string): Promise<void>;
119
+ deleteJob(jobId: string): Promise<void>;
120
+ runJob(jobId: string): Promise<void>;
121
+ listExecutions(jobId: string): Promise<SchedulerExecutionRecord[]>;
122
+ retryExecution(executionId: string): Promise<void>;
123
+ listHandlerKeys(): string[];
124
+ }
125
+ //#endregion
126
+ export { SchedulerHandlerRegistry as a, SchedulerMissedRunPolicy as c, SchedulerPersistenceConfig as d, SchedulerScheduleConfig as f, SchedulerExecutionRecord as i, SchedulerMode as l, SchedulerServiceOptions as m, SchedulerDashboardItem as n, SchedulerJobDefinition as o, SchedulerService as p, SchedulerDashboardService as r, SchedulerJobRecord as s, SchedulerDashboardHealth as t, SchedulerOverlapPolicy as u };
127
+ //# sourceMappingURL=dashboard-types-BHjRLcxJ.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-types-BHjRLcxJ.d.cts","names":[],"sources":["../src/contracts/scheduler-types.ts","../src/dashboard/dashboard-types.ts"],"mappings":";;KAEY;KAEA;KAEA;KAEA;UAEK;EACf,cAAc;EACd;EACA;EACA,gBAAgB;EAChB,kBAAkB;;UAGH,uBAAuB;EACtC;EACA;EACA,UAAU;EACV,QAAQ;EACR;;UAGe,mBACf,2BACQ,uBAAuB;EAC/B;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;;UAGe;EACf;EACA,SAAS;EACT;EACA;EACA;;UAGe;EACf,YAAY,SACV,KAAK,uBAAuB,WAC3B;IAAU;;EACb,UAAU,SACR,eACA,OAAO,QAAQ,uBAAuB,YACrC;EACH,SAAS,gBAAgB;EACzB,UAAU,gBAAgB;EAC1B,UAAU,gBAAgB;EAC1B,YAAY,QAAQ;EACpB,eACE,QAAQ,0BACP,QAAQ;EACX,qBAAqB,sBAAsB;EAC3C,OAAO,gBAAgB;EACvB,SAAS;EACT,QAAQ;;UAGO;EACf,MAAM;EACN;EACA,sCAAsC;EACtC,+BAA+B;EAC/B;IACE,MAAM,iBAAiB,OAAO;IAC9B,KAAK,iBAAiB,OAAO;IAC7B,KAAK,iBAAiB,OAAO;IAC7B,MAAM,iBAAiB,OAAO;;EAEhC;EACA;EACA,cAAc;;UAGC;EACf,QAAQ;EACR,SAAS;EACT;;UAGe;EACf,SAAS,SACP,oBACA,UAAU,OAAO,YAAY;EAE/B,QAAQ,uBAAuB,mBAAmB;EAClD,IAAI;EACJ;;;;UC9Ge;EACf;EACA;EACA;EACA;;UAGe,+BAA+B;EAC9C;EACA,YAAY;;UAGG;EACf,aAAa,QAAQ;EACrB,aAAa,QAAQ;EACrB,OAAO,gBAAgB,QAAQ;EAC/B,UAAU,SACR,KAAK,uBAAuB,WAC3B;IAAU;;EACb,UAAU,SACR,eACA,OAAO,QAAQ,uBAAuB,YACrC;EACH,SAAS,gBAAgB;EACzB,UAAU,gBAAgB;EAC1B,UAAU,gBAAgB;EAC1B,OAAO,gBAAgB;EACvB,eAAe,gBAAgB,QAAQ;EACvC,eAAe,sBAAsB;EACrC"}
@@ -0,0 +1,127 @@
1
+ import { SqlClientAdapter, SqlDialectAdapter } from "@azlib/persistence";
2
+ //#region src/contracts/scheduler-types.d.ts
3
+ type SchedulerMode = "standalone" | "embedded";
4
+ type ScheduleType = "once" | "cron";
5
+ type SchedulerOverlapPolicy = "skip" | "enqueue" | "coalesce";
6
+ type SchedulerMissedRunPolicy = "run-immediately" | "skip-missed";
7
+ interface SchedulerScheduleConfig {
8
+ scheduleType: ScheduleType;
9
+ expression: string;
10
+ timezone: string;
11
+ overlapPolicy?: SchedulerOverlapPolicy;
12
+ missedRunPolicy?: SchedulerMissedRunPolicy;
13
+ }
14
+ interface SchedulerJobDefinition<TConfig = unknown> {
15
+ name: string;
16
+ handlerKey: string;
17
+ schedule: SchedulerScheduleConfig;
18
+ config: TConfig;
19
+ enabled?: boolean;
20
+ }
21
+ interface SchedulerJobRecord<TConfig = unknown> extends SchedulerJobDefinition<TConfig> {
22
+ jobId: string;
23
+ enabled: boolean;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ }
27
+ interface SchedulerExecutionRecord {
28
+ executionId: string;
29
+ jobId: string;
30
+ scheduledFor: string;
31
+ triggeredAt: string;
32
+ status: "queued" | "running" | "succeeded" | "failed" | "dead-letter";
33
+ queueTaskId?: string;
34
+ attemptCount: number;
35
+ lastError?: string;
36
+ }
37
+ interface SchedulerJobListItem {
38
+ jobId: string;
39
+ name: string;
40
+ enabled: boolean;
41
+ nextRunAt?: string;
42
+ timezone: string;
43
+ handlerKey: string;
44
+ schedule: SchedulerScheduleConfig;
45
+ config: unknown;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ }
49
+ interface SchedulerExecutionQuery {
50
+ jobId?: string;
51
+ status?: SchedulerExecutionRecord["status"];
52
+ from?: string;
53
+ to?: string;
54
+ limit?: number;
55
+ }
56
+ interface SchedulerService {
57
+ registerJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
58
+ jobId: string;
59
+ }>;
60
+ updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
61
+ pauseJob(jobId: string): Promise<void>;
62
+ resumeJob(jobId: string): Promise<void>;
63
+ deleteJob(jobId: string): Promise<void>;
64
+ listJobs(): Promise<SchedulerJobListItem[]>;
65
+ listExecutions(query?: SchedulerExecutionQuery): Promise<SchedulerExecutionRecord[]>;
66
+ retryFailedExecution(executionId: string): Promise<void>;
67
+ runNow(jobId: string): Promise<void>;
68
+ start(): Promise<void>;
69
+ stop(): Promise<void>;
70
+ }
71
+ interface SchedulerServiceOptions {
72
+ mode: SchedulerMode;
73
+ queueName?: string;
74
+ queueService?: import("@azlib/queue").QueueService;
75
+ cache?: import("@azlib/cache").Cache<string>;
76
+ logger?: {
77
+ debug(message: string, meta?: Record<string, unknown>): void;
78
+ info(message: string, meta?: Record<string, unknown>): void;
79
+ warn(message: string, meta?: Record<string, unknown>): void;
80
+ error(message: string, meta?: Record<string, unknown>): void;
81
+ };
82
+ tickIntervalMs?: number;
83
+ maxDueJobsPerTick?: number;
84
+ persistence?: SchedulerPersistenceConfig;
85
+ }
86
+ interface SchedulerPersistenceConfig {
87
+ client: SqlClientAdapter;
88
+ dialect: SqlDialectAdapter;
89
+ namespace?: string;
90
+ }
91
+ interface SchedulerHandlerRegistry {
92
+ register<TConfig>(handlerKey: string, handler: (input: TConfig) => Promise<void>): void;
93
+ resolve(handlerKey: string): ((input: unknown) => Promise<void>) | null;
94
+ has(handlerKey: string): boolean;
95
+ keys(): string[];
96
+ }
97
+ //#endregion
98
+ //#region src/dashboard/dashboard-types.d.ts
99
+ interface SchedulerDashboardHealth {
100
+ totalJobs: number;
101
+ enabledJobs: number;
102
+ pausedJobs: number;
103
+ failedExecutions: number;
104
+ }
105
+ interface SchedulerDashboardItem extends SchedulerJobRecord {
106
+ nextRunAt?: string;
107
+ executions: SchedulerExecutionRecord[];
108
+ }
109
+ interface SchedulerDashboardService {
110
+ getHealth(): Promise<SchedulerDashboardHealth>;
111
+ listItems(): Promise<SchedulerDashboardItem[]>;
112
+ getJob(jobId: string): Promise<SchedulerDashboardItem | null>;
113
+ createJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
114
+ jobId: string;
115
+ }>;
116
+ updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
117
+ pauseJob(jobId: string): Promise<void>;
118
+ resumeJob(jobId: string): Promise<void>;
119
+ deleteJob(jobId: string): Promise<void>;
120
+ runJob(jobId: string): Promise<void>;
121
+ listExecutions(jobId: string): Promise<SchedulerExecutionRecord[]>;
122
+ retryExecution(executionId: string): Promise<void>;
123
+ listHandlerKeys(): string[];
124
+ }
125
+ //#endregion
126
+ export { SchedulerHandlerRegistry as a, SchedulerMissedRunPolicy as c, SchedulerPersistenceConfig as d, SchedulerScheduleConfig as f, SchedulerExecutionRecord as i, SchedulerMode as l, SchedulerServiceOptions as m, SchedulerDashboardItem as n, SchedulerJobDefinition as o, SchedulerService as p, SchedulerDashboardService as r, SchedulerJobRecord as s, SchedulerDashboardHealth as t, SchedulerOverlapPolicy as u };
127
+ //# sourceMappingURL=dashboard-types-BHjRLcxJ.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-types-BHjRLcxJ.d.mts","names":[],"sources":["../src/contracts/scheduler-types.ts","../src/dashboard/dashboard-types.ts"],"mappings":";;KAEY;KAEA;KAEA;KAEA;UAEK;EACf,cAAc;EACd;EACA;EACA,gBAAgB;EAChB,kBAAkB;;UAGH,uBAAuB;EACtC;EACA;EACA,UAAU;EACV,QAAQ;EACR;;UAGe,mBACf,2BACQ,uBAAuB;EAC/B;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;;UAGe;EACf;EACA,SAAS;EACT;EACA;EACA;;UAGe;EACf,YAAY,SACV,KAAK,uBAAuB,WAC3B;IAAU;;EACb,UAAU,SACR,eACA,OAAO,QAAQ,uBAAuB,YACrC;EACH,SAAS,gBAAgB;EACzB,UAAU,gBAAgB;EAC1B,UAAU,gBAAgB;EAC1B,YAAY,QAAQ;EACpB,eACE,QAAQ,0BACP,QAAQ;EACX,qBAAqB,sBAAsB;EAC3C,OAAO,gBAAgB;EACvB,SAAS;EACT,QAAQ;;UAGO;EACf,MAAM;EACN;EACA,sCAAsC;EACtC,+BAA+B;EAC/B;IACE,MAAM,iBAAiB,OAAO;IAC9B,KAAK,iBAAiB,OAAO;IAC7B,KAAK,iBAAiB,OAAO;IAC7B,MAAM,iBAAiB,OAAO;;EAEhC;EACA;EACA,cAAc;;UAGC;EACf,QAAQ;EACR,SAAS;EACT;;UAGe;EACf,SAAS,SACP,oBACA,UAAU,OAAO,YAAY;EAE/B,QAAQ,uBAAuB,mBAAmB;EAClD,IAAI;EACJ;;;;UC9Ge;EACf;EACA;EACA;EACA;;UAGe,+BAA+B;EAC9C;EACA,YAAY;;UAGG;EACf,aAAa,QAAQ;EACrB,aAAa,QAAQ;EACrB,OAAO,gBAAgB,QAAQ;EAC/B,UAAU,SACR,KAAK,uBAAuB,WAC3B;IAAU;;EACb,UAAU,SACR,eACA,OAAO,QAAQ,uBAAuB,YACrC;EACH,SAAS,gBAAgB;EACzB,UAAU,gBAAgB;EAC1B,UAAU,gBAAgB;EAC1B,OAAO,gBAAgB;EACvB,eAAe,gBAAgB,QAAQ;EACvC,eAAe,sBAAsB;EACrC"}
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_cli_config = require("./cli-config-Cz8QP_4I.cjs");
3
+ const require_store_dashboard = require("./store-dashboard-Sg4BBWiJ.cjs");
4
+ const require_queue_dashboard_service = require("./queue-dashboard-service-BFXcnfUr.cjs");
5
+ exports.createSchedulerDashboardFromPersistence = require_store_dashboard.createSchedulerDashboardFromPersistence;
6
+ exports.createSchedulerDashboardFromStores = require_store_dashboard.createSchedulerDashboardFromStores;
7
+ exports.createSchedulerDashboardServer = require_cli_config.createSchedulerDashboardServer;
8
+ exports.createSchedulerDashboardService = require_queue_dashboard_service.createSchedulerDashboardService;
9
+ exports.parseDashboardCliEnv = require_cli_config.parseDashboardCliEnv;
@@ -0,0 +1,20 @@
1
+ import { n as SchedulerDashboardItem, r as SchedulerDashboardService, t as SchedulerDashboardHealth } from "./dashboard-types-BHjRLcxJ.cjs";
2
+ import { i as createSchedulerDashboardService, n as createSchedulerDashboardFromStores, t as createSchedulerDashboardFromPersistence } from "./store-dashboard-C44d7sdh.cjs";
3
+ import { n as SchedulerDashboardServerOptions, r as createSchedulerDashboardServer, t as SchedulerDashboardServer } from "./http-server-DN6Lg464.cjs";
4
+ import { SqlDialectAdapter } from "@azlib/persistence";
5
+ //#region src/dashboard/sql-drivers.d.ts
6
+ type SchedulerDashboardDialect = "postgres" | "mysql" | "sqlite" | "mssql";
7
+ //#endregion
8
+ //#region src/dashboard/cli-config.d.ts
9
+ interface SchedulerDashboardCliConfig {
10
+ databaseUrl: string;
11
+ dialect: SchedulerDashboardDialect;
12
+ namespace: string;
13
+ port: number;
14
+ host: string;
15
+ token?: string;
16
+ }
17
+ declare function parseDashboardCliEnv(env: Record<string, string | undefined>): SchedulerDashboardCliConfig;
18
+ //#endregion
19
+ export { type SchedulerDashboardHealth, type SchedulerDashboardItem, type SchedulerDashboardServer, type SchedulerDashboardServerOptions, type SchedulerDashboardService, createSchedulerDashboardFromPersistence, createSchedulerDashboardFromStores, createSchedulerDashboardServer, createSchedulerDashboardService, parseDashboardCliEnv };
20
+ //# sourceMappingURL=dashboard.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.cts","names":[],"sources":["../src/dashboard/sql-drivers.ts","../src/dashboard/cli-config.ts"],"mappings":";;;;;KAYY;;;UCJK;EACf;EACA,SAAS;EACT;EACA;EACA;EACA;;iBAmCc,qBACd,KAAK,qCACJ"}
@@ -0,0 +1,20 @@
1
+ import { n as SchedulerDashboardItem, r as SchedulerDashboardService, t as SchedulerDashboardHealth } from "./dashboard-types-BHjRLcxJ.mjs";
2
+ import { i as createSchedulerDashboardService, n as createSchedulerDashboardFromStores, t as createSchedulerDashboardFromPersistence } from "./store-dashboard-D-yIxXxL.mjs";
3
+ import { n as SchedulerDashboardServerOptions, r as createSchedulerDashboardServer, t as SchedulerDashboardServer } from "./http-server-DPQ9HIK-.mjs";
4
+ import { SqlDialectAdapter } from "@azlib/persistence";
5
+ //#region src/dashboard/sql-drivers.d.ts
6
+ type SchedulerDashboardDialect = "postgres" | "mysql" | "sqlite" | "mssql";
7
+ //#endregion
8
+ //#region src/dashboard/cli-config.d.ts
9
+ interface SchedulerDashboardCliConfig {
10
+ databaseUrl: string;
11
+ dialect: SchedulerDashboardDialect;
12
+ namespace: string;
13
+ port: number;
14
+ host: string;
15
+ token?: string;
16
+ }
17
+ declare function parseDashboardCliEnv(env: Record<string, string | undefined>): SchedulerDashboardCliConfig;
18
+ //#endregion
19
+ export { type SchedulerDashboardHealth, type SchedulerDashboardItem, type SchedulerDashboardServer, type SchedulerDashboardServerOptions, type SchedulerDashboardService, createSchedulerDashboardFromPersistence, createSchedulerDashboardFromStores, createSchedulerDashboardServer, createSchedulerDashboardService, parseDashboardCliEnv };
20
+ //# sourceMappingURL=dashboard.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.mts","names":[],"sources":["../src/dashboard/sql-drivers.ts","../src/dashboard/cli-config.ts"],"mappings":";;;;;KAYY;;;UCJK;EACf;EACA,SAAS;EACT;EACA;EACA;EACA;;iBAmCc,qBACd,KAAK,qCACJ"}
@@ -0,0 +1,4 @@
1
+ import { n as createSchedulerDashboardFromStores, t as createSchedulerDashboardFromPersistence } from "./store-dashboard-Cyf_JILa.mjs";
2
+ import { t as createSchedulerDashboardService } from "./queue-dashboard-service-C0QapgOg.mjs";
3
+ import { i as createSchedulerDashboardServer, t as parseDashboardCliEnv } from "./cli-config-7F2U8qPM.mjs";
4
+ export { createSchedulerDashboardFromPersistence, createSchedulerDashboardFromStores, createSchedulerDashboardServer, createSchedulerDashboardService, parseDashboardCliEnv };
@@ -0,0 +1,19 @@
1
+ import { r as SchedulerDashboardService } from "./dashboard-types-BHjRLcxJ.cjs";
2
+ //#region src/dashboard/http-server.d.ts
3
+ interface SchedulerDashboardServerOptions {
4
+ dashboard: SchedulerDashboardService;
5
+ port?: number;
6
+ host?: string;
7
+ token?: string;
8
+ publicDir?: string;
9
+ }
10
+ interface SchedulerDashboardServer {
11
+ readonly port: number;
12
+ readonly host: string;
13
+ listen(): Promise<void>;
14
+ close(): Promise<void>;
15
+ }
16
+ declare function createSchedulerDashboardServer(options: SchedulerDashboardServerOptions): SchedulerDashboardServer;
17
+ //#endregion
18
+ export { SchedulerDashboardServerOptions as n, createSchedulerDashboardServer as r, SchedulerDashboardServer as t };
19
+ //# sourceMappingURL=http-server-DN6Lg464.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server-DN6Lg464.d.cts","names":[],"sources":["../src/dashboard/http-server.ts"],"mappings":";;UA2BiB;EACf,WAAW;EACX;EACA;EACA;EACA;;UAGe;WACN;WACA;EACT,UAAU;EACV,SAAS;;iBAqGK,+BACd,SAAS,kCACR"}
@@ -0,0 +1,19 @@
1
+ import { r as SchedulerDashboardService } from "./dashboard-types-BHjRLcxJ.mjs";
2
+ //#region src/dashboard/http-server.d.ts
3
+ interface SchedulerDashboardServerOptions {
4
+ dashboard: SchedulerDashboardService;
5
+ port?: number;
6
+ host?: string;
7
+ token?: string;
8
+ publicDir?: string;
9
+ }
10
+ interface SchedulerDashboardServer {
11
+ readonly port: number;
12
+ readonly host: string;
13
+ listen(): Promise<void>;
14
+ close(): Promise<void>;
15
+ }
16
+ declare function createSchedulerDashboardServer(options: SchedulerDashboardServerOptions): SchedulerDashboardServer;
17
+ //#endregion
18
+ export { SchedulerDashboardServerOptions as n, createSchedulerDashboardServer as r, SchedulerDashboardServer as t };
19
+ //# sourceMappingURL=http-server-DPQ9HIK-.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server-DPQ9HIK-.d.mts","names":[],"sources":["../src/dashboard/http-server.ts"],"mappings":";;UA2BiB;EACf,WAAW;EACX;EACA;EACA;EACA;;UAGe;WACN;WACA;EACT,UAAU;EACV,SAAS;;iBAqGK,+BACd,SAAS,kCACR"}