@agentix-e/nl2spel 1.2.1 → 1.2.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 (75) hide show
  1. package/dist/index.cjs +3040 -0
  2. package/dist/index.d.cts +908 -0
  3. package/dist/index.d.ts +908 -28
  4. package/dist/index.js +2999 -24
  5. package/package.json +16 -5
  6. package/dist/context/context-extractor.d.ts +0 -86
  7. package/dist/context/context-extractor.d.ts.map +0 -1
  8. package/dist/context/context-extractor.js +0 -181
  9. package/dist/context/context-extractor.js.map +0 -1
  10. package/dist/context/schema-formatter.d.ts +0 -20
  11. package/dist/context/schema-formatter.d.ts.map +0 -1
  12. package/dist/context/schema-formatter.js +0 -104
  13. package/dist/context/schema-formatter.js.map +0 -1
  14. package/dist/engine/nl2spel-engine.d.ts +0 -145
  15. package/dist/engine/nl2spel-engine.d.ts.map +0 -1
  16. package/dist/engine/nl2spel-engine.js +0 -130
  17. package/dist/engine/nl2spel-engine.js.map +0 -1
  18. package/dist/index.d.ts.map +0 -1
  19. package/dist/index.js.map +0 -1
  20. package/dist/pattern/builtin-patterns.d.ts +0 -12
  21. package/dist/pattern/builtin-patterns.d.ts.map +0 -1
  22. package/dist/pattern/builtin-patterns.js +0 -812
  23. package/dist/pattern/builtin-patterns.js.map +0 -1
  24. package/dist/pattern/pattern-definition.d.ts +0 -49
  25. package/dist/pattern/pattern-definition.d.ts.map +0 -1
  26. package/dist/pattern/pattern-definition.js +0 -2
  27. package/dist/pattern/pattern-definition.js.map +0 -1
  28. package/dist/pattern/pattern-matcher.d.ts +0 -55
  29. package/dist/pattern/pattern-matcher.d.ts.map +0 -1
  30. package/dist/pattern/pattern-matcher.js +0 -216
  31. package/dist/pattern/pattern-matcher.js.map +0 -1
  32. package/dist/provider/llm-provider.d.ts +0 -146
  33. package/dist/provider/llm-provider.d.ts.map +0 -1
  34. package/dist/provider/llm-provider.js +0 -2
  35. package/dist/provider/llm-provider.js.map +0 -1
  36. package/dist/provider/provider-registry.d.ts +0 -28
  37. package/dist/provider/provider-registry.d.ts.map +0 -1
  38. package/dist/provider/provider-registry.js +0 -65
  39. package/dist/provider/provider-registry.js.map +0 -1
  40. package/dist/strategy/strategy-router.d.ts +0 -79
  41. package/dist/strategy/strategy-router.d.ts.map +0 -1
  42. package/dist/strategy/strategy-router.js +0 -182
  43. package/dist/strategy/strategy-router.js.map +0 -1
  44. package/dist/template/intent-classifier.d.ts +0 -56
  45. package/dist/template/intent-classifier.d.ts.map +0 -1
  46. package/dist/template/intent-classifier.js +0 -251
  47. package/dist/template/intent-classifier.js.map +0 -1
  48. package/dist/template/nl-intent.d.ts +0 -38
  49. package/dist/template/nl-intent.d.ts.map +0 -1
  50. package/dist/template/nl-intent.js +0 -39
  51. package/dist/template/nl-intent.js.map +0 -1
  52. package/dist/template/prompts/prompt-builder.d.ts +0 -20
  53. package/dist/template/prompts/prompt-builder.d.ts.map +0 -1
  54. package/dist/template/prompts/prompt-builder.js +0 -243
  55. package/dist/template/prompts/prompt-builder.js.map +0 -1
  56. package/dist/template/template-engine.d.ts +0 -27
  57. package/dist/template/template-engine.d.ts.map +0 -1
  58. package/dist/template/template-engine.js +0 -378
  59. package/dist/template/template-engine.js.map +0 -1
  60. package/dist/utils/chinese-number-parser.d.ts +0 -30
  61. package/dist/utils/chinese-number-parser.d.ts.map +0 -1
  62. package/dist/utils/chinese-number-parser.js +0 -92
  63. package/dist/utils/chinese-number-parser.js.map +0 -1
  64. package/dist/validation/auto-fixer.d.ts +0 -13
  65. package/dist/validation/auto-fixer.d.ts.map +0 -1
  66. package/dist/validation/auto-fixer.js +0 -110
  67. package/dist/validation/auto-fixer.js.map +0 -1
  68. package/dist/validation/self-correction-loop.d.ts +0 -46
  69. package/dist/validation/self-correction-loop.d.ts.map +0 -1
  70. package/dist/validation/self-correction-loop.js +0 -132
  71. package/dist/validation/self-correction-loop.js.map +0 -1
  72. package/dist/validation/validation-pipeline.d.ts +0 -81
  73. package/dist/validation/validation-pipeline.d.ts.map +0 -1
  74. package/dist/validation/validation-pipeline.js +0 -306
  75. package/dist/validation/validation-pipeline.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentix-e/nl2spel",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Natural Language → SpEL Expression Generation Engine — Core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -8,19 +8,22 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "import": "./dist/index.js",
