@node-in-layers/mcp-server 2.5.3 → 2.5.4

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/types.js CHANGED
@@ -1,3 +1,29 @@
1
+ import { DatastoreValueType, EqualitySymbol, } from 'functional-models';
2
+ import z from 'zod';
3
+ export const crossLayerPropsSchema = z
4
+ .object({
5
+ logging: z
6
+ .object({
7
+ ids: z
8
+ .array(z
9
+ .record(z.string(), z.string())
10
+ .describe('Each of these are individual objects, that have a key:id pair. Example: "ids": [{"myId":"123"},{"anotherId":"456"}]'))
11
+ .optional(),
12
+ })
13
+ .loose()
14
+ .optional(),
15
+ })
16
+ .loose()
17
+ .describe('CrossLayerProps is an optional argument you can send with NIL MCP tool calls to enable end-to-end tracing across layers (features/services) and across multiple tool invocations. It carries correlation ids that the system logs at each hop so you can stitch together a full execution story.');
18
+ export const jsonAbleSchema = z.lazy(() => z.union([
19
+ z.string(),
20
+ z.number(),
21
+ z.boolean(),
22
+ z.null(),
23
+ z.undefined(),
24
+ z.array(jsonAbleSchema),
25
+ z.record(z.string(), jsonAbleSchema),
26
+ ]));
1
27
  /**
2
28
  * The namespace key used to scope all `@node-in-layers/mcp-server` configuration
3
29
  * inside the system config object.
@@ -13,4 +39,130 @@
13
39
  * ```
14
40
  */
15
41
  export const McpNamespace = '@node-in-layers/mcp-server';
42
+ export var ModelAction;
43
+ (function (ModelAction) {
44
+ ModelAction["Save"] = "save";
45
+ ModelAction["Retrieve"] = "retrieve";
46
+ ModelAction["Delete"] = "delete";
47
+ ModelAction["Search"] = "search";
48
+ ModelAction["BulkInsert"] = "bulkInsert";
49
+ ModelAction["BulkDelete"] = "bulkDelete";
50
+ })(ModelAction || (ModelAction = {}));
51
+ export var ModelActionToolName;
52
+ (function (ModelActionToolName) {
53
+ ModelActionToolName["Save"] = "model_save";
54
+ ModelActionToolName["Retrieve"] = "model_retrieve";
55
+ ModelActionToolName["Delete"] = "model_delete";
56
+ ModelActionToolName["Search"] = "model_search";
57
+ ModelActionToolName["BulkInsert"] = "model_bulk_insert";
58
+ ModelActionToolName["BulkDelete"] = "model_bulk_delete";
59
+ })(ModelActionToolName || (ModelActionToolName = {}));
60
+ export const modelBulkInsertSchema = z.object({
61
+ modelType: z.string(),
62
+ items: z.array(z.object().loose()),
63
+ });
64
+ export const modelRetrieveSchema = z.object({
65
+ modelType: z.string(),
66
+ id: z.string(),
67
+ });
68
+ export const modelDeleteSchema = z.object({
69
+ modelType: z.string(),
70
+ id: z.string(),
71
+ });
72
+ export const searchSchema = z.object({
73
+ take: z.number().int().optional(),
74
+ sort: z
75
+ .object({
76
+ key: z.string(),
77
+ order: z.enum(['asc', 'dsc']),
78
+ })
79
+ .optional(),
80
+ page: jsonAbleSchema.optional(),
81
+ query: z
82
+ .array(z.union([
83
+ z.enum(['AND', 'OR']),
84
+ z.object({
85
+ type: z.literal('property'),
86
+ key: z.string(),
87
+ value: z.any(),
88
+ valueType: z.enum(DatastoreValueType),
89
+ equalitySymbol: z.enum(EqualitySymbol),
90
+ options: z
91
+ .object({
92
+ caseSensitive: z.boolean().optional(),
93
+ startsWith: z.boolean().optional(),
94
+ endsWith: z.boolean().optional(),
95
+ })
96
+ .optional(),
97
+ }),
98
+ z.object({
99
+ type: z.literal('datesAfter'),
100
+ key: z.string(),
101
+ date: z.string(),
102
+ valueType: z.enum(DatastoreValueType),
103
+ options: z
104
+ .object({
105
+ equalToAndAfter: z.boolean().optional(),
106
+ })
107
+ .optional(),
108
+ }),
109
+ z.object({
110
+ type: z.literal('datesBefore'),
111
+ key: z.string(),
112
+ date: z.string(),
113
+ valueType: z.enum(DatastoreValueType),
114
+ options: z
115
+ .object({
116
+ equalToAndBefore: z.boolean().optional(),
117
+ })
118
+ .optional(),
119
+ }),
120
+ ]))
121
+ .optional(),
122
+ });
123
+ export const modelSearchSchema = z.object({
124
+ modelType: z.string(),
125
+ search: searchSchema,
126
+ });
127
+ export const modelBulkDeleteSchema = z.object({
128
+ modelType: z.string(),
129
+ ids: z.array(z.string()),
130
+ });
131
+ export const modelSaveSchema = z.object({
132
+ modelType: z.string(),
133
+ instance: z.object().loose(),
134
+ });
135
+ export const executeModelSchema = z.object({
136
+ toolName: z.enum(ModelActionToolName),
137
+ action: z.enum(ModelAction),
138
+ domain: z.string(),
139
+ modelName: z.string(),
140
+ args: z.xor([
141
+ modelBulkInsertSchema,
142
+ modelRetrieveSchema,
143
+ modelDeleteSchema,
144
+ modelSearchSchema,
145
+ modelBulkDeleteSchema,
146
+ modelSaveSchema,
147
+ ]),
148
+ crossLayerProps: crossLayerPropsSchema.optional(),
149
+ });
150
+ /**
151
+ * Schema for the arguments of a Feature execution.
152
+ * @param argsSchema
153
+ * @returns
154
+ */
155
+ export const executeFeatureSchema = (argsSchema) => z.object({
156
+ toolName: z.literal('execute_feature'),
157
+ domain: z.string().optional(),
158
+ featureName: z.string(),
159
+ args: argsSchema,
160
+ crossLayerProps: crossLayerPropsSchema.optional(),
161
+ });
162
+ export const executeFunctionSchema = z.object({
163
+ toolName: z.string(),
164
+ functionName: z.string(),
165
+ args: z.object().loose(),
166
+ crossLayerProps: crossLayerPropsSchema.optional(),
167
+ });
16
168
  //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,4BAA4B,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import z from 'zod';
