jxp 4.1.1 → 5.0.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 (135) hide show
  1. package/.env.sample +30 -0
  2. package/README.md +2 -0
  3. package/dist/bin/index_audit.d.ts +3 -0
  4. package/dist/bin/index_audit.d.ts.map +1 -0
  5. package/dist/bin/index_audit.js +66 -0
  6. package/dist/bin/index_audit.js.map +1 -0
  7. package/dist/bin/mcp-stdio-bridge.d.ts +3 -0
  8. package/dist/bin/mcp-stdio-bridge.d.ts.map +1 -0
  9. package/dist/bin/mcp-stdio-bridge.js +87 -0
  10. package/dist/bin/mcp-stdio-bridge.js.map +1 -0
  11. package/dist/bin/server.d.ts.map +1 -1
  12. package/dist/bin/server.js +8 -2
  13. package/dist/bin/server.js.map +1 -1
  14. package/dist/libs/builtin_models.d.ts +21 -0
  15. package/dist/libs/builtin_models.d.ts.map +1 -0
  16. package/dist/libs/builtin_models.js +125 -0
  17. package/dist/libs/builtin_models.js.map +1 -0
  18. package/dist/libs/docs-auth.d.ts.map +1 -1
  19. package/dist/libs/docs-auth.js +6 -2
  20. package/dist/libs/docs-auth.js.map +1 -1
  21. package/dist/libs/docs.js +105 -44
  22. package/dist/libs/docs.js.map +1 -1
  23. package/dist/libs/groups.js +3 -4
  24. package/dist/libs/groups.js.map +1 -1
  25. package/dist/libs/index_diagnostics.d.ts +144 -0
  26. package/dist/libs/index_diagnostics.d.ts.map +1 -0
  27. package/dist/libs/index_diagnostics.js +671 -0
  28. package/dist/libs/index_diagnostics.js.map +1 -0
  29. package/dist/libs/jxp.d.ts.map +1 -1
  30. package/dist/libs/jxp.js +97 -331
  31. package/dist/libs/jxp.js.map +1 -1
  32. package/dist/libs/load-config.d.ts +2 -0
  33. package/dist/libs/load-config.d.ts.map +1 -1
  34. package/dist/libs/load-config.js +10 -0
  35. package/dist/libs/load-config.js.map +1 -1
  36. package/dist/libs/login.js +3 -8
  37. package/dist/libs/login.js.map +1 -1
  38. package/dist/libs/mcp/auth.d.ts +4 -0
  39. package/dist/libs/mcp/auth.d.ts.map +1 -0
  40. package/dist/libs/mcp/auth.js +49 -0
  41. package/dist/libs/mcp/auth.js.map +1 -0
  42. package/dist/libs/mcp/config.d.ts +21 -0
  43. package/dist/libs/mcp/config.d.ts.map +1 -0
  44. package/dist/libs/mcp/config.js +66 -0
  45. package/dist/libs/mcp/config.js.map +1 -0
  46. package/dist/libs/mcp/context.d.ts +5 -0
  47. package/dist/libs/mcp/context.d.ts.map +1 -0
  48. package/dist/libs/mcp/context.js +14 -0
  49. package/dist/libs/mcp/context.js.map +1 -0
  50. package/dist/libs/mcp/describe.d.ts +13 -0
  51. package/dist/libs/mcp/describe.d.ts.map +1 -0
  52. package/dist/libs/mcp/describe.js +36 -0
  53. package/dist/libs/mcp/describe.js.map +1 -0
  54. package/dist/libs/mcp/docs_auth.d.ts +5 -0
  55. package/dist/libs/mcp/docs_auth.d.ts.map +1 -0
  56. package/dist/libs/mcp/docs_auth.js +36 -0
  57. package/dist/libs/mcp/docs_auth.js.map +1 -0
  58. package/dist/libs/mcp/dynamic_import.d.ts +6 -0
  59. package/dist/libs/mcp/dynamic_import.d.ts.map +1 -0
  60. package/dist/libs/mcp/dynamic_import.js +12 -0
  61. package/dist/libs/mcp/dynamic_import.js.map +1 -0
  62. package/dist/libs/mcp/execute_tool.d.ts +10 -0
  63. package/dist/libs/mcp/execute_tool.d.ts.map +1 -0
  64. package/dist/libs/mcp/execute_tool.js +65 -0
  65. package/dist/libs/mcp/execute_tool.js.map +1 -0
  66. package/dist/libs/mcp/guides/default.md +67 -0
  67. package/dist/libs/mcp/guides.d.ts +14 -0
  68. package/dist/libs/mcp/guides.d.ts.map +1 -0
  69. package/dist/libs/mcp/guides.js +127 -0
  70. package/dist/libs/mcp/guides.js.map +1 -0
  71. package/dist/libs/mcp/model_visibility.d.ts +31 -0
  72. package/dist/libs/mcp/model_visibility.d.ts.map +1 -0
  73. package/dist/libs/mcp/model_visibility.js +73 -0
  74. package/dist/libs/mcp/model_visibility.js.map +1 -0
  75. package/dist/libs/mcp/mount.d.ts +10 -0
  76. package/dist/libs/mcp/mount.d.ts.map +1 -0
  77. package/dist/libs/mcp/mount.js +68 -0
  78. package/dist/libs/mcp/mount.js.map +1 -0
  79. package/dist/libs/mcp/read_service.d.ts +23 -0
  80. package/dist/libs/mcp/read_service.d.ts.map +1 -0
  81. package/dist/libs/mcp/read_service.js +141 -0
  82. package/dist/libs/mcp/read_service.js.map +1 -0
  83. package/dist/libs/mcp/server.d.ts +23 -0
  84. package/dist/libs/mcp/server.d.ts.map +1 -0
  85. package/dist/libs/mcp/server.js +111 -0
  86. package/dist/libs/mcp/server.js.map +1 -0
  87. package/dist/libs/parse_byte_size.d.ts +10 -0
  88. package/dist/libs/parse_byte_size.d.ts.map +1 -0
  89. package/dist/libs/parse_byte_size.js +80 -0
  90. package/dist/libs/parse_byte_size.js.map +1 -0
  91. package/dist/libs/query_limits.js +99 -13
  92. package/dist/libs/query_limits.js.map +1 -1
  93. package/dist/libs/read_handlers.d.ts +13 -0
  94. package/dist/libs/read_handlers.d.ts.map +1 -0
  95. package/dist/libs/read_handlers.js +381 -0
  96. package/dist/libs/read_handlers.js.map +1 -0
  97. package/dist/libs/schema.js +2 -2
  98. package/dist/libs/schema.js.map +1 -1
  99. package/dist/libs/schema_serialize.d.ts +3 -0
  100. package/dist/libs/schema_serialize.d.ts.map +1 -0
  101. package/dist/libs/schema_serialize.js +45 -0
  102. package/dist/libs/schema_serialize.js.map +1 -0
  103. package/dist/libs/security.js +7 -11
  104. package/dist/libs/security.js.map +1 -1
  105. package/dist/libs/setup.js +3 -4
  106. package/dist/libs/setup.js.map +1 -1
  107. package/dist/libs/startup.d.ts +4 -0
  108. package/dist/libs/startup.d.ts.map +1 -1
  109. package/dist/libs/startup.js +17 -0
  110. package/dist/libs/startup.js.map +1 -1
  111. package/dist/models/indexquerylog_model.d.ts +19 -0
  112. package/dist/models/indexquerylog_model.d.ts.map +1 -0
  113. package/dist/models/indexquerylog_model.js +32 -0
  114. package/dist/models/indexquerylog_model.js.map +1 -0
  115. package/dist/types/jxp-config.d.ts +29 -0
  116. package/dist/types/jxp-config.d.ts.map +1 -1
  117. package/dist/types/schema-fields.d.ts +4 -0
  118. package/dist/types/schema-fields.d.ts.map +1 -1
  119. package/docs/api.md +16 -2
  120. package/docs/changelog.md +101 -1
  121. package/docs/configuration.md +39 -0
  122. package/docs/index.md +2 -0
  123. package/docs/index_diagnostics.md +127 -0
  124. package/docs/mcp.md +134 -0
  125. package/docs/schemas.md +3 -1
  126. package/mkdocs.yml +2 -0
  127. package/package.json +26 -9
  128. package/templates/assets/diagnostics.js +352 -0
  129. package/templates/assets/docs.css +107 -0
  130. package/templates/assets/mcp-console.js +343 -0
  131. package/templates/diagnostics.pug +94 -0
  132. package/templates/index.pug +38 -0
  133. package/templates/mcp.pug +112 -0
  134. package/templates/navbar.pug +2 -0
  135. package/templates/sidebar.pug +12 -0