11
+ "require": "./dist/index.cjs",
11
12
  "types": "./dist/index.d.ts"
12
13
  }
13
14
  },
14
- "files": ["dist", "README.md"],
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
15
19
  "scripts": {
16
- "build": "tsc",
20
+ "build": "tsup src/index.ts --format esm,cjs --dts --clean",
17
21
  "test": "vitest run",
18
22
  "test:watch": "vitest",
19
23
  "lint": "tsc --noEmit",
20
24
  "typecheck": "tsc --noEmit",
21
25
  "clean": "rm -rf dist"
22
26
  },
23
- "dependencies": {},
24
27
  "peerDependencies": {
25
28
  "@agentix-e/spel-ts": ">=1.1.0"
26
29
  },
@@ -31,10 +34,18 @@
31
34
  },
32
35
  "devDependencies": {
33
36
  "@agentix-e/spel-ts": "^1.1.0",
37
+ "tsup": "^8.5.1",
34
38
  "typescript": "^5.7.3",
35
39
  "vitest": "^3.0.0"
36
40
  },
37
- "keywords": ["spel", "nlp", "expression-language", "spring", "nl2code", "agentix"],
41
+ "keywords": [
42
+ "spel",
43
+ "nlp",
44
+ "expression-language",
45
+ "spring",
46
+ "nl2code",
47
+ "agentix"
48
+ ],
38
49
  "license": "MIT",
39
50
  "author": "Agentix-E",
