db-mcp 3.0.2 → 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 (183) hide show
  1. package/README.md +112 -75
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/adapters/database-adapter.d.ts +11 -1
  4. package/dist/adapters/database-adapter.d.ts.map +1 -1
  5. package/dist/adapters/registration/resources.d.ts.map +1 -1
  6. package/dist/adapters/registration/tools.d.ts.map +1 -1
  7. package/dist/adapters/sqlite/prompts/analysis.d.ts.map +1 -1
  8. package/dist/adapters/sqlite/query-executor.d.ts.map +1 -1
  9. package/dist/adapters/sqlite/read-write-lock.d.ts +49 -0
  10. package/dist/adapters/sqlite/read-write-lock.d.ts.map +1 -0
  11. package/dist/adapters/sqlite/resources.d.ts +1 -1
  12. package/dist/adapters/sqlite/resources.d.ts.map +1 -1
  13. package/dist/adapters/sqlite/schemas/admin.d.ts +33 -19
  14. package/dist/adapters/sqlite/schemas/admin.d.ts.map +1 -1
  15. package/dist/adapters/sqlite/schemas/core.d.ts +96 -0
  16. package/dist/adapters/sqlite/schemas/core.d.ts.map +1 -1
  17. package/dist/adapters/sqlite/schemas/fts.d.ts +4 -0
  18. package/dist/adapters/sqlite/schemas/fts.d.ts.map +1 -1
  19. package/dist/adapters/sqlite/schemas/introspection.d.ts +25 -15
  20. package/dist/adapters/sqlite/schemas/introspection.d.ts.map +1 -1
  21. package/dist/adapters/sqlite/schemas/migration.d.ts +2 -2
  22. package/dist/adapters/sqlite/schemas/migration.d.ts.map +1 -1
  23. package/dist/adapters/sqlite/schemas/spatialite.d.ts +1 -0
  24. package/dist/adapters/sqlite/schemas/spatialite.d.ts.map +1 -1
  25. package/dist/adapters/sqlite/schemas/text.d.ts +36 -0
  26. package/dist/adapters/sqlite/schemas/text.d.ts.map +1 -1
  27. package/dist/adapters/sqlite/sqlite-adapter.d.ts +6 -0
  28. package/dist/adapters/sqlite/sqlite-adapter.d.ts.map +1 -1
  29. package/dist/adapters/sqlite/tools/admin/backup/create.d.ts.map +1 -1
  30. package/dist/adapters/sqlite/tools/admin/backup/dump.d.ts.map +1 -1
  31. package/dist/adapters/sqlite/tools/admin/backup/restore.d.ts.map +1 -1
  32. package/dist/adapters/sqlite/tools/admin/index.d.ts.map +1 -1
  33. package/dist/adapters/sqlite/tools/admin/pragma.d.ts +0 -4
  34. package/dist/adapters/sqlite/tools/admin/pragma.d.ts.map +1 -1
  35. package/dist/adapters/sqlite/tools/admin/verify.d.ts.map +1 -1
  36. package/dist/adapters/sqlite/tools/codemode.d.ts.map +1 -1
  37. package/dist/adapters/sqlite/tools/core/convenience.d.ts.map +1 -1
  38. package/dist/adapters/sqlite/tools/core/index.d.ts.map +1 -1
  39. package/dist/adapters/sqlite/tools/core/queries.d.ts.map +1 -1
  40. package/dist/adapters/sqlite/tools/core/tables.d.ts.map +1 -1
  41. package/dist/adapters/sqlite/tools/core/versioning.d.ts +19 -0
  42. package/dist/adapters/sqlite/tools/core/versioning.d.ts.map +1 -0
  43. package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -1
  44. package/dist/adapters/sqlite/tools/introspection/diagnostics/indexes.d.ts.map +1 -1
  45. package/dist/adapters/sqlite/tools/introspection/graph/tools.d.ts.map +1 -1
  46. package/dist/adapters/sqlite/tools/json-helpers/read.d.ts.map +1 -1
  47. package/dist/adapters/sqlite/tools/json-operations/crud.d.ts.map +1 -1
  48. package/dist/adapters/sqlite/tools/json-operations/query.d.ts.map +1 -1
  49. package/dist/adapters/sqlite/tools/migration/helpers.d.ts.map +1 -1
  50. package/dist/adapters/sqlite/tools/text/helpers.d.ts +9 -0
  51. package/dist/adapters/sqlite/tools/text/helpers.d.ts.map +1 -1
  52. package/dist/adapters/sqlite/tools/text/index.d.ts.map +1 -1
  53. package/dist/adapters/sqlite/tools/text/search.d.ts +4 -0
  54. package/dist/adapters/sqlite/tools/text/search.d.ts.map +1 -1
  55. package/dist/adapters/sqlite/tools/vector/metadata.d.ts.map +1 -1
  56. package/dist/adapters/sqlite/tools/vector/search.d.ts.map +1 -1
  57. package/dist/adapters/sqlite/tools/vector/storage.d.ts.map +1 -1
  58. package/dist/adapters/sqlite/tools/virtual/vtable/analyze-csv.d.ts.map +1 -1
  59. package/dist/adapters/sqlite/tools/virtual/vtable/csv.d.ts.map +1 -1
  60. package/dist/adapters/sqlite/tools/virtual/vtable/info.d.ts.map +1 -1
  61. package/dist/adapters/sqlite/types.d.ts +5 -1
  62. package/dist/adapters/sqlite/types.d.ts.map +1 -1
  63. package/dist/adapters/sqlite-native/index.d.ts +1 -1
  64. package/dist/adapters/sqlite-native/index.d.ts.map +1 -1
  65. package/dist/adapters/sqlite-native/native-sqlite-adapter.d.ts.map +1 -1
  66. package/dist/adapters/sqlite-native/tools/spatialite/tools.d.ts.map +1 -1
  67. package/dist/adapters/sqlite-native/tools/window/helpers.d.ts +52 -0
  68. package/dist/adapters/sqlite-native/tools/window/helpers.d.ts.map +1 -0
  69. package/dist/adapters/sqlite-native/tools/window/index.d.ts +7 -0
  70. package/dist/adapters/sqlite-native/tools/window/index.d.ts.map +1 -0
  71. package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts +7 -0
  72. package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts.map +1 -0
  73. package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts +7 -0
  74. package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts.map +1 -0
  75. package/dist/adapters/sqlite-native/tools/window/ntile.d.ts +7 -0
  76. package/dist/adapters/sqlite-native/tools/window/ntile.d.ts.map +1 -0
  77. package/dist/adapters/sqlite-native/tools/window/rank.d.ts +7 -0
  78. package/dist/adapters/sqlite-native/tools/window/rank.d.ts.map +1 -0
  79. package/dist/adapters/sqlite-native/tools/window/row-number.d.ts +7 -0
  80. package/dist/adapters/sqlite-native/tools/window/row-number.d.ts.map +1 -0
  81. package/dist/adapters/sqlite-native/tools/window/running-total.d.ts +7 -0
  82. package/dist/adapters/sqlite-native/tools/window/running-total.d.ts.map +1 -0
  83. package/dist/adapters/sqlite-native/tools/window/schemas.d.ts +159 -0
  84. package/dist/adapters/sqlite-native/tools/window/schemas.d.ts.map +1 -0
  85. package/dist/adapters/sqlite-native/transaction-methods.d.ts.map +1 -1
  86. package/dist/audit/interceptor.d.ts.map +1 -1
  87. package/dist/audit/logger.d.ts +26 -25
  88. package/dist/audit/logger.d.ts.map +1 -1
  89. package/dist/auth/authorization-server-discovery.d.ts.map +1 -1
  90. package/dist/auth/scopes/mapping.d.ts.map +1 -1
  91. package/dist/auth/token-validator.d.ts.map +1 -1
  92. package/dist/{chunk-W5WQVNVX.js → chunk-27C5EE6U.js} +23 -17
  93. package/dist/chunk-2TYICG7B.js +1183 -0
  94. package/dist/{chunk-37G4DLL6.js → chunk-LLIAIJPO.js} +1146 -539
  95. package/dist/{chunk-NV34JSQM.js → chunk-UE7GVOBV.js} +1757 -1331
  96. package/dist/{chunk-L552U3QS.js → chunk-XLIYO3YA.js} +401 -77
  97. package/dist/cli.js +116 -11
  98. package/dist/codemode/api-constants.d.ts.map +1 -1
  99. package/dist/codemode/api.d.ts.map +1 -1
  100. package/dist/codemode/sandbox-factory.d.ts.map +1 -1
  101. package/dist/codemode/sandbox.d.ts +0 -3
  102. package/dist/codemode/sandbox.d.ts.map +1 -1
  103. package/dist/codemode/security.d.ts.map +1 -1
  104. package/dist/codemode/types.d.ts +2 -0
  105. package/dist/codemode/types.d.ts.map +1 -1
  106. package/dist/constants/server-instructions.d.ts +1 -1
  107. package/dist/constants/server-instructions.d.ts.map +1 -1
  108. package/dist/filtering/tool-constants.d.ts +11 -11
  109. package/dist/filtering/tool-constants.d.ts.map +1 -1
  110. package/dist/{http-HWTUVFIA.js → http-ZDMK46QU.js} +195 -32
  111. package/dist/index.js +4 -4
  112. package/dist/observability/metrics.d.ts +36 -0
  113. package/dist/observability/metrics.d.ts.map +1 -0
  114. package/dist/observability/system-db.d.ts +13 -0
  115. package/dist/observability/system-db.d.ts.map +1 -0
  116. package/dist/server/mcp-server.d.ts +3 -0
  117. package/dist/server/mcp-server.d.ts.map +1 -1
  118. package/dist/server/registration/admin-tools.d.ts +6 -0
  119. package/dist/server/registration/admin-tools.d.ts.map +1 -0
  120. package/dist/server/registration/audit-tools/backup.d.ts +8 -0
  121. package/dist/server/registration/audit-tools/backup.d.ts.map +1 -0
  122. package/dist/server/registration/audit-tools/helpers.d.ts +11 -0
  123. package/dist/server/registration/audit-tools/helpers.d.ts.map +1 -0
  124. package/dist/server/registration/audit-tools/index.d.ts +4 -0
  125. package/dist/server/registration/audit-tools/index.d.ts.map +1 -0
  126. package/dist/server/registration/audit-tools/resource.d.ts +8 -0
  127. package/dist/server/registration/audit-tools/resource.d.ts.map +1 -0
  128. package/dist/server/registration/audit-tools/search.d.ts +7 -0
  129. package/dist/server/registration/audit-tools/search.d.ts.map +1 -0
  130. package/dist/server/registration/help-resources.d.ts.map +1 -1
  131. package/dist/server/registration/index.d.ts +3 -1
  132. package/dist/server/registration/index.d.ts.map +1 -1
  133. package/dist/server/registration/observability-resources.d.ts +11 -0
  134. package/dist/server/registration/observability-resources.d.ts.map +1 -0
  135. package/dist/server/subscription-manager.d.ts +35 -0
  136. package/dist/server/subscription-manager.d.ts.map +1 -0
  137. package/dist/{sqlite-TB56Z7G3.js → sqlite-XWZPEZJO.js} +195 -19
  138. package/dist/{sqlite-native-IF75BB3O.js → sqlite-native-5GQ3WKCZ.js} +311 -147
  139. package/dist/transports/http/middleware.d.ts.map +1 -1
  140. package/dist/transports/http/oauth.d.ts.map +1 -1
  141. package/dist/transports/http/sessions/legacy-sse.d.ts.map +1 -1
  142. package/dist/transports/http/sessions/stateful.d.ts +5 -1
  143. package/dist/transports/http/sessions/stateful.d.ts.map +1 -1
  144. package/dist/transports/http/transport.d.ts +2 -0
  145. package/dist/transports/http/transport.d.ts.map +1 -1
  146. package/dist/transports/http/types.d.ts +11 -0
  147. package/dist/transports/http/types.d.ts.map +1 -1
  148. package/dist/types/auth.d.ts +4 -0
  149. package/dist/types/auth.d.ts.map +1 -1
  150. package/dist/types/server.d.ts +5 -0
  151. package/dist/types/server.d.ts.map +1 -1
  152. package/dist/utils/annotations.d.ts +8 -0
  153. package/dist/utils/annotations.d.ts.map +1 -1
  154. package/dist/utils/errors/categories.d.ts +16 -11
  155. package/dist/utils/errors/categories.d.ts.map +1 -1
  156. package/dist/utils/errors/classes.d.ts +37 -0
  157. package/dist/utils/errors/classes.d.ts.map +1 -1
  158. package/dist/utils/errors/format.d.ts +2 -2
  159. package/dist/utils/errors/format.d.ts.map +1 -1
  160. package/dist/utils/errors/index.d.ts +1 -1
  161. package/dist/utils/errors/index.d.ts.map +1 -1
  162. package/dist/utils/errors/suggestions.d.ts +1 -0
  163. package/dist/utils/errors/suggestions.d.ts.map +1 -1
  164. package/dist/utils/index.d.ts +3 -0
  165. package/dist/utils/index.d.ts.map +1 -1
  166. package/dist/utils/logger/types.d.ts +1 -1
  167. package/dist/utils/logger/types.d.ts.map +1 -1
  168. package/dist/utils/security-utils.d.ts +29 -0
  169. package/dist/utils/security-utils.d.ts.map +1 -0
  170. package/dist/utils/stream-utils.d.ts +14 -0
  171. package/dist/utils/stream-utils.d.ts.map +1 -0
  172. package/dist/utils/tokens.d.ts +15 -0
  173. package/dist/utils/tokens.d.ts.map +1 -0
  174. package/dist/utils/where-clause.d.ts +0 -13
  175. package/dist/utils/where-clause.d.ts.map +1 -1
  176. package/package.json +43 -44
  177. package/dist/adapters/sqlite-native/tools/window.d.ts +0 -7
  178. package/dist/adapters/sqlite-native/tools/window.d.ts.map +0 -1
  179. package/dist/chunk-E5IESRTK.js +0 -489
  180. package/dist/server/registration/audit-tools.d.ts +0 -13
  181. package/dist/server/registration/audit-tools.d.ts.map +0 -1
  182. package/dist/utils/insights-manager.d.ts +0 -39
  183. package/dist/utils/insights-manager.d.ts.map +0 -1
