@enactprotocol/shared 1.2.13 → 2.0.1

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 (207) hide show
  1. package/README.md +44 -0
  2. package/dist/config.d.ts +164 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +386 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/constants.d.ts +15 -5
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +24 -8
  9. package/dist/constants.js.map +1 -0
  10. package/dist/execution/command.d.ts +102 -0
  11. package/dist/execution/command.d.ts.map +1 -0
  12. package/dist/execution/command.js +262 -0
  13. package/dist/execution/command.js.map +1 -0
  14. package/dist/execution/index.d.ts +12 -0
  15. package/dist/execution/index.d.ts.map +1 -0
  16. package/dist/execution/index.js +17 -0
  17. package/dist/execution/index.js.map +1 -0
  18. package/dist/execution/runtime.d.ts +82 -0
  19. package/dist/execution/runtime.d.ts.map +1 -0
  20. package/dist/execution/runtime.js +273 -0
  21. package/dist/execution/runtime.js.map +1 -0
  22. package/dist/execution/types.d.ts +306 -0
  23. package/dist/execution/types.d.ts.map +1 -0
  24. package/dist/execution/types.js +14 -0
  25. package/dist/execution/types.js.map +1 -0
  26. package/dist/execution/validation.d.ts +43 -0
  27. package/dist/execution/validation.d.ts.map +1 -0
  28. package/dist/execution/validation.js +430 -0
  29. package/dist/execution/validation.js.map +1 -0
  30. package/dist/index.d.ts +21 -21
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +49 -25
  33. package/dist/index.js.map +1 -0
  34. package/dist/manifest/index.d.ts +7 -0
  35. package/dist/manifest/index.d.ts.map +1 -0
  36. package/dist/manifest/index.js +10 -0
  37. package/dist/manifest/index.js.map +1 -0
  38. package/dist/manifest/loader.d.ts +76 -0
  39. package/dist/manifest/loader.d.ts.map +1 -0
  40. package/dist/manifest/loader.js +146 -0
  41. package/dist/manifest/loader.js.map +1 -0
  42. package/dist/manifest/parser.d.ts +64 -0
  43. package/dist/manifest/parser.d.ts.map +1 -0
  44. package/dist/manifest/parser.js +135 -0
  45. package/dist/manifest/parser.js.map +1 -0
  46. package/dist/manifest/validator.d.ts +95 -0
  47. package/dist/manifest/validator.d.ts.map +1 -0
  48. package/dist/manifest/validator.js +258 -0
  49. package/dist/manifest/validator.js.map +1 -0
  50. package/dist/paths.d.ts +57 -0
  51. package/dist/paths.d.ts.map +1 -0
  52. package/dist/paths.js +93 -0
  53. package/dist/paths.js.map +1 -0
  54. package/dist/registry.d.ts +73 -0
  55. package/dist/registry.d.ts.map +1 -0
  56. package/dist/registry.js +147 -0
  57. package/dist/registry.js.map +1 -0
  58. package/dist/resolver.d.ts +89 -0
  59. package/dist/resolver.d.ts.map +1 -0
  60. package/dist/resolver.js +282 -0
  61. package/dist/resolver.js.map +1 -0
  62. package/dist/types/index.d.ts +6 -0
  63. package/dist/types/index.d.ts.map +1 -0
  64. package/dist/types/index.js +5 -0
  65. package/dist/types/index.js.map +1 -0
  66. package/dist/types/manifest.d.ts +201 -0
  67. package/dist/types/manifest.d.ts.map +1 -0
  68. package/dist/types/manifest.js +13 -0
  69. package/dist/types/manifest.js.map +1 -0
  70. package/dist/types.d.ts +5 -132
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +5 -3
  73. package/dist/types.js.map +1 -0
  74. package/dist/utils/fs.d.ts +105 -0
  75. package/dist/utils/fs.d.ts.map +1 -0
  76. package/dist/utils/fs.js +233 -0
  77. package/dist/utils/fs.js.map +1 -0
  78. package/dist/utils/logger.d.ts +102 -25
  79. package/dist/utils/logger.d.ts.map +1 -0
  80. package/dist/utils/logger.js +214 -57
  81. package/dist/utils/logger.js.map +1 -0
  82. package/dist/utils/version.d.ts +60 -2
  83. package/dist/utils/version.d.ts.map +1 -0
  84. package/dist/utils/version.js +255 -31
  85. package/dist/utils/version.js.map +1 -0
  86. package/package.json +16 -58
  87. package/src/config.ts +510 -0
  88. package/src/constants.ts +36 -0
  89. package/src/execution/command.ts +314 -0
  90. package/src/execution/index.ts +73 -0
  91. package/src/execution/runtime.ts +308 -0
  92. package/src/execution/types.ts +379 -0
  93. package/src/execution/validation.ts +508 -0
  94. package/src/index.ts +238 -30
  95. package/src/manifest/index.ts +36 -0
  96. package/src/manifest/loader.ts +187 -0
  97. package/src/manifest/parser.ts +173 -0
  98. package/src/manifest/validator.ts +309 -0
  99. package/src/paths.ts +108 -0
  100. package/src/registry.ts +219 -0
  101. package/src/resolver.ts +345 -0
  102. package/src/types/index.ts +30 -0
  103. package/src/types/manifest.ts +255 -0
  104. package/src/types.ts +5 -188
  105. package/src/utils/fs.ts +281 -0
  106. package/src/utils/logger.ts +270 -59
  107. package/src/utils/version.ts +304 -36
  108. package/tests/config.test.ts +515 -0
  109. package/tests/execution/command.test.ts +317 -0
  110. package/tests/execution/validation.test.ts +384 -0
  111. package/tests/fixtures/invalid-tool.yaml +4 -0
  112. package/tests/fixtures/valid-tool.md +62 -0
  113. package/tests/fixtures/valid-tool.yaml +40 -0
  114. package/tests/index.test.ts +8 -0
  115. package/tests/manifest/loader.test.ts +291 -0
  116. package/tests/manifest/parser.test.ts +345 -0
  117. package/tests/manifest/validator.test.ts +394 -0
  118. package/tests/manifest-types.test.ts +358 -0
  119. package/tests/paths.test.ts +153 -0
  120. package/tests/registry.test.ts +231 -0
  121. package/tests/resolver.test.ts +272 -0
  122. package/tests/utils/fs.test.ts +388 -0
  123. package/tests/utils/logger.test.ts +480 -0
  124. package/tests/utils/version.test.ts +390 -0
  125. package/tsconfig.json +12 -0
  126. package/dist/LocalToolResolver.d.ts +0 -84
  127. package/dist/LocalToolResolver.js +0 -353
  128. package/dist/api/enact-api.d.ts +0 -130
  129. package/dist/api/enact-api.js +0 -428
  130. package/dist/api/index.d.ts +0 -2
  131. package/dist/api/index.js +0 -2
  132. package/dist/api/types.d.ts +0 -103
  133. package/dist/api/types.js +0 -1
  134. package/dist/core/DaggerExecutionProvider.d.ts +0 -169
  135. package/dist/core/DaggerExecutionProvider.js +0 -1029
  136. package/dist/core/DirectExecutionProvider.d.ts +0 -23
  137. package/dist/core/DirectExecutionProvider.js +0 -406
  138. package/dist/core/EnactCore.d.ts +0 -162
  139. package/dist/core/EnactCore.js +0 -597
  140. package/dist/core/NativeExecutionProvider.d.ts +0 -9
  141. package/dist/core/NativeExecutionProvider.js +0 -16
  142. package/dist/core/index.d.ts +0 -3
  143. package/dist/core/index.js +0 -3
  144. package/dist/exec/index.d.ts +0 -3
  145. package/dist/exec/index.js +0 -3
  146. package/dist/exec/logger.d.ts +0 -11
  147. package/dist/exec/logger.js +0 -57
  148. package/dist/exec/validate.d.ts +0 -5
  149. package/dist/exec/validate.js +0 -167
  150. package/dist/lib/enact-direct.d.ts +0 -150
  151. package/dist/lib/enact-direct.js +0 -159
  152. package/dist/lib/index.d.ts +0 -1
  153. package/dist/lib/index.js +0 -1
  154. package/dist/security/index.d.ts +0 -3
  155. package/dist/security/index.js +0 -3
  156. package/dist/security/security.d.ts +0 -23
  157. package/dist/security/security.js +0 -137
  158. package/dist/security/sign.d.ts +0 -103
  159. package/dist/security/sign.js +0 -666
  160. package/dist/security/verification-enforcer.d.ts +0 -53
  161. package/dist/security/verification-enforcer.js +0 -204
  162. package/dist/services/McpCoreService.d.ts +0 -98
  163. package/dist/services/McpCoreService.js +0 -124
  164. package/dist/services/index.d.ts +0 -1
  165. package/dist/services/index.js +0 -1
  166. package/dist/utils/config.d.ts +0 -111
  167. package/dist/utils/config.js +0 -342
  168. package/dist/utils/env-loader.d.ts +0 -54
  169. package/dist/utils/env-loader.js +0 -270
  170. package/dist/utils/help.d.ts +0 -36
  171. package/dist/utils/help.js +0 -248
  172. package/dist/utils/index.d.ts +0 -7
  173. package/dist/utils/index.js +0 -7
  174. package/dist/utils/silent-monitor.d.ts +0 -67
  175. package/dist/utils/silent-monitor.js +0 -242
  176. package/dist/utils/timeout.d.ts +0 -5
  177. package/dist/utils/timeout.js +0 -23
  178. package/dist/web/env-manager-server.d.ts +0 -29
  179. package/dist/web/env-manager-server.js +0 -367
  180. package/dist/web/index.d.ts +0 -1
  181. package/dist/web/index.js +0 -1
  182. package/src/LocalToolResolver.ts +0 -424
  183. package/src/api/enact-api.ts +0 -604
  184. package/src/api/index.ts +0 -2
  185. package/src/api/types.ts +0 -114
  186. package/src/core/DaggerExecutionProvider.ts +0 -1357
  187. package/src/core/DirectExecutionProvider.ts +0 -484
  188. package/src/core/EnactCore.ts +0 -847
  189. package/src/core/index.ts +0 -3
  190. package/src/exec/index.ts +0 -3
  191. package/src/exec/logger.ts +0 -63
  192. package/src/exec/validate.ts +0 -238
  193. package/src/lib/enact-direct.ts +0 -254
  194. package/src/lib/index.ts +0 -1
  195. package/src/services/McpCoreService.ts +0 -201
  196. package/src/services/index.ts +0 -1
  197. package/src/utils/config.ts +0 -438
  198. package/src/utils/env-loader.ts +0 -370
  199. package/src/utils/help.ts +0 -257
  200. package/src/utils/index.ts +0 -7
  201. package/src/utils/silent-monitor.ts +0 -328
  202. package/src/utils/timeout.ts +0 -26
  203. package/src/web/env-manager-server.ts +0 -465
  204. package/src/web/index.ts +0 -1
  205. package/src/web/static/app.js +0 -663
  206. package/src/web/static/index.html +0 -117
  207. package/src/web/static/style.css +0 -291
