@servicelabsco/slabs-access-manager 1.0.70 → 1.0.73

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 (137) hide show
  1. package/dist/access/controllers/report.view.controller.d.ts +30 -12
  2. package/dist/access/controllers/report.view.controller.js +1 -1
  3. package/dist/access/controllers/report.view.controller.js.map +1 -1
  4. package/dist/access/dtos/report.view.query.dto.d.ts +1 -0
  5. package/dist/access/dtos/report.view.query.dto.js +20 -0
  6. package/dist/access/dtos/report.view.query.dto.js.map +1 -1
  7. package/dist/access/entities/business.material.view.entity.d.ts +9 -0
  8. package/dist/access/entities/business.material.view.entity.js +44 -0
  9. package/dist/access/entities/business.material.view.entity.js.map +1 -0
  10. package/dist/access/entities/index.d.ts +1 -0
  11. package/dist/access/entities/index.js +1 -0
  12. package/dist/access/entities/index.js.map +1 -1
  13. package/dist/access/es6.classes.d.ts +10 -3
  14. package/dist/access/es6.classes.js +6 -0
  15. package/dist/access/es6.classes.js.map +1 -1
  16. package/dist/access/libraries/index.d.ts +1 -0
  17. package/dist/access/libraries/index.js +1 -0
  18. package/dist/access/libraries/index.js.map +1 -1
  19. package/dist/access/libraries/report.view.enablement.d.ts +11 -0
  20. package/dist/access/libraries/report.view.enablement.js +49 -0
  21. package/dist/access/libraries/report.view.enablement.js.map +1 -0
  22. package/dist/access/libraries/report.view.query.compiler.d.ts +35 -2
  23. package/dist/access/libraries/report.view.query.compiler.js +274 -46
  24. package/dist/access/libraries/report.view.query.compiler.js.map +1 -1
  25. package/dist/access/middlewares/mcp.rate.limit.middleware.d.ts +2 -0
  26. package/dist/access/middlewares/mcp.rate.limit.middleware.js +27 -6
  27. package/dist/access/middlewares/mcp.rate.limit.middleware.js.map +1 -1
  28. package/dist/access/services/listing.preference.service.js +11 -1
  29. package/dist/access/services/listing.preference.service.js.map +1 -1
  30. package/dist/access/services/listing.service.d.ts +3 -1
  31. package/dist/access/services/listing.service.js +7 -6
  32. package/dist/access/services/listing.service.js.map +1 -1
  33. package/dist/access/services/oauth.as.service.d.ts +1 -0
  34. package/dist/access/services/oauth.as.service.js +1 -0
  35. package/dist/access/services/oauth.as.service.js.map +1 -1
  36. package/dist/access/services/report.view.service.d.ts +34 -12
  37. package/dist/access/services/report.view.service.js +81 -14
  38. package/dist/access/services/report.view.service.js.map +1 -1
  39. package/dist/access/subscribers/business.material.view.subscriber.d.ts +8 -0
  40. package/dist/access/subscribers/business.material.view.subscriber.js +31 -0
  41. package/dist/access/subscribers/business.material.view.subscriber.js.map +1 -0
  42. package/dist/access/subscribers/index.d.ts +1 -0
  43. package/dist/access/subscribers/index.js +1 -0
  44. package/dist/access/subscribers/index.js.map +1 -1
  45. package/dist/accessUtility/es6.classes.d.ts +2 -3
  46. package/dist/accessUtility/es6.classes.js +0 -2
  47. package/dist/accessUtility/es6.classes.js.map +1 -1
  48. package/dist/accessUtility/libraries/process.report.listing.d.ts +1 -1
  49. package/dist/accessUtility/services/es6.service.d.ts +1 -3
  50. package/dist/accessUtility/services/es6.service.js +2 -6
  51. package/dist/accessUtility/services/es6.service.js.map +1 -1
  52. package/dist/accessUtility/services/index.d.ts +0 -1
  53. package/dist/accessUtility/services/index.js +0 -1
  54. package/dist/accessUtility/services/index.js.map +1 -1
  55. package/dist/app.controller.d.ts +1 -2
  56. package/dist/app.controller.js +1 -2
  57. package/dist/app.controller.js.map +1 -1
  58. package/dist/config/entity.constants.d.ts +2 -0
  59. package/dist/config/entity.constants.js +2 -0
  60. package/dist/config/entity.constants.js.map +1 -1
  61. package/dist/development/controllers/development.catalog.controller.d.ts +25 -2
  62. package/dist/development/controllers/development.catalog.controller.js +32 -0
  63. package/dist/development/controllers/development.catalog.controller.js.map +1 -1
  64. package/dist/development/dtos/material.view.catalog.attributes.dto.d.ts +16 -0
  65. package/dist/development/dtos/material.view.catalog.attributes.dto.js +63 -1
  66. package/dist/development/dtos/material.view.catalog.attributes.dto.js.map +1 -1
  67. package/dist/development/services/admin.report.view.service.d.ts +25 -1
  68. package/dist/development/services/admin.report.view.service.js +195 -13
  69. package/dist/development/services/admin.report.view.service.js.map +1 -1
  70. package/dist/mcp/admin/tools/admin.tool.registry.js +6 -0
  71. package/dist/mcp/admin/tools/admin.tool.registry.js.map +1 -1
  72. package/dist/mcp/admin/tools/catalog/admin.column.describe.tool.js +1 -1
  73. package/dist/mcp/admin/tools/catalog/admin.column.describe.tool.js.map +1 -1
  74. package/dist/mcp/admin/tools/catalog/admin.view.business.clear.tool.d.ts +18 -0
  75. package/dist/mcp/admin/tools/catalog/admin.view.business.clear.tool.js +27 -0
  76. package/dist/mcp/admin/tools/catalog/admin.view.business.clear.tool.js.map +1 -0
  77. package/dist/mcp/admin/tools/catalog/admin.view.business.set.tool.d.ts +20 -0
  78. package/dist/mcp/admin/tools/catalog/admin.view.business.set.tool.js +28 -0
  79. package/dist/mcp/admin/tools/catalog/admin.view.business.set.tool.js.map +1 -0
  80. package/dist/mcp/admin/tools/catalog/admin.view.businesses.tool.d.ts +17 -0
  81. package/dist/mcp/admin/tools/catalog/admin.view.businesses.tool.js +23 -0
  82. package/dist/mcp/admin/tools/catalog/admin.view.businesses.tool.js.map +1 -0
  83. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.d.ts +3 -1
  84. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.js +5 -1
  85. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.js.map +1 -1
  86. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.d.ts +1 -1
  87. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.js +2 -2
  88. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.js.map +1 -1
  89. package/dist/mcp/admin/tools/catalog/admin.views.list.tool.js.map +1 -1
  90. package/dist/mcp/admin/tools/catalog/index.d.ts +3 -0
  91. package/dist/mcp/admin/tools/catalog/index.js +3 -0
  92. package/dist/mcp/admin/tools/catalog/index.js.map +1 -1
  93. package/dist/mcp/auth/index.d.ts +2 -0
  94. package/dist/mcp/auth/index.js +2 -0
  95. package/dist/mcp/auth/index.js.map +1 -1
  96. package/dist/mcp/auth/mcp.execution.context.d.ts +8 -0
  97. package/dist/mcp/auth/mcp.execution.context.js +44 -0
  98. package/dist/mcp/auth/mcp.execution.context.js.map +1 -0
  99. package/dist/mcp/auth/mcp.scope.policy.d.ts +12 -0
  100. package/dist/mcp/auth/mcp.scope.policy.js +28 -0
  101. package/dist/mcp/auth/mcp.scope.policy.js.map +1 -0
  102. package/dist/mcp/es6.classes.d.ts +11 -2
  103. package/dist/mcp/es6.classes.js +9 -1
  104. package/dist/mcp/es6.classes.js.map +1 -1
  105. package/dist/mcp/http/business.mcp.controller.d.ts +1 -3
  106. package/dist/mcp/http/business.mcp.controller.js +7 -19
  107. package/dist/mcp/http/business.mcp.controller.js.map +1 -1
  108. package/dist/mcp/interfaces/mcp.tool.interface.d.ts +1 -0
  109. package/dist/mcp/logging/mcp.call.log.interceptor.js +1 -0
  110. package/dist/mcp/logging/mcp.call.log.interceptor.js.map +1 -1
  111. package/dist/mcp/logging/sanitize.mcp.call.log.d.ts +25 -0
  112. package/dist/mcp/logging/sanitize.mcp.call.log.js +60 -1
  113. package/dist/mcp/logging/sanitize.mcp.call.log.js.map +1 -1
  114. package/dist/mcp/mentities/mcp.call.log.mentity.d.ts +1 -0
  115. package/dist/mcp/mentities/mcp.call.log.mentity.js +4 -0
  116. package/dist/mcp/mentities/mcp.call.log.mentity.js.map +1 -1
  117. package/dist/mcp/slabs.mcp.server.js +5 -1
  118. package/dist/mcp/slabs.mcp.server.js.map +1 -1
  119. package/dist/mcp/tools/mcp.tool.d.ts +1 -0
  120. package/dist/mcp/tools/mcp.tool.js +9 -0
  121. package/dist/mcp/tools/mcp.tool.js.map +1 -1
  122. package/dist/mcp/tools/view.describe.tool.d.ts +1 -1
  123. package/dist/mcp/tools/view.describe.tool.js +1 -1
  124. package/dist/mcp/tools/view.describe.tool.js.map +1 -1
  125. package/dist/mcp/tools/view.query.tool.d.ts +9 -5
  126. package/dist/mcp/tools/view.query.tool.js +11 -3
  127. package/dist/mcp/tools/view.query.tool.js.map +1 -1
  128. package/dist/mcp/tools/views.list.tool.d.ts +1 -1
  129. package/dist/mcp/tools/views.list.tool.js +1 -1
  130. package/dist/mcp/tools/views.list.tool.js.map +1 -1
  131. package/dist/migrations/1787174933444-CreateBusinessMaterialViewTable.d.ts +5 -0
  132. package/dist/migrations/1787174933444-CreateBusinessMaterialViewTable.js +21 -0
  133. package/dist/migrations/1787174933444-CreateBusinessMaterialViewTable.js.map +1 -0
  134. package/package.json +4 -1
  135. package/dist/accessUtility/services/pdf.service.d.ts +0 -14
  136. package/dist/accessUtility/services/pdf.service.js +0 -89
  137. package/dist/accessUtility/services/pdf.service.js.map +0 -1
