web_plsql 1.2.0 → 1.3.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.
Files changed (119) hide show
  1. package/README.md +103 -8
  2. package/dist/chunk-DQk6qfdC.mjs +18 -0
  3. package/dist/frontend/assets/main-C8GKnEhz.js +147 -0
  4. package/dist/frontend/assets/main-C8GKnEhz.js.br +0 -0
  5. package/dist/frontend/assets/main-C8GKnEhz.js.gz +0 -0
  6. package/dist/frontend/assets/main-bU4x_yEW.css +1 -0
  7. package/dist/frontend/assets/main-bU4x_yEW.css.br +0 -0
  8. package/dist/frontend/assets/main-bU4x_yEW.css.gz +0 -0
  9. package/{src/admin → dist/frontend}/index.html +12 -25
  10. package/dist/frontend/index.html.br +0 -0
  11. package/dist/frontend/index.html.gz +0 -0
  12. package/dist/index.d.mts +646 -0
  13. package/dist/index.mjs +3559 -0
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/oracledb-mock-Dn8aHtd7.mjs +68 -0
  16. package/dist/oracledb-mock-Dn8aHtd7.mjs.map +1 -0
  17. package/examples/config-apex.js +1 -1
  18. package/examples/config-docker.js +1 -2
  19. package/package.json +48 -32
  20. package/examples/config-native.js +0 -68
  21. package/src/admin/client/charts.ts +0 -598
  22. package/src/admin/client/main.js +0 -3
  23. package/src/admin/client/tailwind.css +0 -41
  24. package/src/admin/js/api.ts +0 -170
  25. package/src/admin/js/app.ts +0 -614
  26. package/src/admin/js/eslint.config.js +0 -74
  27. package/src/admin/js/schemas.ts +0 -215
  28. package/src/admin/js/templates/config.ts +0 -147
  29. package/src/admin/js/templates/errorRow.ts +0 -21
  30. package/src/admin/js/templates/index.ts +0 -4
  31. package/src/admin/js/templates/poolCard.ts +0 -61
  32. package/src/admin/js/templates/traceRow.ts +0 -24
  33. package/src/admin/js/tsconfig.json +0 -24
  34. package/src/admin/js/types.ts +0 -336
  35. package/src/admin/js/ui/components.ts +0 -44
  36. package/src/admin/js/ui/table.ts +0 -173
  37. package/src/admin/js/ui/theme.ts +0 -93
  38. package/src/admin/js/ui/views.ts +0 -427
  39. package/src/admin/js/util/format.ts +0 -46
  40. package/src/admin/js/util/metrics.ts +0 -24
  41. package/src/admin/lib/chart.bundle.css +0 -1
  42. package/src/admin/lib/chart.bundle.js +0 -146
  43. package/src/admin/style.css +0 -1437
  44. package/src/bin/load-test.js +0 -202
  45. package/src/handler/handlerAdmin.js +0 -293
  46. package/src/handler/handlerLogger.js +0 -21
  47. package/src/handler/handlerUpload.js +0 -26
  48. package/src/handler/plsql/cgi.js +0 -131
  49. package/src/handler/plsql/errorPage.js +0 -113
  50. package/src/handler/plsql/handlerPlSql.js +0 -90
  51. package/src/handler/plsql/owaPageStream.js +0 -93
  52. package/src/handler/plsql/parsePage.js +0 -213
  53. package/src/handler/plsql/procedure.js +0 -426
  54. package/src/handler/plsql/procedureError.js +0 -40
  55. package/src/handler/plsql/procedureNamed.js +0 -282
  56. package/src/handler/plsql/procedureSanitize.js +0 -286
  57. package/src/handler/plsql/procedureVariable.js +0 -56
  58. package/src/handler/plsql/request.js +0 -124
  59. package/src/handler/plsql/requestError.js +0 -23
  60. package/src/handler/plsql/sendResponse.js +0 -174
  61. package/src/handler/plsql/stream.js +0 -28
  62. package/src/handler/plsql/upload.js +0 -109
  63. package/src/index.js +0 -19
  64. package/src/server/adminContext.js +0 -23
  65. package/src/server/config.js +0 -57
  66. package/src/server/connections.js +0 -40
  67. package/src/server/server.js +0 -304
  68. package/src/types.js +0 -150
  69. package/src/util/cache.js +0 -123
  70. package/src/util/errorToString.js +0 -24
  71. package/src/util/file.js +0 -91
  72. package/src/util/html.js +0 -53
  73. package/src/util/jsonLogger.js +0 -47
  74. package/src/util/oracle.js +0 -80
  75. package/src/util/shutdown.js +0 -44
  76. package/src/util/statsManager.js +0 -368
  77. package/src/util/trace.js +0 -326
  78. package/src/util/traceManager.js +0 -68
  79. package/src/util/type.js +0 -6
  80. package/src/util/util.js +0 -66
  81. package/src/version.js +0 -5
  82. package/types/admin/js/schemas.d.ts +0 -384
  83. package/types/admin/js/types.d.ts +0 -312
  84. package/types/handler/handlerAdmin.d.ts +0 -79
  85. package/types/handler/handlerLogger.d.ts +0 -2
  86. package/types/handler/handlerUpload.d.ts +0 -7
  87. package/types/handler/plsql/cgi.d.ts +0 -4
  88. package/types/handler/plsql/errorPage.d.ts +0 -11
  89. package/types/handler/plsql/handlerPlSql.d.ts +0 -13
  90. package/types/handler/plsql/owaPageStream.d.ts +0 -28
  91. package/types/handler/plsql/parsePage.d.ts +0 -3
  92. package/types/handler/plsql/procedure.d.ts +0 -13
  93. package/types/handler/plsql/procedureError.d.ts +0 -23
  94. package/types/handler/plsql/procedureNamed.d.ts +0 -14
  95. package/types/handler/plsql/procedureSanitize.d.ts +0 -11
  96. package/types/handler/plsql/procedureVariable.d.ts +0 -10
  97. package/types/handler/plsql/request.d.ts +0 -9
  98. package/types/handler/plsql/requestError.d.ts +0 -8
  99. package/types/handler/plsql/sendResponse.d.ts +0 -6
  100. package/types/handler/plsql/upload.d.ts +0 -5
  101. package/types/index.d.ts +0 -10
  102. package/types/server/adminContext.d.ts +0 -17
  103. package/types/server/config.d.ts +0 -2
  104. package/types/server/server.d.ts +0 -57
  105. package/types/types.d.ts +0 -328
  106. package/types/util/cache.d.ts +0 -69
  107. package/types/util/errorToString.d.ts +0 -1
  108. package/types/util/file.d.ts +0 -6
  109. package/types/util/html.d.ts +0 -3
  110. package/types/util/jsonLogger.d.ts +0 -45
  111. package/types/util/oracle.d.ts +0 -5
  112. package/types/util/shutdown.d.ts +0 -2
  113. package/types/util/statsManager.d.ts +0 -395
  114. package/types/util/trace.d.ts +0 -22
  115. package/types/util/traceManager.d.ts +0 -35
  116. package/types/util/type.d.ts +0 -1
  117. package/types/util/util.d.ts +0 -3
  118. package/types/version.d.ts +0 -1
  119. /package/{src/admin/favicon.svg → dist/frontend/assets/favicon-mQAM4tVu.svg} +0 -0
