@demoscript/cli 1.0.2 → 1.0.3

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 (72) hide show
  1. package/dist/bundle.cjs +10952 -10633
  2. package/dist/commands/login.d.ts +4 -0
  3. package/dist/commands/login.d.ts.map +1 -0
  4. package/dist/commands/login.js +109 -0
  5. package/dist/commands/login.js.map +1 -0
  6. package/dist/commands/push.d.ts +9 -0
  7. package/dist/commands/push.d.ts.map +1 -0
  8. package/dist/commands/push.js +146 -0
  9. package/dist/commands/push.js.map +1 -0
  10. package/dist/commands/serve.d.ts +9 -0
  11. package/dist/commands/serve.d.ts.map +1 -0
  12. package/dist/commands/serve.js +197 -0
  13. package/dist/commands/serve.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/lib/config.d.ts +12 -0
  18. package/dist/lib/config.d.ts.map +1 -0
  19. package/dist/lib/config.js +39 -0
  20. package/dist/lib/config.js.map +1 -0
  21. package/dist/lib/executor.d.ts +20 -0
  22. package/dist/lib/executor.d.ts.map +1 -0
  23. package/dist/lib/executor.js +185 -0
  24. package/dist/lib/executor.js.map +1 -0
  25. package/dist/lib/executor.test.d.ts +2 -0
  26. package/dist/lib/executor.test.d.ts.map +1 -0
  27. package/dist/lib/executor.test.js +62 -0
  28. package/dist/lib/executor.test.js.map +1 -0
  29. package/dist/lib/loader.d.ts +10 -0
  30. package/dist/lib/loader.d.ts.map +1 -0
  31. package/dist/lib/loader.js +156 -0
  32. package/dist/lib/loader.js.map +1 -0
  33. package/dist/lib/openapi.d.ts +108 -0
  34. package/dist/lib/openapi.d.ts.map +1 -0
  35. package/dist/lib/openapi.js +375 -0
  36. package/dist/lib/openapi.js.map +1 -0
  37. package/dist/lib/openapi.test.d.ts +2 -0
  38. package/dist/lib/openapi.test.d.ts.map +1 -0
  39. package/dist/lib/openapi.test.js +318 -0
  40. package/dist/lib/openapi.test.js.map +1 -0
  41. package/dist/lib/validator.d.ts +12 -0
  42. package/dist/lib/validator.d.ts.map +1 -0
  43. package/dist/lib/validator.js +58 -0
  44. package/dist/lib/validator.js.map +1 -0
  45. package/dist/server/rest-proxy.d.ts +3 -0
  46. package/dist/server/rest-proxy.d.ts.map +1 -0
  47. package/dist/server/rest-proxy.js +34 -0
  48. package/dist/server/rest-proxy.js.map +1 -0
  49. package/dist/server/shell-executor.d.ts +3 -0
  50. package/dist/server/shell-executor.d.ts.map +1 -0
  51. package/dist/server/shell-executor.js +56 -0
  52. package/dist/server/shell-executor.js.map +1 -0
  53. package/dist/types.d.ts +312 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/dist/types.js +33 -0
  56. package/dist/types.js.map +1 -0
  57. package/dist/ui-dist/assets/index-CtREFkwP.js +175 -0
  58. package/dist/ui-dist/assets/index-DTJEjfHv.css +1 -0
  59. package/dist/ui-dist/dist/assets/index-DZpZVgB7.js +177 -0
  60. package/dist/ui-dist/dist/assets/index-DZpZVgB7.js.map +1 -0
  61. package/dist/ui-dist/dist/assets/index-OFqwkvWn.css +1 -0
  62. package/dist/ui-dist/{assets/index-cngvCrhl.js → dist/assets/index-Uvktqp4J.js} +31 -31
  63. package/dist/ui-dist/dist/assets/index-Uvktqp4J.js.map +1 -0
  64. package/dist/ui-dist/dist/assets/index-pTz7wI27.css +1 -0
  65. package/dist/ui-dist/{assets/index-DFwzKJ81.css → dist/assets/index.css} +1 -1
  66. package/dist/ui-dist/dist/assets/index.js +177 -0
  67. package/dist/ui-dist/dist/assets/index.js.map +1 -0
  68. package/dist/ui-dist/dist/demo.yaml +120 -0
  69. package/dist/ui-dist/dist/index.html +14 -0
  70. package/dist/ui-dist/index.html +2 -2
  71. package/package.json +1 -1
  72. /package/dist/ui-dist/{favicon.svg → dist/favicon.svg} +0 -0