package/dist/libs/docs.js CHANGED
@@ -15,6 +15,10 @@ pug_1.default.filters["markdown-it"] = (text) => md.render(text);
15
15
  const getModelFileContents = require("./schema_description");
16
16
  const restify_errors_1 = __importDefault(require("restify-errors"));
17
17
  const docs_auth_1 = require("./docs-auth");
18
+ const config_1 = require("./mcp/config");
19
+ const docs_auth_2 = require("./mcp/docs_auth");
20
+ const execute_tool_1 = require("./mcp/execute_tool");
21
+ const schema_serialize_1 = require("./schema_serialize");
18
22
  const readFile = util_1.default.promisify(fs_1.default.readFile);
19
23
  const packageRoot = path_1.default.join(__dirname, "../..");
20
24
  const assetsDir = path_1.default.join(packageRoot, "templates", "assets");
@@ -29,6 +33,7 @@ const LANDING_FEATURES = [
29
33
  { title: "Schema-driven", description: "Add or change models by editing Mongoose schemas — the API updates automatically." },
30
34
  { title: "Permissions", description: "Per-model CRUD rules by user group, owner, and admin." },
31
35
  { title: "Hooks & logic", description: "pre/post hooks and custom handlers for business rules." },
36
+ { title: "MCP for AI agents", description: "Read-only Model Context Protocol tools on the same port — use with Cursor, LM Studio, or the built-in playground." },
32
37
  ];
