@node-in-layers/core-knowledge-mcp 1.10.12 → 1.10.13

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/bin/mcp_server.js CHANGED
@@ -3,7 +3,7 @@
3
3
  import esMain from 'es-main'
4
4
  import { ArgumentParser } from 'argparse'
5
5
  import * as core from '@node-in-layers/core'
6
- import * as config from '../config.prod.mjs'
6
+ import { default as config } from '../config.js'
7
7
 
8
8
  const _parseArguments = () => {
9
9
  const parser = new ArgumentParser({
@@ -15,7 +15,7 @@ const _parseArguments = () => {
15
15
  const startServer = async () => {
16
16
  const context = await core.loadSystem({
17
17
  environment: 'prod',
18
- config: config.default(),
18
+ config: await config(),
19
19
  })
20
20
  await context.mcp.mcp.start()
21
21
  }
package/config.d.ts ADDED
@@ -0,0 +1,267 @@
1
+ import { LogFormat, LogLevelNames } from '@node-in-layers/core';
2
+ declare const _default: () => Promise<{
3
+ environment: string;
4
+ systemName: string;
5
+ "@node-in-layers/core": {
6
+ apps: [{
7
+ default: typeof import("@node-in-layers/mcp-server");
8
+ name: "@node-in-layers/mcp-server";
9
+ mcp: typeof import("@node-in-layers/mcp-server/mcp.js");
10
+ McpNamespace: "@node-in-layers/mcp-server";
11
+ isNilAnnotatedFunction: (fn: any) => fn is import("@node-in-layers/core/types.js").NilAnnotatedFunction<any, any>;
12
+ zodToJson: (schema: any) => Record<string, any>;
13
+ crossLayerPropsOpenApi: () => any;
14
+ createOpenApiForNonNilAnnotatedFunction: (name: string) => {
15
+ name: string;
16
+ input: {
17
+ type: string;
18
+ additionalProperties: boolean;
19
+ properties: {
20
+ args: {
21
+ type: string;
22
+ };
23
+ crossLayerProps: any;
24
+ };
25
+ required: string[];
26
+ };
27
+ output: {
28
+ type: string;
29
+ additionalProperties: boolean;
30
+ };
31
+ };
32
+ nilAnnotatedFunctionToOpenApi: (name: string, fn: import("@node-in-layers/core/types.js").NilAnnotatedFunction<any, any>) => Readonly<{
33
+ name: string;
34
+ description?: string | undefined;
35
+ input: Record<string, import("functional-models/types.js").JsonAble>;
36
+ output: Record<string, import("functional-models/types.js").JsonAble>;
37
+ }>;
38
+ createMcpResponse: <T extends import("functional-models/types.js").JsonAble>(result: T, opts?: {
39
+ isError?: boolean | undefined;
40
+ } | undefined) => {
41
+ [x: string]: unknown;
42
+ content: ({
43
+ [x: string]: unknown;
44
+ type: "text";
45
+ text: string;
46
+ _meta?: {
47
+ [x: string]: unknown;
48
+ } | undefined;
49
+ } | {
50
+ [x: string]: unknown;
51
+ data: string;
52
+ type: "image";
53
+ mimeType: string;
54
+ _meta?: {
55
+ [x: string]: unknown;
56
+ } | undefined;
57
+ } | {
58
+ [x: string]: unknown;
59
+ data: string;
60
+ type: "audio";
61
+ mimeType: string;
62
+ _meta?: {
63
+ [x: string]: unknown;
64
+ } | undefined;
65
+ } | {
66
+ [x: string]: unknown;
67
+ type: "resource_link";
68
+ name: string;
69
+ uri: string;
70
+ _meta?: {
71
+ [x: string]: unknown;
72
+ } | undefined;
73
+ title?: string | undefined;
74
+ description?: string | undefined;
75
+ mimeType?: string | undefined;
76
+ icons?: {
77
+ [x: string]: unknown;
78
+ src: string;
79
+ mimeType?: string | undefined;
80
+ sizes?: string[] | undefined;
81
+ }[] | undefined;
82
+ } | {
83
+ [x: string]: unknown;
84
+ type: "resource";
85
+ resource: {
86
+ [x: string]: unknown;
87
+ text: string;
88
+ uri: string;
89
+ _meta?: {
90
+ [x: string]: unknown;
91
+ } | undefined;
92
+ mimeType?: string | undefined;
93
+ } | {
94
+ [x: string]: unknown;
95
+ uri: string;
96
+ blob: string;
97
+ _meta?: {
98
+ [x: string]: unknown;
99
+ } | undefined;
100
+ mimeType?: string | undefined;
101
+ };
102
+ _meta?: {
103
+ [x: string]: unknown;
104
+ } | undefined;
105
+ })[];
106
+ _meta?: {
107
+ [x: string]: unknown;
108
+ } | undefined;
109
+ structuredContent?: {
110
+ [x: string]: unknown;
111
+ } | undefined;
112
+ isError?: boolean | undefined;
113
+ };
114
+ createDomainNotFoundError: () => Readonly<{
115
+ error: Readonly<{
116
+ code: string;
117
+ message: string;
118
+ details?: string | undefined;
119
+ data?: Record<string, import("functional-models/types.js").JsonAble> | undefined;
120
+ trace?: string | undefined;
121
+ cause?: Readonly<any> | undefined;
122
+ }>;
123
+ }>;
124
+ createModelNotFoundError: () => Readonly<{
125
+ error: Readonly<{
126
+ code: string;
127
+ message: string;
128
+ details?: string | undefined;
129
+ data?: Record<string, import("functional-models/types.js").JsonAble> | undefined;
130
+ trace?: string | undefined;
131
+ cause?: Readonly<any> | undefined;
132
+ }>;
133
+ }>;
134
+ createFeatureNotFoundError: () => Readonly<{
135
+ error: Readonly<{
136
+ code: string;
137
+ message: string;
138
+ details?: string | undefined;
139
+ data?: Record<string, import("functional-models/types.js").JsonAble> | undefined;
140
+ trace?: string | undefined;
141
+ cause?: Readonly<any> | undefined;
142
+ }>;
143
+ }>;
144
+ createModelsNotFoundError: () => Readonly<{
145
+ error: Readonly<{
146
+ code: string;
147
+ message: string;
148
+ details?: string | undefined;
149
+ data?: Record<string, import("functional-models/types.js").JsonAble> | undefined;
150
+ trace?: string | undefined;
151
+ cause?: Readonly<any> | undefined;
152
+ }>;
153
+ }>;
154
+ isDomainHidden: (hiddenPaths: Set<string>) => (domain: string) => boolean;
155
+ areAllModelsHidden: (hiddenPaths: Set<string>) => (domain: string) => boolean;
156
+ isFeatureHidden: (hiddenPaths: Set<string>) => (domain: string, featureName: string) => boolean;
157
+ isModelHidden: (hiddenPaths: Set<string>) => (domain: string, modelName: string) => boolean;
158
+ commonMcpExecute: (func: (...inputs: any[]) => Promise<any>) => (...inputs: any[]) => Promise<{
159
+ [x: string]: unknown;
160
+ content: ({
161
+ [x: string]: unknown;
162
+ type: "text";
163
+ text: string;
164
+ _meta?: {
165
+ [x: string]: unknown;
166
+ } | undefined;
167
+ } | {
168
+ [x: string]: unknown;
169
+ type: "image";
170
+ data: string;
171
+ mimeType: string;
172
+ _meta?: {
173
+ [x: string]: unknown;
174
+ } | undefined;
175
+ } | {
176
+ [x: string]: unknown;
177
+ type: "audio";
178
+ data: string;
179
+ mimeType: string;
180
+ _meta?: {
181
+ [x: string]: unknown;
182
+ } | undefined;
183
+ } | {
184
+ [x: string]: unknown;
185
+ type: "resource_link";
186
+ name: string;
187
+ uri: string;
188
+ description?: string | undefined;
189
+ _meta?: {
190
+ [x: string]: unknown;
191
+ } | undefined;
192
+ mimeType?: string | undefined;
193
+ title?: string | undefined;
194
+ } | {
195
+ [x: string]: unknown;
196
+ type: "resource";
197
+ resource: {
198
+ [x: string]: unknown;
199
+ text: string;
200
+ uri: string;
201
+ _meta?: {
202
+ [x: string]: unknown;
203
+ } | undefined;
204
+ mimeType?: string | undefined;
205
+ } | {
206
+ [x: string]: unknown;
207
+ uri: string;
208
+ blob: string;
209
+ _meta?: {
210
+ [x: string]: unknown;
211
+ } | undefined;
212
+ mimeType?: string | undefined;
213
+ };
214
+ _meta?: {
215
+ [x: string]: unknown;
216
+ } | undefined;
217
+ })[];
218
+ _meta?: {
219
+ [x: string]: unknown;
220
+ } | undefined;
221
+ structuredContent?: {
222
+ [x: string]: unknown;
223
+ } | undefined;
224
+ isError?: boolean | undefined;
225
+ }>;
226
+ cleanupSearchQuery: (query: any) => any;
227
+ }, typeof import("./mcp/index.js"), typeof import("./knowledge/index.js")];
228
+ layerOrder: (string | string[])[];
229
+ logging: {
230
+ logLevel: LogLevelNames;
231
+ logFormat: LogFormat;
232
+ ignoreLayerFunctions: {
233
+ 'amplify:services:getActiveGrowthAds': boolean;
234
+ 'mongo.services.getMongoCollection': boolean;
235
+ 'logs.features.searchRequests': boolean;
236
+ 'auth.features': boolean;
237
+ 'logging.services': boolean;
238
+ 'logging.features': boolean;
239
+ 'deepHelixAuth.services': boolean;
240
+ 'deepHelixAuth.features.authMiddleware': boolean;
241
+ 'mcp.mcp.addTool': boolean;
242
+ 'mcp.mcp.addUnprotectedRoute': boolean;
243
+ 'mcp.mcp.start': boolean;
244
+ 'mcp.mcp.addFeature': boolean;
245
+ '@node-in-layers/data.express': boolean;
246
+ '@node-in-layers/data.services': boolean;
247
+ '@node-in-layers/data.features': boolean;
248
+ '@node-in-layers/rest-api/express.express': boolean;
249
+ '@node-in-layers/rest-api/express.features': boolean;
250
+ '@node-in-layers/rest-api/express.services': boolean;
251
+ '@node-in-layers/mcp-server.mcp': boolean;
252
+ 'azure.services.discoverAzureStorageAccountAndKey': boolean;
253
+ 'tasks.features.runFeatureTask': boolean;
254
+ 'azure.express': boolean;
255
+ 'api.express': boolean;
256
+ };
257
+ };
258
+ };
259
+ "@node-in-layers/mcp-server": {
260
+ server: {
261
+ connection: {
262
+ type: string;
263
+ };
264
+ };
265
+ };
266
+ }>;
267
+ export default _default;
package/config.js ADDED
@@ -0,0 +1,57 @@
1
+ import { CoreNamespace, LogFormat, LogLevelNames } from '@node-in-layers/core';
2
+ import { McpNamespace } from '@node-in-layers/mcp-server';
3
+ export default async () => {
4
+ return {
5
+ environment: 'prod',
6
+ systemName: '@node-in-layers/core/knowledge-mcp',
7
+ [CoreNamespace.root]: {
8
+ // @ts-ignore
9
+ apps: await Promise.all([
10
+ import(`@node-in-layers/mcp-server/index.js`),
11
+ import('./mcp/index.js'),
12
+ import('./knowledge/index.js'),
13
+ ]),
14
+ layerOrder: ['services', 'features', ['entries', 'mcp']],
15
+ logging: {
16
+ logLevel: LogLevelNames.trace,
17
+ logFormat: LogFormat.json,
18
+ // @ts-ignore
19
+ //customLogger: createCustomLogger(),
20
+ ignoreLayerFunctions: {
21
+ 'amplify:services:getActiveGrowthAds': true,
22
+ 'mongo.services.getMongoCollection': true,
23
+ 'logs.features.searchRequests': true,
24
+ 'auth.features': true,
25
+ 'logging.services': true,
26
+ 'logging.features': true,
27
+ 'deepHelixAuth.services': true,
28
+ 'deepHelixAuth.features.authMiddleware': true,
29
+ 'mcp.mcp.addTool': true,
30
+ 'mcp.mcp.addUnprotectedRoute': true,
31
+ 'mcp.mcp.start': true,
32
+ 'mcp.mcp.addFeature': true,
33
+ '@node-in-layers/data.express': true,
34
+ '@node-in-layers/data.services': true,
35
+ '@node-in-layers/data.features': true,
36
+ '@node-in-layers/rest-api/express.express': true,
37
+ '@node-in-layers/rest-api/express.features': true,
38
+ '@node-in-layers/rest-api/express.services': true,
39
+ '@node-in-layers/mcp-server.mcp': true,
40
+ 'azure.services.discoverAzureStorageAccountAndKey': true,
41
+ 'tasks.features.runFeatureTask': true,
42
+ 'azure.express': true,
43
+ 'api.express': true,
44
+ },
45
+ },
46
+ },
47
+ [McpNamespace]: {
48
+ server: {
49
+ connection: {
50
+ // @ts-ignore
51
+ type: 'cli',
52
+ },
53
+ },
54
+ },
55
+ };
56
+ };
57
+ //# sourceMappingURL=config.js.map
package/config.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,eAAe,KAAK,IAAI,EAAE;IACxB,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,oCAAoC;QAChD,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YACpB,aAAa;YACb,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtB,MAAM,CAAC,qCAAqC,CAAC;gBAC7C,MAAM,CAAC,gBAAgB,CAAC;gBACxB,MAAM,CAAC,sBAAsB,CAAC;aAC/B,CAAC;YACF,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE;gBACP,QAAQ,EAAE,aAAa,CAAC,KAAK;gBAC7B,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,aAAa;gBACb,qCAAqC;gBACrC,oBAAoB,EAAE;oBACpB,qCAAqC,EAAE,IAAI;oBAC3C,mCAAmC,EAAE,IAAI;oBACzC,8BAA8B,EAAE,IAAI;oBACpC,eAAe,EAAE,IAAI;oBACrB,kBAAkB,EAAE,IAAI;oBACxB,kBAAkB,EAAE,IAAI;oBACxB,wBAAwB,EAAE,IAAI;oBAC9B,uCAAuC,EAAE,IAAI;oBAC7C,iBAAiB,EAAE,IAAI;oBACvB,6BAA6B,EAAE,IAAI;oBACnC,eAAe,EAAE,IAAI;oBACrB,oBAAoB,EAAE,IAAI;oBAC1B,8BAA8B,EAAE,IAAI;oBACpC,+BAA+B,EAAE,IAAI;oBACrC,+BAA+B,EAAE,IAAI;oBACrC,0CAA0C,EAAE,IAAI;oBAChD,2CAA2C,EAAE,IAAI;oBACjD,2CAA2C,EAAE,IAAI;oBACjD,gCAAgC,EAAE,IAAI;oBACtC,kDAAkD,EAAE,IAAI;oBACxD,+BAA+B,EAAE,IAAI;oBACrC,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,IAAI;iBACpB;aACF;SACF;QACD,CAAC,YAAY,CAAC,EAAE;YACd,MAAM,EAAE;gBACN,UAAU,EAAE;oBACV,aAAa;oBACb,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-in-layers/core-knowledge-mcp",
3
- "version": "1.10.12",
3
+ "version": "1.10.13",
4
4
  "description": "A developer MCP server for working with systems using node-in-layers core.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "argparse": "^2.0.1",
18
18
  "es-main": "^1.4.0",
19
- "@node-in-layers/core": "1.10.12",
19
+ "@node-in-layers/core": "1.10.13",
20
20
  "@node-in-layers/mcp-server": "^2.2.6",
21
21
  "lodash": "^4.17.21",
22
22
  "zod": "^4.1.12"
package/config.prod.mjs DELETED
@@ -1,57 +0,0 @@
1
- import { CoreNamespace, LogFormat, LogLevelNames } from '@node-in-layers/core'
2
- import { McpNamespace } from '@node-in-layers/mcp-server'
3
-
4
- export default async () => {
5
- return {
6
- environment: 'prod',
7
- systemName: '@node-in-layers/core/knowledge-mcp',
8
- [CoreNamespace.root]: {
9
- // @ts-ignore
10
- apps: await Promise.all([
11
- import(`@node-in-layers/mcp-server/index.js`),
12
- import('./mcp/index.js'),
13
- import('./knowledge/index.js'),
14
- ]),
15
- layerOrder: ['services', 'features', ['entries', 'mcp']],
16
- logging: {
17
- logLevel: LogLevelNames.trace,
18
- logFormat: LogFormat.json,
19
- // @ts-ignore
20
- //customLogger: createCustomLogger(),
21
- ignoreLayerFunctions: {
22
- 'amplify:services:getActiveGrowthAds': true,
23
- 'mongo.services.getMongoCollection': true,
24
- 'logs.features.searchRequests': true,
25
- 'auth.features': true,
26
- 'logging.services': true,
27
- 'logging.features': true,
28
- 'deepHelixAuth.services': true,
29
- 'deepHelixAuth.features.authMiddleware': true,
30
- 'mcp.mcp.addTool': true,
31
- 'mcp.mcp.addUnprotectedRoute': true,
32
- 'mcp.mcp.start': true,
33
- 'mcp.mcp.addFeature': true,
34
- '@node-in-layers/data.express': true,
35
- '@node-in-layers/data.services': true,
36
- '@node-in-layers/data.features': true,
37
- '@node-in-layers/rest-api/express.express': true,
38
- '@node-in-layers/rest-api/express.features': true,
39
- '@node-in-layers/rest-api/express.services': true,
40
- '@node-in-layers/mcp-server.mcp': true,
41
- 'azure.services.discoverAzureStorageAccountAndKey': true,
42
- 'tasks.features.runFeatureTask': true,
43
- 'azure.express': true,
44
- 'api.express': true,
45
- },
46
- },
47
- },
48
- [McpNamespace]: {
49
- server: {
50
- connection: {
51
- // @ts-ignore
52
- type: 'cli',
53
- },
54
- },
55
- },
56
- }
57
- }