@minded-ai/mindedjs 1.0.133 → 1.0.135
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.
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +8 -5
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/toolsLibrary/extraction.d.ts +83 -0
- package/dist/toolsLibrary/extraction.d.ts.map +1 -0
- package/dist/toolsLibrary/extraction.js +332 -0
- package/dist/toolsLibrary/extraction.js.map +1 -0
- package/dist/toolsLibrary/index.d.ts +2 -0
- package/dist/toolsLibrary/index.d.ts.map +1 -1
- package/dist/toolsLibrary/index.js +2 -0
- package/dist/toolsLibrary/index.js.map +1 -1
- package/docs/SUMMARY.md +1 -0
- package/docs/tooling/extraction.md +78 -0
- package/package.json +4 -3
- package/src/agent.ts +8 -5
- package/src/index.ts +4 -0
- package/src/toolsLibrary/extraction.ts +396 -0
- package/src/toolsLibrary/index.ts +2 -0
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -386,12 +386,15 @@ class Agent {
|
|
|
386
386
|
});
|
|
387
387
|
if (results.length === 0) {
|
|
388
388
|
if (appName) {
|
|
389
|
-
messages =
|
|
390
|
-
|
|
391
|
-
|
|
389
|
+
messages =
|
|
390
|
+
messages.length > 0
|
|
391
|
+
? messages
|
|
392
|
+
: (_f = (_e = (_d = triggerTypeToDefaultMessage_1.default[appName]) === null || _d === void 0 ? void 0 : _d[triggerName]) === null || _e === void 0 ? void 0 : _e.call(_d, triggerBody)) !== null && _f !== void 0 ? _f : [
|
|
393
|
+
new messages_1.HumanMessage({ content: JSON.stringify(triggerBody), id: (0, uuid_1.v4)() }),
|
|
394
|
+
];
|
|
392
395
|
}
|
|
393
396
|
else {
|
|
394
|
-
messages = [new messages_1.HumanMessage({ content: JSON.stringify(triggerBody), id: (0, uuid_1.v4)() })];
|
|
397
|
+
messages = messages.length > 0 ? messages : [new messages_1.HumanMessage({ content: JSON.stringify(triggerBody), id: (0, uuid_1.v4)() })];
|
|
395
398
|
}
|
|
396
399
|
}
|
|
397
400
|
else {
|
|
@@ -403,7 +406,7 @@ class Agent {
|
|
|
403
406
|
return;
|
|
404
407
|
}
|
|
405
408
|
memoryUpdate = handlerResult.memory || {};
|
|
406
|
-
messages = (_g = handlerResult.messages) !== null && _g !== void 0 ? _g : [];
|
|
409
|
+
messages = (_g = handlerResult.messages) !== null && _g !== void 0 ? _g : (messages.length > 0 ? messages : []);
|
|
407
410
|
}
|
|
408
411
|
}
|
|
409
412
|
logger_1.logger.info({ msg: '[Trigger] Received', triggerName, triggerBody, sessionId });
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export { zendesk } from './interfaces/zendesk';
|
|
|
26
26
|
export * as toolsLibrary from './toolsLibrary';
|
|
27
27
|
export { classify, createClassifier, multiClassify } from './toolsLibrary/classifier';
|
|
28
28
|
export type { ClassDefinition, ClassifierConfig, ClassificationResult } from './toolsLibrary/classifier';
|
|
29
|
+
export { extract, createExtractor } from './toolsLibrary/extraction';
|
|
30
|
+
export type { ExtractionSchema, ExtractionConfig, ExtractionResult } from './toolsLibrary/extraction';
|
|
29
31
|
export { AgentEvents } from './events/AgentEvents';
|
|
30
32
|
export type { AgentEventRequestPayloads, AgentEventResponsePayloads } from './events/AgentEvents';
|
|
31
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAErF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iCAAiC,GAClC,CAAC;AAGF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACzG,YAAY,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGzG,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEjG,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC/G,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,8BAA8B,EAC9B,qBAAqB,EACrB,iCAAiC,EACjC,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACtF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGzG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.AgentEvents = exports.multiClassify = exports.createClassifier = exports.classify = exports.toolsLibrary = exports.zendesk = exports.SessionType = exports.extractFromDocument = exports.DocumentProcessor = exports.KnownTriggerNames = exports.AppNodeMetadataType = exports.EdgeType = exports.TriggerType = exports.NodeType = exports.createParallelWrapper = exports.MindedChatOpenAI = exports.mindedConnectionSocketMessageType = exports.escalateVoiceCall = exports.retellGetCall = exports.retellCall = exports.onTimer = exports.cancelTimer = exports.resetTimer = exports.sendPlaceholderMessage = exports.logger = exports.events = exports.Agent = void 0;
|
|
29
|
+
exports.AgentEvents = exports.createExtractor = exports.extract = exports.multiClassify = exports.createClassifier = exports.classify = exports.toolsLibrary = exports.zendesk = exports.SessionType = exports.extractFromDocument = exports.DocumentProcessor = exports.KnownTriggerNames = exports.AppNodeMetadataType = exports.EdgeType = exports.TriggerType = exports.NodeType = exports.createParallelWrapper = exports.MindedChatOpenAI = exports.mindedConnectionSocketMessageType = exports.escalateVoiceCall = exports.retellGetCall = exports.retellCall = exports.onTimer = exports.cancelTimer = exports.resetTimer = exports.sendPlaceholderMessage = exports.logger = exports.events = exports.Agent = void 0;
|
|
30
30
|
const agent_1 = require("./agent");
|
|
31
31
|
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_1.Agent; } });
|
|
32
32
|
const events_1 = __importDefault(require("./events"));
|
|
@@ -72,6 +72,10 @@ var classifier_1 = require("./toolsLibrary/classifier");
|
|
|
72
72
|
Object.defineProperty(exports, "classify", { enumerable: true, get: function () { return classifier_1.classify; } });
|
|
73
73
|
Object.defineProperty(exports, "createClassifier", { enumerable: true, get: function () { return classifier_1.createClassifier; } });
|
|
74
74
|
Object.defineProperty(exports, "multiClassify", { enumerable: true, get: function () { return classifier_1.multiClassify; } });
|
|
75
|
+
// Export extraction utilities
|
|
76
|
+
var extraction_1 = require("./toolsLibrary/extraction");
|
|
77
|
+
Object.defineProperty(exports, "extract", { enumerable: true, get: function () { return extraction_1.extract; } });
|
|
78
|
+
Object.defineProperty(exports, "createExtractor", { enumerable: true, get: function () { return extraction_1.createExtractor; } });
|
|
75
79
|
// Export event types
|
|
76
80
|
var AgentEvents_1 = require("./events/AgentEvents");
|
|
77
81
|
Object.defineProperty(exports, "AgentEvents", { enumerable: true, get: function () { return AgentEvents_1.AgentEvents; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgC;AAW9B,sFAXO,aAAK,OAWP;AAVP,sDAA8B;AAW5B,iBAXK,gBAAM,CAWL;AAVR,2CAAwC;AAWtC,uFAXO,eAAM,OAWP;AAVR,yFAAsF;AAWpF,uGAXO,+CAAsB,OAWP;AAVxB,iDAAyE;AAWvE,2FAXO,kBAAU,OAWP;AACV,4FAZmB,mBAAW,OAYnB;AACX,wFAbgC,eAAO,OAahC;AAZT,yDAAyE;AAavE,2FAbO,mBAAU,OAaP;AACV,8FAdmB,sBAAa,OAcnB;AAbf,+EAA4E;AAc1E,kGAdO,qCAAiB,OAcP;AAbnB,4EAAqF;AAcnF,kHAdO,yDAAiC,OAcP;AAGnC,6BAA6B;AAC7B,uEAAsE;AAA7D,oHAAA,gBAAgB,OAAA;AACzB,qEAA0E;AAAjE,wHAAA,qBAAqB,OAAA;AAyB9B,mDAQ6B;AAP3B,uGAAA,QAAQ,OAAA;AACR,0GAAA,WAAW,OAAA;AACX,uGAAA,QAAQ,OAAA;AAER,kHAAA,mBAAmB,OAAA;AAEnB,gHAAA,iBAAiB,OAAA;AAInB,gCAAgC;AAChC,4FAA+G;AAAtG,uHAAA,iBAAiB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAO/C,mDAO6B;AAD3B,0GAAA,WAAW,OAAA;AAKb,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,uBAAuB;AACvB,+DAA+C;AAE/C,8BAA8B;AAC9B,wDAAsF;AAA7E,sGAAA,QAAQ,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,2GAAA,aAAa,OAAA;AAGlD,qBAAqB;AACrB,oDAAmD;AAA1C,0GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgC;AAW9B,sFAXO,aAAK,OAWP;AAVP,sDAA8B;AAW5B,iBAXK,gBAAM,CAWL;AAVR,2CAAwC;AAWtC,uFAXO,eAAM,OAWP;AAVR,yFAAsF;AAWpF,uGAXO,+CAAsB,OAWP;AAVxB,iDAAyE;AAWvE,2FAXO,kBAAU,OAWP;AACV,4FAZmB,mBAAW,OAYnB;AACX,wFAbgC,eAAO,OAahC;AAZT,yDAAyE;AAavE,2FAbO,mBAAU,OAaP;AACV,8FAdmB,sBAAa,OAcnB;AAbf,+EAA4E;AAc1E,kGAdO,qCAAiB,OAcP;AAbnB,4EAAqF;AAcnF,kHAdO,yDAAiC,OAcP;AAGnC,6BAA6B;AAC7B,uEAAsE;AAA7D,oHAAA,gBAAgB,OAAA;AACzB,qEAA0E;AAAjE,wHAAA,qBAAqB,OAAA;AAyB9B,mDAQ6B;AAP3B,uGAAA,QAAQ,OAAA;AACR,0GAAA,WAAW,OAAA;AACX,uGAAA,QAAQ,OAAA;AAER,kHAAA,mBAAmB,OAAA;AAEnB,gHAAA,iBAAiB,OAAA;AAInB,gCAAgC;AAChC,4FAA+G;AAAtG,uHAAA,iBAAiB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAO/C,mDAO6B;AAD3B,0GAAA,WAAW,OAAA;AAKb,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,uBAAuB;AACvB,+DAA+C;AAE/C,8BAA8B;AAC9B,wDAAsF;AAA7E,sGAAA,QAAQ,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,2GAAA,aAAa,OAAA;AAGlD,8BAA8B;AAC9B,wDAAqE;AAA5D,qGAAA,OAAO,OAAA;AAAE,6GAAA,eAAe,OAAA;AAGjC,qBAAqB;AACrB,oDAAmD;AAA1C,0GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../types/Tools.types';
|
|
3
|
+
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
4
|
+
export type ExtractionSchema = z.ZodTypeAny;
|
|
5
|
+
export interface ExtractionConfig {
|
|
6
|
+
schema: ExtractionSchema;
|
|
7
|
+
systemPrompt?: string;
|
|
8
|
+
examples?: Array<{
|
|
9
|
+
input: string;
|
|
10
|
+
output?: any;
|
|
11
|
+
}>;
|
|
12
|
+
defaultValue?: any;
|
|
13
|
+
maxRetries?: number;
|
|
14
|
+
strictMode?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ExtractionResult = z.infer<ExtractionSchema>;
|
|
17
|
+
/**
|
|
18
|
+
* Generic extraction utility that can be used standalone
|
|
19
|
+
*
|
|
20
|
+
* When strictMode is true:
|
|
21
|
+
* - If the LLM supports withStructuredOutput, it will use that for guaranteed schema compliance
|
|
22
|
+
* - Otherwise, it falls back to JSON parsing with Zod validation and retries
|
|
23
|
+
*
|
|
24
|
+
* When strictMode is false:
|
|
25
|
+
* - Uses JSON parsing without validation for more flexibility
|
|
26
|
+
*
|
|
27
|
+
* @param content The content to extract from
|
|
28
|
+
* @param config The extraction configuration
|
|
29
|
+
* @param llm The language model to use for extraction
|
|
30
|
+
* @param attemptNumber Current attempt number (used internally for retries)
|
|
31
|
+
* @returns The extraction result
|
|
32
|
+
*/
|
|
33
|
+
export declare function extract(content: string, config: ExtractionConfig, llm: BaseLanguageModel, attemptNumber?: number): Promise<ExtractionResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Create a simple extractor for common use cases
|
|
36
|
+
* @param schemaOrPrompt Either a Zod schema or a simple prompt string
|
|
37
|
+
* @param options Additional configuration options
|
|
38
|
+
* @returns A configured extract function
|
|
39
|
+
*/
|
|
40
|
+
export declare function createExtractor(schemaOrPrompt: ExtractionSchema | string, options?: Partial<ExtractionConfig>): (content: string, llm: BaseLanguageModel) => Promise<any>;
|
|
41
|
+
export declare const schema: z.ZodObject<{
|
|
42
|
+
content: z.ZodString;
|
|
43
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
44
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
45
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
46
|
+
input: z.ZodString;
|
|
47
|
+
output: z.ZodAny;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
input: string;
|
|
50
|
+
output?: any;
|
|
51
|
+
}, {
|
|
52
|
+
input: string;
|
|
53
|
+
output?: any;
|
|
54
|
+
}>, "many">>;
|
|
55
|
+
strictMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
56
|
+
maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
57
|
+
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
maxRetries: number;
|
|
60
|
+
content: string;
|
|
61
|
+
strictMode: boolean;
|
|
62
|
+
schema?: Record<string, any> | undefined;
|
|
63
|
+
systemPrompt?: string | undefined;
|
|
64
|
+
examples?: {
|
|
65
|
+
input: string;
|
|
66
|
+
output?: any;
|
|
67
|
+
}[] | undefined;
|
|
68
|
+
defaultValue?: any;
|
|
69
|
+
}, {
|
|
70
|
+
content: string;
|
|
71
|
+
maxRetries?: number | undefined;
|
|
72
|
+
schema?: Record<string, any> | undefined;
|
|
73
|
+
systemPrompt?: string | undefined;
|
|
74
|
+
examples?: {
|
|
75
|
+
input: string;
|
|
76
|
+
output?: any;
|
|
77
|
+
}[] | undefined;
|
|
78
|
+
defaultValue?: any;
|
|
79
|
+
strictMode?: boolean | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
declare const extractionTool: Tool<typeof schema, any>;
|
|
82
|
+
export default extractionTool;
|
|
83
|
+
//# sourceMappingURL=extraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAYzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AA0EzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,iBAAiB,EACtB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA+G3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,gBAAgB,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,aAoB3F,MAAM,OAAO,iBAAiB,kBAChD;AAGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,GAAG,CA4G5C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.schema = void 0;
|
|
4
|
+
exports.extract = extract;
|
|
5
|
+
exports.createExtractor = createExtractor;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
8
|
+
const logger_1 = require("../utils/logger");
|
|
9
|
+
const output_parsers_1 = require("@langchain/core/output_parsers");
|
|
10
|
+
const messages_1 = require("@langchain/core/messages");
|
|
11
|
+
function supportsStructuredOutput(llm) {
|
|
12
|
+
return 'withStructuredOutput' in llm && typeof llm.withStructuredOutput === 'function';
|
|
13
|
+
}
|
|
14
|
+
// Default configuration
|
|
15
|
+
const DEFAULT_CONFIG = {
|
|
16
|
+
maxRetries: 3,
|
|
17
|
+
strictMode: true,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Convert Zod schema to JSON schema format for prompt
|
|
21
|
+
*/
|
|
22
|
+
function schemaToJsonFormat(schema) {
|
|
23
|
+
// Use zod-to-json-schema for robust conversion
|
|
24
|
+
const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(schema, {
|
|
25
|
+
target: 'openApi3',
|
|
26
|
+
$refStrategy: 'none', // Inline all references for simpler prompts
|
|
27
|
+
});
|
|
28
|
+
// Remove the $schema property for cleaner output
|
|
29
|
+
if (typeof jsonSchema === 'object' && jsonSchema !== null && '$schema' in jsonSchema) {
|
|
30
|
+
delete jsonSchema.$schema;
|
|
31
|
+
}
|
|
32
|
+
return JSON.stringify(jsonSchema, null, 2);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Build prompt with schema for JSON parsing mode
|
|
36
|
+
*/
|
|
37
|
+
function buildPromptWithSchema(basePrompt, schema, examples, content) {
|
|
38
|
+
const schemaDescription = schemaToJsonFormat(schema);
|
|
39
|
+
let prompt = `${basePrompt}\n\nExpected JSON format:\n${schemaDescription}\n\n`;
|
|
40
|
+
// Add examples if provided
|
|
41
|
+
if (examples && examples.length > 0) {
|
|
42
|
+
prompt += 'Examples:\n';
|
|
43
|
+
for (const example of examples) {
|
|
44
|
+
prompt += `Input: ${example.input}\nOutput: ${JSON.stringify(example.output)}\n\n`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
prompt += 'Return ONLY valid JSON that matches the schema. No additional text or explanation.\n\n';
|
|
48
|
+
prompt += `Content to extract from:\n${content}`;
|
|
49
|
+
return prompt;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Validate extraction result against Zod schema
|
|
53
|
+
*/
|
|
54
|
+
function validateResult(result, schema) {
|
|
55
|
+
try {
|
|
56
|
+
// Use Zod's built-in validation
|
|
57
|
+
schema.parse(result);
|
|
58
|
+
return { valid: true, errors: [] };
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (error instanceof zod_1.z.ZodError) {
|
|
62
|
+
// Extract error messages from Zod validation
|
|
63
|
+
const errors = error.errors.map((err) => {
|
|
64
|
+
const path = err.path.join('.');
|
|
65
|
+
return path ? `${path}: ${err.message}` : err.message;
|
|
66
|
+
});
|
|
67
|
+
return { valid: false, errors };
|
|
68
|
+
}
|
|
69
|
+
// Handle non-Zod errors
|
|
70
|
+
return { valid: false, errors: [error instanceof Error ? error.message : 'Unknown validation error'] };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Generic extraction utility that can be used standalone
|
|
75
|
+
*
|
|
76
|
+
* When strictMode is true:
|
|
77
|
+
* - If the LLM supports withStructuredOutput, it will use that for guaranteed schema compliance
|
|
78
|
+
* - Otherwise, it falls back to JSON parsing with Zod validation and retries
|
|
79
|
+
*
|
|
80
|
+
* When strictMode is false:
|
|
81
|
+
* - Uses JSON parsing without validation for more flexibility
|
|
82
|
+
*
|
|
83
|
+
* @param content The content to extract from
|
|
84
|
+
* @param config The extraction configuration
|
|
85
|
+
* @param llm The language model to use for extraction
|
|
86
|
+
* @param attemptNumber Current attempt number (used internally for retries)
|
|
87
|
+
* @returns The extraction result
|
|
88
|
+
*/
|
|
89
|
+
async function extract(content, config, llm, attemptNumber = 0) {
|
|
90
|
+
const mergedConfig = { ...DEFAULT_CONFIG, ...config };
|
|
91
|
+
try {
|
|
92
|
+
const basePrompt = mergedConfig.systemPrompt || 'Extract structured information from the given content:';
|
|
93
|
+
let result;
|
|
94
|
+
if (mergedConfig.strictMode) {
|
|
95
|
+
// Use structured output when strict mode is enabled
|
|
96
|
+
try {
|
|
97
|
+
// Check if the LLM supports structured output
|
|
98
|
+
if (supportsStructuredOutput(llm)) {
|
|
99
|
+
// When using withStructuredOutput, we don't need to include the schema in the prompt
|
|
100
|
+
// The LLM already knows the structure from the withStructuredOutput method
|
|
101
|
+
let prompt = basePrompt;
|
|
102
|
+
// Add examples if provided (still useful for context)
|
|
103
|
+
if (mergedConfig.examples && mergedConfig.examples.length > 0) {
|
|
104
|
+
prompt += '\n\nExamples:\n';
|
|
105
|
+
for (const example of mergedConfig.examples) {
|
|
106
|
+
prompt += `Input: ${example.input}\nOutput: ${JSON.stringify(example.output)}\n\n`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
prompt += `\n\nContent to extract from:\n${content}`;
|
|
110
|
+
const structuredLLM = llm.withStructuredOutput(mergedConfig.schema);
|
|
111
|
+
const messages = [new messages_1.SystemMessage(prompt)];
|
|
112
|
+
result = await structuredLLM.invoke(messages);
|
|
113
|
+
// The result should already be validated by withStructuredOutput
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Fallback to JSON parser with validation if withStructuredOutput is not available
|
|
118
|
+
logger_1.logger.info({
|
|
119
|
+
message: 'LLM does not support withStructuredOutput, falling back to JSON parser with validation',
|
|
120
|
+
});
|
|
121
|
+
// For JSON parsing mode, we need to include the schema in the prompt
|
|
122
|
+
const prompt = buildPromptWithSchema(basePrompt, mergedConfig.schema, mergedConfig.examples, content);
|
|
123
|
+
const parser = new output_parsers_1.JsonOutputParser();
|
|
124
|
+
const messages = [new messages_1.SystemMessage(prompt)];
|
|
125
|
+
result = await llm.pipe(parser).invoke(messages);
|
|
126
|
+
// Validate the result
|
|
127
|
+
const validation = validateResult(result, mergedConfig.schema);
|
|
128
|
+
if (!validation.valid && attemptNumber < (mergedConfig.maxRetries || 3)) {
|
|
129
|
+
logger_1.logger.warn({
|
|
130
|
+
message: 'Extraction validation failed, retrying',
|
|
131
|
+
errors: validation.errors,
|
|
132
|
+
attempt: attemptNumber + 1,
|
|
133
|
+
});
|
|
134
|
+
// Add validation errors to prompt for retry
|
|
135
|
+
const retryConfig = {
|
|
136
|
+
...config,
|
|
137
|
+
systemPrompt: `${basePrompt}\n\nPrevious attempt had these errors:\n${validation.errors.join('\n')}\n\nPlease correct these issues and provide valid JSON.`,
|
|
138
|
+
};
|
|
139
|
+
return extract(content, retryConfig, llm, attemptNumber + 1);
|
|
140
|
+
}
|
|
141
|
+
else if (!validation.valid) {
|
|
142
|
+
logger_1.logger.error({
|
|
143
|
+
message: 'Extraction validation failed after max retries',
|
|
144
|
+
errors: validation.errors,
|
|
145
|
+
});
|
|
146
|
+
if (mergedConfig.defaultValue) {
|
|
147
|
+
return mergedConfig.defaultValue;
|
|
148
|
+
}
|
|
149
|
+
throw new Error(`Extraction validation failed: ${validation.errors.join(', ')}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
// If structured output fails, retry with adjusted config
|
|
155
|
+
if (attemptNumber < (mergedConfig.maxRetries || 3)) {
|
|
156
|
+
logger_1.logger.warn({
|
|
157
|
+
message: 'Structured output failed, retrying',
|
|
158
|
+
error: err instanceof Error ? err.message : 'Unknown error',
|
|
159
|
+
attempt: attemptNumber + 1,
|
|
160
|
+
});
|
|
161
|
+
return extract(content, config, llm, attemptNumber + 1);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
throw err;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// Non-strict mode: use JSON parser without validation
|
|
170
|
+
const prompt = buildPromptWithSchema(basePrompt, mergedConfig.schema, mergedConfig.examples, content);
|
|
171
|
+
const parser = new output_parsers_1.JsonOutputParser();
|
|
172
|
+
const messages = [new messages_1.SystemMessage(prompt)];
|
|
173
|
+
result = await llm.pipe(parser).invoke(messages);
|
|
174
|
+
}
|
|
175
|
+
return result;
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
logger_1.logger.error({ message: 'Extraction failed', err });
|
|
179
|
+
if (mergedConfig.defaultValue) {
|
|
180
|
+
return mergedConfig.defaultValue;
|
|
181
|
+
}
|
|
182
|
+
throw err;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Create a simple extractor for common use cases
|
|
187
|
+
* @param schemaOrPrompt Either a Zod schema or a simple prompt string
|
|
188
|
+
* @param options Additional configuration options
|
|
189
|
+
* @returns A configured extract function
|
|
190
|
+
*/
|
|
191
|
+
function createExtractor(schemaOrPrompt, options) {
|
|
192
|
+
let config;
|
|
193
|
+
if (typeof schemaOrPrompt === 'string') {
|
|
194
|
+
// Simple prompt-based extraction - create a Zod schema for a single string result
|
|
195
|
+
config = {
|
|
196
|
+
schema: zod_1.z.object({
|
|
197
|
+
result: zod_1.z.string().describe('The extracted result'),
|
|
198
|
+
}),
|
|
199
|
+
systemPrompt: schemaOrPrompt,
|
|
200
|
+
...options,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// Schema-based extraction
|
|
205
|
+
config = {
|
|
206
|
+
schema: schemaOrPrompt,
|
|
207
|
+
...options,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return (content, llm) => extract(content, config, llm);
|
|
211
|
+
}
|
|
212
|
+
// Schema for the extraction tool
|
|
213
|
+
exports.schema = zod_1.z.object({
|
|
214
|
+
content: zod_1.z.string().describe('The content to extract information from'),
|
|
215
|
+
schema: zod_1.z.record(zod_1.z.any()).optional().describe('Extraction schema defining the structure of data to extract'),
|
|
216
|
+
systemPrompt: zod_1.z.string().optional().describe('Custom system prompt for extraction'),
|
|
217
|
+
examples: zod_1.z
|
|
218
|
+
.array(zod_1.z.object({
|
|
219
|
+
input: zod_1.z.string(),
|
|
220
|
+
output: zod_1.z.any(),
|
|
221
|
+
}))
|
|
222
|
+
.optional()
|
|
223
|
+
.describe('Examples to guide the extraction'),
|
|
224
|
+
strictMode: zod_1.z.boolean().optional().default(true).describe('Whether to validate the extraction against the schema'),
|
|
225
|
+
maxRetries: zod_1.z.number().optional().default(3).describe('Maximum number of retries if validation fails'),
|
|
226
|
+
defaultValue: zod_1.z.any().optional().describe('Default value to return if extraction fails'),
|
|
227
|
+
});
|
|
228
|
+
const extractionTool = {
|
|
229
|
+
name: 'minded-extraction',
|
|
230
|
+
description: 'Extract structured data from unstructured text using AI. Supports custom Zod schemas, validation, examples, and retries. When strictMode is enabled, uses LLM structured output (if available) for guaranteed schema compliance. Perfect for extracting specific information like country codes, emails, dates, or any custom data structure.',
|
|
231
|
+
input: exports.schema,
|
|
232
|
+
isGlobal: false,
|
|
233
|
+
execute: async ({ input, state, agent }) => {
|
|
234
|
+
const { content, schema: inputSchema, systemPrompt, examples, strictMode, maxRetries, defaultValue } = input;
|
|
235
|
+
logger_1.logger.info({
|
|
236
|
+
message: 'Extracting structured data',
|
|
237
|
+
sessionId: state.sessionId,
|
|
238
|
+
contentLength: content.length,
|
|
239
|
+
hasSchema: !!inputSchema,
|
|
240
|
+
});
|
|
241
|
+
// Convert input schema to Zod schema if provided
|
|
242
|
+
let extractionSchema;
|
|
243
|
+
if (inputSchema) {
|
|
244
|
+
// Build a Zod schema from the input schema object
|
|
245
|
+
const zodShape = {};
|
|
246
|
+
for (const [key, value] of Object.entries(inputSchema)) {
|
|
247
|
+
if (typeof value === 'object' && value !== null) {
|
|
248
|
+
const fieldConfig = value;
|
|
249
|
+
let zodType;
|
|
250
|
+
// Create appropriate Zod type based on the field configuration
|
|
251
|
+
if (fieldConfig.type === 'string') {
|
|
252
|
+
zodType = zod_1.z.string();
|
|
253
|
+
}
|
|
254
|
+
else if (fieldConfig.type === 'number') {
|
|
255
|
+
zodType = zod_1.z.number();
|
|
256
|
+
}
|
|
257
|
+
else if (fieldConfig.type === 'boolean') {
|
|
258
|
+
zodType = zod_1.z.boolean();
|
|
259
|
+
}
|
|
260
|
+
else if (fieldConfig.type === 'array') {
|
|
261
|
+
zodType = zod_1.z.array(zod_1.z.any());
|
|
262
|
+
}
|
|
263
|
+
else if (fieldConfig.type === 'object') {
|
|
264
|
+
zodType = zod_1.z.object({});
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
// Default to string if type not specified
|
|
268
|
+
zodType = zod_1.z.string();
|
|
269
|
+
}
|
|
270
|
+
// Add description if available
|
|
271
|
+
if (fieldConfig.description) {
|
|
272
|
+
zodType = zodType.describe(fieldConfig.description);
|
|
273
|
+
}
|
|
274
|
+
// Handle optional fields
|
|
275
|
+
if (fieldConfig.required === false) {
|
|
276
|
+
zodType = zodType.optional();
|
|
277
|
+
}
|
|
278
|
+
zodShape[key] = zodType;
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
// Default to string for simple values
|
|
282
|
+
zodShape[key] = zod_1.z.string();
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
extractionSchema = zod_1.z.object(zodShape);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
// Default schema if none provided
|
|
289
|
+
extractionSchema = zod_1.z.object({
|
|
290
|
+
result: zod_1.z.string().describe('The extracted result'),
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
const config = {
|
|
294
|
+
schema: extractionSchema,
|
|
295
|
+
systemPrompt,
|
|
296
|
+
examples,
|
|
297
|
+
strictMode,
|
|
298
|
+
maxRetries,
|
|
299
|
+
defaultValue,
|
|
300
|
+
};
|
|
301
|
+
try {
|
|
302
|
+
const result = await extract(content, config, agent.llm);
|
|
303
|
+
logger_1.logger.info({
|
|
304
|
+
message: 'Extraction completed',
|
|
305
|
+
sessionId: state.sessionId,
|
|
306
|
+
resultKeys: Object.keys(result),
|
|
307
|
+
});
|
|
308
|
+
return {
|
|
309
|
+
result,
|
|
310
|
+
state: {
|
|
311
|
+
memory: {
|
|
312
|
+
lastExtraction: {
|
|
313
|
+
content: content.substring(0, 100) + (content.length > 100 ? '...' : ''),
|
|
314
|
+
result,
|
|
315
|
+
timestamp: new Date().toISOString(),
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
catch (err) {
|
|
322
|
+
logger_1.logger.error({
|
|
323
|
+
message: 'Extraction failed',
|
|
324
|
+
sessionId: state.sessionId,
|
|
325
|
+
err,
|
|
326
|
+
});
|
|
327
|
+
throw err;
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
};
|
|
331
|
+
exports.default = extractionTool;
|
|
332
|
+
//# sourceMappingURL=extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../src/toolsLibrary/extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as parseDocument from './parseDocument';
|
|
2
2
|
import * as classifier from './classifier';
|
|
3
|
+
import * as extraction from './extraction';
|
|
3
4
|
export declare const tools: {
|
|
4
5
|
'minded-parse-documents': typeof parseDocument;
|
|
5
6
|
'minded-classifier': typeof classifier;
|
|
7
|
+
'minded-extraction': typeof extraction;
|
|
6
8
|
};
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,KAAK;;;;CAIjB,CAAC"}
|
|
@@ -26,9 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.tools = void 0;
|
|
27
27
|
const parseDocument = __importStar(require("./parseDocument"));
|
|
28
28
|
const classifier = __importStar(require("./classifier"));
|
|
29
|
+
const extraction = __importStar(require("./extraction"));
|
|
29
30
|
// Export all tools as a collection for easy discovery
|
|
30
31
|
exports.tools = {
|
|
31
32
|
'minded-parse-documents': parseDocument,
|
|
32
33
|
'minded-classifier': classifier,
|
|
34
|
+
'minded-extraction': extraction,
|
|
33
35
|
};
|
|
34
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/toolsLibrary/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yDAA2C;AAE3C,sDAAsD;AACzC,QAAA,KAAK,GAAG;IACnB,wBAAwB,EAAE,aAAa;IACvC,mBAAmB,EAAE,UAAU;CAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/toolsLibrary/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yDAA2C;AAC3C,yDAA2C;AAE3C,sDAAsD;AACzC,QAAA,KAAK,GAAG;IACnB,wBAAwB,EAAE,aAAa;IACvC,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,UAAU;CAChC,CAAC"}
|
package/docs/SUMMARY.md
CHANGED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Data Extraction
|
|
2
|
+
|
|
3
|
+
MindedJS provides a powerful AI-based extraction tool for extracting structured data from unstructured text. The extraction system uses LLM capabilities to parse content and return data in a predefined format.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The extraction tool (`minded-extraction`) enables you to extract specific information from text using:
|
|
8
|
+
|
|
9
|
+
- **Structured Extraction with Zod Schema**: Define exact data structure using Zod schemas
|
|
10
|
+
- **Prompt-based Extraction**: Extract information using custom prompts
|
|
11
|
+
- **Validation and Retries**: Automatic validation against schema with retry logic
|
|
12
|
+
|
|
13
|
+
## Key Features
|
|
14
|
+
|
|
15
|
+
- **LLM Structured Output Support**: When available, uses the LLM's native structured output capabilities for guaranteed schema compliance
|
|
16
|
+
- **Fallback JSON Parsing**: Automatically falls back to JSON parsing with validation when structured output is unavailable
|
|
17
|
+
- **Schema Validation**: Built-in Zod validation ensures extracted data matches expected structure
|
|
18
|
+
- **Retry Logic**: Configurable retry attempts with error feedback for improved accuracy
|
|
19
|
+
- **Strict and Non-strict Modes**: Choose between validated extraction (strict) or flexible extraction
|
|
20
|
+
|
|
21
|
+
## Library Tool Integration
|
|
22
|
+
|
|
23
|
+
The extraction functionality is available as a library tool called `minded-extraction` that can be added to your flows through the Minded platform.
|
|
24
|
+
|
|
25
|
+
### Configuration Options
|
|
26
|
+
|
|
27
|
+
- `content`: The text to extract information from
|
|
28
|
+
- `schema`: Optional Zod-compatible schema defining the structure
|
|
29
|
+
- `systemPrompt`: Custom instructions for extraction
|
|
30
|
+
- `examples`: Input/output examples to guide extraction
|
|
31
|
+
- `strictMode`: Enable/disable schema validation (default: true)
|
|
32
|
+
- `maxRetries`: Number of retry attempts on validation failure (default: 3)
|
|
33
|
+
- `defaultValue`: Fallback value if extraction fails
|
|
34
|
+
|
|
35
|
+
## How It Works
|
|
36
|
+
|
|
37
|
+
1. **With Structured Output Support** (when available):
|
|
38
|
+
|
|
39
|
+
- The tool uses the LLM's `withStructuredOutput` method for direct schema-compliant extraction
|
|
40
|
+
- No manual JSON parsing or validation needed
|
|
41
|
+
- Guaranteed to match the provided Zod schema
|
|
42
|
+
|
|
43
|
+
2. **Fallback Mode** (JSON parsing):
|
|
44
|
+
|
|
45
|
+
- Generates a prompt with schema description
|
|
46
|
+
- Uses JSON output parser to extract structured data
|
|
47
|
+
- Validates against Zod schema
|
|
48
|
+
- Retries with error feedback if validation fails
|
|
49
|
+
|
|
50
|
+
3. **Non-strict Mode**:
|
|
51
|
+
- Skips validation for more flexible extraction
|
|
52
|
+
- Useful when schema compliance is not critical
|
|
53
|
+
|
|
54
|
+
## Standalone Usage
|
|
55
|
+
|
|
56
|
+
The extraction utility can also be used programmatically:
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { extract, createExtractor } from '@minded-ai/mindedjs';
|
|
60
|
+
import { z } from 'zod';
|
|
61
|
+
|
|
62
|
+
// Direct extraction
|
|
63
|
+
const result = await extract(
|
|
64
|
+
content,
|
|
65
|
+
{
|
|
66
|
+
schema: z.object({
|
|
67
|
+
name: z.string(),
|
|
68
|
+
age: z.number(),
|
|
69
|
+
}),
|
|
70
|
+
systemPrompt: 'Extract person details',
|
|
71
|
+
},
|
|
72
|
+
agent.llm,
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// Create reusable extractor
|
|
76
|
+
const extractor = createExtractor(schema, { systemPrompt: 'Extract data' });
|
|
77
|
+
const result = await extractor(content, agent.llm);
|
|
78
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minded-ai/mindedjs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.135",
|
|
4
4
|
"description": "MindedJS is a TypeScript library for building agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
"typescript-eslint": "^8.32.1"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"zod": "^3.25.74",
|
|
55
54
|
"@langchain/core": "^0.3.55",
|
|
56
55
|
"@langchain/langgraph": "^0.2.72",
|
|
57
56
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -64,6 +63,8 @@
|
|
|
64
63
|
"pino-pretty": "^13.0.0",
|
|
65
64
|
"socket.io-client": "^4.8.1",
|
|
66
65
|
"uuid": "^11.1.0",
|
|
67
|
-
"ws": "^8.15.1"
|
|
66
|
+
"ws": "^8.15.1",
|
|
67
|
+
"zod": "^3.25.74",
|
|
68
|
+
"zod-to-json-schema": "^3.24.6"
|
|
68
69
|
}
|
|
69
70
|
}
|
package/src/agent.ts
CHANGED
|
@@ -445,11 +445,14 @@ export class Agent {
|
|
|
445
445
|
});
|
|
446
446
|
if (results.length === 0) {
|
|
447
447
|
if (appName) {
|
|
448
|
-
messages =
|
|
449
|
-
|
|
450
|
-
|
|
448
|
+
messages =
|
|
449
|
+
messages.length > 0
|
|
450
|
+
? messages
|
|
451
|
+
: triggerTypeToDefaultMessage[appName]?.[triggerName]?.(triggerBody) ?? [
|
|
452
|
+
new HumanMessage({ content: JSON.stringify(triggerBody), id: uuidv4() }),
|
|
453
|
+
];
|
|
451
454
|
} else {
|
|
452
|
-
messages = [new HumanMessage({ content: JSON.stringify(triggerBody), id: uuidv4() })];
|
|
455
|
+
messages = messages.length > 0 ? messages : [new HumanMessage({ content: JSON.stringify(triggerBody), id: uuidv4() })];
|
|
453
456
|
}
|
|
454
457
|
} else {
|
|
455
458
|
const handlerResult = results.find((r) => r !== undefined);
|
|
@@ -460,7 +463,7 @@ export class Agent {
|
|
|
460
463
|
return;
|
|
461
464
|
}
|
|
462
465
|
memoryUpdate = handlerResult.memory || {};
|
|
463
|
-
messages = handlerResult.messages ?? [];
|
|
466
|
+
messages = handlerResult.messages ?? (messages.length > 0 ? messages : []);
|
|
464
467
|
}
|
|
465
468
|
}
|
|
466
469
|
|
package/src/index.ts
CHANGED
|
@@ -88,6 +88,10 @@ export * as toolsLibrary from './toolsLibrary';
|
|
|
88
88
|
export { classify, createClassifier, multiClassify } from './toolsLibrary/classifier';
|
|
89
89
|
export type { ClassDefinition, ClassifierConfig, ClassificationResult } from './toolsLibrary/classifier';
|
|
90
90
|
|
|
91
|
+
// Export extraction utilities
|
|
92
|
+
export { extract, createExtractor } from './toolsLibrary/extraction';
|
|
93
|
+
export type { ExtractionSchema, ExtractionConfig, ExtractionResult } from './toolsLibrary/extraction';
|
|
94
|
+
|
|
91
95
|
// Export event types
|
|
92
96
|
export { AgentEvents } from './events/AgentEvents';
|
|
93
97
|
export type { AgentEventRequestPayloads, AgentEventResponsePayloads } from './events/AgentEvents';
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
+
import { Tool } from '../types/Tools.types';
|
|
4
|
+
import { logger } from '../utils/logger';
|
|
5
|
+
import { JsonOutputParser } from '@langchain/core/output_parsers';
|
|
6
|
+
import { SystemMessage } from '@langchain/core/messages';
|
|
7
|
+
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
8
|
+
|
|
9
|
+
// Type guard for checking if LLM supports structured output
|
|
10
|
+
interface StructuredOutputLLM extends BaseLanguageModel {
|
|
11
|
+
withStructuredOutput<T extends z.ZodType>(schema: T): BaseLanguageModel;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function supportsStructuredOutput(llm: BaseLanguageModel): llm is StructuredOutputLLM {
|
|
15
|
+
return 'withStructuredOutput' in llm && typeof (llm as any).withStructuredOutput === 'function';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Type definitions for extraction configuration using Zod
|
|
19
|
+
export type ExtractionSchema = z.ZodTypeAny;
|
|
20
|
+
|
|
21
|
+
export interface ExtractionConfig {
|
|
22
|
+
schema: ExtractionSchema;
|
|
23
|
+
systemPrompt?: string;
|
|
24
|
+
examples?: Array<{ input: string; output?: any }>;
|
|
25
|
+
defaultValue?: any;
|
|
26
|
+
maxRetries?: number;
|
|
27
|
+
strictMode?: boolean; // If true, will validate against schema
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type ExtractionResult = z.infer<ExtractionSchema>;
|
|
31
|
+
|
|
32
|
+
// Default configuration
|
|
33
|
+
const DEFAULT_CONFIG: Partial<ExtractionConfig> = {
|
|
34
|
+
maxRetries: 3,
|
|
35
|
+
strictMode: true,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Convert Zod schema to JSON schema format for prompt
|
|
40
|
+
*/
|
|
41
|
+
function schemaToJsonFormat(schema: ExtractionSchema): string {
|
|
42
|
+
// Use zod-to-json-schema for robust conversion
|
|
43
|
+
const jsonSchema = zodToJsonSchema(schema, {
|
|
44
|
+
target: 'openApi3',
|
|
45
|
+
$refStrategy: 'none', // Inline all references for simpler prompts
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Remove the $schema property for cleaner output
|
|
49
|
+
if (typeof jsonSchema === 'object' && jsonSchema !== null && '$schema' in jsonSchema) {
|
|
50
|
+
delete (jsonSchema as any).$schema;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return JSON.stringify(jsonSchema, null, 2);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Build prompt with schema for JSON parsing mode
|
|
58
|
+
*/
|
|
59
|
+
function buildPromptWithSchema(
|
|
60
|
+
basePrompt: string,
|
|
61
|
+
schema: ExtractionSchema,
|
|
62
|
+
examples: Array<{ input: string; output?: any }> | undefined,
|
|
63
|
+
content: string,
|
|
64
|
+
): string {
|
|
65
|
+
const schemaDescription = schemaToJsonFormat(schema);
|
|
66
|
+
let prompt = `${basePrompt}\n\nExpected JSON format:\n${schemaDescription}\n\n`;
|
|
67
|
+
|
|
68
|
+
// Add examples if provided
|
|
69
|
+
if (examples && examples.length > 0) {
|
|
70
|
+
prompt += 'Examples:\n';
|
|
71
|
+
for (const example of examples) {
|
|
72
|
+
prompt += `Input: ${example.input}\nOutput: ${JSON.stringify(example.output)}\n\n`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
prompt += 'Return ONLY valid JSON that matches the schema. No additional text or explanation.\n\n';
|
|
77
|
+
prompt += `Content to extract from:\n${content}`;
|
|
78
|
+
|
|
79
|
+
return prompt;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Validate extraction result against Zod schema
|
|
84
|
+
*/
|
|
85
|
+
function validateResult(result: any, schema: ExtractionSchema): { valid: boolean; errors: string[] } {
|
|
86
|
+
try {
|
|
87
|
+
// Use Zod's built-in validation
|
|
88
|
+
schema.parse(result);
|
|
89
|
+
return { valid: true, errors: [] };
|
|
90
|
+
} catch (error) {
|
|
91
|
+
if (error instanceof z.ZodError) {
|
|
92
|
+
// Extract error messages from Zod validation
|
|
93
|
+
const errors = error.errors.map((err) => {
|
|
94
|
+
const path = err.path.join('.');
|
|
95
|
+
return path ? `${path}: ${err.message}` : err.message;
|
|
96
|
+
});
|
|
97
|
+
return { valid: false, errors };
|
|
98
|
+
}
|
|
99
|
+
// Handle non-Zod errors
|
|
100
|
+
return { valid: false, errors: [error instanceof Error ? error.message : 'Unknown validation error'] };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Generic extraction utility that can be used standalone
|
|
106
|
+
*
|
|
107
|
+
* When strictMode is true:
|
|
108
|
+
* - If the LLM supports withStructuredOutput, it will use that for guaranteed schema compliance
|
|
109
|
+
* - Otherwise, it falls back to JSON parsing with Zod validation and retries
|
|
110
|
+
*
|
|
111
|
+
* When strictMode is false:
|
|
112
|
+
* - Uses JSON parsing without validation for more flexibility
|
|
113
|
+
*
|
|
114
|
+
* @param content The content to extract from
|
|
115
|
+
* @param config The extraction configuration
|
|
116
|
+
* @param llm The language model to use for extraction
|
|
117
|
+
* @param attemptNumber Current attempt number (used internally for retries)
|
|
118
|
+
* @returns The extraction result
|
|
119
|
+
*/
|
|
120
|
+
export async function extract(
|
|
121
|
+
content: string,
|
|
122
|
+
config: ExtractionConfig,
|
|
123
|
+
llm: BaseLanguageModel,
|
|
124
|
+
attemptNumber: number = 0,
|
|
125
|
+
): Promise<ExtractionResult> {
|
|
126
|
+
const mergedConfig = { ...DEFAULT_CONFIG, ...config };
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
const basePrompt = mergedConfig.systemPrompt || 'Extract structured information from the given content:';
|
|
130
|
+
|
|
131
|
+
let result: any;
|
|
132
|
+
|
|
133
|
+
if (mergedConfig.strictMode) {
|
|
134
|
+
// Use structured output when strict mode is enabled
|
|
135
|
+
try {
|
|
136
|
+
// Check if the LLM supports structured output
|
|
137
|
+
if (supportsStructuredOutput(llm)) {
|
|
138
|
+
// When using withStructuredOutput, we don't need to include the schema in the prompt
|
|
139
|
+
// The LLM already knows the structure from the withStructuredOutput method
|
|
140
|
+
let prompt = basePrompt;
|
|
141
|
+
|
|
142
|
+
// Add examples if provided (still useful for context)
|
|
143
|
+
if (mergedConfig.examples && mergedConfig.examples.length > 0) {
|
|
144
|
+
prompt += '\n\nExamples:\n';
|
|
145
|
+
for (const example of mergedConfig.examples) {
|
|
146
|
+
prompt += `Input: ${example.input}\nOutput: ${JSON.stringify(example.output)}\n\n`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
prompt += `\n\nContent to extract from:\n${content}`;
|
|
151
|
+
|
|
152
|
+
const structuredLLM = llm.withStructuredOutput(mergedConfig.schema);
|
|
153
|
+
const messages = [new SystemMessage(prompt)];
|
|
154
|
+
result = await structuredLLM.invoke(messages);
|
|
155
|
+
|
|
156
|
+
// The result should already be validated by withStructuredOutput
|
|
157
|
+
return result as ExtractionResult;
|
|
158
|
+
} else {
|
|
159
|
+
// Fallback to JSON parser with validation if withStructuredOutput is not available
|
|
160
|
+
logger.info({
|
|
161
|
+
message: 'LLM does not support withStructuredOutput, falling back to JSON parser with validation',
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
// For JSON parsing mode, we need to include the schema in the prompt
|
|
165
|
+
const prompt = buildPromptWithSchema(basePrompt, mergedConfig.schema, mergedConfig.examples, content);
|
|
166
|
+
|
|
167
|
+
const parser = new JsonOutputParser();
|
|
168
|
+
const messages = [new SystemMessage(prompt)];
|
|
169
|
+
result = await llm.pipe(parser).invoke(messages);
|
|
170
|
+
|
|
171
|
+
// Validate the result
|
|
172
|
+
const validation = validateResult(result, mergedConfig.schema);
|
|
173
|
+
|
|
174
|
+
if (!validation.valid && attemptNumber < (mergedConfig.maxRetries || 3)) {
|
|
175
|
+
logger.warn({
|
|
176
|
+
message: 'Extraction validation failed, retrying',
|
|
177
|
+
errors: validation.errors,
|
|
178
|
+
attempt: attemptNumber + 1,
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// Add validation errors to prompt for retry
|
|
182
|
+
const retryConfig = {
|
|
183
|
+
...config,
|
|
184
|
+
systemPrompt: `${basePrompt}\n\nPrevious attempt had these errors:\n${validation.errors.join(
|
|
185
|
+
'\n',
|
|
186
|
+
)}\n\nPlease correct these issues and provide valid JSON.`,
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
return extract(content, retryConfig, llm, attemptNumber + 1);
|
|
190
|
+
} else if (!validation.valid) {
|
|
191
|
+
logger.error({
|
|
192
|
+
message: 'Extraction validation failed after max retries',
|
|
193
|
+
errors: validation.errors,
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
if (mergedConfig.defaultValue) {
|
|
197
|
+
return mergedConfig.defaultValue;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
throw new Error(`Extraction validation failed: ${validation.errors.join(', ')}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
} catch (err) {
|
|
204
|
+
// If structured output fails, retry with adjusted config
|
|
205
|
+
if (attemptNumber < (mergedConfig.maxRetries || 3)) {
|
|
206
|
+
logger.warn({
|
|
207
|
+
message: 'Structured output failed, retrying',
|
|
208
|
+
error: err instanceof Error ? err.message : 'Unknown error',
|
|
209
|
+
attempt: attemptNumber + 1,
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
return extract(content, config, llm, attemptNumber + 1);
|
|
213
|
+
} else {
|
|
214
|
+
throw err;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
} else {
|
|
218
|
+
// Non-strict mode: use JSON parser without validation
|
|
219
|
+
const prompt = buildPromptWithSchema(basePrompt, mergedConfig.schema, mergedConfig.examples, content);
|
|
220
|
+
|
|
221
|
+
const parser = new JsonOutputParser();
|
|
222
|
+
const messages = [new SystemMessage(prompt)];
|
|
223
|
+
result = await llm.pipe(parser).invoke(messages);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return result as ExtractionResult;
|
|
227
|
+
} catch (err) {
|
|
228
|
+
logger.error({ message: 'Extraction failed', err });
|
|
229
|
+
|
|
230
|
+
if (mergedConfig.defaultValue) {
|
|
231
|
+
return mergedConfig.defaultValue;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
throw err;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Create a simple extractor for common use cases
|
|
240
|
+
* @param schemaOrPrompt Either a Zod schema or a simple prompt string
|
|
241
|
+
* @param options Additional configuration options
|
|
242
|
+
* @returns A configured extract function
|
|
243
|
+
*/
|
|
244
|
+
export function createExtractor(schemaOrPrompt: ExtractionSchema | string, options?: Partial<ExtractionConfig>) {
|
|
245
|
+
let config: ExtractionConfig;
|
|
246
|
+
|
|
247
|
+
if (typeof schemaOrPrompt === 'string') {
|
|
248
|
+
// Simple prompt-based extraction - create a Zod schema for a single string result
|
|
249
|
+
config = {
|
|
250
|
+
schema: z.object({
|
|
251
|
+
result: z.string().describe('The extracted result'),
|
|
252
|
+
}),
|
|
253
|
+
systemPrompt: schemaOrPrompt,
|
|
254
|
+
...options,
|
|
255
|
+
};
|
|
256
|
+
} else {
|
|
257
|
+
// Schema-based extraction
|
|
258
|
+
config = {
|
|
259
|
+
schema: schemaOrPrompt,
|
|
260
|
+
...options,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return (content: string, llm: BaseLanguageModel) => extract(content, config, llm);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Schema for the extraction tool
|
|
268
|
+
export const schema = z.object({
|
|
269
|
+
content: z.string().describe('The content to extract information from'),
|
|
270
|
+
schema: z.record(z.any()).optional().describe('Extraction schema defining the structure of data to extract'),
|
|
271
|
+
systemPrompt: z.string().optional().describe('Custom system prompt for extraction'),
|
|
272
|
+
examples: z
|
|
273
|
+
.array(
|
|
274
|
+
z.object({
|
|
275
|
+
input: z.string(),
|
|
276
|
+
output: z.any(),
|
|
277
|
+
}),
|
|
278
|
+
)
|
|
279
|
+
.optional()
|
|
280
|
+
.describe('Examples to guide the extraction'),
|
|
281
|
+
strictMode: z.boolean().optional().default(true).describe('Whether to validate the extraction against the schema'),
|
|
282
|
+
maxRetries: z.number().optional().default(3).describe('Maximum number of retries if validation fails'),
|
|
283
|
+
defaultValue: z.any().optional().describe('Default value to return if extraction fails'),
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
const extractionTool: Tool<typeof schema, any> = {
|
|
287
|
+
name: 'minded-extraction',
|
|
288
|
+
description:
|
|
289
|
+
'Extract structured data from unstructured text using AI. Supports custom Zod schemas, validation, examples, and retries. When strictMode is enabled, uses LLM structured output (if available) for guaranteed schema compliance. Perfect for extracting specific information like country codes, emails, dates, or any custom data structure.',
|
|
290
|
+
input: schema,
|
|
291
|
+
isGlobal: false,
|
|
292
|
+
execute: async ({ input, state, agent }) => {
|
|
293
|
+
const { content, schema: inputSchema, systemPrompt, examples, strictMode, maxRetries, defaultValue } = input;
|
|
294
|
+
|
|
295
|
+
logger.info({
|
|
296
|
+
message: 'Extracting structured data',
|
|
297
|
+
sessionId: state.sessionId,
|
|
298
|
+
contentLength: content.length,
|
|
299
|
+
hasSchema: !!inputSchema,
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
// Convert input schema to Zod schema if provided
|
|
303
|
+
let extractionSchema: ExtractionSchema;
|
|
304
|
+
if (inputSchema) {
|
|
305
|
+
// Build a Zod schema from the input schema object
|
|
306
|
+
const zodShape: Record<string, z.ZodType> = {};
|
|
307
|
+
|
|
308
|
+
for (const [key, value] of Object.entries(inputSchema)) {
|
|
309
|
+
if (typeof value === 'object' && value !== null) {
|
|
310
|
+
const fieldConfig = value as any;
|
|
311
|
+
let zodType: z.ZodType;
|
|
312
|
+
|
|
313
|
+
// Create appropriate Zod type based on the field configuration
|
|
314
|
+
if (fieldConfig.type === 'string') {
|
|
315
|
+
zodType = z.string();
|
|
316
|
+
} else if (fieldConfig.type === 'number') {
|
|
317
|
+
zodType = z.number();
|
|
318
|
+
} else if (fieldConfig.type === 'boolean') {
|
|
319
|
+
zodType = z.boolean();
|
|
320
|
+
} else if (fieldConfig.type === 'array') {
|
|
321
|
+
zodType = z.array(z.any());
|
|
322
|
+
} else if (fieldConfig.type === 'object') {
|
|
323
|
+
zodType = z.object({});
|
|
324
|
+
} else {
|
|
325
|
+
// Default to string if type not specified
|
|
326
|
+
zodType = z.string();
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// Add description if available
|
|
330
|
+
if (fieldConfig.description) {
|
|
331
|
+
zodType = zodType.describe(fieldConfig.description);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// Handle optional fields
|
|
335
|
+
if (fieldConfig.required === false) {
|
|
336
|
+
zodType = zodType.optional();
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
zodShape[key] = zodType;
|
|
340
|
+
} else {
|
|
341
|
+
// Default to string for simple values
|
|
342
|
+
zodShape[key] = z.string();
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
extractionSchema = z.object(zodShape);
|
|
347
|
+
} else {
|
|
348
|
+
// Default schema if none provided
|
|
349
|
+
extractionSchema = z.object({
|
|
350
|
+
result: z.string().describe('The extracted result'),
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
const config: ExtractionConfig = {
|
|
355
|
+
schema: extractionSchema,
|
|
356
|
+
systemPrompt,
|
|
357
|
+
examples,
|
|
358
|
+
strictMode,
|
|
359
|
+
maxRetries,
|
|
360
|
+
defaultValue,
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
try {
|
|
364
|
+
const result = await extract(content, config, agent.llm);
|
|
365
|
+
|
|
366
|
+
logger.info({
|
|
367
|
+
message: 'Extraction completed',
|
|
368
|
+
sessionId: state.sessionId,
|
|
369
|
+
resultKeys: Object.keys(result),
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
return {
|
|
373
|
+
result,
|
|
374
|
+
state: {
|
|
375
|
+
memory: {
|
|
376
|
+
lastExtraction: {
|
|
377
|
+
content: content.substring(0, 100) + (content.length > 100 ? '...' : ''),
|
|
378
|
+
result,
|
|
379
|
+
timestamp: new Date().toISOString(),
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
};
|
|
384
|
+
} catch (err) {
|
|
385
|
+
logger.error({
|
|
386
|
+
message: 'Extraction failed',
|
|
387
|
+
sessionId: state.sessionId,
|
|
388
|
+
err,
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
throw err;
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
export default extractionTool;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as parseDocument from './parseDocument';
|
|
2
2
|
import * as classifier from './classifier';
|
|
3
|
+
import * as extraction from './extraction';
|
|
3
4
|
|
|
4
5
|
// Export all tools as a collection for easy discovery
|
|
5
6
|
export const tools = {
|
|
6
7
|
'minded-parse-documents': parseDocument,
|
|
7
8
|
'minded-classifier': classifier,
|
|
9
|
+
'minded-extraction': extraction,
|
|
8
10
|
};
|