40
51
  "repository": {
@@ -1,86 +0,0 @@
1
- import type { ContextSchema } from '@agentix-e/spel-ts';
2
- /**
3
- * ContextExtractor — builds a ContextSchema from plain data structures.
4
- *
5
- * Decoupled from any concrete SpEL implementation, accepts only:
6
- * - rootObject: any object (for extracting property types)
7
- * - variables: Record<string, { type: string; value?: unknown }>
8
- * - beans: string[]
9
- * - types: string[]
10
- */
11
- export declare class ContextExtractor {
12
- /**
13
- * Extract ContextSchema from plain data structures (no spel-ts dependency)
14
- */
15
- extract(context: {
16
- rootObject?: unknown;
17
- rootName?: string;
18
- variables?: Record<string, {
19
- type: string;
20
- value?: unknown;
21
- description?: string;
22
- nullable?: boolean;
23
- }>;
24
- beans?: Array<{
25
- name: string;
26
- type: string;
27
- description?: string;
28
- singleton?: boolean;
29
- }>;
30
- types?: Array<{
31
- name: string;
32
- className?: string;
33
- description?: string;
34
- }>;
35
- functions?: Array<{
36
- name: string;
37
- returnType: string;
38
- params: Array<{
39
- name: string;
40
- type: string;
41
- }>;
42
- description?: string;
43
- }>;
44
- }): ContextSchema;
45
- /**
46
- * Extract root object schema
47
- */
48
- private extractRoot;
49
- /**
50
- * Extract object fields
51
- */
52
- /**
53
- * Recursively extract fields from an object, following nested objects
54
- * all the way to leaf values. Uses a visited set to prevent circular references.
55
- */
56
- private extractFields;
57
- /**
58
- * Infer SpEL type
59
- */
60
- private inferSpelType;
61
- /**
62
- * Generate field description
63
- */
64
- private generateDescription;
65
- /**
66
- * Safely get example value
67
- */
68
- private safeExample;
69
- /**
70
- * Extract variables
71
- */
72
- private extractVariables;
73
- /**
74
- * Extract beans
75
- */
76
- private extractBeans;
77
- /**
78
- * Extract types
79
- */
80
- private extractTypes;
81
- /**
82
- * Extract functions
83
- */
84
- private extractFunctions;
85
- }
86
- //# sourceMappingURL=context-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-extractor.d.ts","sourceRoot":"","sources":["../../src/context/context-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAOd,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACI,OAAO,CAAC,OAAO,EAAE;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAChB,MAAM,EACN;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAC5E,CAAC;QACF,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACzF,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1E,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,GAAG,aAAa;IAYjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,aAAa;IA8CrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
@@ -1,181 +0,0 @@
1
- /**
2
- * ContextExtractor — builds a ContextSchema from plain data structures.
3
- *
4
- * Decoupled from any concrete SpEL implementation, accepts only:
5
- * - rootObject: any object (for extracting property types)
6
- * - variables: Record<string, { type: string; value?: unknown }>
7
- * - beans: string[]
8
- * - types: string[]
9
- */
10
- export class ContextExtractor {
11
- /**
12
- * Extract ContextSchema from plain data structures (no spel-ts dependency)
13
- */
14
- extract(context) {
15
- const schema = {
16
- root: this.extractRoot(context),
17
- variables: this.extractVariables(context),
18
- beans: this.extractBeans(context),
19
- types: this.extractTypes(context),
20
- functions: this.extractFunctions(context),
21
- };
22
- return schema;
23
- }
24
- /**
25
- * Extract root object schema
26
- */
27
- extractRoot(context) {
28
- const { rootObject, rootName } = context;
29
- if (rootObject === null || rootObject === undefined)
30
- return null;
31
- const name = rootName ?? 'root';
32
- const type = typeof rootObject === 'object'
33
- ? (rootObject?.constructor?.name ?? 'Object')
34
- : typeof rootObject;
35
- const fields = this.extractFields(rootObject);
36
- return { name, type, fields, methods: {} };
37
- }
38
- /**
39
- * Extract object fields
40
- */
41
- /**
42
- * Recursively extract fields from an object, following nested objects
43
- * all the way to leaf values. Uses a visited set to prevent circular references.
44
- */
45
- extractFields(obj, visited = new WeakSet()) {
46
- if (obj === null || obj === undefined || typeof obj !== 'object') {
47
- return {};
48
- }
49
- // Prevent infinite recursion on circular references
50
- if (visited.has(obj))
51
- return {};
52
- visited.add(obj);
53
- const fields = {};
54
- for (const key of Object.keys(obj)) {
55
- try {
56
- const value = obj[key];
57
- const fieldType = this.inferSpelType(value);
58
- const isArray = Array.isArray(value);
59
- const isObject = !isArray && typeof value === 'object' && value !== null && !(value instanceof Date);
60
- const field = {
61
- type: fieldType,
62
- description: this.generateDescription(key, fieldType),
63
- isCollection: isArray,
64
- elementType: isArray && value.length > 0 ? typeof value[0] : undefined,
65
- nullable: value === null,
66
- example: this.safeExample(value),
67
- };
68
- // Recursively extract nested object fields — follows all the way down
69
- if (isObject) {
70
- field.fields = this.extractFields(value, visited);
71
- }
72
- fields[key] = field;
73
- }
74
- catch {
75
- // Skip inaccessible properties
76
- }
77
- }
78
- return fields;
79
- }
80
- /**
81
- * Infer SpEL type
82
- */
83
- inferSpelType(value) {
84
- if (value === null || value === undefined)
85
- return 'string';
86
- if (typeof value === 'string')
87
- return 'string';
88
- if (typeof value === 'number')
89
- return 'number';
90
- if (typeof value === 'boolean')
91
- return 'boolean';
92
- if (value instanceof Date)
93
- return 'date';
94
- if (Array.isArray(value))
95
- return 'array';
96
- if (typeof value === 'object')
97
- return 'object';
98
- return 'string';
99
- }
100
- /**
101
- * Generate field description
102
- */
103
- generateDescription(key, type) {
104
- return `Field '${key}' of type ${type}`;
105
- }
106
- /**
107
- * Safely get example value
108
- */
109
- safeExample(value) {
110
- if (value === null)
111
- return null;
112
- if (typeof value === 'object')
113
- return undefined;
114
- return value;
115
- }
116
- /**
117
- * Extract variables
118
- */
119
- extractVariables(context) {
120
- const variables = {};
121
- if (!context.variables)
122
- return variables;
123
- for (const [name, vdef] of Object.entries(context.variables)) {
124
- variables[name] = {
125
- type: vdef.type,
126
- description: vdef.description ?? `Variable '#${name}'`,
127
- nullable: vdef.nullable ?? false,
128
- value: vdef.value,
129
- };
130
- }
131
- return variables;
132
- }
133
- /**
134
- * Extract beans
135
- */
136
- extractBeans(context) {
137
- const beans = {};
138
- if (!context.beans)
139
- return beans;
140
- for (const bdef of context.beans) {
141
- beans[bdef.name] = {
142
- type: bdef.type,
143
- description: bdef.description,
144
- singleton: bdef.singleton,
145
- };
146
- }
147
- return beans;
148
- }
149
- /**
150
- * Extract types
151
- */
152
- extractTypes(context) {
153
- const types = {};
154
- if (!context.types)
155
- return types;
156
- for (const tdef of context.types) {
157
- types[tdef.name] = {
158
- className: tdef.className,
159
- description: tdef.description,
160
- };
161
- }
162
- return types;
163
- }
164
- /**
165
- * Extract functions
166
- */
167
- extractFunctions(context) {
168
- const functions = {};
169
- if (!context.functions)
170
- return functions;
171
- for (const fdef of context.functions) {
172
- functions[fdef.name] = {
173
- returnType: fdef.returnType,
174
- params: fdef.params,
175
- description: fdef.description,
176
- };
177
- }
178
- return functions;
179
- }
180
- }
181
- //# sourceMappingURL=context-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-extractor.js","sourceRoot":"","sources":["../../src/context/context-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { ContextSchema } from '@agentix-e/spel-ts';
2
- /**
3
- * SchemaFormatter — formats ContextSchema into readable text.
4
- *
5
- * Two formats:
6
- * 1. formatForLLM(): optimized for LLM prompts (compact, key info first)
7
- * 2. formatForHuman(): human-readable format (complete, indent-friendly)
8
- */
9
- export declare class SchemaFormatter {
10
- /**
11
- * LLM-optimized format — compact, injected into the User part of the prompt
12
- */
13
- formatForLLM(schema: ContextSchema): string;
14
- /**
15
- * Human-readable format
16
- */
17
- formatForHuman(schema: ContextSchema): string;
18
- private formatFieldForLLM;
19
- }
20
- //# sourceMappingURL=schema-formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-formatter.d.ts","sourceRoot":"","sources":["../../src/context/schema-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAC;AAErE;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IA2DlD;;OAEG;IACI,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IA6BpD,OAAO,CAAC,iBAAiB;CAqB1B"}
@@ -1,104 +0,0 @@
1
- /**
2
- * SchemaFormatter — formats ContextSchema into readable text.
3
- *
4
- * Two formats:
5
- * 1. formatForLLM(): optimized for LLM prompts (compact, key info first)
6
- * 2. formatForHuman(): human-readable format (complete, indent-friendly)
7
- */
8
- export class SchemaFormatter {
9
- /**
10
- * LLM-optimized format — compact, injected into the User part of the prompt
11
- */
12
- formatForLLM(schema) {
13
- const lines = ['## Context Schema'];
14
- // Root Object
15
- if (schema.root) {
16
- lines.push('');
17
- lines.push(`Root Object (accessible as #${schema.root.name}):`);
18
- lines.push(` Type: ${schema.root.type}`);
19
- lines.push(` Fields:`);
20
- for (const [name, field] of Object.entries(schema.root.fields)) {
21
- lines.push(this.formatFieldForLLM(name, field, ' '));
22
- }
23
- }
24
- // Variables
25
- if (Object.keys(schema.variables).length > 0) {
26
- lines.push('');
27
- lines.push(`Variables:`);
28
- for (const [name, varDef] of Object.entries(schema.variables)) {
29
- lines.push(` #${name}: ${varDef.type}` + (varDef.description ? ` (${varDef.description})` : ''));
30
- }
31
- }
32
- // Beans
33
- if (Object.keys(schema.beans).length > 0) {
34
- lines.push('');
35
- lines.push(`Beans:`);
36
- for (const [name, beanDef] of Object.entries(schema.beans)) {
37
- lines.push(` @${name}: ${beanDef.type}` + (beanDef.description ? ` (${beanDef.description})` : ''));
38
- }
39
- }
40
- // Types
41
- if (Object.keys(schema.types).length > 0) {
42
- lines.push('');
43
- lines.push(`Types (accessible via T(typeName)):`);
44
- for (const [name, typeDef] of Object.entries(schema.types)) {
45
- lines.push(` ${name}` + (typeDef.description ? `: ${typeDef.description}` : ''));
46
- }
47
- }
48
- // Functions
49
- if (Object.keys(schema.functions).length > 0) {
50
- lines.push('');
51
- lines.push(`Functions:`);
52
- for (const [name, funcDef] of Object.entries(schema.functions)) {
53
- const params = funcDef.params.map((p) => `${p.name}: ${p.type}`).join(', ');
54
- lines.push(` #${name}(${params}): ${funcDef.returnType}`);
55
- }
56
- }
57
- lines.push('');
58
- return lines.join('\n');
59
- }
60
- /**
61
- * Human-readable format
62
- */
63
- formatForHuman(schema) {
64
- const lines = [
65
- '═══════════════════════════════════════',
66
- ' Context Schema (Human-Readable)',
67
- '═══════════════════════════════════════',
68
- ];
69
- if (schema.root) {
70
- lines.push('');
71
- lines.push(`┌─ Root: #${schema.root.name}`);
72
- lines.push(`│ Type: ${schema.root.type}`);
73
- lines.push(`│ Fields:`);
74
- const entries = Object.entries(schema.root.fields);
75
- for (let i = 0; i < entries.length; i++) {
76
- const [name, field] = entries[i];
77
- const prefix = i < entries.length - 1 ? '├─' : '└─';
78
- lines.push(`│ ${prefix} ${name} (${field.type})` +
79
- (field.description ? ` — ${field.description}` : '') +
80
- (field.nullable ? ' | nullable' : '') +
81
- (field.isCollection ? ` | collection<${field.elementType ?? 'unknown'}>` : ''));
82
- }
83
- lines.push(`│ └─ (${entries.length} fields total)`);
84
- }
85
- return lines.join('\n');
86
- }
87
- formatFieldForLLM(name, field, indent) {
88
- const parts = [`${indent}- ${name}: ${field.type}`];
89
- if (field.description) {
90
- parts.push(`(${field.description})`);
91
- }
92
- if (field.isCollection) {
93
- parts.push(`[array of ${field.elementType ?? 'unknown'}]`);
94
- }
95
- if (field.nullable) {
96
- parts.push(`[nullable]`);
97
- }
98
- if (field.example !== undefined) {
99
- parts.push(`(e.g. ${JSON.stringify(field.example)})`);
100
- }
101
- return parts.join(' ');
102
- }
103
- }
104
- //# sourceMappingURL=schema-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-formatter.js","sourceRoot":"","sources":["../../src/context/schema-formatter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACI,YAAY,CAAC,MAAqB;QACvC,MAAM,KAAK,GAAa,CAAC,mBAAmB,CAAC,CAAC;QAE9C,cAAc;QACd,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CACR,MAAM,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CACR,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACzF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5E,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,MAAM,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,MAAqB;QACzC,MAAM,KAAK,GAAa;YACtB,yCAAyC;YACzC,mCAAmC;YACnC,yCAAyC;SAC1C,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpD,KAAK,CAAC,IAAI,CACR,OAAO,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG;oBACrC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,WAAW,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACjF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,KAAkB,EAAE,MAAc;QACxE,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,WAAW,IAAI,SAAS,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -1,145 +0,0 @@
1
- import { type StrategyRouterConfig } from '../strategy/strategy-router.js';
2
- import type { LLMProvider } from '../provider/llm-provider.js';
3
- import type { PatternDefinition } from '../pattern/pattern-definition.js';
4
- import type { ContextSchema, SpelEvaluator } from '@agentix-e/spel-ts';
5
- export interface GenerateOptions {
6
- /** Context Schema (optional) */
7
- contextSchema?: ContextSchema;
8
- /** Raw context object (auto-extracted to ContextSchema) */
9
- context?: {
10
- rootObject?: unknown;
11
- rootName?: string;
12
- variables?: Record<string, {
13
- type: string;
14
- value?: unknown;
15
- description?: string;
16
- nullable?: boolean;
17
- }>;
18
- beans?: Array<{
19
- name: string;
20
- type: string;
21
- description?: string;
22
- }>;
23
- types?: Array<{
24
- name: string;
25
- className?: string;
26
- description?: string;
27
- }>;
28
- };
29
- /** Force using a specific LLM Provider */
30
- preferredProvider?: string;
31
- /** Minimum confidence threshold (default 0.5) */
32
- minConfidence?: number;
33
- /** Offline only (Pattern + Template, no LLM calls) */
34
- offlineOnly?: boolean;
35
- /** Whether validation is enabled (default true) */
36
- enableValidation?: boolean;
37
- /** Whether self-correction is enabled (default true) */
38
- enableSelfCorrection?: boolean;
39
- /** Language (default auto-detect) */
40
- language?: 'zh' | 'en';
41
- /** Whether to return debug information */
42
- debug?: boolean;
43
- }
44
- export interface GenerateResult {
45
- /** Generated SpEL expression */
46
- expression: string;
47
- /** Strategy used */
48
- strategy: string;
49
- /** Confidence (0-1) */
50
- confidence: number;
51
- /** Generation latency (ms) */
52
- latencyMs: number;
53
- /** Debug info (only when debug=true) */
54
- debugInfo?: DebugInfo;
55
- }
56
- export interface DebugInfo {
57
- /** Pattern match result */
58
- patternMatch?: {
59
- matched: boolean;
60
- patternId?: string;
61
- spel?: string;
62
- };
63
- /** Intent classification result */
64
- intent?: {
65
- primary: string;
66
- complexity: number;
67
- };
68
- /** Template generation result */
69
- template?: {
70
- expression?: string;
71
- templateName?: string;
72
- };
73
- /** LLM Provider info */
74
- provider?: {
75
- name: string;
76
- model: string;
77
- };
78
- /** Self-correction info */
79
- corrections?: {
80
- attempts: number;
81
- };
82
- }
83
- export interface ExplainResult {
84
- /** Input text */
85
- input: string;
86
- /** Strategy used */
87
- strategy: string;
88
- /** Intent information */
89
- intent: {
90
- primary: string;
91
- complexity: number;
92
- all: Array<{
93
- intent: string;
94
- confidence: number;
95
- }>;
96
- };
97
- /** Whether pattern was matched */
98
- patternMatched: boolean;
99
- /** Matched Pattern ID */
100
- patternId?: string;
101
- /** Final expression */
102
- expression: string;
103
- /** All possible expressions (from different strategies) */
104
- alternatives: string[];
105
- }
106
- export declare class NL2SpelEngine {
107
- private readonly router;
108
- private readonly providerRegistry;
109
- private evaluatorInstance;
110
- constructor(config?: StrategyRouterConfig);
111
- /**
112
- * Register an LLM Provider
113
- */
114
- registerProvider(provider: LLMProvider): void;
115
- /**
116
- * Unregister an LLM Provider
117
- */
118
- unregisterProvider(name: string): void;
119
- /**
120
- * Register a custom Pattern
121
- */
122
- registerPattern(pattern: PatternDefinition): void;
123
- /**
124
- * Set SpelEvaluator for validation pipeline.
125
- * Must be called before generate() if parse-level validation is required.
126
- */
127
- setSpelEvaluator(evaluator: SpelEvaluator): void;
128
- /**
129
- * Extract ContextSchema from raw context object
130
- */
131
- extractContextSchema(context: NonNullable<GenerateOptions['context']>): ContextSchema;
132
- /**
133
- * Core generation API
134
- */
135
- generate(nl: string, options?: GenerateOptions): Promise<GenerateResult>;
136
- /**
137
- * Batch generation
138
- */
139
- generateBatch(nls: string[], options?: GenerateOptions): Promise<GenerateResult[]>;
140
- /**
141
- * Debug explanation
142
- */
143
- explain(nl: string, options?: GenerateOptions): Promise<ExplainResult>;
144
- }
145
- //# sourceMappingURL=nl2spel-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nl2spel-engine.d.ts","sourceRoot":"","sources":["../../src/engine/nl2spel-engine.ts"],"names":[],"mappings":"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"}