@ordis-dev/ordis 0.2.0 → 0.4.0

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/README.md +47 -0
  2. package/dist/cli.js +20 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/error-formatter.d.ts +35 -0
  5. package/dist/core/error-formatter.d.ts.map +1 -0
  6. package/dist/core/error-formatter.js +319 -0
  7. package/dist/core/error-formatter.js.map +1 -0
  8. package/dist/core/pipeline.d.ts.map +1 -1
  9. package/dist/core/pipeline.js +3 -2
  10. package/dist/core/pipeline.js.map +1 -1
  11. package/dist/core/types.d.ts +2 -1
  12. package/dist/core/types.d.ts.map +1 -1
  13. package/dist/core/validator.d.ts +3 -1
  14. package/dist/core/validator.d.ts.map +1 -1
  15. package/dist/core/validator.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/llm/client.d.ts.map +1 -1
  21. package/dist/llm/client.js +23 -3
  22. package/dist/llm/client.js.map +1 -1
  23. package/dist/llm/types.d.ts +2 -0
  24. package/dist/llm/types.d.ts.map +1 -1
  25. package/dist/schemas/types.d.ts +3 -1
  26. package/dist/schemas/types.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/__tests__/api.test.d.ts +0 -5
  29. package/dist/__tests__/api.test.d.ts.map +0 -1
  30. package/dist/__tests__/api.test.js +0 -95
  31. package/dist/__tests__/api.test.js.map +0 -1
  32. package/dist/__tests__/cli.test.d.ts +0 -6
  33. package/dist/__tests__/cli.test.d.ts.map +0 -1
  34. package/dist/__tests__/cli.test.js +0 -103
  35. package/dist/__tests__/cli.test.js.map +0 -1
  36. package/dist/cli/__tests__/cli.test.d.ts +0 -5
  37. package/dist/cli/__tests__/cli.test.d.ts.map +0 -1
  38. package/dist/cli/__tests__/cli.test.js +0 -13
  39. package/dist/cli/__tests__/cli.test.js.map +0 -1
  40. package/dist/core/__tests__/pipeline.test.d.ts +0 -5
  41. package/dist/core/__tests__/pipeline.test.d.ts.map +0 -1
  42. package/dist/core/__tests__/pipeline.test.js +0 -334
  43. package/dist/core/__tests__/pipeline.test.js.map +0 -1
  44. package/dist/core/__tests__/validator.test.d.ts +0 -5
  45. package/dist/core/__tests__/validator.test.d.ts.map +0 -1
  46. package/dist/core/__tests__/validator.test.js +0 -124
  47. package/dist/core/__tests__/validator.test.js.map +0 -1
  48. package/dist/llm/__tests__/client.test.d.ts +0 -5
  49. package/dist/llm/__tests__/client.test.d.ts.map +0 -1
  50. package/dist/llm/__tests__/client.test.js +0 -350
  51. package/dist/llm/__tests__/client.test.js.map +0 -1
  52. package/dist/llm/__tests__/prompt-builder.test.d.ts +0 -5
  53. package/dist/llm/__tests__/prompt-builder.test.d.ts.map +0 -1
  54. package/dist/llm/__tests__/prompt-builder.test.js +0 -171
  55. package/dist/llm/__tests__/prompt-builder.test.js.map +0 -1
  56. package/dist/llm/__tests__/retry.test.d.ts +0 -5
  57. package/dist/llm/__tests__/retry.test.d.ts.map +0 -1
  58. package/dist/llm/__tests__/retry.test.js +0 -350
  59. package/dist/llm/__tests__/retry.test.js.map +0 -1
  60. package/dist/llm/__tests__/token-counter.test.d.ts +0 -5
  61. package/dist/llm/__tests__/token-counter.test.d.ts.map +0 -1
  62. package/dist/llm/__tests__/token-counter.test.js +0 -166
  63. package/dist/llm/__tests__/token-counter.test.js.map +0 -1
  64. package/dist/schemas/__tests__/integration.test.d.ts +0 -5
  65. package/dist/schemas/__tests__/integration.test.d.ts.map +0 -1
  66. package/dist/schemas/__tests__/integration.test.js +0 -366
  67. package/dist/schemas/__tests__/integration.test.js.map +0 -1
  68. package/dist/schemas/__tests__/loader.test.d.ts +0 -5
  69. package/dist/schemas/__tests__/loader.test.d.ts.map +0 -1
  70. package/dist/schemas/__tests__/loader.test.js +0 -271
  71. package/dist/schemas/__tests__/loader.test.js.map +0 -1
  72. package/dist/schemas/__tests__/validator.test.d.ts +0 -5
  73. package/dist/schemas/__tests__/validator.test.d.ts.map +0 -1
  74. package/dist/schemas/__tests__/validator.test.js +0 -592
  75. package/dist/schemas/__tests__/validator.test.js.map +0 -1