1
2
  import { Maybe } from './types.js';
2
3
  /**
3
4
  * Provides a standard way of handling objects that change state.
@@ -19,3 +20,7 @@ export declare const maybe: <T>(_instance: T | undefined) => Readonly<{
19
20
  instance: () => T | undefined;
20
21
  hasValue: () => boolean;
21
22
  }>;
23
+ export declare const zodParse: <T extends object>(schema: z.ZodType<T, unknown, z.z.core.$ZodTypeInternals<T, unknown>>, rawInput: any) => T;
24
+ export declare const checkAndSetDefault: <T extends object>(obj: T, key: string, defaultValue: any) => void;
25
+ export declare const pushArray: <T>(array: T[], item: T) => void;
26
+ export declare const setObjectProperty: <T extends object>(obj: T, key: string, value: any) => void;
package/utils.js CHANGED
@@ -30,4 +30,21 @@ export const maybe = (_instance) => {
30
30
  hasValue,
31
31
  };
32
32
  };
33
+ export const zodParse = (schema, rawInput) => {
34
+ return schema.parse(rawInput);
35
+ };
36
+ export const checkAndSetDefault = (obj, key, defaultValue) => {
37
+ if (!obj[key]) {
38
+ // eslint-disable-next-line functional/immutable-data
39
+ obj[key] = defaultValue;
40
+ }
41
+ };
42
+ export const pushArray = (array, item) => {
43
+ // eslint-disable-next-line functional/immutable-data
44
+ array.push(item);
45
+ };
46
+ export const setObjectProperty = (obj, key, value) => {
47
+ // eslint-disable-next-line functional/immutable-data
48
+ obj[key] = value;
49
+ };
33
50
  //# sourceMappingURL=utils.js.map
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAGrB,EAAE;IACH,6CAA6C;IAC7C,IAAI,SAAS,GAAkB,SAAS,CAAA;IAExC,MAAM,GAAG,GAAG,CAAC,KAAQ,EAAE,EAAE;QACvB,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC,CAAA;IAED,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,SAAwB,EAAY,EAAE;IAC7D,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,SAAS,KAAK,SAAS,CAAA;IAChC,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;KACT,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAGrB,EAAE;IACH,6CAA6C;IAC7C,IAAI,SAAS,GAAkB,SAAS,CAAA;IAExC,MAAM,GAAG,GAAG,CAAC,KAAQ,EAAE,EAAE;QACvB,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC,CAAA;IAED,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,SAAwB,EAAY,EAAE;IAC7D,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,SAAS,KAAK,SAAS,CAAA;IAChC,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAoB,EACpB,QAAa,EACV,EAAE;IACL,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAAM,EACN,GAAW,EACX,YAAiB,EACjB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACd,qDAAqD;QACrD,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAA;IACzB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAU,EAAE,IAAO,EAAE,EAAE;IAClD,qDAAqD;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAM,EACN,GAAW,EACX,KAAU,EACV,EAAE;IACF,qDAAqD;IACrD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAClB,CAAC,CAAA"}