jxp 4.1.0 → 4.2.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 (79) hide show
  1. package/.env.sample +14 -0
  2. package/dist/bin/index_audit.d.ts +3 -0
  3. package/dist/bin/index_audit.d.ts.map +1 -0
  4. package/dist/bin/index_audit.js +66 -0
  5. package/dist/bin/index_audit.js.map +1 -0
  6. package/dist/bin/server.d.ts.map +1 -1
  7. package/dist/bin/server.js +6 -1
  8. package/dist/bin/server.js.map +1 -1
  9. package/dist/libs/builtin_models.d.ts +21 -0
  10. package/dist/libs/builtin_models.d.ts.map +1 -0
  11. package/dist/libs/builtin_models.js +125 -0
  12. package/dist/libs/builtin_models.js.map +1 -0
  13. package/dist/libs/bulkwrite_guard.d.ts +1 -0
  14. package/dist/libs/bulkwrite_guard.d.ts.map +1 -1
  15. package/dist/libs/bulkwrite_guard.js +43 -0
  16. package/dist/libs/bulkwrite_guard.js.map +1 -1
  17. package/dist/libs/docs-auth.d.ts.map +1 -1
  18. package/dist/libs/docs-auth.js +3 -1
  19. package/dist/libs/docs-auth.js.map +1 -1
  20. package/dist/libs/docs.js +32 -2
  21. package/dist/libs/docs.js.map +1 -1
  22. package/dist/libs/groups.js +3 -4
  23. package/dist/libs/groups.js.map +1 -1
  24. package/dist/libs/index_diagnostics.d.ts +144 -0
  25. package/dist/libs/index_diagnostics.d.ts.map +1 -0
  26. package/dist/libs/index_diagnostics.js +671 -0
  27. package/dist/libs/index_diagnostics.js.map +1 -0
  28. package/dist/libs/jxp.d.ts.map +1 -1
  29. package/dist/libs/jxp.js +185 -70
  30. package/dist/libs/jxp.js.map +1 -1
  31. package/dist/libs/load-config.d.ts +2 -0
  32. package/dist/libs/load-config.d.ts.map +1 -1
  33. package/dist/libs/load-config.js +10 -0
  34. package/dist/libs/load-config.js.map +1 -1
  35. package/dist/libs/login.js +3 -8
  36. package/dist/libs/login.js.map +1 -1
  37. package/dist/libs/parse_byte_size.d.ts +10 -0
  38. package/dist/libs/parse_byte_size.d.ts.map +1 -0
  39. package/dist/libs/parse_byte_size.js +80 -0
  40. package/dist/libs/parse_byte_size.js.map +1 -0
  41. package/dist/libs/query_limits.js +104 -12
  42. package/dist/libs/query_limits.js.map +1 -1
  43. package/dist/libs/request_log.d.ts +44 -0
  44. package/dist/libs/request_log.d.ts.map +1 -0
  45. package/dist/libs/request_log.js +229 -0
  46. package/dist/libs/request_log.js.map +1 -0
  47. package/dist/libs/schema.js +2 -2
  48. package/dist/libs/schema.js.map +1 -1
  49. package/dist/libs/security.js +25 -20
  50. package/dist/libs/security.js.map +1 -1
  51. package/dist/libs/setup.js +3 -4
  52. package/dist/libs/setup.js.map +1 -1
  53. package/dist/libs/startup.d.ts +4 -0
  54. package/dist/libs/startup.d.ts.map +1 -1
  55. package/dist/libs/startup.js +17 -0
  56. package/dist/libs/startup.js.map +1 -1
  57. package/dist/models/indexquerylog_model.d.ts +19 -0
  58. package/dist/models/indexquerylog_model.d.ts.map +1 -0
  59. package/dist/models/indexquerylog_model.js +32 -0
  60. package/dist/models/indexquerylog_model.js.map +1 -0
  61. package/dist/models/test_model.js +1 -1
  62. package/dist/models/test_model.js.map +1 -1
  63. package/dist/types/jxp-config.d.ts +22 -0
  64. package/dist/types/jxp-config.d.ts.map +1 -1
  65. package/dist/types/schema-fields.d.ts +4 -0
  66. package/dist/types/schema-fields.d.ts.map +1 -1
  67. package/docs/api.md +16 -2
  68. package/docs/bulk_writes.md +9 -2
  69. package/docs/changelog.md +120 -1
  70. package/docs/configuration.md +39 -0
  71. package/docs/index.md +1 -0
  72. package/docs/index_diagnostics.md +127 -0
  73. package/docs/schemas.md +3 -1
  74. package/mkdocs.yml +1 -0
  75. package/package.json +18 -7
  76. package/templates/assets/diagnostics.js +352 -0
  77. package/templates/diagnostics.pug +94 -0
  78. package/templates/index.pug +1 -0
  79. package/templates/sidebar.pug +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/libs/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/libs/groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import mongoose, { type Model } from "mongoose";