@@ -1,334 +0,0 @@
1
- /**
2
- * Tests for extraction pipeline
3
- */
4
- import { describe, it, expect, beforeEach, vi } from 'vitest';
5
- import { ExtractionPipeline, extract } from '../pipeline.js';
6
- // Mock fetch globally
7
- const mockFetch = vi.fn();
8
- global.fetch = mockFetch;
9
- describe('Extraction Pipeline', () => {
10
- beforeEach(() => {
11
- vi.clearAllMocks();
12
- });
13
- describe('successful extraction', () => {
14
- it('should complete full pipeline', async () => {
15
- // Mock successful LLM response
16
- mockFetch.mockResolvedValueOnce({
17
- ok: true,
18
- json: async () => ({
19
- choices: [{
20
- message: {
21
- content: JSON.stringify({
22
- data: {
23
- name: 'John Doe',
24
- age: 30,
25
- },
26
- confidence: 95,
27
- confidenceByField: {
28
- name: 98,
29
- age: 92,
30
- },
31
- }),
32
- },
33
- }],
34
- }),
35
- });
36
- const schema = {
37
- fields: {
38
- name: { type: 'string' },
39
- age: { type: 'number' },
40
- },
41
- };
42
- const llmConfig = {
43
- baseURL: 'http://localhost:11434/v1',
44
- model: 'llama3',
45
- };
46
- const pipeline = new ExtractionPipeline();
47
- const result = await pipeline.extract({
48
- input: 'My name is John Doe and I am 30 years old',
49
- schema,
50
- llmConfig,
51
- });
52
- expect(result.success).toBe(true);
53
- expect(result.data).toEqual({ name: 'John Doe', age: 30 });
54
- expect(result.confidence).toBe(95);
55
- expect(result.meetsThreshold).toBe(true);
56
- expect(result.errors).toHaveLength(0);
57
- });
58
- it('should include debug steps when enabled', async () => {
59
- // Mock successful LLM response
60
- mockFetch.mockResolvedValueOnce({
61
- ok: true,
62
- json: async () => ({
63
- choices: [{
64
- message: {
65
- content: JSON.stringify({
66
- data: { name: 'Alice' },
67
- confidence: 90,
68
- confidenceByField: { name: 90 },
69
- }),
70
- },
71
- }],
72
- }),
73
- });
74
- const schema = {
75
- fields: {
76
- name: { type: 'string' },
77
- },
78
- };
79
- const llmConfig = {
80
- baseURL: 'http://localhost:11434/v1',
81
- model: 'llama3',
82
- };
83
- const result = await extract({
84
- input: 'Name: Alice',
85
- schema,
86
- llmConfig,
87
- debug: true,
88
- });
89
- expect(result.success).toBe(true);
90
- expect(result.steps).toBeDefined();
91
- expect(result.steps?.length).toBeGreaterThan(0);
92
- expect(result.steps?.[0].step).toBe('create_client');
93
- });
94
- });
95
- describe('validation failures', () => {
96
- it('should fail on missing required field', async () => {
97
- // Mock LLM response with missing field
98
- mockFetch.mockResolvedValueOnce({
99
- ok: true,
100
- json: async () => ({
101
- choices: [{
102
- message: {
103
- content: JSON.stringify({
104
- data: {
105
- name: 'John',
106
- },
107
- confidence: 95,
108
- confidenceByField: {
109
- name: 95,
110
- },
111
- }),
112
- },
113
- }],
114
- }),
115
- });
116
- const schema = {
117
- fields: {
118
- name: { type: 'string' },
119
- age: { type: 'number' },
120
- },
121
- };
122
- const llmConfig = {
123
- baseURL: 'http://localhost:11434/v1',
124
- model: 'llama3',
125
- };
126
- const pipeline = new ExtractionPipeline();
127
- const result = await pipeline.extract({
128
- input: 'Name: John',
129
- schema,
130
- llmConfig,
131
- });
132
- expect(result.success).toBe(false);
133
- expect(result.errors.length).toBeGreaterThan(0);
134
- expect(result.errors[0].field).toBe('age');
135
- expect(result.errors[0].code).toBe('FIELD_MISSING');
136
- });
137
- it('should fail on type mismatch', async () => {
138
- // Mock LLM response with wrong type
139
- mockFetch.mockResolvedValueOnce({
140
- ok: true,
141
- json: async () => ({
142
- choices: [{
143
- message: {
144
- content: JSON.stringify({
145
- data: {
146
- name: 'John',
147
- age: 'thirty',
148
- },
149
- confidence: 95,
150
- confidenceByField: {
151
- name: 95,
152
- age: 80,
153
- },
154
- }),
155
- },
156
- }],
157
- }),
158
- });
159
- const schema = {
160
- fields: {
161
- name: { type: 'string' },
162
- age: { type: 'number' },
163
- },
164
- };
165
- const llmConfig = {
166
- baseURL: 'http://localhost:11434/v1',
167
- model: 'llama3',
168
- };
169
- const pipeline = new ExtractionPipeline();
170
- const result = await pipeline.extract({
171
- input: 'test',
172
- schema,
173
- llmConfig,
174
- });
175
- expect(result.success).toBe(false);
176
- expect(result.errors.some(e => e.code === 'TYPE_MISMATCH')).toBe(true);
177
- });
178
- });
179
- describe('confidence threshold', () => {
180
- it('should pass when confidence meets threshold', async () => {
181
- mockFetch.mockResolvedValueOnce({
182
- ok: true,
183
- json: async () => ({
184
- choices: [{
185
- message: {
186
- content: JSON.stringify({
187
- data: { name: 'John' },
188
- confidence: 90,
189
- confidenceByField: { name: 90 },
190
- }),
191
- },
192
- }],
193
- }),
194
- });
195
- const schema = {
196
- fields: {
197
- name: { type: 'string' },
198
- },
199
- confidence: {
200
- threshold: 85,
201
- failOnLowConfidence: true,
202
- },
203
- };
204
- const llmConfig = {
205
- baseURL: 'http://localhost:11434/v1',
206
- model: 'llama3',
207
- };
208
- const pipeline = new ExtractionPipeline();
209
- const result = await pipeline.extract({
210
- input: 'John',
211
- schema,
212
- llmConfig,
213
- });
214
- expect(result.success).toBe(true);
215
- expect(result.meetsThreshold).toBe(true);
216
- });
217
- it('should fail when confidence below threshold', async () => {
218
- mockFetch.mockResolvedValueOnce({
219
- ok: true,
220
- json: async () => ({
221
- choices: [{
222
- message: {
223
- content: JSON.stringify({
224
- data: { name: 'John' },
225
- confidence: 70,
226
- confidenceByField: { name: 70 },
227
- }),
228
- },
229
- }],
230
- }),
231
- });
232
- const schema = {
233
- fields: {
234
- name: { type: 'string' },
235
- },
236
- confidence: {
237
- threshold: 85,
238
- failOnLowConfidence: true,
239
- },
240
- };
241
- const llmConfig = {
242
- baseURL: 'http://localhost:11434/v1',
243
- model: 'llama3',
244
- };
245
- const pipeline = new ExtractionPipeline();
246
- const result = await pipeline.extract({
247
- input: 'test',
248
- schema,
249
- llmConfig,
250
- });
251
- expect(result.success).toBe(false);
252
- expect(result.meetsThreshold).toBe(false);
253
- expect(result.errors.some(e => e.code === 'CONFIDENCE_ERROR')).toBe(true);
254
- });
255
- it('should warn but succeed when failOnLowConfidence is false', async () => {
256
- mockFetch.mockResolvedValueOnce({
257
- ok: true,
258
- json: async () => ({
259
- choices: [{
260
- message: {
261
- content: JSON.stringify({
262
- data: { name: 'John' },
263
- confidence: 70,
264
- confidenceByField: { name: 70 },
265
- }),
266
- },
267
- }],
268
- }),
269
- });
270
- const schema = {
271
- fields: {
272
- name: { type: 'string' },
273
- },
274
- confidence: {
275
- threshold: 85,
276
- failOnLowConfidence: false,
277
- },
278
- };
279
- const llmConfig = {
280
- baseURL: 'http://localhost:11434/v1',
281
- model: 'llama3',
282
- };
283
- const pipeline = new ExtractionPipeline();
284
- const result = await pipeline.extract({
285
- input: 'test',
286
- schema,
287
- llmConfig,
288
- });
289
- expect(result.success).toBe(true);
290
- expect(result.meetsThreshold).toBe(false);
291
- });
292
- });
293
- describe('metadata', () => {
294
- it('should include metadata in result', async () => {
295
- mockFetch.mockResolvedValueOnce({
296
- ok: true,
297
- json: async () => ({
298
- choices: [{
299
- message: {
300
- content: JSON.stringify({
301
- data: { name: 'John' },
302
- confidence: 90,
303
- confidenceByField: { name: 90 },
304
- }),
305
- },
306
- }],
307
- }),
308
- });
309
- const schema = {
310
- fields: {
311
- name: { type: 'string' },
312
- },
313
- metadata: {
314
- name: 'Test Schema',
315
- },
316
- };
317
- const llmConfig = {
318
- baseURL: 'http://localhost:11434/v1',
319
- model: 'llama3',
320
- };
321
- const pipeline = new ExtractionPipeline();
322
- const result = await pipeline.extract({
323
- input: 'test',
324
- schema,
325
- llmConfig,
326
- });
327
- expect(result.metadata).toBeDefined();
328
- expect(result.metadata.model).toBe('llama3');
329
- expect(result.metadata.schemaName).toBe('Test Schema');
330
- expect(result.metadata.duration).toBeGreaterThanOrEqual(0);
331
- });
332
- });
333
- });
334
- //# sourceMappingURL=pipeline.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/pipeline.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for output validator
3
- */
4
- export {};
5
- //# sourceMappingURL=validator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/validator.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,124 +0,0 @@
1
- /**
2
- * Tests for output validator
3
- */
4
- import { describe, it, expect } from 'vitest';
5
- import { validateExtractedData } from '../validator.js';
6
- describe('Output Validator', () => {
7
- describe('validateExtractedData', () => {
8
- it('should validate correct data', () => {
9
- const schema = {
10
- fields: {
11
- name: { type: 'string' },
12
- age: { type: 'number' },
13
- },
14
- };
15
- const data = {
16
- name: 'John',
17
- age: 30,
18
- };
19
- const result = validateExtractedData(data, schema);
20
- expect(result.valid).toBe(true);
21
- expect(result.errors).toHaveLength(0);
22
- });
23
- it('should detect missing required field', () => {
24
- const schema = {
25
- fields: {
26
- name: { type: 'string' },
27
- age: { type: 'number' },
28
- },
29
- };
30
- const data = {
31
- name: 'John',
32
- };
33
- const result = validateExtractedData(data, schema);
34
- expect(result.valid).toBe(false);
35
- expect(result.errors).toHaveLength(1);
36
- expect(result.errors[0].field).toBe('age');
37
- expect(result.errors[0].code).toBe('FIELD_MISSING');
38
- });
39
- it('should allow missing optional field', () => {
40
- const schema = {
41
- fields: {
42
- name: { type: 'string' },
43
- nickname: { type: 'string', optional: true },
44
- },
45
- };
46
- const data = {
47
- name: 'John',
48
- };
49
- const result = validateExtractedData(data, schema);
50
- expect(result.valid).toBe(true);
51
- });
52
- it('should detect type mismatch', () => {
53
- const schema = {
54
- fields: {
55
- age: { type: 'number' },
56
- },
57
- };
58
- const data = {
59
- age: '30',
60
- };
61
- const result = validateExtractedData(data, schema);
62
- expect(result.valid).toBe(false);
63
- expect(result.errors[0].code).toBe('TYPE_MISMATCH');
64
- });
65
- it('should validate string pattern', () => {
66
- const schema = {
67
- fields: {
68
- email: { type: 'string', pattern: '^[a-z]+@[a-z]+\\.[a-z]+$' },
69
- },
70
- };
71
- const validData = { email: 'test@example.com' };
72
- expect(validateExtractedData(validData, schema).valid).toBe(true);
73
- const invalidData = { email: 'invalid-email' };
74
- expect(validateExtractedData(invalidData, schema).valid).toBe(false);
75
- });
76
- it('should validate number constraints', () => {
77
- const schema = {
78
- fields: {
79
- age: { type: 'number', min: 0, max: 120 },
80
- },
81
- };
82
- expect(validateExtractedData({ age: 30 }, schema).valid).toBe(true);
83
- expect(validateExtractedData({ age: -5 }, schema).valid).toBe(false);
84
- expect(validateExtractedData({ age: 150 }, schema).valid).toBe(false);
85
- });
86
- it('should validate enum values', () => {
87
- const schema = {
88
- fields: {
89
- status: { type: 'enum', enum: ['active', 'inactive'] },
90
- },
91
- };
92
- expect(validateExtractedData({ status: 'active' }, schema).valid).toBe(true);
93
- expect(validateExtractedData({ status: 'pending' }, schema).valid).toBe(false);
94
- });
95
- it('should validate date fields', () => {
96
- const schema = {
97
- fields: {
98
- date: { type: 'date' },
99
- },
100
- };
101
- expect(validateExtractedData({ date: '2025-01-01' }, schema).valid).toBe(true);
102
- expect(validateExtractedData({ date: new Date() }, schema).valid).toBe(true);
103
- expect(validateExtractedData({ date: 'invalid-date' }, schema).valid).toBe(false);
104
- });
105
- it('should collect multiple errors', () => {
106
- const schema = {
107
- fields: {
108
- name: { type: 'string' },
109
- age: { type: 'number', min: 0 },
110
- status: { type: 'enum', enum: ['active', 'inactive'] },
111
- },
112
- };
113
- const data = {
114
- name: 123,
115
- age: -5,
116
- status: 'pending',
117
- };
118
- const result = validateExtractedData(data, schema);
119
- expect(result.valid).toBe(false);
120
- expect(result.errors).toHaveLength(3);
121
- });
122
- });
123
- });
124
- //# sourceMappingURL=validator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/validator.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for LLM client
3
- */
4
- export {};
5
- //# sourceMappingURL=client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../../src/llm/__tests__/client.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}