@@ -0,0 +1,375 @@
1
+ // In-memory cache for OpenAPI specs
2
+ const specCache = new Map();
3
+ const CACHE_TTL = 5 * 60 * 1000; // 5 minutes
4
+ /**
5
+ * Fetch and cache an OpenAPI spec
6
+ */
7
+ export async function fetchOpenApiSpec(url) {
8
+ // Check cache
9
+ const cached = specCache.get(url);
10
+ if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
11
+ return cached.spec;
12
+ }
13
+ try {
14
+ const response = await fetch(url);
15
+ if (!response.ok) {
16
+ console.warn(`Failed to fetch OpenAPI spec from ${url}: ${response.status}`);
17
+ return null;
18
+ }
19
+ const spec = await response.json();
20
+ // Validate it looks like an OpenAPI spec
21
+ if (!spec.openapi || !spec.paths) {
22
+ console.warn(`Invalid OpenAPI spec from ${url}: missing openapi or paths`);
23
+ return null;
24
+ }
25
+ // Cache the spec
26
+ specCache.set(url, { spec, timestamp: Date.now() });
27
+ return spec;
28
+ }
29
+ catch (err) {
30
+ console.warn(`Error fetching OpenAPI spec from ${url}: ${err instanceof Error ? err.message : 'Unknown error'}`);
31
+ return null;
32
+ }
33
+ }
34
+ /**
35
+ * Clear the OpenAPI spec cache
36
+ */
37
+ export function clearOpenApiCache() {
38
+ specCache.clear();
39
+ }
40
+ /**
41
+ * Resolve a $ref in an OpenAPI spec
42
+ */
43
+ function resolveRef(spec, ref) {
44
+ // Handle #/components/schemas/SchemaName format
45
+ const match = ref.match(/^#\/components\/schemas\/(.+)$/);
46
+ if (match && spec.components?.schemas) {
47
+ return spec.components.schemas[match[1]] || null;
48
+ }
49
+ return null;
50
+ }
51
+ /**
52
+ * Resolve a schema, handling $ref and allOf
53
+ */
54
+ function resolveSchema(spec, schema) {
55
+ if (schema.$ref) {
56
+ const resolved = resolveRef(spec, schema.$ref);
57
+ if (resolved) {
58
+ return resolveSchema(spec, resolved);
59
+ }
60
+ }
61
+ if (schema.allOf) {
62
+ // Merge all schemas in allOf
63
+ const merged = { type: 'object', properties: {}, required: [] };
64
+ for (const subSchema of schema.allOf) {
65
+ const resolved = resolveSchema(spec, subSchema);
66
+ if (resolved.properties) {
67
+ merged.properties = { ...merged.properties, ...resolved.properties };
68
+ }
69
+ if (resolved.required) {
70
+ merged.required = [...(merged.required || []), ...resolved.required];
71
+ }
72
+ }
73
+ return merged;
74
+ }
75
+ return schema;
76
+ }
77
+ /**
78
+ * Map OpenAPI type to FormField type
79
+ */
80
+ function mapType(schema) {
81
+ if (schema.enum) {
82
+ return 'select';
83
+ }
84
+ switch (schema.type) {
85
+ case 'integer':
86
+ case 'number':
87
+ return 'number';
88
+ case 'boolean':
89
+ return 'select'; // Will have true/false options
90
+ case 'array':
91
+ case 'object':
92
+ return 'textarea'; // JSON input
93
+ case 'string':
94
+ default:
95
+ return 'text';
96
+ }
97
+ }
98
+ /**
99
+ * Generate select options from schema
100
+ */
101
+ function generateOptions(schema) {
102
+ if (schema.enum) {
103
+ return schema.enum.map(v => ({
104
+ value: String(v),
105
+ label: String(v),
106
+ }));
107
+ }
108
+ if (schema.type === 'boolean') {
109
+ return [
110
+ { value: 'true', label: 'true' },
111
+ { value: 'false', label: 'false' },
112
+ ];
113
+ }
114
+ return undefined;
115
+ }
116
+ /**
117
+ * Generate FormField[] from an OpenAPI operation's request body
118
+ */
119
+ export function generateFormFields(spec, method, path) {
120
+ const pathObj = spec.paths[path];
121
+ if (!pathObj) {
122
+ // Try with path parameters like /plvs/{plvId}/deposits
123
+ const normalizedPath = path.replace(/\$\w+/g, match => `{${match.slice(1)}}`);
124
+ const matchingPath = Object.keys(spec.paths).find(p => {
125
+ const pattern = p.replace(/\{[^}]+\}/g, '[^/]+');
126
+ return new RegExp(`^${pattern}$`).test(normalizedPath);
127
+ });
128
+ if (matchingPath) {
129
+ return generateFormFieldsFromPath(spec, spec.paths[matchingPath], method);
130
+ }
131
+ return [];
132
+ }
133
+ return generateFormFieldsFromPath(spec, pathObj, method);
134
+ }
135
+ function generateFormFieldsFromPath(spec, pathObj, method) {
136
+ const operation = pathObj[method.toLowerCase()];
137
+ if (!operation) {
138
+ return [];
139
+ }
140
+ const requestBody = operation.requestBody;
141
+ if (!requestBody) {
142
+ return [];
143
+ }
144
+ // Get JSON schema from request body
145
+ const jsonContent = requestBody.content['application/json'];
146
+ if (!jsonContent?.schema) {
147
+ return [];
148
+ }
149
+ const schema = resolveSchema(spec, jsonContent.schema);
150
+ if (!schema.properties) {
151
+ return [];
152
+ }
153
+ const requiredFields = schema.required || [];
154
+ const fields = [];
155
+ for (const [name, propSchema] of Object.entries(schema.properties)) {
156
+ const resolved = resolveSchema(spec, propSchema);
157
+ const field = {
158
+ name,
159
+ label: resolved.description || name,
160
+ type: mapType(resolved),
161
+ required: requiredFields.includes(name),
162
+ };
163
+ // Add default if present
164
+ if (resolved.default !== undefined) {
165
+ field.default = resolved.default;
166
+ }
167
+ // Add options for select fields
168
+ const options = generateOptions(resolved);
169
+ if (options) {
170
+ field.options = options;
171
+ }
172
+ // Add placeholder from description if no label override
173
+ if (resolved.description && field.label === name) {
174
+ field.placeholder = resolved.description;
175
+ }
176
+ fields.push(field);
177
+ }
178
+ return fields;
179
+ }
180
+ /**
181
+ * Merge OpenAPI-generated fields with manual defaults and overrides
182
+ *
183
+ * Priority (smart merge - each layer inherits from previous):
184
+ * 1. OpenAPI schema (base: type, required, options, description)
185
+ * 2. defaults: values (override default values only)
186
+ * 3. form: fields (partial override - only specified properties are changed)
187
+ *
188
+ * This allows YAML like:
189
+ * defaults:
190
+ * wallet: "0x..."
191
+ * form:
192
+ * - name: wallet
193
+ * label: "From Wallet" # Only override the label, inherit default from above
194
+ */
195
+ export function mergeFormFields(openapiFields, defaults, manualFields) {
196
+ // Start with OpenAPI fields
197
+ const fieldMap = new Map();
198
+ for (const field of openapiFields) {
199
+ fieldMap.set(field.name, { ...field });
200
+ }
201
+ // Apply defaults
202
+ if (defaults) {
203
+ for (const [name, value] of Object.entries(defaults)) {
204
+ const existing = fieldMap.get(name);
205
+ if (existing) {
206
+ existing.default = value;
207
+ }
208
+ else {
209
+ // Create a new field for defaults not in OpenAPI
210
+ fieldMap.set(name, {
211
+ name,
212
+ default: value,
213
+ type: typeof value === 'number' ? 'number' : 'text',
214
+ });
215
+ }
216
+ }
217
+ }
218
+ // Apply manual overrides (smart merge - inherit from OpenAPI + defaults)
219
+ if (manualFields) {
220
+ for (const manualField of manualFields) {
221
+ const existing = fieldMap.get(manualField.name);
222
+ if (existing) {
223
+ // Merge: start with existing (OpenAPI + defaults), override only specified properties
224
+ const merged = { ...existing };
225
+ // Only override properties that are explicitly set in the manual field
226
+ if (manualField.label !== undefined)
227
+ merged.label = manualField.label;
228
+ if (manualField.type !== undefined)
229
+ merged.type = manualField.type;
230
+ if (manualField.default !== undefined)
231
+ merged.default = manualField.default;
232
+ if (manualField.required !== undefined)
233
+ merged.required = manualField.required;
234
+ if (manualField.readonly !== undefined)
235
+ merged.readonly = manualField.readonly;
236
+ if (manualField.hidden !== undefined)
237
+ merged.hidden = manualField.hidden;
238
+ if (manualField.placeholder !== undefined)
239
+ merged.placeholder = manualField.placeholder;
240
+ if (manualField.options !== undefined)
241
+ merged.options = manualField.options;
242
+ fieldMap.set(manualField.name, merged);
243
+ }
244
+ else {
245
+ // No existing field - use manual field as-is
246
+ fieldMap.set(manualField.name, { ...manualField });
247
+ }
248
+ }
249
+ }
250
+ return Array.from(fieldMap.values());
251
+ }
252
+ /**
253
+ * Get endpoint info from OpenAPI for display
254
+ */
255
+ export function getEndpointInfo(spec, method, path) {
256
+ const pathObj = spec.paths[path];
257
+ if (!pathObj) {
258
+ return null;
259
+ }
260
+ const operation = pathObj[method.toLowerCase()];
261
+ if (!operation) {
262
+ return null;
263
+ }
264
+ return {
265
+ summary: operation.summary,
266
+ description: operation.description,
267
+ };
268
+ }
269
+ /**
270
+ * Convert camelCase/snake_case to human-readable label
271
+ */
272
+ function formatLabel(name) {
273
+ return name
274
+ .replace(/_/g, ' ')
275
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
276
+ .replace(/^./, str => str.toUpperCase());
277
+ }
278
+ /**
279
+ * Map OpenAPI schema to DemoScript result type based on format, type, and property name
280
+ */
281
+ function mapSchemaToResultType(schema, propertyName) {
282
+ const nameLower = propertyName.toLowerCase();
283
+ // Array or object -> JSON tree viewer
284
+ if (schema.type === 'array' || schema.type === 'object') {
285
+ return 'json';
286
+ }
287
+ // Check format first (takes precedence)
288
+ if (schema.format) {
289
+ switch (schema.format) {
290
+ case 'date-time':
291
+ case 'date':
292
+ return 'relative_time';
293
+ case 'uri':
294
+ case 'url':
295
+ return 'link';
296
+ case 'uuid':
297
+ return 'mono';
298
+ }
299
+ }
300
+ // Name-based heuristics for strings
301
+ if (schema.type === 'string') {
302
+ if (nameLower.includes('url') || nameLower.includes('link') || nameLower.includes('href')) {
303
+ return 'link';
304
+ }
305
+ if (nameLower.includes('id') || nameLower.includes('uuid')) {
306
+ return 'mono';
307
+ }
308
+ // Blockchain-specific
309
+ if (nameLower.includes('address') || nameLower.includes('wallet')) {
310
+ return 'address';
311
+ }
312
+ if (nameLower.includes('hash') || nameLower.includes('txid') || nameLower === 'tx') {
313
+ return 'tx';
314
+ }
315
+ }
316
+ // Number-based heuristics
317
+ if (schema.type === 'number' || schema.type === 'integer') {
318
+ if (nameLower.includes('price') || nameLower.includes('amount') ||
319
+ nameLower.includes('balance') || nameLower.includes('total') ||
320
+ nameLower.includes('cost') || nameLower.includes('fee')) {
321
+ return 'currency';
322
+ }
323
+ if (nameLower.includes('id')) {
324
+ return 'mono';
325
+ }
326
+ }
327
+ return 'text';
328
+ }
329
+ /**
330
+ * Generate ResultField[] from an OpenAPI operation's response schema
331
+ *
332
+ * When a REST step doesn't specify `results:`, this function can auto-generate
333
+ * result fields from the OpenAPI response schema.
334
+ */
335
+ export function generateResultFields(spec, method, path) {
336
+ const pathObj = spec.paths[path];
337
+ if (!pathObj) {
338
+ // Try with path parameters like /plvs/{plvId}/deposits
339
+ const normalizedPath = path.replace(/\$\w+/g, match => `{${match.slice(1)}}`);
340
+ const matchingPath = Object.keys(spec.paths).find(p => {
341
+ const pattern = p.replace(/\{[^}]+\}/g, '[^/]+');
342
+ return new RegExp(`^${pattern}$`).test(normalizedPath);
343
+ });
344
+ if (matchingPath) {
345
+ return generateResultFieldsFromPath(spec, spec.paths[matchingPath], method);
346
+ }
347
+ return [];
348
+ }
349
+ return generateResultFieldsFromPath(spec, pathObj, method);
350
+ }
351
+ function generateResultFieldsFromPath(spec, pathObj, method) {
352
+ const operation = pathObj[method.toLowerCase()];
353
+ if (!operation) {
354
+ return [];
355
+ }
356
+ // Get 200 or 201 response
357
+ const successResponse = operation.responses['200'] || operation.responses['201'];
358
+ if (!successResponse?.content) {
359
+ return [];
360
+ }
361
+ // Get JSON response schema
362
+ const jsonContent = successResponse.content['application/json'];
363
+ if (!jsonContent?.schema) {
364
+ return [];
365
+ }
366
+ // Always show response as a collapsible JSON tree
367
+ // This provides a consistent experience and lets users see the full structure
368
+ return [{
369
+ key: '',
370
+ label: 'Response',
371
+ type: 'json',
372
+ expandedDepth: 2
373
+ }];
374
+ }
375
+ //# sourceMappingURL=openapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/lib/openapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=openapi.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.test.d.ts","sourceRoot":"","sources":["../../src/lib/openapi.test.ts"],"names":[],"mappings":""}