@@ -0,0 +1,430 @@
1
+ /**
2
+ * Input validation using JSON Schema
3
+ *
4
+ * Validates tool inputs against the manifest's inputSchema.
5
+ */
6
+ /**
7
+ * Validate inputs against a JSON Schema
8
+ *
9
+ * @param inputs - The inputs to validate
10
+ * @param schema - The JSON Schema to validate against
11
+ * @returns Validation result with errors and coerced values
12
+ */
13
+ export function validateInputs(inputs, schema) {
14
+ // If no schema, everything is valid
15
+ if (!schema) {
16
+ return { valid: true, errors: [], coercedValues: inputs };
17
+ }
18
+ const errors = [];
19
+ const coercedValues = { ...inputs };
20
+ // Check schema type (should be object)
21
+ if (schema.type !== "object") {
22
+ return { valid: true, errors: [], coercedValues: inputs };
23
+ }
24
+ const properties = schema.properties || {};
25
+ const required = schema.required || [];
26
+ // Check required properties
27
+ for (const propName of required) {
28
+ if (inputs[propName] === undefined) {
29
+ errors.push({
30
+ path: `params.${propName}`,
31
+ message: `Missing required parameter: ${propName}`,
32
+ expected: "value",
33
+ });
34
+ }
35
+ }
36
+ // Validate each property
37
+ for (const [propName, propValue] of Object.entries(inputs)) {
38
+ const propSchema = properties[propName];
39
+ if (propSchema) {
40
+ const propErrors = validateProperty(propName, propValue, propSchema);
41
+ errors.push(...propErrors);
42
+ // Attempt type coercion
43
+ const coerced = coerceValue(propValue, propSchema);
44
+ if (coerced !== undefined) {
45
+ coercedValues[propName] = coerced;
46
+ }
47
+ }
48
+ }
49
+ // Check for additional properties if not allowed
50
+ if (schema.additionalProperties === false) {
51
+ for (const propName of Object.keys(inputs)) {
52
+ if (!properties[propName]) {
53
+ errors.push({
54
+ path: `params.${propName}`,
55
+ message: `Unknown parameter: ${propName}`,
56
+ });
57
+ }
58
+ }
59
+ }
60
+ return {
61
+ valid: errors.length === 0,
62
+ errors,
63
+ coercedValues,
64
+ };
65
+ }
66
+ /**
67
+ * Validate a single property against its schema
68
+ */
69
+ function validateProperty(name, value, schema) {
70
+ const errors = [];
71
+ const path = `params.${name}`;
72
+ // Type validation
73
+ if (schema.type) {
74
+ const typeValid = validateType(value, schema.type);
75
+ if (!typeValid) {
76
+ errors.push({
77
+ path,
78
+ message: `Invalid type for ${name}: expected ${schema.type}, got ${typeof value}`,
79
+ expected: String(schema.type),
80
+ actual: value,
81
+ });
82
+ return errors; // Skip further validation if type is wrong
83
+ }
84
+ }
85
+ // String validations
86
+ if (typeof value === "string") {
87
+ // minLength
88
+ if (schema.minLength !== undefined && value.length < schema.minLength) {
89
+ errors.push({
90
+ path,
91
+ message: `${name} must be at least ${schema.minLength} characters`,
92
+ expected: `minLength: ${schema.minLength}`,
93
+ actual: value,
94
+ });
95
+ }
96
+ // maxLength
97
+ if (schema.maxLength !== undefined && value.length > schema.maxLength) {
98
+ errors.push({
99
+ path,
100
+ message: `${name} must be at most ${schema.maxLength} characters`,
101
+ expected: `maxLength: ${schema.maxLength}`,
102
+ actual: value,
103
+ });
104
+ }
105
+ // pattern
106
+ if (schema.pattern) {
107
+ const regex = new RegExp(schema.pattern);
108
+ if (!regex.test(value)) {
109
+ errors.push({
110
+ path,
111
+ message: `${name} must match pattern: ${schema.pattern}`,
112
+ expected: `pattern: ${schema.pattern}`,
113
+ actual: value,
114
+ });
115
+ }
116
+ }
117
+ // format (basic support)
118
+ if (schema.format) {
119
+ const formatError = validateFormat(value, schema.format);
120
+ if (formatError) {
121
+ errors.push({
122
+ path,
123
+ message: `${name}: ${formatError}`,
124
+ expected: `format: ${schema.format}`,
125
+ actual: value,
126
+ });
127
+ }
128
+ }
129
+ }
130
+ // Number validations
131
+ if (typeof value === "number") {
132
+ // minimum
133
+ if (schema.minimum !== undefined && value < schema.minimum) {
134
+ errors.push({
135
+ path,
136
+ message: `${name} must be >= ${schema.minimum}`,
137
+ expected: `minimum: ${schema.minimum}`,
138
+ actual: value,
139
+ });
140
+ }
141
+ // maximum
142
+ if (schema.maximum !== undefined && value > schema.maximum) {
143
+ errors.push({
144
+ path,
145
+ message: `${name} must be <= ${schema.maximum}`,
146
+ expected: `maximum: ${schema.maximum}`,
147
+ actual: value,
148
+ });
149
+ }
150
+ // exclusiveMinimum
151
+ if (schema.exclusiveMinimum !== undefined && value <= schema.exclusiveMinimum) {
152
+ errors.push({
153
+ path,
154
+ message: `${name} must be > ${schema.exclusiveMinimum}`,
155
+ expected: `exclusiveMinimum: ${schema.exclusiveMinimum}`,
156
+ actual: value,
157
+ });
158
+ }
159
+ // exclusiveMaximum
160
+ if (schema.exclusiveMaximum !== undefined && value >= schema.exclusiveMaximum) {
161
+ errors.push({
162
+ path,
163
+ message: `${name} must be < ${schema.exclusiveMaximum}`,
164
+ expected: `exclusiveMaximum: ${schema.exclusiveMaximum}`,
165
+ actual: value,
166
+ });
167
+ }
168
+ // multipleOf
169
+ if (schema.multipleOf !== undefined && value % schema.multipleOf !== 0) {
170
+ errors.push({
171
+ path,
172
+ message: `${name} must be a multiple of ${schema.multipleOf}`,
173
+ expected: `multipleOf: ${schema.multipleOf}`,
174
+ actual: value,
175
+ });
176
+ }
177
+ }
178
+ // Enum validation
179
+ if (schema.enum && !schema.enum.includes(value)) {
180
+ errors.push({
181
+ path,
182
+ message: `${name} must be one of: ${schema.enum.join(", ")}`,
183
+ expected: `enum: [${schema.enum.join(", ")}]`,
184
+ actual: value,
185
+ });
186
+ }
187
+ // Const validation
188
+ if (schema.const !== undefined && value !== schema.const) {
189
+ errors.push({
190
+ path,
191
+ message: `${name} must be: ${schema.const}`,
192
+ expected: `const: ${schema.const}`,
193
+ actual: value,
194
+ });
195
+ }
196
+ // Array validations
197
+ if (Array.isArray(value)) {
198
+ // minItems
199
+ if (schema.minItems !== undefined && value.length < schema.minItems) {
200
+ errors.push({
201
+ path,
202
+ message: `${name} must have at least ${schema.minItems} items`,
203
+ expected: `minItems: ${schema.minItems}`,
204
+ actual: value,
205
+ });
206
+ }
207
+ // maxItems
208
+ if (schema.maxItems !== undefined && value.length > schema.maxItems) {
209
+ errors.push({
210
+ path,
211
+ message: `${name} must have at most ${schema.maxItems} items`,
212
+ expected: `maxItems: ${schema.maxItems}`,
213
+ actual: value,
214
+ });
215
+ }
216
+ // uniqueItems
217
+ if (schema.uniqueItems) {
218
+ const seen = new Set();
219
+ const hasDuplicates = value.some((item) => {
220
+ const key = JSON.stringify(item);
221
+ if (seen.has(key))
222
+ return true;
223
+ seen.add(key);
224
+ return false;
225
+ });
226
+ if (hasDuplicates) {
227
+ errors.push({
228
+ path,
229
+ message: `${name} must contain unique items`,
230
+ expected: "uniqueItems: true",
231
+ actual: value,
232
+ });
233
+ }
234
+ }
235
+ }
236
+ return errors;
237
+ }
238
+ /**
239
+ * Validate a value matches the expected type
240
+ */
241
+ function validateType(value, type) {
242
+ if (type === undefined)
243
+ return true;
244
+ // Handle array of types
245
+ if (Array.isArray(type)) {
246
+ return type.some((t) => validateType(value, t));
247
+ }
248
+ switch (type) {
249
+ case "string":
250
+ return typeof value === "string";
251
+ case "number":
252
+ return typeof value === "number" && !Number.isNaN(value);
253
+ case "integer":
254
+ return typeof value === "number" && Number.isInteger(value);
255
+ case "boolean":
256
+ return typeof value === "boolean";
257
+ case "array":
258
+ return Array.isArray(value);
259
+ case "object":
260
+ return typeof value === "object" && value !== null && !Array.isArray(value);
261
+ case "null":
262
+ return value === null;
263
+ default:
264
+ return true;
265
+ }
266
+ }
267
+ /**
268
+ * Validate string format
269
+ */
270
+ function validateFormat(value, format) {
271
+ switch (format) {
272
+ case "email": {
273
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
274
+ if (!emailRegex.test(value)) {
275
+ return "Invalid email format";
276
+ }
277
+ break;
278
+ }
279
+ case "uri":
280
+ case "url": {
281
+ try {
282
+ new URL(value);
283
+ }
284
+ catch {
285
+ return "Invalid URL format";
286
+ }
287
+ break;
288
+ }
289
+ case "date": {
290
+ const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
291
+ if (!dateRegex.test(value) || Number.isNaN(Date.parse(value))) {
292
+ return "Invalid date format (expected YYYY-MM-DD)";
293
+ }
294
+ break;
295
+ }
296
+ case "date-time": {
297
+ if (Number.isNaN(Date.parse(value))) {
298
+ return "Invalid date-time format";
299
+ }
300
+ break;
301
+ }
302
+ case "time": {
303
+ const timeRegex = /^\d{2}:\d{2}(:\d{2})?$/;
304
+ if (!timeRegex.test(value)) {
305
+ return "Invalid time format (expected HH:MM or HH:MM:SS)";
306
+ }
307
+ break;
308
+ }
309
+ case "uuid": {
310
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
311
+ if (!uuidRegex.test(value)) {
312
+ return "Invalid UUID format";
313
+ }
314
+ break;
315
+ }
316
+ case "hostname": {
317
+ const hostnameRegex = /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
318
+ if (!hostnameRegex.test(value)) {
319
+ return "Invalid hostname format";
320
+ }
321
+ break;
322
+ }
323
+ case "ipv4": {
324
+ const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
325
+ if (!ipv4Regex.test(value)) {
326
+ return "Invalid IPv4 format";
327
+ }
328
+ break;
329
+ }
330
+ // Note: Add more formats as needed
331
+ }
332
+ return null;
333
+ }
334
+ /**
335
+ * Attempt to coerce a value to match the schema type
336
+ */
337
+ function coerceValue(value, schema) {
338
+ if (value === undefined || value === null) {
339
+ return schema.default;
340
+ }
341
+ const type = schema.type;
342
+ if (!type || Array.isArray(type)) {
343
+ return value;
344
+ }
345
+ // String coercion
346
+ if (type === "string" && typeof value !== "string") {
347
+ return String(value);
348
+ }
349
+ // Number coercion
350
+ if ((type === "number" || type === "integer") && typeof value === "string") {
351
+ const parsed = Number(value);
352
+ if (!Number.isNaN(parsed)) {
353
+ if (type === "integer") {
354
+ return Math.floor(parsed);
355
+ }
356
+ return parsed;
357
+ }
358
+ }
359
+ // Boolean coercion
360
+ if (type === "boolean" && typeof value === "string") {
361
+ if (value.toLowerCase() === "true")
362
+ return true;
363
+ if (value.toLowerCase() === "false")
364
+ return false;
365
+ }
366
+ return value;
367
+ }
368
+ /**
369
+ * Apply default values from schema to inputs
370
+ *
371
+ * @param inputs - Current inputs
372
+ * @param schema - Input schema with defaults
373
+ * @returns Inputs with defaults applied
374
+ */
375
+ export function applyDefaults(inputs, schema) {
376
+ if (!schema || schema.type !== "object" || !schema.properties) {
377
+ return inputs;
378
+ }
379
+ const result = { ...inputs };
380
+ for (const [propName, propSchema] of Object.entries(schema.properties)) {
381
+ if (result[propName] === undefined) {
382
+ const prop = propSchema;
383
+ if (prop.default !== undefined) {
384
+ result[propName] = prop.default;
385
+ }
386
+ }
387
+ }
388
+ return result;
389
+ }
390
+ /**
391
+ * Get the list of required parameters from a schema
392
+ *
393
+ * @param schema - Input schema
394
+ * @returns Array of required parameter names
395
+ */
396
+ export function getRequiredParams(schema) {
397
+ if (!schema || !schema.required) {
398
+ return [];
399
+ }
400
+ return [...schema.required];
401
+ }
402
+ /**
403
+ * Get parameter info from schema for help/documentation
404
+ *
405
+ * @param schema - Input schema
406
+ * @returns Map of parameter name to info
407
+ */
408
+ export function getParamInfo(schema) {
409
+ const info = new Map();
410
+ if (!schema || schema.type !== "object" || !schema.properties) {
411
+ return info;
412
+ }
413
+ const required = new Set(schema.required || []);
414
+ for (const [propName, propSchema] of Object.entries(schema.properties)) {
415
+ const prop = propSchema;
416
+ const entry = {
417
+ type: Array.isArray(prop.type) ? prop.type.join(" | ") : prop.type || "any",
418
+ required: required.has(propName),
419
+ };
420
+ if (prop.description !== undefined) {
421
+ entry.description = prop.description;
422
+ }
423
+ if (prop.default !== undefined) {
424
+ entry.default = prop.default;
425
+ }
426
+ info.set(propName, entry);
427
+ }
428
+ return info;
429
+ }
430
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/execution/validation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,21 +1,21 @@
1
- export { EnactCore } from './core/EnactCore';
2
- export { DirectExecutionProvider } from './core/DirectExecutionProvider';
3
- export { DaggerExecutionProvider } from './core/DaggerExecutionProvider';
4
- export type { EnactTool } from './types';
5
- export type { EnactToolDefinition } from './api/types';
6
- export { default as LocalToolResolver } from './LocalToolResolver';
7
- export { default } from './LocalToolResolver';
8
- export { default as logger } from './exec/logger';
9
- export * from './exec/validate';
10
- export * from './utils/config';
11
- export * from './utils/env-loader';
12
- export { showHelp } from './utils/help';
13
- export { showVersion as utilsShowVersion } from './utils/version';
14
- export * from './utils/logger';
15
- export * from './utils/silent-monitor';
16
- export * from './utils/timeout';
17
- export * from './services/McpCoreService';
18
- export * from './web/env-manager-server';
19
- export * from './api/enact-api';
20
- export type { ApiResponse, ToolSearchQuery, ToolUsage, CLITokenCreate, OAuthTokenExchange } from './api/types';
21
- export * from './lib/enact-direct';
1
+ /**
2
+ * @enactprotocol/shared
3
+ *
4
+ * Core business logic and utilities for Enact.
5
+ * Provides manifest parsing, configuration management, tool resolution,
6
+ * and execution engine interfaces.
7
+ */
8
+ export declare const version = "0.1.0";
9
+ export { ENACT_BASE_URL, ENACT_API_URL, ENACT_WEB_URL, ENACT_TOOL_TYPE, ENACT_AUDIT_TYPE, ENACT_BUILD_TYPE, INTOTO_STATEMENT_TYPE, SLSA_PROVENANCE_TYPE, } from "./constants";
10
+ export { getEnactHome, getProjectEnactDir, getToolsDir, getCacheDir, getConfigPath, getGlobalEnvPath, getProjectEnvPath, type ToolScope, } from "./paths";
11
+ export { loadConfig, saveConfig, getConfigValue, setConfigValue, resetConfig, configExists, ensureGlobalSetup, DEFAULT_CONFIG, getTrustedIdentities, addTrustedIdentity, removeTrustedIdentity, isIdentityTrusted, getMinimumAttestations, getTrustPolicy, emailToProviderIdentity, getTrustedAuditors, addTrustedAuditor, removeTrustedAuditor, isAuditorTrusted, type EnactConfig, type TrustConfig, type CacheConfig, type ExecutionConfig, type RegistryConfig, } from "./config";
12
+ export type { ToolManifest, PackageManifest, ParsedManifest, EnvVariable, EnvVariables, Author, ToolAnnotations, ResourceRequirements, ToolExample, ValidationResult, ValidationError, ValidationWarning, ToolLocation, ToolResolution, ManifestFileName, } from "./types/manifest";
13
+ export { MANIFEST_FILES, PACKAGE_MANIFEST_FILE } from "./types/manifest";
14
+ export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, type ManifestFormat, validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, type LoadedManifest, } from "./manifest";
15
+ export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, type ResolveOptions, } from "./resolver";
16
+ export { loadToolsRegistry, saveToolsRegistry, addToolToRegistry, removeToolFromRegistry, isToolInstalled, getInstalledVersion, getToolCachePath, listInstalledTools, getInstalledToolInfo, getToolsJsonPath, type ToolsRegistry, type RegistryScope, type InstalledToolInfo, } from "./registry";
17
+ export { Logger, createLogger, configureLogger, getLogger, debug, info, warn, error, type LogLevel, type LogEntry, type LoggerOptions, } from "./utils/logger";
18
+ export { parseVersion, isValidVersion as isValidSemver, compareVersions, parseRange, satisfiesRange, sortVersions, getHighestVersion, incrementVersion, coerceVersion, formatVersion, type ParsedVersion, type VersionRange, } from "./utils/version";
19
+ export { ensureDir, ensureParentDir, pathExists, isDirectory, isFile, readJsonFile, tryReadJsonFile, writeJsonFile, readTextFile, tryReadTextFile, writeTextFile, copyFile, copyDir, remove, listDir, listDirEntries, findFiles, findFilesRecursive, getStats, getFileSize, touchFile, } from "./utils/fs";
20
+ export { type ExecutionInput, type FileInput, type ExecutionOutput, type ExecutionResult, type ExecutionMetadata, type ExecutionError, type ExecutionErrorCode, type ExecutionOptions, type RetryConfig, type ContainerRuntime, type RuntimeDetection, type RuntimeStatus, type EngineHealth, type EngineState, type ExecutionProvider, type ParsedCommand, type CommandToken, type InterpolationOptions, type InputValidationResult, type InputValidationError, type DryRunResult, DEFAULT_RETRY_CONFIG, detectRuntime, clearRuntimeCache, isRuntimeAvailable, getAvailableRuntimes, RuntimeStatusTracker, createRuntimeTracker, parseCommand, interpolateCommand, shellEscape, parseCommandArgs, prepareCommand, getMissingParams, validateInputs, applyDefaults, getRequiredParams, getParamInfo, } from "./execution";
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,25 +1,49 @@
1
- // Core exports
2
- export { EnactCore } from './core/EnactCore';
3
- export { DirectExecutionProvider } from './core/DirectExecutionProvider';
4
- export { DaggerExecutionProvider } from './core/DaggerExecutionProvider';
5
- export { default as LocalToolResolver } from './LocalToolResolver';
6
- export { default } from './LocalToolResolver';
7
- // Exec utilities
8
- export { default as logger } from './exec/logger';
9
- export * from './exec/validate';
10
- // Utils
11
- export * from './utils/config';
12
- export * from './utils/env-loader';
13
- export { showHelp } from './utils/help';
14
- export { showVersion as utilsShowVersion } from './utils/version';
15
- export * from './utils/logger';
16
- export * from './utils/silent-monitor';
17
- export * from './utils/timeout';
18
- // Services
19
- export * from './services/McpCoreService';
20
- // Web
21
- export * from './web/env-manager-server';
22
- // API
23
- export * from './api/enact-api';
24
- // Lib
25
- export * from './lib/enact-direct';
1
+ /**
2
+ * @enactprotocol/shared
3
+ *
4
+ * Core business logic and utilities for Enact.
5
+ * Provides manifest parsing, configuration management, tool resolution,
6
+ * and execution engine interfaces.
7
+ */
8
+ export const version = "0.1.0";
9
+ // Constants
10
+ export { ENACT_BASE_URL, ENACT_API_URL, ENACT_WEB_URL, ENACT_TOOL_TYPE, ENACT_AUDIT_TYPE, ENACT_BUILD_TYPE, INTOTO_STATEMENT_TYPE, SLSA_PROVENANCE_TYPE, } from "./constants";
11
+ // Path utilities
12
+ export { getEnactHome, getProjectEnactDir, getToolsDir, getCacheDir, getConfigPath, getGlobalEnvPath, getProjectEnvPath, } from "./paths";
13
+ // Configuration manager
14
+ export { loadConfig, saveConfig, getConfigValue, setConfigValue, resetConfig, configExists, ensureGlobalSetup, DEFAULT_CONFIG,
15
+ // Local trust management (new unified API)
16
+ getTrustedIdentities, addTrustedIdentity, removeTrustedIdentity, isIdentityTrusted, getMinimumAttestations, getTrustPolicy, emailToProviderIdentity,
17
+ // Legacy aliases (deprecated)
18
+ getTrustedAuditors, addTrustedAuditor, removeTrustedAuditor, isAuditorTrusted, } from "./config";
19
+ export { MANIFEST_FILES, PACKAGE_MANIFEST_FILE } from "./types/manifest";
20
+ // Manifest parsing, validation, and loading
21
+ export {
22
+ // Parser
23
+ ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat,
24
+ // Validator
25
+ validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema,
26
+ // Loader
27
+ ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, } from "./manifest";
28
+ // Tool resolver
29
+ export { ToolResolveError, resolveTool, resolveToolAuto, resolveToolFromPath, tryResolveTool, normalizeToolName, toolNameToPath, getToolPath, getToolSearchPaths, } from "./resolver";
30
+ // Local tool registry (tools.json management)
31
+ export { loadToolsRegistry, saveToolsRegistry, addToolToRegistry, removeToolFromRegistry, isToolInstalled, getInstalledVersion, getToolCachePath, listInstalledTools, getInstalledToolInfo, getToolsJsonPath, } from "./registry";
32
+ // Logger utility
33
+ export { Logger, createLogger, configureLogger, getLogger, debug, info, warn, error, } from "./utils/logger";
34
+ // Version utilities
35
+ export { parseVersion, isValidVersion as isValidSemver, compareVersions, parseRange, satisfiesRange, sortVersions, getHighestVersion, incrementVersion, coerceVersion, formatVersion, } from "./utils/version";
36
+ // File system helpers
37
+ export { ensureDir, ensureParentDir, pathExists, isDirectory, isFile, readJsonFile, tryReadJsonFile, writeJsonFile, readTextFile, tryReadTextFile, writeTextFile, copyFile, copyDir, remove, listDir, listDirEntries, findFiles, findFilesRecursive, getStats, getFileSize, touchFile, } from "./utils/fs";
38
+ // Execution engine (browser-safe utilities only)
39
+ // NOTE: DaggerExecutionProvider moved to @enactprotocol/execution package
40
+ export {
41
+ // Constants
42
+ DEFAULT_RETRY_CONFIG,
43
+ // Runtime
44
+ detectRuntime, clearRuntimeCache, isRuntimeAvailable, getAvailableRuntimes, RuntimeStatusTracker, createRuntimeTracker,
45
+ // Command
46
+ parseCommand, interpolateCommand, shellEscape, parseCommandArgs, prepareCommand, getMissingParams,
47
+ // Validation
48
+ validateInputs, applyDefaults, getRequiredParams, getParamInfo, } from "./execution";
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Manifest module exports
3
+ */
4
+ export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, type ManifestFormat, } from "./parser";
5
+ export { validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, } from "./validator";
6
+ export { ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, type LoadedManifest, } from "./loader";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Manifest module exports
3
+ */
4
+ // Parser
5
+ export { ManifestParseError, parseManifest, parseManifestAuto, parseYaml, extractFrontmatter, detectFormat, } from "./parser";
6
+ // Validator
7
+ export { validateManifest, validateManifestStrict, isValidToolName, isValidVersion, isValidTimeout, ToolManifestSchema, } from "./validator";
8
+ // Loader
9
+ export { ManifestLoadError, loadManifest, loadManifestFromDir, findManifestFile, hasManifest, tryLoadManifest, tryLoadManifestFromDir, } from "./loader";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,YAAY,GAEb,MAAM,UAAU,CAAC;AAElB,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,GAEvB,MAAM,UAAU,CAAC"}