@@ -0,0 +1,159 @@
1
+ import { z } from "zod";
2
+ export declare const RowNumberSchema: z.ZodObject<{
3
+ table: z.ZodString;
4
+ orderBy: z.ZodString;
5
+ partitionBy: z.ZodOptional<z.ZodString>;
6
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
8
+ column: z.ZodString;
9
+ operator: z.ZodEnum<{
10
+ "=": "=";
11
+ "!=": "!=";
12
+ ">": ">";
13
+ ">=": ">=";
14
+ "<": "<";
15
+ "<=": "<=";
16
+ LIKE: "LIKE";
17
+ IN: "IN";
18
+ IS: "IS";
19
+ "IS NOT": "IS NOT";
20
+ "NOT LIKE": "NOT LIKE";
21
+ }>;
22
+ value: z.ZodUnknown;
23
+ }, z.core.$strip>>>;
24
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
25
+ }, z.core.$strip>;
26
+ export declare const RankSchema: z.ZodObject<{
27
+ table: z.ZodString;
28
+ orderBy: z.ZodString;
29
+ partitionBy: z.ZodOptional<z.ZodString>;
30
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ rankType: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodEnum<{
32
+ rank: "rank";
33
+ dense_rank: "dense_rank";
34
+ percent_rank: "percent_rank";
35
+ }>>>>;
36
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
+ column: z.ZodString;
38
+ operator: z.ZodEnum<{
39
+ "=": "=";
40
+ "!=": "!=";
41
+ ">": ">";
42
+ ">=": ">=";
43
+ "<": "<";
44
+ "<=": "<=";
45
+ LIKE: "LIKE";
46
+ IN: "IN";
47
+ IS: "IS";
48
+ "IS NOT": "IS NOT";
49
+ "NOT LIKE": "NOT LIKE";
50
+ }>;
51
+ value: z.ZodUnknown;
52
+ }, z.core.$strip>>>;
53
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
54
+ }, z.core.$strip>;
55
+ export declare const LagLeadSchema: z.ZodObject<{
56
+ table: z.ZodString;
57
+ column: z.ZodString;
58
+ orderBy: z.ZodString;
59
+ direction: z.ZodString;
60
+ offset: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
61
+ defaultValue: z.ZodOptional<z.ZodString>;
62
+ partitionBy: z.ZodOptional<z.ZodString>;
63
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
65
+ column: z.ZodString;
66
+ operator: z.ZodEnum<{
67
+ "=": "=";
68
+ "!=": "!=";
69
+ ">": ">";
70
+ ">=": ">=";
71
+ "<": "<";
72
+ "<=": "<=";
73
+ LIKE: "LIKE";
74
+ IN: "IN";
75
+ IS: "IS";
76
+ "IS NOT": "IS NOT";
77
+ "NOT LIKE": "NOT LIKE";
78
+ }>;
79
+ value: z.ZodUnknown;
80
+ }, z.core.$strip>>>;
81
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
82
+ }, z.core.$strip>;
83
+ export declare const RunningTotalSchema: z.ZodObject<{
84
+ table: z.ZodString;
85
+ column: z.ZodString;
86
+ orderBy: z.ZodString;
87
+ partitionBy: z.ZodOptional<z.ZodString>;
88
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
+ column: z.ZodString;
91
+ operator: z.ZodEnum<{
92
+ "=": "=";
93
+ "!=": "!=";
94
+ ">": ">";
95
+ ">=": ">=";
96
+ "<": "<";
97
+ "<=": "<=";
98
+ LIKE: "LIKE";
99
+ IN: "IN";
100
+ IS: "IS";
101
+ "IS NOT": "IS NOT";
102
+ "NOT LIKE": "NOT LIKE";
103
+ }>;
104
+ value: z.ZodUnknown;
105
+ }, z.core.$strip>>>;
106
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
107
+ }, z.core.$strip>;
108
+ export declare const MovingAverageSchema: z.ZodObject<{
109
+ table: z.ZodString;
110
+ column: z.ZodString;
111
+ orderBy: z.ZodString;
112
+ windowSize: z.ZodPreprocess<z.ZodNumber>;
113
+ partitionBy: z.ZodOptional<z.ZodString>;
114
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
115
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
116
+ column: z.ZodString;
117
+ operator: z.ZodEnum<{
118
+ "=": "=";
119
+ "!=": "!=";
120
+ ">": ">";
121
+ ">=": ">=";
122
+ "<": "<";
123
+ "<=": "<=";
124
+ LIKE: "LIKE";
125
+ IN: "IN";
126
+ IS: "IS";
127
+ "IS NOT": "IS NOT";
128
+ "NOT LIKE": "NOT LIKE";
129
+ }>;
130
+ value: z.ZodUnknown;
131
+ }, z.core.$strip>>>;
132
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
133
+ }, z.core.$strip>;
134
+ export declare const NtileSchema: z.ZodObject<{
135
+ table: z.ZodString;
136
+ orderBy: z.ZodString;
137
+ buckets: z.ZodPreprocess<z.ZodNumber>;
138
+ partitionBy: z.ZodOptional<z.ZodString>;
139
+ selectColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ column: z.ZodString;
142
+ operator: z.ZodEnum<{
143
+ "=": "=";
144
+ "!=": "!=";
145
+ ">": ">";
146
+ ">=": ">=";
147
+ "<": "<";
148
+ "<=": "<=";
149
+ LIKE: "LIKE";
150
+ IN: "IN";
151
+ IS: "IS";
152
+ "IS NOT": "IS NOT";
153
+ "NOT LIKE": "NOT LIKE";
154
+ }>;
155
+ value: z.ZodUnknown;
156
+ }, z.core.$strip>>>;
157
+ limit: z.ZodPreprocess<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
158
+ }, z.core.$strip>;
159
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/sqlite-native/tools/window/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAgB1B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBrB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAoB7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB9B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;iBAoBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-methods.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite-native/transaction-methods.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGjE;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAShE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO1E"}
1
+ {"version":3,"file":"transaction-methods.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite-native/transaction-methods.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGjE;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAShE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/audit/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAqE/E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,CAAC,EACN,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtD;AAiBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,aAAa,GAC5B,gBAAgB,CA6IlB"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/audit/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAuE/E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,CAAC,EACN,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtD;AAiBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,aAAa,GAC5B,gBAAgB,CAyJlB"}
@@ -1,37 +1,36 @@
1
1
  /**
2
2
  * db-mcp — Audit Logger
3
3
  *
4
- * Async-buffered JSONL writer for the audit trail. Appends one
5
- * JSON object per line to a configurable file path, or writes to
4
+ * Async-buffered SQLite writer for the audit trail. Uses SystemDb
5
+ * to persist structured logs for queryability, or writes to
6
6
  * stderr for containerised deployments (`--audit-log stderr`).
7
7
  *
8
8
  * Non-throwing by design: audit failures log to stderr but never
9
9
  * propagate to tool callers.
10
10
  */
11
11
  import type { AuditConfig, AuditEntry } from "./types.js";
12
+ import type { SystemDb } from "../observability/system-db.js";
12
13
  export declare class AuditLogger {
13
14
  readonly config: AuditConfig;
14
15
  private buffer;
15
16
  private flushTimer;
16
17
  private activeFlush;
17
18
  private closed;
18
- private dirEnsured;
19
19
  private readonly stderrMode;
20
- constructor(config: AuditConfig);
20
+ private systemDb;
21
+ constructor(config: AuditConfig, systemDb?: SystemDb | null);
21
22
  /**
22
- * Eagerly create the log directory and touch the log file on startup.
23
- * Provides immediate confirmation that audit is configured correctly.
24
- * Non-throwing — falls back silently if the path is inaccessible.
23
+ * Initialization is handled externally by SystemDb.
25
24
  */
26
25
  init(): Promise<void>;
27
26
  /**
28
27
  * Append an audit entry to the buffer.
29
- * Non-blocking — the entry is serialised and queued; the
30
- * actual file write happens on the next flush cycle.
28
+ * Non-blocking — the entry is queued; the
29
+ * actual DB write happens on the next flush cycle.
31
30
  */
32
31
  log(entry: AuditEntry): void;
33
32
  /**
34
- * Flush the buffer to disk.
33
+ * Flush the buffer to SystemDb or stderr.
35
34
  * Safe to call concurrently — serialises via `this.activeFlush` Promise.
36
35
  */
37
36
  flush(): Promise<void>;
@@ -40,23 +39,25 @@ export declare class AuditLogger {
40
39
  */
41
40
  close(): Promise<void>;
42
41
  /**
43
- * Read the most recent audit entries from the log file.
44
- * Uses a streaming tail-read: only the last TAIL_READ_BYTES (64 KB) are
45
- * read from disk, preventing O(n) memory spikes for large audit logs.
46
- * Used by the `sqlite://audit` resource.
47
- *
48
- * @param count Maximum number of entries to return (default 50)
42
+ * Read the most recent audit entries from the SystemDb.
43
+ * Retrieve recent entries directly from the SystemDb.
49
44
  */
50
- recent(count?: number): Promise<AuditEntry[]>;
45
+ recent(limit?: number): Promise<AuditEntry[]>;
51
46
  /**
52
- * Ensure the parent directory of the log file exists.
47
+ * Search and filter audit entries from the SystemDb.
53
48
  */
54
- private ensureDirectory;
55
- /**
56
- * Rotate the log file if it exceeds the configured size limit.
57
- * Keeps up to 5 rotated files (`.1` through `.5`); older data is discarded.
58
- * Rotation failure is non-fatal — audit must not block tool execution.
59
- */
60
- private rotateIfNeeded;
49
+ search(filters: {
50
+ tool?: string | undefined;
51
+ category?: string | undefined;
52
+ success?: boolean | undefined;
53
+ requestId?: string | undefined;
54
+ fromTimestamp?: string | undefined;
55
+ toTimestamp?: string | undefined;
56
+ limit?: number | undefined;
57
+ offset?: number | undefined;
58
+ }): Promise<{
59
+ entries: AuditEntry[];
60
+ totalCount: number;
61
+ }>;
61
62
  }
62
63
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/audit/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsB1D,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;gBAEzB,MAAM,EAAE,WAAW;IAa/B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa5B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;;;;;;OAOG;IACG,MAAM,CAAC,KAAK,GAAE,MAA6B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAqDzE;;OAEG;YACW,eAAe;IAW7B;;;;OAIG;YACW,cAAc;CAoB7B"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/audit/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AA8B9D,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAE,QAAQ,GAAG,IAAW;IAcjE;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa5B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B;;;OAGG;IACG,MAAM,CAAC,KAAK,GAAE,MAA6B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyCzE;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CA4E3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-server-discovery.d.ts","sourceRoot":"","sources":["../../src/auth/authorization-server-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAWpB;;;;;GAKG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,yBAAyB;IAgC7C;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAqEtD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,WAAW,IAAI,2BAA2B;IAW1C;;;;OAIG;IACH,UAAU,IAAI,MAAM;IAcpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,0BAA0B,IAAI,OAAO;IAIrC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMxC;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAG3B;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC,GAClE,4BAA4B,CAM9B"}
1
+ {"version":3,"file":"authorization-server-discovery.d.ts","sourceRoot":"","sources":["../../src/auth/authorization-server-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAYpB;;;;;GAKG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,yBAAyB;IAgC7C;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAqEtD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,WAAW,IAAI,2BAA2B;IAW1C;;;;OAIG;IACH,UAAU,IAAI,MAAM;IAcpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,0BAA0B,IAAI,OAAO;IAIrC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMxC;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAG3B;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC,GAClE,4BAA4B,CAM9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../src/auth/scopes/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG5D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAY9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEpE;AAgBD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAgC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAAiC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAAiC,CAAC;AA6C5E,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CACV,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CA+F9C,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAsD1C,CAAC"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../src/auth/scopes/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG5D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAY9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEpE;AAgBD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAgC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAAiC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAAiC,CAAC;AA+C5E,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CACV,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAgG9C,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAuD1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-validator.d.ts","sourceRoot":"","sources":["../../src/auth/token-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAUrB;;;;GAIG;AACH,qBAAa,cAAc;IACzB,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAOxC;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,EAAE,oBAAoB;IAiCxC;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiC7D;;OAEG;IACH,OAAO,CAAC,OAAO;IAoCf;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyE7B;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,qBAAqB,GAC5B,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB;CAWjE;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAC3B,cAAc,CAEhB"}
1
+ {"version":3,"file":"token-validator.d.ts","sourceRoot":"","sources":["../../src/auth/token-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAWrB;;;;GAIG;AACH,qBAAa,cAAc;IACzB,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAOxC;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,EAAE,oBAAoB;IAiCxC;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiC7D;;OAEG;IACH,OAAO,CAAC,OAAO;IAoCf;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyE7B;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,qBAAqB,GAC5B,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB;CAWjE;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAC3B,cAAc,CAEhB"}
@@ -1,8 +1,9 @@
1
- import { registerToolScope } from './chunk-E5IESRTK.js';
2
- import { ValidationError, getAuthContext, isToolEnabled, ConnectionError, registerToolScopes, scopesGrantToolAccess, InsufficientScopeError, formatHandlerError } from './chunk-L552U3QS.js';
1
+ import { registerToolScope, estimateTokens } from './chunk-2TYICG7B.js';
2
+ import { ValidationError, getAuthContext, isToolEnabled, ConnectionError, registerToolScopes, scopesGrantToolAccess, InsufficientScopeError, formatHandlerError, metrics } from './chunk-XLIYO3YA.js';
3
3
  import sqliteParser from 'sqlite-parser';
4
4
  import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import { z } from 'zod';
6
+ import { EventEmitter } from 'events';
6
7
 
7
8
  var UNSAFE_FUNCTIONS = /* @__PURE__ */ new Set([
8
9
  "LOAD_EXTENSION",
@@ -208,9 +209,7 @@ function registerToolImpl(adapter, server, tool) {
208
209
  ...result,
209
210
  _meta: { tokenEstimate: 0 }
210
211
  });
211
- const tokenEstimate = Math.ceil(
212
- Buffer.byteLength(enriched, "utf8") / 4
213
- );
212
+ const tokenEstimate = estimateTokens(enriched, "json");
214
213
  const finalText = enriched.replace(
215
214
  '"tokenEstimate":0',
216
215
  `"tokenEstimate":${String(tokenEstimate)}`
@@ -235,9 +234,7 @@ function registerToolImpl(adapter, server, tool) {
235
234
  null,
236
235
  2
237
236
  );
238
- const tokenEstimate = Math.ceil(
239
- Buffer.byteLength(withMeta, "utf8") / 4
240
- );
237
+ const tokenEstimate = estimateTokens(withMeta, "json");
241
238
  const finalText = withMeta.replace(
242
239
  '"tokenEstimate": 0',
243
240
  `"tokenEstimate": ${String(tokenEstimate)}`
@@ -276,9 +273,7 @@ function registerToolImpl(adapter, server, tool) {
276
273
  ...structured,
277
274
  _meta: { tokenEstimate: 0 }
278
275
  });
279
- const tokenEstimate2 = Math.ceil(
280
- Buffer.byteLength(enriched, "utf8") / 4
281
- );
276
+ const tokenEstimate2 = estimateTokens(enriched, "json");
282
277
  const finalText2 = enriched.replace(
283
278
  '"tokenEstimate":0',
284
279
  `"tokenEstimate":${String(tokenEstimate2)}`
@@ -299,9 +294,7 @@ function registerToolImpl(adapter, server, tool) {
299
294
  null,
300
295
  2
301
296
  );
302
- const tokenEstimate = Math.ceil(
303
- Buffer.byteLength(withMeta, "utf8") / 4
304
- );
297
+ const tokenEstimate = estimateTokens(withMeta, "json");
305
298
  const finalText = withMeta.replace(
306
299
  '"tokenEstimate": 0',
307
300
  `"tokenEstimate": ${String(tokenEstimate)}`
@@ -332,6 +325,7 @@ function registerResourceImpl(adapter, server, resource) {
332
325
  ...resource.icons ? { icons: resource.icons } : {}
333
326
  },
334
327
  async (resourceUri, _variables) => {
328
+ metrics.recordResourceRead(resourceUri.toString());
335
329
  const context = adapter.createContext();
336
330
  const content = await resource.handler(resourceUri.toString(), context);
337
331
  return {
@@ -355,6 +349,7 @@ function registerResourceImpl(adapter, server, resource) {
355
349
  ...resource.icons ? { icons: resource.icons } : {}
356
350
  },
357
351
  async (resourceUri) => {
352
+ metrics.recordResourceRead(resourceUri.toString());
358
353
  const context = adapter.createContext();
359
354
  const content = await resource.handler(resourceUri.toString(), context);
360
355
  return {
@@ -413,9 +408,7 @@ function registerPromptImpl(adapter, server, prompt) {
413
408
  );
414
409
  }
415
410
  }
416
-
417
- // src/adapters/database-adapter.ts
418
- var DatabaseAdapter = class {
411
+ var DatabaseAdapter = class extends EventEmitter {
419
412
  /** Connection status */
420
413
  connected = false;
421
414
  /** Database configuration */
@@ -449,6 +442,19 @@ var DatabaseAdapter = class {
449
442
  getAuditInterceptor() {
450
443
  return this.auditInterceptor;
451
444
  }
445
+ allowedIoRoots;
446
+ /**
447
+ * Inject the allowed IO roots for filesystem boundary enforcement.
448
+ */
449
+ setAllowedIoRoots(roots) {
450
+ this.allowedIoRoots = roots;
451
+ }
452
+ /**
453
+ * Get the allowed IO roots for filesystem boundary enforcement.
454
+ */
455
+ getAllowedIoRoots() {
456
+ return this.allowedIoRoots;
457
+ }
452
458
  /**
453
459
  * Register tools with the MCP server
454
460
  * @param server - MCP server instance