33
38
  const buildEndpoints = (modelSlug) => {
34
39
  const base = `/api/${modelSlug}`;
@@ -63,47 +68,6 @@ const buildEndpoints = (modelSlug) => {
63
68
  },
64
69
  ];
65
70
  };
66
- // Helper function to safely serialize schema fields
67
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
- const serializeField = (field) => {
69
- const safeField = {
70
- path: field.path,
71
- instance: field.instance,
72
- options: { ...field.options },
73
- validators: field.validators?.map(v => ({
74
- type: v.type?.name,
75
- message: v.message
76
- })),
77
- isRequired: field.isRequired
78
- };
79
- if (typeof field.defaultValue === 'function') {
80
- safeField.defaultValue = '[Function]';
81
- }
82
- else if (field.defaultValue === undefined && field.options.default !== undefined) {
83
- if (typeof field.options.default === 'function') {
84
- safeField.defaultValue = '[Function]';
85
- }
86
- else {
87
- safeField.defaultValue = field.options.default;
88
- }
89
- }
90
- else {
91
- safeField.defaultValue = field.defaultValue;
92
- }
93
- if (field.instance === 'Array' && field.caster) {
94
- safeField.arrayType = field.caster.instance;
95
- if (Array.isArray(safeField.defaultValue)) {
96
- safeField.defaultValue = JSON.stringify(safeField.defaultValue);
97
- }
98
- }
99
- if (field.instance === 'Embedded' || field.instance === 'DocumentArray') {
100
- safeField.schema = Object.keys(field.schema.paths).map(p => ({
101
- path: p,
102
- type: field.schema.paths[p].instance
103
- }));
104
- }
105
- return safeField;
106
- };
107
71
  class Docs {
108
72
  config;
109
73
  models;
@@ -128,6 +92,15 @@ class Docs {
128
92
  const proto = req.connection?.encrypted ? "https" : "http";
129
93
  return `${proto}://${host}`;
130
94
  }
95
+ isInternalModel(model) {
96
+ const { isInternalModel: check } = require("./builtin_models");
97
+ return check(model);
98
+ }
99
+ publicModelList() {
100
+ return Object.keys(this.models)
101
+ .filter((slug) => !this.isInternalModel(this.models[slug]))
102
+ .sort();
103
+ }
131
104
  templateContext(req, extra = {}) {
132
105
  const access = (0, docs_auth_1.getDocsAccess)(this.config);
133
106
  const session = req ? (0, docs_auth_1.verifyDocsSession)(req) : undefined;
@@ -145,12 +118,22 @@ class Docs {
145
118
  data.title = data.title || `${this.package.name} API Documentation`;
146
119
  data.name = this.package.name;
147
120
  data.version = this.package.version;
148
- data.model_list = Object.keys(this.models).sort();
121
+ data.model_list = this.publicModelList();
149
122
  data.guide_nav = this.mkdocs.nav || [];
150
123
  data.active_section = data.active_section || "";
151
124
  data.active_guide = data.active_guide || "";
152
125
  data.active_model = data.active_model || "";
153
126
  data.first_guide_url = data.first_guide_url ?? this.getFirstGuideUrl();
127
+ data.mcp_enabled = (0, config_1.isMcpEnabled)();
128
+ data.mcp_path = (0, config_1.getMcpConfig)().path;
129
+ if (req) {
130
+ const baseUrl = data.base_url ?? this.getBaseUrl(req);
131
+ data.base_url = baseUrl;
132
+ data.mcp_url = data.mcp_url ?? `${baseUrl}${(0, config_1.getMcpConfig)().path}`;
133
+ data.mcp_server_slug =
134
+ data.mcp_server_slug ??
135
+ (this.package.name.replace(/[^a-zA-Z0-9_-]/g, "-").toLowerCase() || "jxp");
136
+ }
154
137
  const body = template(data);
155
138
  res.writeHead(200, {
156
139
  'Content-Length': Buffer.byteLength(body),
@@ -244,6 +227,63 @@ class Docs {
244
227
  return next(new restify_errors_1.default.InternalServerError(err.toString()));
245
228
  }
246
229
  }
230
+ mcpPlayground(req, res, next) {
231
+ try {
232
+ if (!(0, config_1.isMcpEnabled)()) {
233
+ return next(new restify_errors_1.default.NotFoundError("MCP is not enabled on this server"));
234
+ }
235
+ const baseUrl = this.getBaseUrl(req);
236
+ const mcpPath = (0, config_1.getMcpConfig)().path;
237
+ const mcpUrl = `${baseUrl}${mcpPath}`;
238
+ const serverSlug = this.package.name.replace(/[^a-zA-Z0-9_-]/g, "-").toLowerCase() || "jxp";
239
+ const mcpHttpJson = JSON.stringify({
240
+ mcpServers: {
241
+ [serverSlug]: {
242
+ url: mcpUrl,
243
+ headers: { "X-API-Key": "YOUR_API_KEY" },
244
+ },
245
+ },
246
+ }, null, 2);
247
+ const mcpStdioJson = JSON.stringify({
248
+ mcpServers: {
249
+ [serverSlug]: {
250
+ command: "npx",
251
+ args: ["-y", "jxp-mcp"],
252
+ env: { JXP_URL: baseUrl, JXP_API_KEY: "YOUR_API_KEY" },
253
+ },
254
+ },
255
+ }, null, 2);
256
+ this.renderTemplate(res, "mcp", {
257
+ active_section: "mcp",
258
+ title: `MCP assistant · ${this.package.name}`,
259
+ mcp_path: mcpPath,
260
+ mcp_url: mcpUrl,
261
+ base_url: baseUrl,
262
+ mcp_server_slug: serverSlug,
263
+ mcp_http_json: mcpHttpJson,
264
+ mcp_stdio_json: mcpStdioJson,
265
+ }, req);
266
+ }
267
+ catch (err) {
268
+ console.error(err);
269
+ return next(new restify_errors_1.default.InternalServerError(err.toString()));
270
+ }
271
+ }
272
+ async mcpCall(req, res) {
273
+ if (!(0, config_1.isMcpEnabled)()) {
274
+ throw new restify_errors_1.default.NotFoundError("MCP is not enabled");
275
+ }
276
+ const name = String(req.body?.name ?? "").trim();
277
+ if (!name || !(0, execute_tool_1.isAllowedMcpTool)(name)) {
278
+ throw new restify_errors_1.default.BadRequestError("Invalid MCP tool name");
279
+ }
280
+ const args = req.body?.arguments && typeof req.body.arguments === "object" && !Array.isArray(req.body.arguments)
281
+ ? req.body.arguments
282
+ : {};
283
+ const auth = await (0, docs_auth_2.authenticateDocsMcpRequest)(req);
284
+ const result = await (0, execute_tool_1.executeMcpTool)(name, args, this.config, this.models, auth);
285
+ res.send(result);
286
+ }
247
287
  md(req, res, next) {
248
288
  try {
249
289
  const docFile = req.params.md_doc;
@@ -269,9 +309,30 @@ class Docs {
269
309
  return next(new restify_errors_1.default.InternalServerError(err.toString()));
270
310
  }
271
311
  }
312
+ diagnostics(req, res, next) {
313
+ try {
314
+ const model_filter_options = Object.keys(this.models)
315
+ .sort()
316
+ .map((slug) => {
317
+ const name = this.models[slug].modelName;
318
+ const label = slug === name.toLowerCase() ? slug : `${slug} (${name})`;
319
+ return { value: name, label };
320
+ });
321
+ this.renderTemplate(res, "diagnostics", {
322
+ active_section: "diagnostics",
323
+ title: `Index diagnostics · ${this.package.name}`,
324
+ sync_confirm: "DROP_EXTRA_INDEXES",
325
+ model_filter_options,
326
+ }, req);
327
+ }
328
+ catch (err) {
329
+ console.error(err);
330
+ return next(new restify_errors_1.default.InternalServerError(err.toString()));
331
+ }
332
+ }
272
333
  apiIndex(req, res, next) {
273
334
  try {
274
- const model_summaries = Object.keys(this.models).sort().map(slug => {
335
+ const model_summaries = this.publicModelList().map(slug => {
275
336
  const model = this.models[slug];
276
337
  const perms = model.schema.opts?.perms;
277
338
  return {
@@ -303,7 +364,7 @@ class Docs {
303
364
  const perms = model.schema.opts?.perms;
304
365
  const safeFields = {};
305
366
  fields.forEach(fieldName => {
306
- safeFields[fieldName] = serializeField(model.schema.paths[fieldName]);
367
+ safeFields[fieldName] = (0, schema_serialize_1.serializeField)(model.schema.paths[fieldName]);
307
368
  });
308
369
  this.renderTemplate(res, "model", {
309
370
  model,
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/libs/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/libs/docs.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const errors = require("restify-errors");
4
+ const { getModelFromRegistry } = require("./builtin_models");
4
5
  let Groups = null;
5
- const init = config => {
6
- const path = require("path");
7
- const mod = require(path.join(config.model_dir, "usergroups_model"));
8
- Groups = mod.default || mod;
6
+ const init = (models, _config) => {
7
+ Groups = getModelFromRegistry(models, "usergroups");
9
8
  };
10
9
  const actionPut = async (req, res) => {
11
10
  const user_id = req.params.user_id;
@@ -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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"}