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.
- package/README.md +112 -75
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/database-adapter.d.ts +11 -1
- package/dist/adapters/database-adapter.d.ts.map +1 -1
- package/dist/adapters/registration/resources.d.ts.map +1 -1
- package/dist/adapters/registration/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite/prompts/analysis.d.ts.map +1 -1
- package/dist/adapters/sqlite/query-executor.d.ts.map +1 -1
- package/dist/adapters/sqlite/read-write-lock.d.ts +49 -0
- package/dist/adapters/sqlite/read-write-lock.d.ts.map +1 -0
- package/dist/adapters/sqlite/resources.d.ts +1 -1
- package/dist/adapters/sqlite/resources.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/admin.d.ts +33 -19
- package/dist/adapters/sqlite/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/core.d.ts +96 -0
- package/dist/adapters/sqlite/schemas/core.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/fts.d.ts +4 -0
- package/dist/adapters/sqlite/schemas/fts.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/introspection.d.ts +25 -15
- package/dist/adapters/sqlite/schemas/introspection.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/migration.d.ts +2 -2
- package/dist/adapters/sqlite/schemas/migration.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/spatialite.d.ts +1 -0
- package/dist/adapters/sqlite/schemas/spatialite.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/text.d.ts +36 -0
- package/dist/adapters/sqlite/schemas/text.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-adapter.d.ts +6 -0
- package/dist/adapters/sqlite/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/create.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/dump.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/restore.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/pragma.d.ts +0 -4
- package/dist/adapters/sqlite/tools/admin/pragma.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/verify.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/codemode.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/queries.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/versioning.d.ts +19 -0
- package/dist/adapters/sqlite/tools/core/versioning.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/introspection/diagnostics/indexes.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/introspection/graph/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-helpers/read.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-operations/crud.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-operations/query.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/migration/helpers.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/helpers.d.ts +9 -0
- package/dist/adapters/sqlite/tools/text/helpers.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/search.d.ts +4 -0
- package/dist/adapters/sqlite/tools/text/search.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/metadata.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/search.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/storage.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/analyze-csv.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/csv.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/info.d.ts.map +1 -1
- package/dist/adapters/sqlite/types.d.ts +5 -1
- package/dist/adapters/sqlite/types.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/index.d.ts +1 -1
- package/dist/adapters/sqlite-native/index.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/native-sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/tools/spatialite/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/tools/window/helpers.d.ts +52 -0
- package/dist/adapters/sqlite-native/tools/window/helpers.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/index.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/index.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/ntile.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/ntile.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/rank.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/rank.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/row-number.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/row-number.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/running-total.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/running-total.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/schemas.d.ts +159 -0
- package/dist/adapters/sqlite-native/tools/window/schemas.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/transaction-methods.d.ts.map +1 -1
- package/dist/audit/interceptor.d.ts.map +1 -1
- package/dist/audit/logger.d.ts +26 -25
- package/dist/audit/logger.d.ts.map +1 -1
- package/dist/auth/authorization-server-discovery.d.ts.map +1 -1
- package/dist/auth/scopes/mapping.d.ts.map +1 -1
- package/dist/auth/token-validator.d.ts.map +1 -1
- package/dist/{chunk-W5WQVNVX.js → chunk-27C5EE6U.js} +23 -17
- package/dist/chunk-2TYICG7B.js +1183 -0
- package/dist/{chunk-37G4DLL6.js → chunk-LLIAIJPO.js} +1146 -539
- package/dist/{chunk-NV34JSQM.js → chunk-UE7GVOBV.js} +1757 -1331
- package/dist/{chunk-L552U3QS.js → chunk-XLIYO3YA.js} +401 -77
- package/dist/cli.js +116 -11
- package/dist/codemode/api-constants.d.ts.map +1 -1
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/sandbox-factory.d.ts.map +1 -1
- package/dist/codemode/sandbox.d.ts +0 -3
- package/dist/codemode/sandbox.d.ts.map +1 -1
- package/dist/codemode/security.d.ts.map +1 -1
- package/dist/codemode/types.d.ts +2 -0
- package/dist/codemode/types.d.ts.map +1 -1
- package/dist/constants/server-instructions.d.ts +1 -1
- package/dist/constants/server-instructions.d.ts.map +1 -1
- package/dist/filtering/tool-constants.d.ts +11 -11
- package/dist/filtering/tool-constants.d.ts.map +1 -1
- package/dist/{http-HWTUVFIA.js → http-ZDMK46QU.js} +195 -32
- package/dist/index.js +4 -4
- package/dist/observability/metrics.d.ts +36 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/system-db.d.ts +13 -0
- package/dist/observability/system-db.d.ts.map +1 -0
- package/dist/server/mcp-server.d.ts +3 -0
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/registration/admin-tools.d.ts +6 -0
- package/dist/server/registration/admin-tools.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/backup.d.ts +8 -0
- package/dist/server/registration/audit-tools/backup.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/helpers.d.ts +11 -0
- package/dist/server/registration/audit-tools/helpers.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/index.d.ts +4 -0
- package/dist/server/registration/audit-tools/index.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/resource.d.ts +8 -0
- package/dist/server/registration/audit-tools/resource.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/search.d.ts +7 -0
- package/dist/server/registration/audit-tools/search.d.ts.map +1 -0
- package/dist/server/registration/help-resources.d.ts.map +1 -1
- package/dist/server/registration/index.d.ts +3 -1
- package/dist/server/registration/index.d.ts.map +1 -1
- package/dist/server/registration/observability-resources.d.ts +11 -0
- package/dist/server/registration/observability-resources.d.ts.map +1 -0
- package/dist/server/subscription-manager.d.ts +35 -0
- package/dist/server/subscription-manager.d.ts.map +1 -0
- package/dist/{sqlite-TB56Z7G3.js → sqlite-XWZPEZJO.js} +195 -19
- package/dist/{sqlite-native-IF75BB3O.js → sqlite-native-5GQ3WKCZ.js} +311 -147
- package/dist/transports/http/middleware.d.ts.map +1 -1
- package/dist/transports/http/oauth.d.ts.map +1 -1
- package/dist/transports/http/sessions/legacy-sse.d.ts.map +1 -1
- package/dist/transports/http/sessions/stateful.d.ts +5 -1
- package/dist/transports/http/sessions/stateful.d.ts.map +1 -1
- package/dist/transports/http/transport.d.ts +2 -0
- package/dist/transports/http/transport.d.ts.map +1 -1
- package/dist/transports/http/types.d.ts +11 -0
- package/dist/transports/http/types.d.ts.map +1 -1
- package/dist/types/auth.d.ts +4 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/server.d.ts +5 -0
- package/dist/types/server.d.ts.map +1 -1
- package/dist/utils/annotations.d.ts +8 -0
- package/dist/utils/annotations.d.ts.map +1 -1
- package/dist/utils/errors/categories.d.ts +16 -11
- package/dist/utils/errors/categories.d.ts.map +1 -1
- package/dist/utils/errors/classes.d.ts +37 -0
- package/dist/utils/errors/classes.d.ts.map +1 -1
- package/dist/utils/errors/format.d.ts +2 -2
- package/dist/utils/errors/format.d.ts.map +1 -1
- package/dist/utils/errors/index.d.ts +1 -1
- package/dist/utils/errors/index.d.ts.map +1 -1
- package/dist/utils/errors/suggestions.d.ts +1 -0
- package/dist/utils/errors/suggestions.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/logger/types.d.ts +1 -1
- package/dist/utils/logger/types.d.ts.map +1 -1
- package/dist/utils/security-utils.d.ts +29 -0
- package/dist/utils/security-utils.d.ts.map +1 -0
- package/dist/utils/stream-utils.d.ts +14 -0
- package/dist/utils/stream-utils.d.ts.map +1 -0
- package/dist/utils/tokens.d.ts +15 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/where-clause.d.ts +0 -13
- package/dist/utils/where-clause.d.ts.map +1 -1
- package/package.json +43 -44
- package/dist/adapters/sqlite-native/tools/window.d.ts +0 -7
- package/dist/adapters/sqlite-native/tools/window.d.ts.map +0 -1
- package/dist/chunk-E5IESRTK.js +0 -489
- package/dist/server/registration/audit-tools.d.ts +0 -13
- package/dist/server/registration/audit-tools.d.ts.map +0 -1
- package/dist/utils/insights-manager.d.ts +0 -39
- 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,
|
|
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;
|
|
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"}
|
package/dist/audit/logger.d.ts
CHANGED
|
@@ -1,37 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* db-mcp — Audit Logger
|
|
3
3
|
*
|
|
4
|
-
* Async-buffered
|
|
5
|
-
*
|
|
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
|
-
|
|
20
|
+
private systemDb;
|
|
21
|
+
constructor(config: AuditConfig, systemDb?: SystemDb | null);
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
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
|
|
30
|
-
* actual
|
|
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
|
|
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
|
|
44
|
-
*
|
|
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(
|
|
45
|
+
recent(limit?: number): Promise<AuditEntry[]>;
|
|
51
46
|
/**
|
|
52
|
-
*
|
|
47
|
+
* Search and filter audit entries from the SystemDb.
|
|
53
48
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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-
|
|
2
|
-
import { ValidationError, getAuthContext, isToolEnabled, ConnectionError, registerToolScopes, scopesGrantToolAccess, InsufficientScopeError, formatHandlerError } from './chunk-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|