@agentix-e/nl2spel 1.1.0 → 1.1.2

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 (86) hide show
  1. package/README.md +9 -3
  2. package/dist/context/schema-formatter.js +1 -1
  3. package/dist/context/schema-formatter.js.map +1 -1
  4. package/dist/engine/nl2spel-engine.d.ts.map +1 -1
  5. package/dist/engine/nl2spel-engine.js +2 -4
  6. package/dist/engine/nl2spel-engine.js.map +1 -1
  7. package/dist/pattern/builtin-patterns.d.ts +1 -1
  8. package/dist/pattern/builtin-patterns.js +2 -2
  9. package/dist/pattern/pattern-matcher.d.ts.map +1 -1
  10. package/dist/pattern/pattern-matcher.js +1 -1
  11. package/dist/pattern/pattern-matcher.js.map +1 -1
  12. package/dist/provider/provider-registry.js +3 -3
  13. package/dist/provider/provider-registry.js.map +1 -1
  14. package/dist/strategy/strategy-router.d.ts.map +1 -1
  15. package/dist/strategy/strategy-router.js +3 -3
  16. package/dist/strategy/strategy-router.js.map +1 -1
  17. package/dist/template/intent-classifier.js +1 -1
  18. package/dist/template/intent-classifier.js.map +1 -1
  19. package/dist/template/prompts/prompt-builder.js +3 -3
  20. package/dist/template/prompts/prompt-builder.js.map +1 -1
  21. package/dist/template/template-engine.js +3 -3
  22. package/dist/template/template-engine.js.map +1 -1
  23. package/dist/validation/auto-fixer.d.ts +0 -1
  24. package/dist/validation/auto-fixer.d.ts.map +1 -1
  25. package/dist/validation/auto-fixer.js +0 -1
  26. package/dist/validation/auto-fixer.js.map +1 -1
  27. package/dist/validation/self-correction-loop.d.ts.map +1 -1
  28. package/dist/validation/self-correction-loop.js +7 -16
  29. package/dist/validation/self-correction-loop.js.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/__tests__/auto-fixer.test.d.ts +0 -2
  32. package/dist/__tests__/auto-fixer.test.d.ts.map +0 -1
  33. package/dist/__tests__/auto-fixer.test.js +0 -285
  34. package/dist/__tests__/auto-fixer.test.js.map +0 -1
  35. package/dist/__tests__/chinese-number-parser.test.d.ts +0 -2
  36. package/dist/__tests__/chinese-number-parser.test.d.ts.map +0 -1
  37. package/dist/__tests__/chinese-number-parser.test.js +0 -106
  38. package/dist/__tests__/chinese-number-parser.test.js.map +0 -1
  39. package/dist/__tests__/context-extractor.test.d.ts +0 -2
  40. package/dist/__tests__/context-extractor.test.d.ts.map +0 -1
  41. package/dist/__tests__/context-extractor.test.js +0 -347
  42. package/dist/__tests__/context-extractor.test.js.map +0 -1
  43. package/dist/__tests__/coverage-gaps.test.d.ts +0 -2
  44. package/dist/__tests__/coverage-gaps.test.d.ts.map +0 -1
  45. package/dist/__tests__/coverage-gaps.test.js +0 -578
  46. package/dist/__tests__/coverage-gaps.test.js.map +0 -1
  47. package/dist/__tests__/intent-classifier.test.d.ts +0 -2
  48. package/dist/__tests__/intent-classifier.test.d.ts.map +0 -1
  49. package/dist/__tests__/intent-classifier.test.js +0 -384
  50. package/dist/__tests__/intent-classifier.test.js.map +0 -1
  51. package/dist/__tests__/nl2spel-engine.test.d.ts +0 -2
  52. package/dist/__tests__/nl2spel-engine.test.d.ts.map +0 -1
  53. package/dist/__tests__/nl2spel-engine.test.js +0 -344
  54. package/dist/__tests__/nl2spel-engine.test.js.map +0 -1
  55. package/dist/__tests__/pattern-matcher.test.d.ts +0 -2
  56. package/dist/__tests__/pattern-matcher.test.d.ts.map +0 -1
  57. package/dist/__tests__/pattern-matcher.test.js +0 -754
  58. package/dist/__tests__/pattern-matcher.test.js.map +0 -1
  59. package/dist/__tests__/prompt-builder.test.d.ts +0 -2
  60. package/dist/__tests__/prompt-builder.test.d.ts.map +0 -1
  61. package/dist/__tests__/prompt-builder.test.js +0 -99
  62. package/dist/__tests__/prompt-builder.test.js.map +0 -1
  63. package/dist/__tests__/provider-registry.test.d.ts +0 -2
  64. package/dist/__tests__/provider-registry.test.d.ts.map +0 -1
  65. package/dist/__tests__/provider-registry.test.js +0 -240
  66. package/dist/__tests__/provider-registry.test.js.map +0 -1
  67. package/dist/__tests__/schema-formatter.test.d.ts +0 -2
  68. package/dist/__tests__/schema-formatter.test.d.ts.map +0 -1
  69. package/dist/__tests__/schema-formatter.test.js +0 -298
  70. package/dist/__tests__/schema-formatter.test.js.map +0 -1
  71. package/dist/__tests__/self-correction-loop.test.d.ts +0 -2
  72. package/dist/__tests__/self-correction-loop.test.d.ts.map +0 -1
  73. package/dist/__tests__/self-correction-loop.test.js +0 -253
  74. package/dist/__tests__/self-correction-loop.test.js.map +0 -1
  75. package/dist/__tests__/strategy-router.test.d.ts +0 -2
  76. package/dist/__tests__/strategy-router.test.d.ts.map +0 -1
  77. package/dist/__tests__/strategy-router.test.js +0 -493
  78. package/dist/__tests__/strategy-router.test.js.map +0 -1
  79. package/dist/__tests__/template-engine.test.d.ts +0 -2
  80. package/dist/__tests__/template-engine.test.d.ts.map +0 -1
  81. package/dist/__tests__/template-engine.test.js +0 -367
  82. package/dist/__tests__/template-engine.test.js.map +0 -1
  83. package/dist/__tests__/validation-pipeline.test.d.ts +0 -2
  84. package/dist/__tests__/validation-pipeline.test.d.ts.map +0 -1
  85. package/dist/__tests__/validation-pipeline.test.js +0 -262
  86. package/dist/__tests__/validation-pipeline.test.js.map +0 -1
