@shohaghinfo/aerojs 0.3.0 → 0.4.1
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/AGENTS.md +226 -0
- package/README.md +149 -9
- package/dist/audit/audit-trail.d.ts +5 -6
- package/dist/audit/audit-trail.d.ts.map +1 -1
- package/dist/audit/audit-trail.js +5 -6
- package/dist/audit/audit-trail.js.map +1 -1
- package/dist/auth/auth-manager.d.ts +5 -5
- package/dist/auth/auth-manager.js +5 -5
- package/dist/auth/bouncer.d.ts +8 -15
- package/dist/auth/bouncer.d.ts.map +1 -1
- package/dist/auth/bouncer.js +10 -17
- package/dist/auth/bouncer.js.map +1 -1
- package/dist/auth/guards/api-token-guard.d.ts +2 -4
- package/dist/auth/guards/api-token-guard.d.ts.map +1 -1
- package/dist/auth/guards/api-token-guard.js +2 -4
- package/dist/auth/guards/api-token-guard.js.map +1 -1
- package/dist/auth/guards/jwt-guard.d.ts +3 -4
- package/dist/auth/guards/jwt-guard.d.ts.map +1 -1
- package/dist/auth/guards/jwt-guard.js +2 -3
- package/dist/auth/guards/jwt-guard.js.map +1 -1
- package/dist/auth/guards/session-guard.d.ts +2 -4
- package/dist/auth/guards/session-guard.d.ts.map +1 -1
- package/dist/auth/guards/session-guard.js +2 -4
- package/dist/auth/guards/session-guard.js.map +1 -1
- package/dist/auth/policy.js +1 -1
- package/dist/auth/policy.js.map +1 -1
- package/dist/cli/commands/make.js +1 -1
- package/dist/cli/runner.js +1 -1
- package/dist/core/application.d.ts +10 -0
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +13 -0
- package/dist/core/application.js.map +1 -1
- package/dist/core/context.d.ts +1 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +3 -0
- package/dist/core/context.js.map +1 -1
- package/dist/database/connection.d.ts +32 -0
- package/dist/database/connection.d.ts.map +1 -1
- package/dist/database/connection.js +51 -0
- package/dist/database/connection.js.map +1 -1
- package/dist/database/index.d.ts +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -1
- package/dist/database/index.js.map +1 -1
- package/dist/database/model-hooks.d.ts +5 -5
- package/dist/database/model-hooks.js +11 -11
- package/dist/database/model.d.ts +58 -58
- package/dist/database/model.d.ts.map +1 -1
- package/dist/database/model.js +133 -71
- package/dist/database/model.js.map +1 -1
- package/dist/database/query-builder.d.ts +24 -7
- package/dist/database/query-builder.d.ts.map +1 -1
- package/dist/database/query-builder.js +88 -37
- package/dist/database/query-builder.js.map +1 -1
- package/dist/events/event-bus.d.ts +47 -75
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/event-bus.js +14 -23
- package/dist/events/event-bus.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/notifications/notification-manager.d.ts +1 -1
- package/dist/notifications/notification-manager.js +1 -1
- package/dist/queue/dashboard.d.ts +30 -0
- package/dist/queue/dashboard.d.ts.map +1 -0
- package/dist/queue/dashboard.js +371 -0
- package/dist/queue/dashboard.js.map +1 -0
- package/dist/queue/index.d.ts +1 -0
- package/dist/queue/index.d.ts.map +1 -1
- package/dist/queue/index.js +1 -0
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/queue-manager.d.ts +31 -1
- package/dist/queue/queue-manager.d.ts.map +1 -1
- package/dist/queue/queue-manager.js +60 -0
- package/dist/queue/queue-manager.js.map +1 -1
- package/dist/queue/worker.d.ts +3 -0
- package/dist/queue/worker.d.ts.map +1 -1
- package/dist/queue/worker.js +9 -0
- package/dist/queue/worker.js.map +1 -1
- package/dist/scheduler/scheduler.d.ts +5 -5
- package/dist/scheduler/scheduler.js +5 -5
- package/dist/security/encryption.d.ts +60 -0
- package/dist/security/encryption.d.ts.map +1 -0
- package/dist/security/encryption.js +120 -0
- package/dist/security/encryption.js.map +1 -0
- package/dist/security/fingerprint.d.ts +47 -0
- package/dist/security/fingerprint.d.ts.map +1 -0
- package/dist/security/fingerprint.js +83 -0
- package/dist/security/fingerprint.js.map +1 -0
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -0
- package/dist/security/index.js.map +1 -1
- package/dist/session/cookie-session-driver.d.ts +34 -0
- package/dist/session/cookie-session-driver.d.ts.map +1 -0
- package/dist/session/cookie-session-driver.js +57 -0
- package/dist/session/cookie-session-driver.js.map +1 -0
- package/dist/session/index.d.ts +8 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +8 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/session-driver.d.ts +2 -2
- package/dist/session/session-driver.js +2 -2
- package/dist/session/session-manager.d.ts +4 -4
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +10 -5
- package/dist/session/session-manager.js.map +1 -1
- package/dist/tcp/mllp.d.ts +1 -1
- package/dist/tcp/mllp.js +2 -2
- package/dist/tcp/mllp.js.map +1 -1
- package/package.json +1 -1
package/dist/events/event-bus.js
CHANGED
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
* @description Domain Event Bus for AeroJS.
|
|
4
4
|
* Implements the Reactive Event Bus pattern from Architecture Section 2.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Enterprise domain events flow:
|
|
7
7
|
* PaymentReceived → PostToGeneralLedgerListener, PrintReceiptListener
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* ShiftClosed → ReconcileCashDrawerListener, GenerateShiftReportListener
|
|
8
|
+
* UserRegistered → SendWelcomeEmailListener, AssignDefaultRoleListener
|
|
9
|
+
* OrderPlaced → ReserveInventoryListener, NotifyAdminListener
|
|
10
|
+
* RecordArchived → PurgeCacheListener, AuditComplianceListener
|
|
12
11
|
*/
|
|
13
12
|
// ─── Base Event ───────────────────────────────────────────────────────────────
|
|
14
13
|
export class DomainEvent {
|
|
@@ -98,7 +97,7 @@ export class EventBus {
|
|
|
98
97
|
* Dispatches an event asynchronously in the background (fire-and-forget).
|
|
99
98
|
* The current request does not wait for listeners to complete.
|
|
100
99
|
*
|
|
101
|
-
*
|
|
100
|
+
* Example: After saving a payment, fire PostToGeneralLedgerEvent in background.
|
|
102
101
|
*/
|
|
103
102
|
emitAsync(event) {
|
|
104
103
|
setImmediate(() => {
|
|
@@ -130,24 +129,24 @@ export class EventBus {
|
|
|
130
129
|
}
|
|
131
130
|
// ─── Singleton EventBus ───────────────────────────────────────────────────────
|
|
132
131
|
export const Events = new EventBus();
|
|
133
|
-
// ───
|
|
134
|
-
/** Fired when a
|
|
135
|
-
export class
|
|
132
|
+
// ─── Canonical Domain Events ───────────────────────────────────────────────────
|
|
133
|
+
/** Fired when a user registers or is onboarded. */
|
|
134
|
+
export class UserRegisteredEvent extends DomainEvent {
|
|
136
135
|
data;
|
|
137
136
|
constructor(data) {
|
|
138
137
|
super();
|
|
139
138
|
this.data = data;
|
|
140
139
|
}
|
|
141
140
|
}
|
|
142
|
-
/** Fired when
|
|
143
|
-
export class
|
|
141
|
+
/** Fired when an order or transaction is placed. */
|
|
142
|
+
export class OrderPlacedEvent extends DomainEvent {
|
|
144
143
|
data;
|
|
145
144
|
constructor(data) {
|
|
146
145
|
super();
|
|
147
146
|
this.data = data;
|
|
148
147
|
}
|
|
149
148
|
}
|
|
150
|
-
/** Fired when a
|
|
149
|
+
/** Fired when a payment is processed. */
|
|
151
150
|
export class PaymentReceivedEvent extends DomainEvent {
|
|
152
151
|
data;
|
|
153
152
|
constructor(data) {
|
|
@@ -155,23 +154,15 @@ export class PaymentReceivedEvent extends DomainEvent {
|
|
|
155
154
|
this.data = data;
|
|
156
155
|
}
|
|
157
156
|
}
|
|
158
|
-
/** Fired when a
|
|
159
|
-
export class
|
|
157
|
+
/** Fired when a record or resource is archived. */
|
|
158
|
+
export class RecordArchivedEvent extends DomainEvent {
|
|
160
159
|
data;
|
|
161
160
|
constructor(data) {
|
|
162
161
|
super();
|
|
163
162
|
this.data = data;
|
|
164
163
|
}
|
|
165
164
|
}
|
|
166
|
-
/** Fired when a
|
|
167
|
-
export class ShiftClosedEvent extends DomainEvent {
|
|
168
|
-
data;
|
|
169
|
-
constructor(data) {
|
|
170
|
-
super();
|
|
171
|
-
this.data = data;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/** Fired when a stock item falls below reorder level. */
|
|
165
|
+
/** Fired when a resource quantity or stock falls below threshold. */
|
|
175
166
|
export class LowStockAlertEvent extends DomainEvent {
|
|
176
167
|
data;
|
|
177
168
|
constructor(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { serveStatic, getMimeType, type StaticOptions, } from './static/static.j
|
|
|
23
23
|
export { cors, type CorsOptions, } from './middleware/cors.js';
|
|
24
24
|
export { jwt, sign, verify, decode, jwtAuth, parseTimespan, JsonWebTokenError, TokenExpiredError, NotBeforeError, rateLimit, MemoryRateLimitStore, RedisRateLimitStore, TooManyRequestsError, securityHeaders, csrf, Hash, hash, hashVerify, type JwtAlgorithm, type JwtHeader, type JwtPayload, type JwtSignOptions, type JwtVerifyOptions, type JwtAuthOptions, type RateLimitOptions, type RateLimitStore, type RateLimitInfo, type SecurityHeadersOptions, type HstsOptions, type ContentSecurityPolicyDirectives, type CsrfOptions, type ScryptOptions, } from './security/index.js';
|
|
25
25
|
export { AeroWebSocket, handleWebSocketUpgrade, type WebSocketUpgradeHandler, } from './ws/websocket.js';
|
|
26
|
-
export { Database, DB, MemoryDatabaseAdapter, Model, Relation, computed, QueryBuilder, Schema, TableBlueprint, Migrator, getHookRegistry, registerHook, ModelHookRegistry, beforeCreate, afterCreate, beforeSave, afterSave, beforeUpdate, afterUpdate, beforeDelete, afterDelete, beforeFind, afterFind, beforeFetch, afterFetch, type DatabaseAdapter, type DatabaseRow, type WhereClause, type JoinClause, type PaginationResult, type RelationDefinition, type ManyToManyOptions, type HasManyThroughOptions, type ColumnDefinition, type Migration, type ModelHookEvent, type ModelHookHandler, Seeder, DatabaseSeeder, ModelFactory, type FactoryDefinition, } from './database/index.js';
|
|
26
|
+
export { Database, DB, MemoryDatabaseAdapter, Model, Relation, computed, encrypted, QueryBuilder, Schema, TableBlueprint, Migrator, getHookRegistry, registerHook, ModelHookRegistry, beforeCreate, afterCreate, beforeSave, afterSave, beforeUpdate, afterUpdate, beforeDelete, afterDelete, beforeFind, afterFind, beforeFetch, afterFetch, type DatabaseAdapter, type DatabaseRow, type WhereClause, type JoinClause, type PaginationResult, type RelationDefinition, type ManyToManyOptions, type HasManyThroughOptions, type ColumnDefinition, type Migration, type ModelHookEvent, type ModelHookHandler, Seeder, DatabaseSeeder, ModelFactory, type FactoryDefinition, } from './database/index.js';
|
|
27
27
|
export { Logger, requestLogger, RequestContext, type LogLevel, type RequestStore, } from './logging/index.js';
|
|
28
28
|
export { ViewEngine, SimpleViewDriver, createEdgeDriver, createEjsDriver, viewPlugin, type ViewDriver, } from './views/view.js';
|
|
29
29
|
export { vite, type ViteOptions, } from './views/vite.js';
|
|
@@ -53,9 +53,9 @@ export { ApiTokenGuard, type ApiTokenGuardConfig, type ApiToken, type GeneratedT
|
|
|
53
53
|
export { type GuardContract, type AuthUser, type LoginOptions, } from './auth/guards/guard.js';
|
|
54
54
|
export { Bouncer, BouncerManager, bouncerManager, bouncerPlugin, requireRole, requirePermission, type PolicyContract, type PolicyConstructor, type PermissionStore, } from './auth/bouncer.js';
|
|
55
55
|
export { SessionManager, sessionPlugin, type SessionConfig, } from './session/session-manager.js';
|
|
56
|
-
export { MemorySessionDriver, FileSessionDriver, RedisSessionDriver, type SessionDriver, } from './session/
|
|
56
|
+
export { MemorySessionDriver, FileSessionDriver, RedisSessionDriver, CookieSessionDriver, type SessionDriver, } from './session/index.js';
|
|
57
57
|
export { AuditTrail, AuditTrailManager, DatabaseAuditDriver, MemoryAuditDriver, type AuditLogEntry, type AuditLogRecord, type AuditAction, type AuditDriver, } from './audit/audit-trail.js';
|
|
58
|
-
export { Events, EventBus, DomainEvent,
|
|
58
|
+
export { Events, EventBus, DomainEvent, UserRegisteredEvent, OrderPlacedEvent, PaymentReceivedEvent, RecordArchivedEvent, LowStockAlertEvent, type EventListener, type EventListenerFn, } from './events/event-bus.js';
|
|
59
59
|
export { Schedule, Scheduler, TaskBuilder, type TaskDefinition, type TaskHandler, type TaskRunRecord, } from './scheduler/scheduler.js';
|
|
60
60
|
export * from './cache/index.js';
|
|
61
61
|
export * from './redis/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@ export { serveStatic, getMimeType, } from './static/static.js';
|
|
|
25
25
|
export { cors, } from './middleware/cors.js';
|
|
26
26
|
export { jwt, sign, verify, decode, jwtAuth, parseTimespan, JsonWebTokenError, TokenExpiredError, NotBeforeError, rateLimit, MemoryRateLimitStore, RedisRateLimitStore, TooManyRequestsError, securityHeaders, csrf, Hash, hash, hashVerify, } from './security/index.js';
|
|
27
27
|
export { AeroWebSocket, handleWebSocketUpgrade, } from './ws/websocket.js';
|
|
28
|
-
export { Database, DB, MemoryDatabaseAdapter, Model, Relation, computed, QueryBuilder, Schema, TableBlueprint, Migrator,
|
|
28
|
+
export { Database, DB, MemoryDatabaseAdapter, Model, Relation, computed, encrypted, QueryBuilder, Schema, TableBlueprint, Migrator,
|
|
29
29
|
// Lifecycle Hook System
|
|
30
30
|
getHookRegistry, registerHook, ModelHookRegistry, beforeCreate, afterCreate, beforeSave, afterSave, beforeUpdate, afterUpdate, beforeDelete, afterDelete, beforeFind, afterFind, beforeFetch, afterFetch, Seeder, DatabaseSeeder, ModelFactory, } from './database/index.js';
|
|
31
31
|
export { Logger, requestLogger, RequestContext, } from './logging/index.js';
|
|
@@ -49,7 +49,7 @@ export { Validator, VineHelper, defaultBengaliVineMessages, } from './validation
|
|
|
49
49
|
export { UnprocessableEntityError, ValidationError, } from './core/errors.js';
|
|
50
50
|
import { Aero } from './core/application.js';
|
|
51
51
|
export default Aero;
|
|
52
|
-
// ───
|
|
52
|
+
// ─── Enterprise Modules ───────────────────────────────────────────────────────
|
|
53
53
|
// Auth System (Session + JWT + API Token Guards)
|
|
54
54
|
export { Auth, AuthManager, authManager, authPlugin, auth, } from './auth/auth-manager.js';
|
|
55
55
|
export { SessionGuard, } from './auth/guards/session-guard.js';
|
|
@@ -60,14 +60,14 @@ export {} from './auth/guards/guard.js';
|
|
|
60
60
|
export { Bouncer, BouncerManager, bouncerManager, bouncerPlugin, requireRole, requirePermission, } from './auth/bouncer.js';
|
|
61
61
|
// Session Management
|
|
62
62
|
export { SessionManager, sessionPlugin, } from './session/session-manager.js';
|
|
63
|
-
export { MemorySessionDriver, FileSessionDriver, RedisSessionDriver, } from './session/
|
|
63
|
+
export { MemorySessionDriver, FileSessionDriver, RedisSessionDriver, CookieSessionDriver, } from './session/index.js';
|
|
64
64
|
// Immutable Audit Trail (Section 38)
|
|
65
65
|
export { AuditTrail, AuditTrailManager, DatabaseAuditDriver, MemoryAuditDriver, } from './audit/audit-trail.js';
|
|
66
66
|
// Domain Event Bus (Section 2 — Reactive Event Bus)
|
|
67
67
|
export { Events, EventBus, DomainEvent,
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
// Cron Scheduler
|
|
68
|
+
// Canonical Domain Events
|
|
69
|
+
UserRegisteredEvent, OrderPlacedEvent, PaymentReceivedEvent, RecordArchivedEvent, LowStockAlertEvent, } from './events/event-bus.js';
|
|
70
|
+
// Cron Task Scheduler
|
|
71
71
|
export { Schedule, Scheduler, TaskBuilder, } from './scheduler/scheduler.js';
|
|
72
72
|
export * from './cache/index.js';
|
|
73
73
|
export * from './redis/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export declare class NotificationManager {
|
|
|
32
32
|
}
|
|
33
33
|
export declare const Notifications: NotificationManager;
|
|
34
34
|
/**
|
|
35
|
-
* Mixin / Helper function to send notification from a user
|
|
35
|
+
* Mixin / Helper function to send notification from a user model.
|
|
36
36
|
* Example: notify(user, new InvoiceNotification(inv));
|
|
37
37
|
*/
|
|
38
38
|
export declare function notify(notifiable: any, notification: Notification): Promise<void>;
|
|
@@ -121,7 +121,7 @@ export class NotificationManager {
|
|
|
121
121
|
}
|
|
122
122
|
export const Notifications = new NotificationManager();
|
|
123
123
|
/**
|
|
124
|
-
* Mixin / Helper function to send notification from a user
|
|
124
|
+
* Mixin / Helper function to send notification from a user model.
|
|
125
125
|
* Example: notify(user, new InvoiceNotification(inv));
|
|
126
126
|
*/
|
|
127
127
|
export async function notify(notifiable, notification) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file dashboard.ts
|
|
3
|
+
* @description Real-time interactive Queue & Job Monitoring Dashboard for AeroJS (Horizon-style).
|
|
4
|
+
* Features live metrics, failed job inspection, retry mechanisms, and a dark-mode GUI.
|
|
5
|
+
*/
|
|
6
|
+
import type { AeroContext } from '../core/context.js';
|
|
7
|
+
export interface QueueDashboardOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Optional authorization guard to restrict access to the dashboard.
|
|
10
|
+
* If returns false, 403 Forbidden is returned.
|
|
11
|
+
*/
|
|
12
|
+
auth?: (ctx: AeroContext) => boolean | Promise<boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* Custom title displayed on the dashboard header.
|
|
15
|
+
*/
|
|
16
|
+
title?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Auto-refresh polling interval in seconds (default: 3).
|
|
19
|
+
*/
|
|
20
|
+
pollInterval?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Renders the self-contained dark-mode single-page HTML dashboard for AeroJS Queue.
|
|
24
|
+
*/
|
|
25
|
+
export declare function renderQueueDashboardHtml(basePath: string, options?: QueueDashboardOptions): string;
|
|
26
|
+
/**
|
|
27
|
+
* Registers the Queue Horizon dashboard GUI and REST API endpoints onto an Aero application.
|
|
28
|
+
*/
|
|
29
|
+
export declare function registerQueueDashboard(app: any, basePath?: string, options?: QueueDashboardOptions): void;
|
|
30
|
+
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/queue/dashboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAoStG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,QAAQ,SAAkB,EAC1B,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAwEN"}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file dashboard.ts
|
|
3
|
+
* @description Real-time interactive Queue & Job Monitoring Dashboard for AeroJS (Horizon-style).
|
|
4
|
+
* Features live metrics, failed job inspection, retry mechanisms, and a dark-mode GUI.
|
|
5
|
+
*/
|
|
6
|
+
import { Router } from '../core/router.js';
|
|
7
|
+
import { Queue } from './queue-manager.js';
|
|
8
|
+
/**
|
|
9
|
+
* Renders the self-contained dark-mode single-page HTML dashboard for AeroJS Queue.
|
|
10
|
+
*/
|
|
11
|
+
export function renderQueueDashboardHtml(basePath, options = {}) {
|
|
12
|
+
const title = options.title || 'AeroJS Queue Horizon';
|
|
13
|
+
const pollInterval = (options.pollInterval || 3) * 1000;
|
|
14
|
+
return `<!DOCTYPE html>
|
|
15
|
+
<html lang="en">
|
|
16
|
+
<head>
|
|
17
|
+
<meta charset="UTF-8">
|
|
18
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
19
|
+
<title>${title}</title>
|
|
20
|
+
<style>
|
|
21
|
+
:root {
|
|
22
|
+
--bg: #090d16;
|
|
23
|
+
--card-bg: rgba(22, 29, 47, 0.7);
|
|
24
|
+
--card-border: rgba(255, 255, 255, 0.08);
|
|
25
|
+
--text: #f3f4f6;
|
|
26
|
+
--text-muted: #94a3b8;
|
|
27
|
+
--accent: #3b82f6;
|
|
28
|
+
--accent-glow: rgba(59, 130, 246, 0.25);
|
|
29
|
+
--purple: #8b5cf6;
|
|
30
|
+
--success: #10b981;
|
|
31
|
+
--danger: #ef4444;
|
|
32
|
+
--warning: #f59e0b;
|
|
33
|
+
}
|
|
34
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
35
|
+
body {
|
|
36
|
+
background: var(--bg);
|
|
37
|
+
background-image: radial-gradient(circle at 50% 0%, #1e1b4b 0%, #090d16 65%);
|
|
38
|
+
color: var(--text);
|
|
39
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
40
|
+
min-height: 100vh;
|
|
41
|
+
padding: 2rem 1.5rem;
|
|
42
|
+
}
|
|
43
|
+
.container { max-width: 1200px; margin: 0 auto; }
|
|
44
|
+
header {
|
|
45
|
+
display: flex;
|
|
46
|
+
justify-content: space-between;
|
|
47
|
+
align-items: center;
|
|
48
|
+
margin-bottom: 2rem;
|
|
49
|
+
padding-bottom: 1.25rem;
|
|
50
|
+
border-bottom: 1px solid var(--card-border);
|
|
51
|
+
}
|
|
52
|
+
.logo-area { display: flex; align-items: center; gap: 0.85rem; }
|
|
53
|
+
.logo-badge {
|
|
54
|
+
background: linear-gradient(135deg, var(--accent), var(--purple));
|
|
55
|
+
color: #fff;
|
|
56
|
+
font-weight: 800;
|
|
57
|
+
font-size: 1.1rem;
|
|
58
|
+
padding: 0.4rem 0.85rem;
|
|
59
|
+
border-radius: 8px;
|
|
60
|
+
letter-spacing: 0.05em;
|
|
61
|
+
box-shadow: 0 0 20px var(--accent-glow);
|
|
62
|
+
}
|
|
63
|
+
h1 { font-size: 1.4rem; font-weight: 700; letter-spacing: -0.02em; }
|
|
64
|
+
.live-indicator {
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
gap: 0.5rem;
|
|
68
|
+
font-size: 0.85rem;
|
|
69
|
+
color: var(--text-muted);
|
|
70
|
+
}
|
|
71
|
+
.pulse-dot {
|
|
72
|
+
width: 8px;
|
|
73
|
+
height: 8px;
|
|
74
|
+
border-radius: 50%;
|
|
75
|
+
background: var(--success);
|
|
76
|
+
box-shadow: 0 0 10px var(--success);
|
|
77
|
+
animation: pulse 2s infinite;
|
|
78
|
+
}
|
|
79
|
+
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
|
|
80
|
+
|
|
81
|
+
.stats-grid {
|
|
82
|
+
display: grid;
|
|
83
|
+
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
84
|
+
gap: 1.25rem;
|
|
85
|
+
margin-bottom: 2rem;
|
|
86
|
+
}
|
|
87
|
+
.stat-card {
|
|
88
|
+
background: var(--card-bg);
|
|
89
|
+
border: 1px solid var(--card-border);
|
|
90
|
+
border-radius: 12px;
|
|
91
|
+
padding: 1.25rem;
|
|
92
|
+
backdrop-filter: blur(12px);
|
|
93
|
+
transition: transform 0.2s, border-color 0.2s;
|
|
94
|
+
}
|
|
95
|
+
.stat-card:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.18); }
|
|
96
|
+
.stat-title { font-size: 0.82rem; text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.06em; margin-bottom: 0.5rem; }
|
|
97
|
+
.stat-val { font-size: 1.85rem; font-weight: 800; }
|
|
98
|
+
.stat-val.pending { color: var(--accent); }
|
|
99
|
+
.stat-val.completed { color: var(--success); }
|
|
100
|
+
.stat-val.failed { color: var(--danger); }
|
|
101
|
+
.stat-val.driver { color: var(--purple); font-size: 1.35rem; }
|
|
102
|
+
|
|
103
|
+
.card-panel {
|
|
104
|
+
background: var(--card-bg);
|
|
105
|
+
border: 1px solid var(--card-border);
|
|
106
|
+
border-radius: 14px;
|
|
107
|
+
padding: 1.5rem;
|
|
108
|
+
backdrop-filter: blur(12px);
|
|
109
|
+
margin-bottom: 2rem;
|
|
110
|
+
}
|
|
111
|
+
.panel-header {
|
|
112
|
+
display: flex;
|
|
113
|
+
justify-content: space-between;
|
|
114
|
+
align-items: center;
|
|
115
|
+
margin-bottom: 1.25rem;
|
|
116
|
+
}
|
|
117
|
+
.panel-title { font-size: 1.15rem; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; }
|
|
118
|
+
.actions-bar { display: flex; gap: 0.75rem; }
|
|
119
|
+
|
|
120
|
+
.btn {
|
|
121
|
+
padding: 0.45rem 0.9rem;
|
|
122
|
+
border-radius: 7px;
|
|
123
|
+
font-size: 0.85rem;
|
|
124
|
+
font-weight: 600;
|
|
125
|
+
border: none;
|
|
126
|
+
cursor: pointer;
|
|
127
|
+
display: inline-flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
gap: 0.4rem;
|
|
130
|
+
transition: all 0.2s;
|
|
131
|
+
}
|
|
132
|
+
.btn-primary { background: var(--accent); color: #fff; }
|
|
133
|
+
.btn-primary:hover { background: #2563eb; }
|
|
134
|
+
.btn-danger { background: rgba(239, 68, 68, 0.18); color: var(--danger); border: 1px solid rgba(239, 68, 68, 0.35); }
|
|
135
|
+
.btn-danger:hover { background: var(--danger); color: #fff; }
|
|
136
|
+
.btn-sm { padding: 0.25rem 0.6rem; font-size: 0.78rem; }
|
|
137
|
+
|
|
138
|
+
table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
|
|
139
|
+
th { text-align: left; padding: 0.75rem 1rem; color: var(--text-muted); font-weight: 600; border-bottom: 1px solid var(--card-border); }
|
|
140
|
+
td { padding: 0.85rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.04); vertical-align: top; }
|
|
141
|
+
tr:hover td { background: rgba(255, 255, 255, 0.02); }
|
|
142
|
+
.badge { padding: 0.2rem 0.5rem; border-radius: 5px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }
|
|
143
|
+
.badge-queue { background: rgba(139, 92, 246, 0.2); color: #c084fc; border: 1px solid rgba(139, 92, 246, 0.4); }
|
|
144
|
+
.badge-tries { background: rgba(245, 158, 11, 0.2); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.4); }
|
|
145
|
+
|
|
146
|
+
pre.stack-trace {
|
|
147
|
+
background: #030712;
|
|
148
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
149
|
+
border-radius: 6px;
|
|
150
|
+
padding: 0.6rem;
|
|
151
|
+
margin-top: 0.5rem;
|
|
152
|
+
font-size: 0.76rem;
|
|
153
|
+
color: #f87171;
|
|
154
|
+
max-height: 120px;
|
|
155
|
+
overflow-y: auto;
|
|
156
|
+
white-space: pre-wrap;
|
|
157
|
+
word-break: break-all;
|
|
158
|
+
}
|
|
159
|
+
.empty-state {
|
|
160
|
+
text-align: center;
|
|
161
|
+
padding: 3rem 1rem;
|
|
162
|
+
color: var(--text-muted);
|
|
163
|
+
}
|
|
164
|
+
</style>
|
|
165
|
+
</head>
|
|
166
|
+
<body>
|
|
167
|
+
<div class="container">
|
|
168
|
+
<header>
|
|
169
|
+
<div class="logo-area">
|
|
170
|
+
<div class="logo-badge">AERO</div>
|
|
171
|
+
<h1>${title}</h1>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="live-indicator">
|
|
174
|
+
<div class="pulse-dot"></div>
|
|
175
|
+
<span>Live Polling (${pollInterval / 1000}s)</span>
|
|
176
|
+
</div>
|
|
177
|
+
</header>
|
|
178
|
+
|
|
179
|
+
<div class="stats-grid">
|
|
180
|
+
<div class="stat-card">
|
|
181
|
+
<div class="stat-title">Pending Jobs</div>
|
|
182
|
+
<div class="stat-val pending" id="stat-pending">0</div>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="stat-card">
|
|
185
|
+
<div class="stat-title">Completed Jobs</div>
|
|
186
|
+
<div class="stat-val completed" id="stat-completed">0</div>
|
|
187
|
+
</div>
|
|
188
|
+
<div class="stat-card">
|
|
189
|
+
<div class="stat-title">Failed (Dead Letter)</div>
|
|
190
|
+
<div class="stat-val failed" id="stat-failed">0</div>
|
|
191
|
+
</div>
|
|
192
|
+
<div class="stat-card">
|
|
193
|
+
<div class="stat-title">Queue Driver</div>
|
|
194
|
+
<div class="stat-val driver" id="stat-driver">memory</div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
|
|
198
|
+
<div class="card-panel">
|
|
199
|
+
<div class="panel-header">
|
|
200
|
+
<div class="panel-title">
|
|
201
|
+
<span>Failed Jobs Management</span>
|
|
202
|
+
</div>
|
|
203
|
+
<div class="actions-bar">
|
|
204
|
+
<button class="btn btn-primary" onclick="retryAll()">Retry All</button>
|
|
205
|
+
<button class="btn btn-danger" onclick="purgeAll()">Purge All</button>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<div id="failed-jobs-container">
|
|
210
|
+
<div class="empty-state">Loading queue data...</div>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<script>
|
|
216
|
+
const basePath = '${basePath}';
|
|
217
|
+
|
|
218
|
+
async function fetchStats() {
|
|
219
|
+
try {
|
|
220
|
+
const res = await fetch(basePath + '/api/metrics');
|
|
221
|
+
const data = await res.json();
|
|
222
|
+
document.getElementById('stat-pending').innerText = data.pending ?? 0;
|
|
223
|
+
document.getElementById('stat-completed').innerText = data.completed ?? 0;
|
|
224
|
+
document.getElementById('stat-failed').innerText = data.failed ?? 0;
|
|
225
|
+
document.getElementById('stat-driver').innerText = data.connection ?? 'default';
|
|
226
|
+
} catch (err) {
|
|
227
|
+
console.error('Failed to fetch queue metrics', err);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
async function fetchFailedJobs() {
|
|
232
|
+
try {
|
|
233
|
+
const res = await fetch(basePath + '/api/failed');
|
|
234
|
+
const jobs = await res.json();
|
|
235
|
+
renderFailedTable(jobs);
|
|
236
|
+
} catch (err) {
|
|
237
|
+
console.error('Failed to fetch failed jobs', err);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
function renderFailedTable(jobs) {
|
|
242
|
+
const container = document.getElementById('failed-jobs-container');
|
|
243
|
+
if (!jobs || jobs.length === 0) {
|
|
244
|
+
container.innerHTML = '<div class="empty-state">All queues are healthy! No failed jobs.</div>';
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
let html = '<table><thead><tr>' +
|
|
249
|
+
'<th>ID</th><th>Queue</th><th>Job Name</th><th>Failed At</th><th>Exception</th><th style="text-align:right">Actions</th>' +
|
|
250
|
+
'</tr></thead><tbody>';
|
|
251
|
+
|
|
252
|
+
for (const j of jobs) {
|
|
253
|
+
const dateStr = new Date(j.failedAt).toLocaleString();
|
|
254
|
+
html += '<tr>' +
|
|
255
|
+
'<td><code>#' + j.id + '</code></td>' +
|
|
256
|
+
'<td><span class="badge badge-queue">' + (j.queue || 'default') + '</span></td>' +
|
|
257
|
+
'<td><strong>' + (j.jobName || 'Anonymous') + '</strong></td>' +
|
|
258
|
+
'<td>' + dateStr + '</td>' +
|
|
259
|
+
'<td><pre class="stack-trace">' + (j.exception || 'No exception stack') + '</pre></td>' +
|
|
260
|
+
'<td style="text-align:right">' +
|
|
261
|
+
'<button class="btn btn-primary btn-sm" onclick="retryJob(\\'' + j.id + '\\')">Retry</button> ' +
|
|
262
|
+
'<button class="btn btn-danger btn-sm" onclick="deleteJob(\\'' + j.id + '\\')">Delete</button>' +
|
|
263
|
+
'</td>' +
|
|
264
|
+
'</tr>';
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
html += '</tbody></table>';
|
|
268
|
+
container.innerHTML = html;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
async function retryJob(id) {
|
|
272
|
+
await fetch(basePath + '/api/retry/' + id, { method: 'POST' });
|
|
273
|
+
refresh();
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
async function deleteJob(id) {
|
|
277
|
+
await fetch(basePath + '/api/failed/' + id, { method: 'DELETE' });
|
|
278
|
+
refresh();
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
async function retryAll() {
|
|
282
|
+
await fetch(basePath + '/api/retry-all', { method: 'POST' });
|
|
283
|
+
refresh();
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
async function purgeAll() {
|
|
287
|
+
if (!confirm('Are you sure you want to purge all failed jobs?')) return;
|
|
288
|
+
await fetch(basePath + '/api/purge-all', { method: 'DELETE' });
|
|
289
|
+
refresh();
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function refresh() {
|
|
293
|
+
fetchStats();
|
|
294
|
+
fetchFailedJobs();
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
refresh();
|
|
298
|
+
setInterval(refresh, ${pollInterval});
|
|
299
|
+
</script>
|
|
300
|
+
</body>
|
|
301
|
+
</html>`;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Registers the Queue Horizon dashboard GUI and REST API endpoints onto an Aero application.
|
|
305
|
+
*/
|
|
306
|
+
export function registerQueueDashboard(app, basePath = '/__aero/queue', options = {}) {
|
|
307
|
+
const authMiddleware = async (ctx, next) => {
|
|
308
|
+
if (options.auth) {
|
|
309
|
+
const allowed = await options.auth(ctx);
|
|
310
|
+
if (!allowed) {
|
|
311
|
+
ctx.status(403).json({ error: 'Forbidden: Unauthorized access to Queue Dashboard' });
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
await next();
|
|
316
|
+
};
|
|
317
|
+
const cleanBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
318
|
+
// HTML Dashboard
|
|
319
|
+
app.get(cleanBase, authMiddleware, async (ctx) => {
|
|
320
|
+
const accept = ctx.req.headers['accept'] || '';
|
|
321
|
+
if (accept.includes('application/json')) {
|
|
322
|
+
const metrics = await Queue.getMetrics();
|
|
323
|
+
const failed = Queue.getFailedJobs();
|
|
324
|
+
ctx.json({ metrics, failed });
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
ctx.html(renderQueueDashboardHtml(cleanBase, options));
|
|
328
|
+
});
|
|
329
|
+
// REST API: Metrics
|
|
330
|
+
app.get(`${cleanBase}/api/metrics`, authMiddleware, async (ctx) => {
|
|
331
|
+
const queueName = ctx.query.queue || 'default';
|
|
332
|
+
const metrics = await Queue.getMetrics(queueName);
|
|
333
|
+
ctx.json(metrics);
|
|
334
|
+
});
|
|
335
|
+
// REST API: Failed Jobs List
|
|
336
|
+
app.get(`${cleanBase}/api/failed`, authMiddleware, async (ctx) => {
|
|
337
|
+
const failed = Queue.getFailedJobs();
|
|
338
|
+
ctx.json(failed);
|
|
339
|
+
});
|
|
340
|
+
// REST API: Retry Single Job
|
|
341
|
+
app.post(`${cleanBase}/api/retry/:id`, authMiddleware, async (ctx) => {
|
|
342
|
+
const id = ctx.params.id || '';
|
|
343
|
+
const ok = await Queue.retryFailedJob(id);
|
|
344
|
+
if (!ok) {
|
|
345
|
+
ctx.status(404).json({ success: false, message: `Failed job #${id} not found` });
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
ctx.json({ success: true, message: `Job #${id} re-enqueued` });
|
|
349
|
+
});
|
|
350
|
+
// REST API: Delete Single Failed Job
|
|
351
|
+
app.delete(`${cleanBase}/api/failed/:id`, authMiddleware, async (ctx) => {
|
|
352
|
+
const id = ctx.params.id || '';
|
|
353
|
+
const ok = Queue.deleteFailedJob(id);
|
|
354
|
+
if (!ok) {
|
|
355
|
+
ctx.status(404).json({ success: false, message: `Failed job #${id} not found` });
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
ctx.json({ success: true, message: `Failed job #${id} removed` });
|
|
359
|
+
});
|
|
360
|
+
// REST API: Retry All Failed Jobs
|
|
361
|
+
app.post(`${cleanBase}/api/retry-all`, authMiddleware, async (ctx) => {
|
|
362
|
+
const count = await Queue.retryAllFailedJobs();
|
|
363
|
+
ctx.json({ success: true, retriedCount: count });
|
|
364
|
+
});
|
|
365
|
+
// REST API: Purge All Failed Jobs
|
|
366
|
+
app.delete(`${cleanBase}/api/purge-all`, authMiddleware, async (ctx) => {
|
|
367
|
+
Queue.purgeAllFailedJobs();
|
|
368
|
+
ctx.json({ success: true, message: 'All failed jobs purged' });
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
//# sourceMappingURL=dashboard.js.map
|