@@ -1,395 +0,0 @@
1
- /**
2
- * @typedef {object} StatsConfig
3
- * @property {number} intervalMs - Duration of each statistical bucket (default: 5000ms).
4
- * @property {number} maxHistoryPoints - Number of buckets to keep in the ring buffer (default: 200).
5
- * @property {boolean} sampleSystem - Whether to automatically sample CPU/Memory (default: true).
6
- * @property {boolean} samplePools - Whether to automatically sample Oracle pool utilization (default: true).
7
- * @property {number} percentilePrecision - Max number of samples per bucket for P95/P99 calculation (default: 1000).
8
- */
9
- /**
10
- * @typedef {object} CacheStats
11
- * @property {number} size - Number of entries.
12
- * @property {number} hits - Number of hits.
13
- * @property {number} misses - Number of misses.
14
- */
15
- /**
16
- * @typedef {object} PoolCacheSnapshot
17
- * @property {CacheStats} procedureName - Procedure name cache stats.
18
- * @property {CacheStats} argument - Argument cache stats.
19
- */
20
- /**
21
- * @typedef {object} PoolSnapshot
22
- * @property {string} name - The pool name.
23
- * @property {number} connectionsInUse - Number of active connections.
24
- * @property {number} connectionsOpen - Number of open connections.
25
- * @property {PoolCacheSnapshot} [cache] - Cache statistics.
26
- */
27
- /**
28
- * @typedef {object} Bucket
29
- * @property {number} timestamp - End time of the bucket.
30
- * @property {number} requests - Number of requests.
31
- * @property {number} errors - Number of errors.
32
- * @property {number} durationMin - Minimum duration.
33
- * @property {number} durationMax - Maximum duration.
34
- * @property {number} durationAvg - Average duration.
35
- * @property {number} durationP95 - 95th percentile duration.
36
- * @property {number} durationP99 - 99th percentile duration.
37
- * @property {object} system - System metrics.
38
- * @property {number} system.cpu - CPU usage percentage.
39
- * @property {number} system.heapUsed - Heap used in bytes.
40
- * @property {number} system.heapTotal - Heap total in bytes.
41
- * @property {number} system.rss - RSS in bytes.
42
- * @property {number} system.external - External memory in bytes.
43
- * @property {PoolSnapshot[]} pools - Pool utilization snapshots.
44
- */
45
- /**
46
- * @typedef {object} CurrentBucket
47
- * @property {number} count - Number of requests.
48
- * @property {number} errors - Number of errors.
49
- * @property {number} durationSum - Sum of durations.
50
- * @property {number} durationMin - Minimum duration.
51
- * @property {number} durationMax - Maximum duration.
52
- * @property {number[]} durations - List of durations for percentile calculation.
53
- */
54
- /**
55
- * @typedef {object} MemoryLifetime
56
- * @property {number} heapUsedMax - Max heap used.
57
- * @property {number} heapTotalMax - Max heap total.
58
- * @property {number} rssMax - Max RSS.
59
- * @property {number} externalMax - Max external.
60
- */
61
- /**
62
- * @typedef {object} LifetimeStats
63
- * @property {number} totalRequests - Total requests.
64
- * @property {number} totalErrors - Total errors.
65
- * @property {number} minDuration - Min duration.
66
- * @property {number} maxDuration - Max duration.
67
- * @property {number} totalDuration - Total duration.
68
- * @property {number} maxRequestsPerSecond - Max requests per second.
69
- * @property {MemoryLifetime} memory - Memory extremes.
70
- * @property {object} cpu - CPU extremes.
71
- * @property {number} cpu.max - Max CPU.
72
- * @property {number} cpu.userMax - Max user CPU.
73
- * @property {number} cpu.systemMax - Max system CPU.
74
- */
75
- /**
76
- * @typedef {object} StatsSummary
77
- * @property {Date} startTime - Server start time.
78
- * @property {number} totalRequests - Total requests handled.
79
- * @property {number} totalErrors - Total errors encountered.
80
- * @property {number} avgResponseTime - Lifetime average response time.
81
- * @property {number} minResponseTime - Lifetime minimum response time.
82
- * @property {number} maxResponseTime - Lifetime maximum response time.
83
- * @property {number} maxRequestsPerSecond - Lifetime maximum requests per second.
84
- * @property {MemoryLifetime} maxMemory - Lifetime memory extremes.
85
- * @property {object} cpu - CPU extremes.
86
- * @property {number} cpu.max - Max CPU usage percentage.
87
- * @property {number} cpu.userMax - Max user CPU usage in microseconds.
88
- * @property {number} cpu.systemMax - Max system CPU usage in microseconds.
89
- */
90
- /**
91
- * Manager for statistical data collection and temporal bucketing.
92
- */
93
- export class StatsManager {
94
- /**
95
- * @param {Partial<StatsConfig>} config - Configuration.
96
- */
97
- constructor(config?: Partial<StatsConfig>);
98
- /** @type {StatsConfig} */
99
- config: StatsConfig;
100
- startTime: Date;
101
- /** @type {Bucket[]} */
102
- history: Bucket[];
103
- /** @type {LifetimeStats} */
104
- lifetime: LifetimeStats;
105
- /** @type {CurrentBucket} */
106
- _currentBucket: CurrentBucket;
107
- _lastCpuTimes: {
108
- user: number;
109
- nice: number;
110
- sys: number;
111
- idle: number;
112
- irq: number;
113
- total: number;
114
- };
115
- /** @type {ReturnType<typeof setTimeout> | undefined} */
116
- _timer: ReturnType<typeof setTimeout> | undefined;
117
- /**
118
- * Reset the current bucket accumulator.
119
- * @private
120
- */
121
- private _resetBucket;
122
- /**
123
- * Record a request event.
124
- * @param {number} duration - Duration in milliseconds.
125
- * @param {boolean} isError - Whether the request was an error.
126
- */
127
- recordRequest(duration: number, isError?: boolean): void;
128
- /**
129
- * Get system CPU times.
130
- * @private
131
- * @returns {{user: number, nice: number, sys: number, idle: number, irq: number, total: number}} System CPU times.
132
- */
133
- private _getSystemCpuTimes;
134
- /**
135
- * Calculate CPU usage percentage since last call.
136
- * @private
137
- * @returns {number} CPU usage percentage (0-100).
138
- */
139
- private _calculateCpuUsage;
140
- /**
141
- * Rotate the current bucket into history and start a new one.
142
- * @param {PoolSnapshot[]} [poolSnapshots] - Optional pool snapshots to include.
143
- */
144
- rotateBucket(poolSnapshots?: PoolSnapshot[]): void;
145
- /**
146
- * Stop the background timer.
147
- */
148
- stop(): void;
149
- /**
150
- * Get lifetime summary.
151
- * @returns {StatsSummary} Summary.
152
- */
153
- getSummary(): StatsSummary;
154
- /**
155
- * Get history buffer.
156
- * @returns {Bucket[]} The history buffer.
157
- */
158
- getHistory(): Bucket[];
159
- }
160
- export type StatsConfig = {
161
- /**
162
- * - Duration of each statistical bucket (default: 5000ms).
163
- */
164
- intervalMs: number;
165
- /**
166
- * - Number of buckets to keep in the ring buffer (default: 200).
167
- */
168
- maxHistoryPoints: number;
169
- /**
170
- * - Whether to automatically sample CPU/Memory (default: true).
171
- */
172
- sampleSystem: boolean;
173
- /**
174
- * - Whether to automatically sample Oracle pool utilization (default: true).
175
- */
176
- samplePools: boolean;
177
- /**
178
- * - Max number of samples per bucket for P95/P99 calculation (default: 1000).
179
- */
180
- percentilePrecision: number;
181
- };
182
- export type CacheStats = {
183
- /**
184
- * - Number of entries.
185
- */
186
- size: number;
187
- /**
188
- * - Number of hits.
189
- */
190
- hits: number;
191
- /**
192
- * - Number of misses.
193
- */
194
- misses: number;
195
- };
196
- export type PoolCacheSnapshot = {
197
- /**
198
- * - Procedure name cache stats.
199
- */
200
- procedureName: CacheStats;
201
- /**
202
- * - Argument cache stats.
203
- */
204
- argument: CacheStats;
205
- };
206
- export type PoolSnapshot = {
207
- /**
208
- * - The pool name.
209
- */
210
- name: string;
211
- /**
212
- * - Number of active connections.
213
- */
214
- connectionsInUse: number;
215
- /**
216
- * - Number of open connections.
217
- */
218
- connectionsOpen: number;
219
- /**
220
- * - Cache statistics.
221
- */
222
- cache?: PoolCacheSnapshot;
223
- };
224
- export type Bucket = {
225
- /**
226
- * - End time of the bucket.
227
- */
228
- timestamp: number;
229
- /**
230
- * - Number of requests.
231
- */
232
- requests: number;
233
- /**
234
- * - Number of errors.
235
- */
236
- errors: number;
237
- /**
238
- * - Minimum duration.
239
- */
240
- durationMin: number;
241
- /**
242
- * - Maximum duration.
243
- */
244
- durationMax: number;
245
- /**
246
- * - Average duration.
247
- */
248
- durationAvg: number;
249
- /**
250
- * - 95th percentile duration.
251
- */
252
- durationP95: number;
253
- /**
254
- * - 99th percentile duration.
255
- */
256
- durationP99: number;
257
- /**
258
- * - System metrics.
259
- */
260
- system: {
261
- cpu: number;
262
- heapUsed: number;
263
- heapTotal: number;
264
- rss: number;
265
- external: number;
266
- };
267
- /**
268
- * - Pool utilization snapshots.
269
- */
270
- pools: PoolSnapshot[];
271
- };
272
- export type CurrentBucket = {
273
- /**
274
- * - Number of requests.
275
- */
276
- count: number;
277
- /**
278
- * - Number of errors.
279
- */
280
- errors: number;
281
- /**
282
- * - Sum of durations.
283
- */
284
- durationSum: number;
285
- /**
286
- * - Minimum duration.
287
- */
288
- durationMin: number;
289
- /**
290
- * - Maximum duration.
291
- */
292
- durationMax: number;
293
- /**
294
- * - List of durations for percentile calculation.
295
- */
296
- durations: number[];
297
- };
298
- export type MemoryLifetime = {
299
- /**
300
- * - Max heap used.
301
- */
302
- heapUsedMax: number;
303
- /**
304
- * - Max heap total.
305
- */
306
- heapTotalMax: number;
307
- /**
308
- * - Max RSS.
309
- */
310
- rssMax: number;
311
- /**
312
- * - Max external.
313
- */
314
- externalMax: number;
315
- };
316
- export type LifetimeStats = {
317
- /**
318
- * - Total requests.
319
- */
320
- totalRequests: number;
321
- /**
322
- * - Total errors.
323
- */
324
- totalErrors: number;
325
- /**
326
- * - Min duration.
327
- */
328
- minDuration: number;
329
- /**
330
- * - Max duration.
331
- */
332
- maxDuration: number;
333
- /**
334
- * - Total duration.
335
- */
336
- totalDuration: number;
337
- /**
338
- * - Max requests per second.
339
- */
340
- maxRequestsPerSecond: number;
341
- /**
342
- * - Memory extremes.
343
- */
344
- memory: MemoryLifetime;
345
- /**
346
- * - CPU extremes.
347
- */
348
- cpu: {
349
- max: number;
350
- userMax: number;
351
- systemMax: number;
352
- };
353
- };
354
- export type StatsSummary = {
355
- /**
356
- * - Server start time.
357
- */
358
- startTime: Date;
359
- /**
360
- * - Total requests handled.
361
- */
362
- totalRequests: number;
363
- /**
364
- * - Total errors encountered.
365
- */
366
- totalErrors: number;
367
- /**
368
- * - Lifetime average response time.
369
- */
370
- avgResponseTime: number;
371
- /**
372
- * - Lifetime minimum response time.
373
- */
374
- minResponseTime: number;
375
- /**
376
- * - Lifetime maximum response time.
377
- */
378
- maxResponseTime: number;
379
- /**
380
- * - Lifetime maximum requests per second.
381
- */
382
- maxRequestsPerSecond: number;
383
- /**
384
- * - Lifetime memory extremes.
385
- */
386
- maxMemory: MemoryLifetime;
387
- /**
388
- * - CPU extremes.
389
- */
390
- cpu: {
391
- max: number;
392
- userMax: number;
393
- systemMax: number;
394
- };
395
- };
@@ -1,22 +0,0 @@
1
- export function inspect(value: unknown, depth?: number | null): string;
2
- export function toTable(head: string[], body: string[][]): outputType;
3
- export function logToFile(text: string): void;
4
- export function getBlock(title: string, body: string): string;
5
- export function getFormattedMessage(para: messageType): outputType;
6
- export function warningMessage(para: messageType): void;
7
- export type Request = import("express").Request;
8
- export type BindParameterConfig = import("../types.js").BindParameterConfig;
9
- export type environmentType = import("../types.js").environmentType;
10
- export type outputType = {
11
- html: string;
12
- text: string;
13
- };
14
- export type messageType = {
15
- type: "error" | "warning" | "trace";
16
- message: string;
17
- timestamp?: Date | null;
18
- req?: Request | null;
19
- environment?: environmentType | null;
20
- sql?: string | null;
21
- bind?: BindParameterConfig | null;
22
- };
@@ -1,35 +0,0 @@
1
- export const traceManager: TraceManager;
2
- export type TraceEntry = import("../admin/js/types.js").TraceEntry;
3
- /**
4
- * @typedef {import('../admin/js/types.js').TraceEntry} TraceEntry
5
- */
6
- declare class TraceManager {
7
- enabled: boolean;
8
- filename: string;
9
- maxEntries: number;
10
- /**
11
- * Toggle tracing
12
- * @param {boolean} enabled - New state
13
- */
14
- setEnabled(enabled: boolean): void;
15
- /**
16
- * Is tracing enabled?
17
- * @returns {boolean} - The state
18
- */
19
- isEnabled(): boolean;
20
- /**
21
- * Add a trace entry
22
- * @param {object} entry - The trace entry
23
- */
24
- addTrace(entry: object): void;
25
- /**
26
- * Clear all traces
27
- */
28
- clear(): void;
29
- /**
30
- * Get the full path to the trace file
31
- * @returns {string} - The path
32
- */
33
- getFilePath(): string;
34
- }
35
- export {};
@@ -1 +0,0 @@
1
- export function isStringOrArrayOfString(value: unknown): value is string | string[];
@@ -1,3 +0,0 @@
1
- export function humanDuration(duration: number): string;
2
- export function stringToNumber(value: unknown): number | null;
3
- export function stringToInteger(value: unknown): number | null;
@@ -1 +0,0 @@
1
- export function getVersion(): string;