@@ -1,347 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { ContextExtractor } from '../context/context-extractor.js';
3
- describe('ContextExtractor', () => {
4
- const extractor = new ContextExtractor();
5
- describe('extract root object', () => {
6
- it('should extract root object with simple fields', () => {
7
- const schema = extractor.extract({
8
- rootObject: { amount: 1000, status: 'pending', vip: true },
9
- rootName: 'order',
10
- });
11
- expect(schema.root).not.toBeNull();
12
- expect(schema.root.name).toBe('order');
13
- expect(schema.root.type).toBe('Object');
14
- expect(schema.root.fields).toHaveProperty('amount');
15
- expect(schema.root.fields.amount.type).toBe('number');
16
- expect(schema.root.fields.amount.example).toBe(1000);
17
- expect(schema.root.fields.status.type).toBe('string');
18
- expect(schema.root.fields.status.example).toBe('pending');
19
- expect(schema.root.fields.vip.type).toBe('boolean');
20
- expect(schema.root.fields.vip.example).toBe(true);
21
- });
22
- it('should return null for null root object', () => {
23
- const schema = extractor.extract({ rootObject: null });
24
- expect(schema.root).toBeNull();
25
- });
26
- it('should return null for undefined root object', () => {
27
- const schema = extractor.extract({ rootObject: undefined });
28
- expect(schema.root).toBeNull();
29
- });
30
- it('should return null when rootObject is not provided', () => {
31
- const schema = extractor.extract({});
32
- expect(schema.root).toBeNull();
33
- });
34
- it('should use default root name "root" when not specified', () => {
35
- const schema = extractor.extract({ rootObject: { x: 1 } });
36
- expect(schema.root.name).toBe('root');
37
- });
38
- it('should detect array type on root fields', () => {
39
- const schema = extractor.extract({
40
- rootObject: { items: [1, 2, 3], tags: ['vip', 'premium'] },
41
- });
42
- expect(schema.root.fields.items.isCollection).toBe(true);
43
- expect(schema.root.fields.items.type).toBe('array');
44
- expect(schema.root.fields.items.elementType).toBe('number');
45
- expect(schema.root.fields.tags.elementType).toBe('string');
46
- });
47
- it('should detect null fields as nullable', () => {
48
- const schema = extractor.extract({
49
- rootObject: { name: null, active: true },
50
- });
51
- expect(schema.root.fields.name.nullable).toBe(true);
52
- expect(schema.root.fields.name.type).toBe('string');
53
- expect(schema.root.fields.active.nullable).toBe(false);
54
- });
55
- it('should detect Date type', () => {
56
- const schema = extractor.extract({
57
- rootObject: { createdAt: new Date('2024-01-01') },
58
- });
59
- expect(schema.root.fields.createdAt.type).toBe('date');
60
- });
61
- it('should generate field descriptions', () => {
62
- const schema = extractor.extract({
63
- rootObject: { amount: 500 },
64
- });
65
- expect(schema.root.fields.amount.description).toContain('amount');
66
- expect(schema.root.fields.amount.description).toContain('number');
67
- });
68
- it('should handle empty object', () => {
69
- const schema = extractor.extract({ rootObject: {} });
70
- expect(schema.root).not.toBeNull();
71
- expect(schema.root.type).toBe('Object');
72
- expect(Object.keys(schema.root.fields)).toHaveLength(0);
73
- });
74
- });
75
- describe('extract variables', () => {
76
- it('should extract variable definitions', () => {
77
- const schema = extractor.extract({
78
- variables: {
79
- user: { type: 'object', description: 'Current user', value: { id: 1 } },
80
- count: { type: 'number', value: 42 },
81
- },
82
- });
83
- expect(schema.variables).toHaveProperty('user');
84
- expect(schema.variables.user.type).toBe('object');
85
- expect(schema.variables.user.description).toBe('Current user');
86
- expect(schema.variables.user.value).toEqual({ id: 1 });
87
- expect(schema.variables.count.type).toBe('number');
88
- expect(schema.variables.count.value).toBe(42);
89
- });
90
- it('should generate default descriptions for variables', () => {
91
- const schema = extractor.extract({
92
- variables: { user: { type: 'string' } },
93
- });
94
- expect(schema.variables.user.description).toContain('user');
95
- });
96
- it('should handle nullable variables', () => {
97
- const schema = extractor.extract({
98
- variables: { user: { type: 'string', nullable: true } },
99
- });
100
- expect(schema.variables.user.nullable).toBe(true);
101
- });
102
- it('should return empty object when no variables', () => {
103
- const schema = extractor.extract({});
104
- expect(schema.variables).toEqual({});
105
- });
106
- });
107
- describe('extract beans', () => {
108
- it('should extract bean definitions', () => {
109
- const schema = extractor.extract({
110
- beans: [
111
- { name: 'userService', type: 'UserService', description: 'User service bean' },
112
- { name: 'auditLogger', type: 'AuditLogger', singleton: true },
113
- ],
114
- });
115
- expect(schema.beans).toHaveProperty('userService');
116
- expect(schema.beans.userService.type).toBe('UserService');
117
- expect(schema.beans.userService.description).toBe('User service bean');
118
- expect(schema.beans.auditLogger.type).toBe('AuditLogger');
119
- expect(schema.beans.auditLogger.singleton).toBe(true);
120
- });
121
- it('should return empty object when no beans', () => {
122
- const schema = extractor.extract({});
123
- expect(schema.beans).toEqual({});
124
- });
125
- });
126
- describe('extract types', () => {
127
- it('should extract type definitions', () => {
128
- const schema = extractor.extract({
129
- types: [{ name: 'Admin', className: 'com.example.Admin', description: 'Admin class' }],
130
- });
131
- expect(schema.types).toHaveProperty('Admin');
132
- expect(schema.types.Admin.className).toBe('com.example.Admin');
133
- expect(schema.types.Admin.description).toBe('Admin class');
134
- });
135
- it('should return empty object when no types', () => {
136
- const schema = extractor.extract({});
137
- expect(schema.types).toEqual({});
138
- });
139
- });
140
- describe('extract functions', () => {
141
- it('should extract function definitions', () => {
142
- const schema = extractor.extract({
143
- functions: [
144
- {
145
- name: 'calculateDiscount',
146
- returnType: 'number',
147
- params: [
148
- { name: 'amount', type: 'number' },
149
- { name: 'level', type: 'string' },
150
- ],
151
- description: 'Calculate discount based on amount and level',
152
- },
153
- ],
154
- });
155
- expect(schema.functions).toHaveProperty('calculateDiscount');
156
- expect(schema.functions.calculateDiscount.returnType).toBe('number');
157
- expect(schema.functions.calculateDiscount.params).toHaveLength(2);
158
- expect(schema.functions.calculateDiscount.params[0].name).toBe('amount');
159
- expect(schema.functions.calculateDiscount.params[0].type).toBe('number');
160
- });
161
- it('should return empty object when no functions', () => {
162
- const schema = extractor.extract({});
163
- expect(schema.functions).toEqual({});
164
- });
165
- });
166
- describe('extractFields catch block', () => {
167
- it('should skip inaccessible properties without crashing', () => {
168
- const obj = { normal: 42 };
169
- let getterCalled = false;
170
- Object.defineProperty(obj, 'bad', {
171
- get() {
172
- getterCalled = true;
173
- throw new Error('Access denied');
174
- },
175
- enumerable: true,
176
- configurable: true,
177
- });
178
- Object.defineProperty(obj, 'good', {
179
- value: 'hello',
180
- enumerable: true,
181
- });
182
- const schema = extractor.extract({ rootObject: obj });
183
- expect(getterCalled).toBe(true);
184
- expect(schema.root.fields.normal.type).toBe('number');
185
- expect(schema.root.fields.good.type).toBe('string');
186
- // 'bad' should be skipped entirely
187
- expect(schema.root.fields.bad).toBeUndefined();
188
- });
189
- });
190
- describe('safeExample for objects', () => {
191
- it('should return undefined for object-type field values', () => {
192
- const schema = extractor.extract({
193
- rootObject: { nested: { x: 1 }, label: 'hello' },
194
- });
195
- expect(schema.root.fields.nested.type).toBe('object');
196
- expect(schema.root.fields.nested.example).toBeUndefined();
197
- expect(schema.root.fields.label.type).toBe('string');
198
- expect(schema.root.fields.label.example).toBe('hello');
199
- });
200
- });
201
- describe('extractVariables nullable default', () => {
202
- it('should default nullable to false when not specified', () => {
203
- const schema = extractor.extract({
204
- variables: { x: { type: 'number', value: 10 } },
205
- });
206
- expect(schema.variables.x.nullable).toBe(false);
207
- });
208
- });
209
- describe('complete schema extraction', () => {
210
- it('should extract full schema with all components', () => {
211
- const schema = extractor.extract({
212
- rootObject: { orderId: 'ORD-001', totalAmount: 1500.5, paid: false },
213
- rootName: 'order',
214
- variables: {
215
- currentUser: { type: 'object', description: 'Current user' },
216
- },
217
- beans: [{ name: 'discountService', type: 'DiscountService' }],
218
- types: [{ name: 'OrderStatus', description: 'Order status enum' }],
219
- functions: [
220
- {
221
- name: 'sum',
222
- returnType: 'number',
223
- params: [{ name: 'values', type: 'array' }],
224
- },
225
- ],
226
- });
227
- expect(schema.root.name).toBe('order');
228
- expect(schema.root.fields).toHaveProperty('orderId');
229
- expect(schema.root.fields).toHaveProperty('totalAmount');
230
- expect(schema.root.fields).toHaveProperty('paid');
231
- expect(schema.variables).toHaveProperty('currentUser');
232
- expect(schema.beans).toHaveProperty('discountService');
233
- expect(schema.types).toHaveProperty('OrderStatus');
234
- expect(schema.functions).toHaveProperty('sum');
235
- });
236
- });
237
- describe('edge cases', () => {
238
- it('should set elementType to undefined for arrays with 0 elements', () => {
239
- const schema = extractor.extract({
240
- rootObject: { items: [] },
241
- });
242
- expect(schema.root.fields.items.isCollection).toBe(true);
243
- expect(schema.root.fields.items.type).toBe('array');
244
- expect(schema.root.fields.items.elementType).toBeUndefined();
245
- });
246
- it('should detect Date field type as "date"', () => {
247
- const schema = extractor.extract({
248
- rootObject: { createdAt: new Date('2025-06-01'), label: 'invoice' },
249
- });
250
- expect(schema.root.fields.createdAt.type).toBe('date');
251
- expect(schema.root.fields.label.type).toBe('string');
252
- });
253
- it('should extract null-valued root properties (they are in Object.keys)', () => {
254
- const schema = extractor.extract({
255
- rootObject: { a: null, b: 'hello' },
256
- });
257
- expect(schema.root.fields.a).toBeDefined();
258
- expect(schema.root.fields.a.nullable).toBe(true);
259
- expect(schema.root.fields.a.type).toBe('string');
260
- expect(schema.root.fields.a.example).toBeNull();
261
- expect(schema.root.fields.b.nullable).toBe(false);
262
- });
263
- it('should extract full context with root, variables, beans, types, and functions', () => {
264
- const schema = extractor.extract({
265
- rootObject: { id: 100, name: 'demo' },
266
- rootName: 'entity',
267
- variables: {
268
- counter: { type: 'number', description: 'Loop counter', value: 0 },
269
- status: { type: 'string', nullable: true },
270
- },
271
- beans: [
272
- { name: 'svc', type: 'MyService', description: 'Core service' },
273
- { name: 'transient', type: 'Worker', singleton: false },
274
- ],
275
- types: [
276
- { name: 'StatusEnum', className: 'com.example.StatusEnum' },
277
- { name: 'MarkerInterface', description: 'Just a marker' },
278
- ],
279
- functions: [
280
- {
281
- name: 'max',
282
- returnType: 'number',
283
- params: [
284
- { name: 'a', type: 'number' },
285
- { name: 'b', type: 'number' },
286
- ],
287
- description: 'Returns larger value',
288
- },
289
- ],
290
- });
291
- // Root
292
- expect(schema.root).not.toBeNull();
293
- expect(schema.root.name).toBe('entity');
294
- expect(schema.root.fields.id.type).toBe('number');
295
- expect(schema.root.fields.name.type).toBe('string');
296
- // Variables
297
- expect(schema.variables.counter.type).toBe('number');
298
- expect(schema.variables.counter.value).toBe(0);
299
- expect(schema.variables.status.nullable).toBe(true);
300
- // Beans
301
- expect(schema.beans.svc.type).toBe('MyService');
302
- expect(schema.beans.svc.description).toBe('Core service');
303
- expect(schema.beans.transient.singleton).toBe(false);
304
- // Types
305
- expect(schema.types.StatusEnum.className).toBe('com.example.StatusEnum');
306
- expect(schema.types.MarkerInterface.className).toBeUndefined();
307
- expect(schema.types.MarkerInterface.description).toBe('Just a marker');
308
- // Functions
309
- expect(schema.functions.max.returnType).toBe('number');
310
- expect(schema.functions.max.params).toHaveLength(2);
311
- expect(schema.functions.max.params[0].name).toBe('a');
312
- });
313
- it('should extract variable with nullable=true', () => {
314
- const schema = extractor.extract({
315
- variables: { opt: { type: 'string', nullable: true } },
316
- });
317
- expect(schema.variables.opt.nullable).toBe(true);
318
- });
319
- it('should extract bean with singleton=true', () => {
320
- const schema = extractor.extract({
321
- beans: [{ name: 'singleton', type: 'Cache', singleton: true }],
322
- });
323
- expect(schema.beans.singleton.singleton).toBe(true);
324
- });
325
- it('should extract bean with singleton=false', () => {
326
- const schema = extractor.extract({
327
- beans: [{ name: 'prototype', type: 'Worker', singleton: false }],
328
- });
329
- expect(schema.beans.prototype.singleton).toBe(false);
330
- });
331
- it('should extract type with className', () => {
332
- const schema = extractor.extract({
333
- types: [{ name: 'WithClass', className: 'com.example.MyClass' }],
334
- });
335
- expect(schema.types.WithClass.className).toBe('com.example.MyClass');
336
- });
337
- it('should extract type without className', () => {
338
- const schema = extractor.extract({
339
- types: [{ name: 'NoClass', description: 'Interface without class binding' }],
340
- });
341
- expect(schema.types.NoClass).toBeDefined();
342
- expect(schema.types.NoClass.className).toBeUndefined();
343
- expect(schema.types.NoClass.description).toBe('Interface without class binding');
344
- });
345
- });
346
- });
347
- //# sourceMappingURL=context-extractor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-extractor.test.js","sourceRoot":"","sources":["../../src/__tests__/context-extractor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=coverage-gaps.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coverage-gaps.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/coverage-gaps.test.ts"],"names":[],"mappings":""}