@@ -1,6 +1,9 @@
1
1
  import { AdminToolRegistry } from './admin/tools/admin.tool.registry';
2
2
  import { AdminCatalogValidateTool } from './admin/tools/catalog/admin.catalog.validate.tool';
3
3
  import { AdminColumnDescribeTool } from './admin/tools/catalog/admin.column.describe.tool';
4
+ import { AdminViewBusinessClearTool } from './admin/tools/catalog/admin.view.business.clear.tool';
5
+ import { AdminViewBusinessSetTool } from './admin/tools/catalog/admin.view.business.set.tool';
6
+ import { AdminViewBusinessesTool } from './admin/tools/catalog/admin.view.businesses.tool';
4
7
  import { AdminViewColumnsSyncTool } from './admin/tools/catalog/admin.view.columns.sync.tool';
5
8
  import { AdminViewRegisterTool } from './admin/tools/catalog/admin.view.register.tool';
6
9
  import { AdminViewSampleTool } from './admin/tools/catalog/admin.view.sample.tool';
@@ -71,7 +74,9 @@ import { UiActionRoleDeleteTool } from './admin/tools/ui_action_role/ui.action.r
71
74
  import { UiActionRoleGetTool } from './admin/tools/ui_action_role/ui.action.role.get.tool';
72
75
  import { UiActionRoleListTool } from './admin/tools/ui_action_role/ui.action.role.list.tool';
73
76
  import { UiActionRoleUpdateTool } from './admin/tools/ui_action_role/ui.action.role.update.tool';
77
+ import { McpExecutionContext } from './auth/mcp.execution.context';
74
78
  import { McpIdempotencyStore } from './auth/mcp.idempotency.store';
79
+ import { McpScopePolicy } from './auth/mcp.scope.policy';
75
80
  import { McpCatalogGate } from './catalog/mcp.catalog.gate';
76
81
  import { ClientCredentialAuth } from './client/client.credential.auth';
77
82
  import { DevelopmentKeyAuth } from './client/development.key.auth';
@@ -99,8 +104,8 @@ import { ViewQueryTool } from './tools/view.query.tool';
99
104
  import { ViewsListTool } from './tools/views.list.tool';
100
105
  import { WhoamiTool } from './tools/whoami.tool';
