xypriss 9.13.2 → 9.13.4

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 (30) hide show
  1. package/dist/cjs/src/plugins/const/XyprissTempDir.js +28 -0
  2. package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
  3. package/dist/cjs/src/server/FastServer/index.js +3 -9
  4. package/dist/cjs/src/server/FastServer/index.js.map +1 -1
  5. package/dist/cjs/src/server/components/multi-server/MultiServerApp.js +181 -129
  6. package/dist/cjs/src/server/components/multi-server/MultiServerApp.js.map +1 -1
  7. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +54 -25
  8. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  9. package/dist/cjs/src/server/components/multi-server/XMSStartupUI.js +265 -0
  10. package/dist/cjs/src/server/components/multi-server/XMSStartupUI.js.map +1 -0
  11. package/dist/cjs/src/shared/logger/Logger.js +42 -0
  12. package/dist/cjs/src/shared/logger/Logger.js.map +1 -1
  13. package/dist/cjs/src/xhsc/fs/TempFileManager.js +3 -11
  14. package/dist/cjs/src/xhsc/fs/TempFileManager.js.map +1 -1
  15. package/dist/esm/src/plugins/const/XyprissTempDir.js +28 -0
  16. package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
  17. package/dist/esm/src/server/FastServer/index.js +3 -9
  18. package/dist/esm/src/server/FastServer/index.js.map +1 -1
  19. package/dist/esm/src/server/components/multi-server/MultiServerApp.js +181 -129
  20. package/dist/esm/src/server/components/multi-server/MultiServerApp.js.map +1 -1
  21. package/dist/esm/src/server/components/multi-server/MultiServerManager.js +54 -25
  22. package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  23. package/dist/esm/src/server/components/multi-server/XMSStartupUI.js +263 -0
  24. package/dist/esm/src/server/components/multi-server/XMSStartupUI.js.map +1 -0
  25. package/dist/esm/src/shared/logger/Logger.js +42 -0
  26. package/dist/esm/src/shared/logger/Logger.js.map +1 -1
  27. package/dist/esm/src/xhsc/fs/TempFileManager.js +3 -11
  28. package/dist/esm/src/xhsc/fs/TempFileManager.js.map +1 -1
  29. package/dist/index.d.ts +46 -2
  30. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -32,6 +32,16 @@ interface ComponentLogConfig {
32
32
  /** Pattern-based message filtering */
33
33
  suppressPatterns?: (string | RegExp)[];
34
34
  }
35
+ interface LogEntry {
36
+ timestamp: Date;
37
+ level: LogLevel$1;
38
+ component: LogComponent;
39
+ type?: LogType;
40
+ message: string;
41
+ args: any[];
42
+ processId?: number;
43
+ memory?: number;
44
+ }
35
45
 
36
46
  type LoggerConfig = NonNullable<ServerOptions["logging"]>;
37
47
 
@@ -64,6 +74,7 @@ declare class Logger {
64
74
  private errorCount;
65
75
  private lastErrorTime;
66
76
  private suppressedComponents;
77
+ private captureBuffer?;
67
78
  constructor(config?: LoggerConfig);
68
79
  private applyColors;
69
80
  error(component: LogComponent, message: string, ...args: any[]): void;
@@ -90,6 +101,27 @@ declare class Logger {
90
101
  queueSize: number;
91
102
  };
92
103
  clearSuppression(): void;
104
+ /**
105
+ * Start capturing log entries in memory instead of writing them to console.
106
+ * Used by XMS Startup UI to suppress noisy initialization logs.
107
+ */
108
+ startCapture(): void;
109
+ /**
110
+ * Stop capturing logs and return all captured entries.
111
+ */
112
+ stopCapture(): LogEntry[];
113
+ /**
114
+ * Get currently captured logs without stopping capture.
115
+ */
116
+ getCapturedLogs(): LogEntry[];
117
+ /**
118
+ * Check if logger is currently capturing logs.
119
+ */
120
+ isCapturing(): boolean;
121
+ /**
122
+ * Flush all captured logs to their respective console outputs (e.g. upon error).
123
+ */
124
+ flushCaptured(): void;
93
125
  flush(): void;
94
126
  dispose(): void;
95
127
  /** Create a scoped child logger inheriting (and optionally overriding) config. */
@@ -110,7 +142,7 @@ declare class Logger {
110
142
  *
111
143
  * Tag and message always share the same color so they read as one visual unit.
112
144
  */
113
- private formatEntry;
145
+ formatEntry(entry: LogEntry): string;
114
146
  /** Human-readable uppercase label for a component. */
115
147
  private componentLabel;
116
148
  private truncate;
@@ -11084,6 +11116,12 @@ interface XServerOptions {
11084
11116
  enabled?: boolean;
11085
11117
  /** Array of server configurations */
11086
11118
  servers?: MultiServerConfig[];
11119
+ /**
11120
+ * Enable quiet sequential startup UI with animated progress.
11121
+ * Suppresses noisy child server bootstrap logs.
11122
+ * Defaults to true.
11123
+ */
11124
+ quietStartup?: boolean;
11087
11125
  };
11088
11126
  /**
11089
11127
  * Request management configuration for handling timeouts, network quality, and request lifecycle
@@ -11999,7 +12037,7 @@ declare class MultiServerManager {
11999
12037
  * Create a single server instance with merged configuration
12000
12038
  * Uses the centralized Configs class for proper configuration management
12001
12039
  */
12002
- private createServerInstance;
12040
+ createServerInstance(config: MultiServerConfig): Promise<MultiServerInstance>;
12003
12041
  /**
12004
12042
  * Apply route filtering by copying and filtering routes from main app
12005
12043
  */
@@ -12008,6 +12046,10 @@ declare class MultiServerManager {
12008
12046
  * Copy and filter router middleware from main app
12009
12047
  */
12010
12048
  private copyRouterMiddlewareFromMainApp;
12049
+ /**
12050
+ * Register a server instance in the manager's registry
12051
+ */
12052
+ registerServer(instance: MultiServerInstance): void;
12011
12053
  /**
12012
12054
  * Start all server instances
12013
12055
  */
@@ -13506,9 +13548,11 @@ declare class MultiServerApp implements XyPrissApp {
13506
13548
  use(...args: any[]): void;
13507
13549
  setResponseControl(config: ServerOptions$1["responseControl"]): void;
13508
13550
  start(callback?: () => void): Promise<void>;
13551
+ startAllServers(callback?: () => void): Promise<void>;
13509
13552
  stop(): Promise<void>;
13510
13553
  waitForReady(): Promise<void>;
13511
13554
  private distributeConfigurations;
13555
+ private distributeConfigurationForInstance;
13512
13556
  private shouldRegisterRouteOnServer;
13513
13557
  getServers(): MultiServerInstance[];
13514
13558
  getServer(id: string): MultiServerInstance | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss",
3
- "version": "9.13.2",
3
+ "version": "9.13.4",
4
4
  "description": "XyPriss is a high-performance, TypeScript-first hyper-system web framework powered by a native Go core (XHSC), featuring robust multi-tenant sandboxing, secure native file streaming, and zero Express dependencies.",
5
5
  "author": {
6
6
  "DEV.to": "https://dev.to/nehonix",