2
+ import type { JXPIndexDiagnosticsConfig, ResolvedIndexDiagnosticsConfig } from "../types/jxp-config";
3
+ export declare const SYNC_CONFIRM_PHRASE = "DROP_EXTRA_INDEXES";
4
+ export declare const INDEX_QUERY_LOG_MODEL_NAME = "IndexQueryLog";
5
+ /** Whether a completed query should trigger sampled explain monitoring. */
6
+ export declare function shouldMonitorQuery(query: mongoose.Query<unknown, unknown>): boolean;
7
+ export type ExplainSeverity = "ignore" | "ok" | "warn" | "alert";
8
+ export interface ExplainClassification {
9
+ severity: ExplainSeverity;
10
+ reason?: string;
11
+ stage?: string;
12
+ totalDocsExamined?: number;
13
+ nReturned?: number;
14
+ totalKeysExamined?: number;
15
+ millis?: number;
16
+ }
17
+ export interface QueryMonitorEntry {
18
+ at: string;
19
+ model: string;
20
+ op: string;
21
+ filterSummary: string;
22
+ severity: ExplainSeverity;
23
+ reason?: string;
24
+ stage?: string;
25
+ totalDocsExamined?: number;
26
+ nReturned?: number;
27
+ totalKeysExamined?: number;
28
+ millis?: number;
29
+ /** Present when loaded from IndexQueryLog collection */
30
+ id?: string;
31
+ }
32
+ export interface IndexAuditEntry {
33
+ modelName: string;
34
+ collection: string;
35
+ ok: boolean;
36
+ missing: Record<string, number>[];
37
+ extra: string[];
38
+ schemaIndexes: Array<{
39
+ keys: Record<string, number>;
40
+ options?: Record<string, unknown>;
41
+ }>;
42
+ dbIndexes: Array<{
43
+ name: string;
44
+ key: Record<string, number>;
45
+ [k: string]: unknown;
46
+ }>;
47
+ error?: string;
48
+ unused?: Array<{
49
+ name: string;
50
+ accesses: number;
51
+ }>;
52
+ }
53
+ export interface IndexAuditReport {
54
+ generatedAt: string;
55
+ collections: IndexAuditEntry[];
56
+ summary: {
57
+ total: number;
58
+ ok: number;
59
+ withMissing: number;
60
+ withExtra: number;
61
+ errors: number;
62
+ };
63
+ }
64
+ export interface SyncIndexesResult {
65
+ modelName: string;
66
+ created?: string[];
67
+ dropped?: string[];
68
+ error?: string;
69
+ }
70
+ export declare function summarizeFilter(filter: unknown): string;
71
+ /** Deepest data-access stages from collection inward (e.g. IXSCAN → FETCH). */
72
+ export declare function extractScanStagePath(stage: unknown): string[];
73
+ export declare function formatScanStagePath(path: string[]): string | undefined;
74
+ export declare function hasCollScan(stage: unknown): boolean;
75
+ export declare function classifyExplain(explain: Record<string, unknown>, options?: {
76
+ minDocsExamined?: number;
77
+ docsExaminedRatio?: number;
78
+ smallCollectionThreshold?: number;
79
+ collectionDocCount?: number;
80
+ }): ExplainClassification;
81
+ export declare function auditModel(model: Model<unknown>, opts?: {
82
+ includeUnused?: boolean;
83
+ }): Promise<IndexAuditEntry>;
84
+ export declare function auditAllModels(models: Record<string, Model<unknown>>, opts?: {
85
+ includeUnused?: boolean;
86
+ }): Promise<IndexAuditReport>;
87
+ export declare function syncAllModels(models: Record<string, Model<unknown>>, opts: {
88
+ confirm?: string;
89
+ }): Promise<SyncIndexesResult[]>;
90
+ /** Load app MODEL_DIR plus jxp built-in models (app overrides built-ins). */
91
+ export declare function loadModelsFromDir(modelDir: string): Record<string, Model<unknown>>;
92
+ export declare function wireQueryLogPersistence(models: Record<string, Model<unknown>>): void;
93
+ export declare function resolveIndexDiagnosticsConfig(config?: JXPIndexDiagnosticsConfig): ResolvedIndexDiagnosticsConfig;
94
+ export declare function setQueryLogModel(model: Model<unknown> | null): void;
95
+ export declare function setPersistQueries(enabled: boolean): void;
96
+ export declare function getQueryMonitorBuffer(): QueryMonitorEntry[];
97
+ export interface QueryLogListOptions {
98
+ limit?: number;
99
+ skip?: number;
100
+ severity?: string;
101
+ model_name?: string;
102
+ }
103
+ export interface QueryMonitorStatus {
104
+ /** Sampling + explain hooks are active */
105
+ active: boolean;
106
+ is_production: boolean;
107
+ diagnostics_enabled: boolean;
108
+ query_monitor_enabled: boolean;
109
+ /** Env set but registerQueryIndexMonitor never ran (e.g. old app server bootstrap) */
110
+ registration_missing: boolean;
111
+ /** Raw env for UI debugging */
112
+ env: {
113
+ QUERY_INDEX_MONITOR?: string;
114
+ INDEX_DIAGNOSTICS_ENABLED?: string;
115
+ NODE_ENV?: string;
116
+ };
117
+ /** Suggested .env lines when inactive */
118
+ env_hints: Array<{
119
+ name: string;
120
+ value: string;
121
+ comment?: string;
122
+ }>;
123
+ }
124
+ export interface QueryLogListResult {
125
+ config: ResolvedIndexDiagnosticsConfig["query_monitor"] | null;
126
+ monitor_status: QueryMonitorStatus;
127
+ entries: QueryMonitorEntry[];
128
+ persisted: boolean;
129
+ total?: number;
130
+ }
131
+ export declare function getQueryMonitorStatus(): QueryMonitorStatus;
132
+ export declare function listQueryLogs(opts?: QueryLogListOptions): Promise<QueryLogListResult>;
133
+ export declare function getQueryMonitorConfig(): ResolvedIndexDiagnosticsConfig["query_monitor"] | null;
134
+ /**
135
+ * Register mongoose plugin for sampled explain-based query monitoring.
136
+ * Call before models are loaded.
137
+ */
138
+ export declare function registerQueryIndexMonitor(config?: JXPIndexDiagnosticsConfig): void;
139
+ export declare function getCachedIndexAudit(models: Record<string, Model<unknown>>, opts?: {
140
+ includeUnused?: boolean;
141
+ refresh?: boolean;
142
+ }): Promise<IndexAuditReport>;
143
+ export declare function formatAuditReportHuman(report: IndexAuditReport): string;
144
+ //# sourceMappingURL=index_diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_diagnostics.d.ts","sourceRoot":"","sources":["../../src/libs/index_diagnostics.ts"],"names":[],"mappings":"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"}