101
106
  declare const es6Classes: {
102
- admin: (typeof ChildMenuCreateTool | typeof ChildMenuDeleteTool | typeof ChildMenuGetTool | typeof ChildMenuListTool | typeof ChildMenuUpdateTool | typeof ListingColumnCreateTool | typeof ListingColumnDeleteTool | typeof ListingColumnGetTool | typeof ListingColumnListTool | typeof ListingColumnUpdateTool | typeof ListingPageCreateTool | typeof ListingPageDeleteTool | typeof ListingPageGetTool | typeof ListingPageListTool | typeof ListingPageUpdateTool | typeof ListingPreferenceCreateTool | typeof ListingPreferenceDeleteTool | typeof ListingPreferenceGetTool | typeof ListingPreferenceListTool | typeof ListingPreferenceUpdateTool | typeof MenuCreateTool | typeof MenuDeleteTool | typeof MenuGetTool | typeof MenuListTool | typeof MenuUpdateTool | typeof MenuRoleCreateTool | typeof MenuRoleDeleteTool | typeof MenuRoleGetTool | typeof MenuRoleListTool | typeof MenuRoleUpdateTool | typeof MenuUiActionCreateTool | typeof MenuUiActionDeleteTool | typeof MenuUiActionGetTool | typeof MenuUiActionListTool | typeof MenuUiActionUpdateTool | typeof ModuleCreateTool | typeof ModuleDeleteTool | typeof ModuleGetTool | typeof ModuleListTool | typeof ModuleUpdateTool | typeof ModuleMenuCreateTool | typeof ModuleMenuDeleteTool | typeof ModuleMenuGetTool | typeof ModuleMenuListTool | typeof ModuleMenuUpdateTool | typeof ReportCreateTool | typeof ReportDeleteTool | typeof ReportGetTool | typeof ReportListTool | typeof ReportUpdateTool | typeof UiActionCreateTool | typeof UiActionDeleteTool | typeof UiActionGetTool | typeof UiActionListTool | typeof UiActionUpdateTool | typeof UiActionRoleCreateTool | typeof UiActionRoleDeleteTool | typeof UiActionRoleGetTool | typeof UiActionRoleListTool | typeof UiActionRoleUpdateTool | typeof FormScriptCreateTool | typeof FormScriptDeleteTool | typeof FormScriptGetTool | typeof FormScriptListTool | typeof FormScriptUpdateTool | typeof AdminCatalogValidateTool | typeof AdminColumnDescribeTool | typeof AdminViewColumnsSyncTool | typeof AdminViewRegisterTool | typeof AdminViewSampleTool | typeof AdminViewUpdateTool | typeof AdminViewsListTool | typeof AdminToolRegistry)[];
103
- auth: (typeof McpIdempotencyStore)[];
107
+ admin: (typeof ChildMenuCreateTool | typeof ChildMenuDeleteTool | typeof ChildMenuGetTool | typeof ChildMenuListTool | typeof ChildMenuUpdateTool | typeof ListingColumnCreateTool | typeof ListingColumnDeleteTool | typeof ListingColumnGetTool | typeof ListingColumnListTool | typeof ListingColumnUpdateTool | typeof ListingPageCreateTool | typeof ListingPageDeleteTool | typeof ListingPageGetTool | typeof ListingPageListTool | typeof ListingPageUpdateTool | typeof ListingPreferenceCreateTool | typeof ListingPreferenceDeleteTool | typeof ListingPreferenceGetTool | typeof ListingPreferenceListTool | typeof ListingPreferenceUpdateTool | typeof MenuCreateTool | typeof MenuDeleteTool | typeof MenuGetTool | typeof MenuListTool | typeof MenuUpdateTool | typeof MenuRoleCreateTool | typeof MenuRoleDeleteTool | typeof MenuRoleGetTool | typeof MenuRoleListTool | typeof MenuRoleUpdateTool | typeof MenuUiActionCreateTool | typeof MenuUiActionDeleteTool | typeof MenuUiActionGetTool | typeof MenuUiActionListTool | typeof MenuUiActionUpdateTool | typeof ModuleCreateTool | typeof ModuleDeleteTool | typeof ModuleGetTool | typeof ModuleListTool | typeof ModuleUpdateTool | typeof ModuleMenuCreateTool | typeof ModuleMenuDeleteTool | typeof ModuleMenuGetTool | typeof ModuleMenuListTool | typeof ModuleMenuUpdateTool | typeof ReportCreateTool | typeof ReportDeleteTool | typeof ReportGetTool | typeof ReportListTool | typeof ReportUpdateTool | typeof UiActionCreateTool | typeof UiActionDeleteTool | typeof UiActionGetTool | typeof UiActionListTool | typeof UiActionUpdateTool | typeof UiActionRoleCreateTool | typeof UiActionRoleDeleteTool | typeof UiActionRoleGetTool | typeof UiActionRoleListTool | typeof UiActionRoleUpdateTool | typeof FormScriptCreateTool | typeof FormScriptDeleteTool | typeof FormScriptGetTool | typeof FormScriptListTool | typeof FormScriptUpdateTool | typeof AdminCatalogValidateTool | typeof AdminColumnDescribeTool | typeof AdminViewBusinessClearTool | typeof AdminViewBusinessSetTool | typeof AdminViewBusinessesTool | typeof AdminViewColumnsSyncTool | typeof AdminViewRegisterTool | typeof AdminViewSampleTool | typeof AdminViewUpdateTool | typeof AdminViewsListTool | typeof AdminToolRegistry)[];
108
+ auth: (typeof McpIdempotencyStore | typeof McpExecutionContext | typeof McpScopePolicy)[];
104
109
  catalog: ({
105
110
  assertValidCatalog: typeof import("./catalog/assert.valid.catalog").assertValidCatalog;
106
111
  } | typeof McpCatalogGate)[];
@@ -113,6 +118,10 @@ declare const es6Classes: {
113
118
  hashCompiledSql: typeof import("./logging/sanitize.mcp.call.log").hashCompiledSql;
114
119
  hottestQueryFamilies: typeof import("./logging/sanitize.mcp.call.log").hottestQueryFamilies;
115
120
  extractExplainCost: typeof import("./logging/sanitize.mcp.call.log").extractExplainCost;
121
+ capIntent: typeof import("./logging/sanitize.mcp.call.log").capIntent;
122
+ extractIntent: typeof import("./logging/sanitize.mcp.call.log").extractIntent;
123
+ clusterIntentsBySqlHash: typeof import("./logging/sanitize.mcp.call.log").clusterIntentsBySqlHash;
124
+ catalogGapIntents: typeof import("./logging/sanitize.mcp.call.log").catalogGapIntents;
116
125
  } | typeof McpCallLogWriter | typeof McpCallLogInterceptor)[];
117
126
  mentities: (typeof McpCallLogMentity)[];
118
127
  tools: (typeof McpTool | typeof WhoamiTool | typeof ViewDescribeTool | typeof ViewQueryTool | typeof ViewsListTool | typeof ToolRegistry | {
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const admin_tool_registry_1 = require("./admin/tools/admin.tool.registry");
4
4
  const admin_catalog_validate_tool_1 = require("./admin/tools/catalog/admin.catalog.validate.tool");
5
5
  const admin_column_describe_tool_1 = require("./admin/tools/catalog/admin.column.describe.tool");
6
+ const admin_view_business_clear_tool_1 = require("./admin/tools/catalog/admin.view.business.clear.tool");
7
+ const admin_view_business_set_tool_1 = require("./admin/tools/catalog/admin.view.business.set.tool");
8
+ const admin_view_businesses_tool_1 = require("./admin/tools/catalog/admin.view.businesses.tool");
6
9
  const admin_view_columns_sync_tool_1 = require("./admin/tools/catalog/admin.view.columns.sync.tool");
7
10
  const admin_view_register_tool_1 = require("./admin/tools/catalog/admin.view.register.tool");
8
11
  const admin_view_sample_tool_1 = require("./admin/tools/catalog/admin.view.sample.tool");
@@ -73,7 +76,9 @@ const ui_action_role_delete_tool_1 = require("./admin/tools/ui_action_role/ui.ac
73
76
  const ui_action_role_get_tool_1 = require("./admin/tools/ui_action_role/ui.action.role.get.tool");
74
77
  const ui_action_role_list_tool_1 = require("./admin/tools/ui_action_role/ui.action.role.list.tool");
75
78
  const ui_action_role_update_tool_1 = require("./admin/tools/ui_action_role/ui.action.role.update.tool");
79
+ const mcp_execution_context_1 = require("./auth/mcp.execution.context");
76
80
  const mcp_idempotency_store_1 = require("./auth/mcp.idempotency.store");
81
+ const mcp_scope_policy_1 = require("./auth/mcp.scope.policy");
77
82
  const assert_valid_catalog_1 = require("./catalog/assert.valid.catalog");
78
83
  const mcp_catalog_gate_1 = require("./catalog/mcp.catalog.gate");
79
84
  const client_credential_auth_1 = require("./client/client.credential.auth");
@@ -111,6 +116,9 @@ const es6Classes = {
111
116
  admin_tool_registry_1.AdminToolRegistry,
112
117
  admin_catalog_validate_tool_1.AdminCatalogValidateTool,
113
118
  admin_column_describe_tool_1.AdminColumnDescribeTool,
119
+ admin_view_business_clear_tool_1.AdminViewBusinessClearTool,
120
+ admin_view_business_set_tool_1.AdminViewBusinessSetTool,
121
+ admin_view_businesses_tool_1.AdminViewBusinessesTool,
114
122
  admin_view_columns_sync_tool_1.AdminViewColumnsSyncTool,
115
123
  admin_view_register_tool_1.AdminViewRegisterTool,
116
124
  admin_view_sample_tool_1.AdminViewSampleTool,
@@ -182,7 +190,7 @@ const es6Classes = {
182
190
  ui_action_role_list_tool_1.UiActionRoleListTool,
183
191
  ui_action_role_update_tool_1.UiActionRoleUpdateTool,
184
192
  ],
185
- auth: [mcp_idempotency_store_1.McpIdempotencyStore],
193
+ auth: [mcp_execution_context_1.McpExecutionContext, mcp_idempotency_store_1.McpIdempotencyStore, mcp_scope_policy_1.McpScopePolicy],
186
194
  catalog: [assert_valid_catalog_1.AssertValidCatalog, mcp_catalog_gate_1.McpCatalogGate],
187
195
  client: [client_credential_auth_1.ClientCredentialAuth, development_key_auth_1.DevelopmentKeyAuth, slabs_api_client_1.SlabsApiClient, slabs_api_error_1.SlabsApiError],
188
196
  http: [admin_mcp_controller_1.AdminMcpController, business_mcp_controller_1.BusinessMcpController, mcp_http_module_1.McpHttpModule, mcp_request_handler_1.McpRequestHandler, prm_controller_1.PrmController, unauthorized_mcp_response_1.UnauthorizedMcpResponse],
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/mcp/es6.classes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/mcp/es6.classes.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,6 @@ export declare class BusinessMcpController {
7
7
  get(req: Request, res: Response): void;
8
8
  delete(res: Response): Response<any, Record<string, any>>;
9
9
  private dispatch;
10
- private toolsFor;
11
- private scopeAllows;
12
- private callerScopes;
10
+ private allTools;
13
11
  private keepAlive;
14
12
  }
@@ -14,8 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BusinessMcpController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
- const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
18
17
  const extract_client_credentials_1 = require("../../access/libraries/extract.client.credentials");
18
+ const mcp_execution_context_1 = require("../auth/mcp.execution.context");
19
+ const mcp_scope_policy_1 = require("../auth/mcp.scope.policy");
19
20
  const client_credential_auth_1 = require("../client/client.credential.auth");
20
21
  const mcp_constants_1 = require("../mcp.constants");
21
22
  const tool_registry_1 = require("../tools/tool.registry");
@@ -45,35 +46,22 @@ let BusinessMcpController = class BusinessMcpController {
45
46
  return unauthorized_mcp_response_1.UnauthorizedMcpResponse.unauthorized(res, 'Missing Authorization Bearer token or x-client-id / x-client-secret headers.');
46
47
  }
47
48
  const auth = new client_credential_auth_1.ClientCredentialAuth(creds.clientId, creds.clientSecret);
48
- const scopes = this.callerScopes();
49
+ const context = mcp_execution_context_1.McpExecutionContext.fromAuth();
49
50
  return this.handler.handle(req, res, {
50
51
  name: (0, mcp_constants_1.getMcpServerName)(),
51
52
  auth,
52
- tools: (client) => this.toolsFor(client, scopes),
53
+ tools: (client) => mcp_scope_policy_1.McpScopePolicy.filter(this.allTools(client), context),
53
54
  });
54
55
  }
55
- toolsFor(client, scopes) {
56
- const merged = [...new tool_registry_1.ToolRegistry(client).tools(), ...(0, mcp_constants_1.getHostMcpRegistries)().flatMap((factory) => factory(client))];
57
- return merged.filter((tool) => this.scopeAllows(tool, scopes));
58
- }
59
- scopeAllows(tool, scopes) {
60
- if (scopes.includes('mcp'))
61
- return true;
62
- const required = tool.requiredScopes || [];
63
- if (!required.length)
64
- return true;
65
- return required.some((scope) => scopes.includes(scope));
66
- }
67
- callerScopes() {
68
- const user = nestjs_utility_services_1.Auth.user();
69
- const scope = user?.auth_attributes?.scope;
70
- return Array.isArray(scope) && scope.length ? scope : ['mcp'];
56
+ allTools(client) {
57
+ return [...new tool_registry_1.ToolRegistry(client).tools(), ...(0, mcp_constants_1.getHostMcpRegistries)().flatMap((factory) => factory(client))];
71
58
  }
72
59
  keepAlive(req, res) {
73
60
  res.status(200);
74
61
  res.setHeader('Content-Type', 'text/event-stream');
75
62
  res.setHeader('Cache-Control', 'no-cache, no-transform');
76
63
  res.setHeader('Connection', 'keep-alive');
64
+ res.setHeader('X-Accel-Buffering', 'no');
77
65
  res.flushHeaders?.();
78
66
  res.write(': ping\n\n');
79
67
  const timer = setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"business.mcp.controller.js","sourceRoot":"","sources":["../../../src/mcp/http/business.mcp.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"business.mcp.controller.js","sourceRoot":"","sources":["../../../src/mcp/http/business.mcp.controller.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export interface McpToolInterface {
3
3
  readonly name: string;
4
4
  readonly requiredScopes?: string[];
5
+ readonly isReadOnly?: boolean;
5
6
  register(server: McpServer): void;
6
7
  }
@@ -106,6 +106,7 @@ let McpCallLogInterceptor = McpCallLogInterceptor_1 = class McpCallLogIntercepto
106
106
  row_count: cost.row_count ?? null,
107
107
  }
108
108
  : undefined,
109
+ intent: (0, sanitize_mcp_call_log_1.extractIntent)(req.body) || (0, sanitize_mcp_call_log_1.extractIntent)(identity.request),
109
110
  created_at: new Date(),
110
111
  expire_at: new Date(Date.now() + ttlDays * 86_400_000),
111
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.call.log.interceptor.js","sourceRoot":"","sources":["../../../src/mcp/logging/mcp.call.log.interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.call.log.interceptor.js","sourceRoot":"","sources":["../../../src/mcp/logging/mcp.call.log.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoG;AACpG,oFAA8D;AAC9D,+BAAuC;AACvC,oDAAoD;AACpD,+DAAyD;AACzD,mEAA+G;AAOxG,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAG9B,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;QAFpC,WAAM,GAAG,IAAI,eAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IAET,CAAC;IAEzD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACrB,IAAA,UAAG,EAAC;YACA,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,IAAI,CAAC;YACrF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;SACjF,CAAC,CACL,CAAC;IACN,CAAC;IAEO,SAAS,CAAC,GAA6D;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3G,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,MAAM,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,GAAQ,EAAE,MAA+B;QAC1D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,OAAqC,EAAE,GAAQ,EAAE,GAAQ,EAAE,OAAe,EAAE,KAAc,EAAE,KAAc;QACzH,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACjE,KAAK,OAAO,CAAC,OAAO,EAAE;iBACjB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,UAAU,EAAE,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAA0B,UAAoB,EAAE,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAqC,EAAE,GAAQ,EAAE,GAAQ,EAAE,OAAe,EAAE,KAAc,EAAE,KAAc;QACpH,MAAM,IAAI,GAAG,8BAAI,CAAC,IAAI,EAAS,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAG,KAAe,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,MAAM,MAAM,GAAG,IAAA,uCAAe,EAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,wCAAgB,CAAC;QAEjC,OAAO;YACH,OAAO;YACP,WAAW,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,IAAA,gCAAgB,GAAE,QAAQ,CAAC,CAAC,CAAC,IAAA,gCAAgB,GAAE;YACzF,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM;YACjC,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,GAAG,QAAQ;YACX,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE;gBACN,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG;gBAC/D,GAAG,MAAM;gBACT,SAAS,EAAE,IAAI,EAAE,SAAS,IAAK,YAAoB,EAAE,SAAS,IAAI,IAAI;aACzE;YACD,SAAS,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAC3B,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;gBACvB,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI;aACpC;YACD,IAAI,EAAE,IAAI;gBACN,CAAC,CAAC;oBACI,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;iBACpC;gBACH,CAAC,CAAC,SAAS;YACf,MAAM,EAAE,IAAA,qCAAa,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAA,qCAAa,EAAC,QAAQ,CAAC,OAAO,CAAC;YAClE,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,UAAU,CAAC;SACzD,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,GAAQ;QAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACjD,IAAI,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACxG,CAAC;IAEO,QAAQ,CAAC,GAAQ;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,OAAO,YAAY,CAAC;QACjG,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,CAAC;QACpH,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,QAAQ,CAAC,KAAc;QAQ3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrD,OAAQ,KAAa,CAAC,YAAY,IAAI,IAAI,CAAC;IAC/C,CAAC;CACJ,CAAA;AA5HY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAI4B,sCAAgB;GAH5C,qBAAqB,CA4HjC"}
@@ -1,5 +1,6 @@
1
1
  export declare const MCP_LOG_BODY_CAP: number;
2
2
  export declare const MCP_LOG_TTL_DAYS: number;
3
+ export declare const MCP_LOG_INTENT_CAP = 500;
3
4
  export type McpCaller = {
4
5
  id?: number;
5
6
  auth_attributes?: {
@@ -26,6 +27,26 @@ export declare function capResponseBody(body: unknown, cap?: number): {
26
27
  bytes: number;
27
28
  };
28
29
  export declare function hashCompiledSql(sql: string): string;
30
+ export declare function capIntent(value: unknown): string | null;
31
+ export declare function extractIntent(payload: unknown): string | null;
32
+ export declare function clusterIntentsBySqlHash(rows: Array<{
33
+ sql_hash?: string | null;
34
+ intent?: string | null;
35
+ }>, limit?: number): Array<{
36
+ sql_hash: string;
37
+ count: number;
38
+ intents: Array<{
39
+ intent: string;
40
+ count: number;
41
+ }>;
42
+ }>;
43
+ export declare function catalogGapIntents(rows: Array<{
44
+ intent?: string | null;
45
+ error?: boolean;
46
+ }>, limit?: number): Array<{
47
+ intent: string;
48
+ count: number;
49
+ }>;
29
50
  export declare function hottestQueryFamilies(rows: Array<{
30
51
  sql_hash: string;
31
52
  db_ms: number;
@@ -41,4 +62,8 @@ export declare const SanitizeMcpCallLog: {
41
62
  hashCompiledSql: typeof hashCompiledSql;
42
63
  hottestQueryFamilies: typeof hottestQueryFamilies;
43
64
  extractExplainCost: typeof extractExplainCost;
65
+ capIntent: typeof capIntent;
66
+ extractIntent: typeof extractIntent;
67
+ clusterIntentsBySqlHash: typeof clusterIntentsBySqlHash;
68
+ catalogGapIntents: typeof catalogGapIntents;
44
69
  };
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SanitizeMcpCallLog = exports.MCP_LOG_TTL_DAYS = exports.MCP_LOG_BODY_CAP = void 0;
3
+ exports.SanitizeMcpCallLog = exports.MCP_LOG_INTENT_CAP = exports.MCP_LOG_TTL_DAYS = exports.MCP_LOG_BODY_CAP = void 0;
4
4
  exports.sanitizeMcpCallLog = sanitizeMcpCallLog;
5
5
  exports.capResponseBody = capResponseBody;
6
6
  exports.hashCompiledSql = hashCompiledSql;
7
+ exports.capIntent = capIntent;
8
+ exports.extractIntent = extractIntent;
9
+ exports.clusterIntentsBySqlHash = clusterIntentsBySqlHash;
10
+ exports.catalogGapIntents = catalogGapIntents;
7
11
  exports.hottestQueryFamilies = hottestQueryFamilies;
8
12
  exports.extractExplainCost = extractExplainCost;
9
13
  const crypto_1 = require("crypto");
10
14
  const extract_client_credentials_1 = require("../../access/libraries/extract.client.credentials");
11
15
  exports.MCP_LOG_BODY_CAP = Number(process.env.MCP_LOG_BODY_CAP) > 0 ? Number(process.env.MCP_LOG_BODY_CAP) : 32 * 1024;
12
16
  exports.MCP_LOG_TTL_DAYS = Number(process.env.MCP_LOG_TTL_DAYS) > 0 ? Number(process.env.MCP_LOG_TTL_DAYS) : 90;
17
+ exports.MCP_LOG_INTENT_CAP = 500;
13
18
  const SECRET_HEADER = /^(authorization|cookie|x-client-secret|x-development-key)$/i;
14
19
  const SECRET_KEY = /(secret|password|token|authorization|cookie|api[_-]?key|client_secret|development[_-]?key)/i;
15
20
  function sanitizeMcpCallLog(input) {
@@ -43,6 +48,56 @@ function hashCompiledSql(sql) {
43
48
  .trim();
44
49
  return (0, crypto_1.createHash)('sha256').update(normalized).digest('hex');
45
50
  }
51
+ function capIntent(value) {
52
+ if (typeof value !== 'string')
53
+ return null;
54
+ const trimmed = value.trim();
55
+ if (!trimmed)
56
+ return null;
57
+ return trimmed.length > exports.MCP_LOG_INTENT_CAP ? trimmed.slice(0, exports.MCP_LOG_INTENT_CAP) : trimmed;
58
+ }
59
+ function extractIntent(payload) {
60
+ if (!payload || typeof payload !== 'object')
61
+ return null;
62
+ const root = payload;
63
+ return capIntent(root?.params?.arguments?.intent) || capIntent(root?.intent) || capIntent(root?.body?.intent);
64
+ }
65
+ function clusterIntentsBySqlHash(rows, limit = 20) {
66
+ const groups = new Map();
67
+ for (const row of rows) {
68
+ const sqlHash = row.sql_hash;
69
+ const intent = capIntent(row.intent);
70
+ if (!sqlHash || !intent)
71
+ continue;
72
+ const intents = groups.get(sqlHash) || new Map();
73
+ intents.set(intent, (intents.get(intent) || 0) + 1);
74
+ groups.set(sqlHash, intents);
75
+ }
76
+ return [...groups.entries()]
77
+ .map(([sql_hash, intents]) => {
78
+ const ranked = [...intents.entries()]
79
+ .map(([intent, count]) => ({ intent, count }))
80
+ .sort((a, b) => b.count - a.count || a.intent.localeCompare(b.intent));
81
+ return { sql_hash, count: ranked.reduce((sum, item) => sum + item.count, 0), intents: ranked };
82
+ })
83
+ .sort((a, b) => b.count - a.count || a.sql_hash.localeCompare(b.sql_hash))
84
+ .slice(0, limit);
85
+ }
86
+ function catalogGapIntents(rows, limit = 20) {
87
+ const counts = new Map();
88
+ for (const row of rows) {
89
+ if (!row.error)
90
+ continue;
91
+ const intent = capIntent(row.intent);
92
+ if (!intent)
93
+ continue;
94
+ counts.set(intent, (counts.get(intent) || 0) + 1);
95
+ }
96
+ return [...counts.entries()]
97
+ .map(([intent, count]) => ({ intent, count }))
98
+ .sort((a, b) => b.count - a.count || a.intent.localeCompare(b.intent))
99
+ .slice(0, limit);
100
+ }
46
101
  function hottestQueryFamilies(rows, limit = 10) {
47
102
  const groups = new Map();
48
103
  for (const row of rows) {
@@ -108,5 +163,9 @@ exports.SanitizeMcpCallLog = {
108
163
  hashCompiledSql,
109
164
  hottestQueryFamilies,
110
165
  extractExplainCost,
166
+ capIntent,
167
+ extractIntent,
168
+ clusterIntentsBySqlHash,
169
+ catalogGapIntents,
111
170
  };
112
171
  //# sourceMappingURL=sanitize.mcp.call.log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.mcp.call.log.js","sourceRoot":"","sources":["../../../src/mcp/logging/sanitize.mcp.call.log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitize.mcp.call.log.js","sourceRoot":"","sources":["../../../src/mcp/logging/sanitize.mcp.call.log.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,6 @@ export declare class McpCallLogMentity extends CommonMongoEntity {
13
13
  response: any;
14
14
  timing_ms: any;
15
15
  cost: any;
16
+ intent: string;
16
17
  expire_at: Date;
17
18
  }
@@ -67,6 +67,10 @@ __decorate([
67
67
  (0, typeorm_1.Column)('json'),
68
68
  __metadata("design:type", Object)
69
69
  ], McpCallLogMentity.prototype, "cost", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.Column)(),
72
+ __metadata("design:type", String)
73
+ ], McpCallLogMentity.prototype, "intent", void 0);
70
74
  __decorate([
71
75
  (0, typeorm_1.Column)(),
72
76
  (0, typeorm_1.Index)(),
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.call.log.mentity.js","sourceRoot":"","sources":["../../../src/mcp/mentities/mcp.call.log.mentity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAA2E;AAC3E,qCAAgD;AAQzC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,2CAAiB;CA2CvD,CAAA;AA3CY,8CAAiB;AAE1B;IADC,IAAA,gBAAM,GAAE;;kDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;iDACM;AAGf;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;kDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;oDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;kDACF;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;mDACD;AAGd;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;oDACA;AAGf;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;+CACL;AAIV;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,GAAE;8BACG,IAAI;oDAAC;4BA1CP,iBAAiB;IAF7B,IAAA,gBAAM,EAAC,eAAe,CAAC;IACvB,IAAA,eAAK,EAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;GAC7B,iBAAiB,CA2C7B"}
1
+ {"version":3,"file":"mcp.call.log.mentity.js","sourceRoot":"","sources":["../../../src/mcp/mentities/mcp.call.log.mentity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAA2E;AAC3E,qCAAgD;AAQzC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,2CAAiB;CA+CvD,CAAA;AA/CY,8CAAiB;AAE1B;IADC,IAAA,gBAAM,GAAE;;kDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;iDACM;AAGf;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;kDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;oDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;+CACI;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;kDACF;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;mDACD;AAGd;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;oDACA;AAGf;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;+CACL;AAIV;IADC,IAAA,gBAAM,GAAE;;iDACM;AAIf;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,GAAE;8BACG,IAAI;oDAAC;4BA9CP,iBAAiB;IAF7B,IAAA,gBAAM,EAAC,eAAe,CAAC;IACvB,IAAA,eAAK,EAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;GAC7B,iBAAiB,CA+C7B"}
@@ -2,9 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SlabsMcpServer = void 0;
4
4
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const SERVER_INSTRUCTIONS = [
6
+ 'The reporting catalog is dynamic: new views and columns appear at any time without reconnection.',
7
+ "If a question doesn't fit the views you've already seen, call views_list again before concluding it can't be answered.",
8
+ ].join(' ');
5
9
  class SlabsMcpServer {
6
10
  constructor(name, tools) {
7
- this.server = new mcp_js_1.McpServer({ name, version: '1.0.0' });
11
+ this.server = new mcp_js_1.McpServer({ name, version: '1.0.0' }, { instructions: SERVER_INSTRUCTIONS });
8
12
  tools.forEach((tool) => tool.register(this.server));
9
13
  }
10
14
  instance() {
@@ -1 +1 @@
1
- {"version":3,"file":"slabs.mcp.server.js","sourceRoot":"","sources":["../../src/mcp/slabs.mcp.server.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AASpE,MAAa,cAAc;IAGvB,YAAY,IAAY,EAAE,KAAyB;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAXD,wCAWC"}
1
+ {"version":3,"file":"slabs.mcp.server.js","sourceRoot":"","sources":["../../src/mcp/slabs.mcp.server.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AASpE,MAAM,mBAAmB,GAAG;IACxB,kGAAkG;IAClG,wHAAwH;CAC3H,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAQZ,MAAa,cAAc;IAGvB,YAAY,IAAY,EAAE,KAAyB;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC/F,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAXD,wCAWC"}
@@ -14,6 +14,7 @@ export declare abstract class McpTool<TArgs = Record<string, unknown>> implement
14
14
  protected readonly idempotent: boolean;
15
15
  readonly requiredScopes: string[];
16
16
  constructor(client: SlabsApiClient);
17
+ get isReadOnly(): boolean;
17
18
  abstract execute(args: TArgs): Promise<McpToolResultInterface>;
18
19
  register(server: McpServer): void;
19
20
  private dispatch;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.McpTool = void 0;
4
4
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
5
5
  const zod_1 = require("zod");
6
+ const mcp_execution_context_1 = require("../auth/mcp.execution.context");
6
7
  const mcp_idempotency_store_1 = require("../auth/mcp.idempotency.store");
8
+ const mcp_scope_policy_1 = require("../auth/mcp.scope.policy");
7
9
  const slabs_api_error_1 = require("../client/slabs.api.error");
8
10
  class McpTool {
9
11
  constructor(client) {
@@ -13,6 +15,9 @@ class McpTool {
13
15
  this.idempotent = false;
14
16
  this.requiredScopes = [];
15
17
  }
18
+ get isReadOnly() {
19
+ return this.readOnly;
20
+ }
16
21
  register(server) {
17
22
  const inputSchema = this.destructive
18
23
  ? {
@@ -31,6 +36,10 @@ class McpTool {
31
36
  }, async (args) => this.dispatch(args));
32
37
  }
33
38
  async dispatch(args) {
39
+ const context = mcp_execution_context_1.McpExecutionContext.fromAuth();
40
+ if (!mcp_scope_policy_1.McpScopePolicy.allows(this, context)) {
41
+ return { content: [{ type: 'text', text: JSON.stringify(mcp_scope_policy_1.McpScopePolicy.denial(this.name, context)) }], isError: true };
42
+ }
34
43
  if (this.destructive && args?.confirm !== true) {
35
44
  return {
36
45
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/mcp.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/mcp.tool.ts"],"names":[],"mappings":";;;AACA,oFAA8D;AAC9D,6BAAqC;AACrC,yEAAoE;AACpE,yEAAoE;AACpE,+DAA0D;AAE1D,+DAA0D;AAc1D,MAAsB,OAAO;IAYzB,YAA+B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;QANlC,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,eAAU,GAAY,KAAK,CAAC;QAEtC,mBAAc,GAAa,EAAE,CAAC;IAEiB,CAAC;IAGzD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAID,QAAQ,CAAC,MAAiB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;YAChC,CAAC,CAAC;gBACI,GAAG,IAAI,CAAC,WAAW;gBACnB,OAAO,EAAE,OAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,mHAAmH,CAAC;aACrI;YACH,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAEvB,MAAM,CAAC,YAAY,CACf,IAAI,CAAC,IAAI,EACT;YACI,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW;YACX,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE;SAClF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAgD,CAAC,CAClF,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAmC;QACtD,MAAM,OAAO,GAAG,2CAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,iCAAc,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iCAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3H,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACjB,qBAAqB,EAAE,IAAI;4BAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,4DAA4D;yBACzF,CAAC;qBACL;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,2CAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,2CAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAgC,CAAC;YAElE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAyB,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAClD,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,2CAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAES,SAAS;QACf,MAAM,IAAI,GAAG,8BAAI,CAAC,IAAI,EAA6E,CAAC;QACpG,OAAO,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,eAAe,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,GAAG,CAAC,IAA4B;QAC5C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAES,OAAO,CAAC,IAAa;QAC3B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAES,OAAO,CAAC,KAAc;QAC5B,IAAI,KAAK,YAAY,+BAAa,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzE,CAAC;CACJ;AAhHD,0BAgHC"}
@@ -7,7 +7,7 @@ type ViewDescribeInput = {
7
7
  export declare class ViewDescribeTool extends McpTool<ViewDescribeInput> {
8
8
  readonly name = "view_describe";
9
9
  readonly title = "Describe analytical view";
10
- readonly description = "Full semantic schema of one analytical view: every column with its meaning (in Finnoto vocabulary), type, enum value labels, supported ops, the closed DSL grammar block (read it \u2014 do not guess operators), worked example_queries, and suggested visualizations. Call views_list first, then view_describe before writing a view_query. Column descriptions resolve domain traps; refreshed_at is freshness.";
10
+ readonly description = "Full semantic schema of one analytical view: every column with its meaning (in Finnoto vocabulary), type, enum value labels, supported ops, catalog-declared relationships (name, target view, cardinality \u2014 join with join: \"<name>\" and address <rel>.<column>), the closed DSL grammar block (read it \u2014 do not guess operators), worked example_queries, and suggested visualizations. Call views_list first, then view_describe before writing a view_query. Column descriptions resolve domain traps; refreshed_at is freshness.";
11
11
  readonly inputSchema: {
12
12
  name: z.ZodString;
13
13
  };
@@ -11,7 +11,7 @@ class ViewDescribeTool extends mcp_tool_1.McpTool {
11
11
  super(...arguments);
12
12
  this.name = 'view_describe';
13
13
  this.title = 'Describe analytical view';
14
- this.description = 'Full semantic schema of one analytical view: every column with its meaning (in Finnoto vocabulary), type, enum value labels, supported ops, the closed DSL grammar block (read it — do not guess operators), worked example_queries, and suggested visualizations. Call views_list first, then view_describe before writing a view_query. Column descriptions resolve domain traps; refreshed_at is freshness.';
14
+ this.description = 'Full semantic schema of one analytical view: every column with its meaning (in Finnoto vocabulary), type, enum value labels, supported ops, catalog-declared relationships (name, target view, cardinality — join with join: "<name>" and address <rel>.<column>), the closed DSL grammar block (read it — do not guess operators), worked example_queries, and suggested visualizations. Call views_list first, then view_describe before writing a view_query. Column descriptions resolve domain traps; refreshed_at is freshness.';
15
15
  this.inputSchema = inputSchema;
16
16
  this.readOnly = true;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view.describe.tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/view.describe.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAqC;AAErC,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC1F,CAAC;AAOF,MAAa,gBAAiB,SAAQ,kBAA0B;IAAhE;;QACa,SAAI,GAAG,eAAe,CAAC;QACvB,UAAK,GAAG,0BAA0B,CAAC;QACnC,gBAAW,GAChB,gZAAgZ,CAAC;QAC5Y,gBAAW,GAAG,WAAW,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAKvC,CAAC;IAHG,OAAO,CAAC,IAAuB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9H,CAAC;CACJ;AAXD,4CAWC"}
1
+ {"version":3,"file":"view.describe.tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/view.describe.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAqC;AAErC,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC1F,CAAC;AAOF,MAAa,gBAAiB,SAAQ,kBAA0B;IAAhE;;QACa,SAAI,GAAG,eAAe,CAAC;QACvB,UAAK,GAAG,0BAA0B,CAAC;QACnC,gBAAW,GAChB,ugBAAugB,CAAC;QACngB,gBAAW,GAAG,WAAW,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAKvC,CAAC;IAHG,OAAO,CAAC,IAAuB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9H,CAAC;CACJ;AAXD,4CAWC"}
@@ -3,6 +3,7 @@ import { McpToolResultInterface } from '../interfaces/mcp.tool.result.interface'
3
3
  import { McpTool } from './mcp.tool';
4
4
  type ViewQueryInput = {
5
5
  name: string;
6
+ join?: string | string[];
6
7
  columns?: string[];
7
8
  filters?: Array<{
8
9
  column: string;
@@ -24,13 +25,15 @@ type ViewQueryInput = {
24
25
  }>;
25
26
  limit?: number;
26
27
  offset?: number;
28
+ intent?: string;
27
29
  };
28
30
  export declare class ViewQueryTool extends McpTool<ViewQueryInput> {
29
31
  readonly name = "view_query";
30
32
  readonly title = "Query analytical view";
31
- readonly description = "Run a structured analytical query against a view: filters, group-by (including month/quarter date buckets), and aggregates (sum, count, avg, min, max). Call views_list then view_describe (read the grammar block and example_queries) before querying. Use contains (bare string, not LIKE). Relative dates: @today / @today-30d \u2014 do not compute today yourself. Enum filters accept labels. Results include format hints and refreshed_at. Not for fetching individual records \u2014 use listing tools for that.";
33
+ readonly description = "Run a structured analytical query against a view: filters, group-by (including month/quarter date buckets), aggregates (sum, count, avg, min, max), and at most one catalog-declared join. Call views_list then view_describe (read the grammar block, relationships, and example_queries) before querying. Join with join: \"<relationship name>\" and address joined columns as <rel>.<column>. Use contains (bare string, not LIKE). Relative dates: @today / @today-30d / @today-3m / @month_start / @quarter_start / @fy_start (1 April, Indian FY) \u2014 do not compute today or period boundaries yourself. Enum filters accept labels. Pass intent as the user's question, verbatim where possible \u2014 analytics only, never affects the result. Results include format hints and refreshed_at. Not for fetching individual records \u2014 use listing tools for that.";
32
34
  readonly inputSchema: {
33
35
  name: z.ZodString;
36
+ join: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
34
37
  columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
38
  filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
36
39
  column: z.ZodString;
@@ -42,18 +45,18 @@ export declare class ViewQueryTool extends McpTool<ViewQueryInput> {
42
45
  bucket: z.ZodOptional<z.ZodEnum<{
43
46
  year: "year";
44
47
  week: "week";
45
- day: "day";
46
48
  month: "month";
49
+ day: "day";
47
50
  quarter: "quarter";
48
51
  }>>;
49
52
  }, z.core.$strip>>>;
50
53
  aggregates: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
54
  fn: z.ZodEnum<{
52
- count: "count";
53
- max: "max";
54
55
  min: "min";
55
- sum: "sum";
56
+ max: "max";
57
+ count: "count";
56
58
  avg: "avg";
59
+ sum: "sum";
57
60
  count_distinct: "count_distinct";
58
61
  }>;
59
62
  column: z.ZodOptional<z.ZodString>;
@@ -68,6 +71,7 @@ export declare class ViewQueryTool extends McpTool<ViewQueryInput> {
68
71
  }, z.core.$strip>>>;
69
72
  limit: z.ZodOptional<z.ZodNumber>;
70
73
  offset: z.ZodOptional<z.ZodNumber>;
74
+ intent: z.ZodOptional<z.ZodString>;
71
75
  };
72
76
  protected readonly readOnly = true;
73
77
  execute(args: ViewQueryInput): Promise<McpToolResultInterface>;