@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.
@@ -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 = (_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 : [
390
- new messages_1.HumanMessage({ content: JSON.stringify(triggerBody), id: (0, uuid_1.v4)() }),
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
@@ -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;;;CAGjB,CAAC"}
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
@@ -37,6 +37,7 @@
37
37
 
38
38
  - [Timers](tooling/timers.md)
39
39
  - [Document Processing](tooling/document-processing.md)
40
+ - [Data Extraction](tooling/extraction.md)
40
41
  - [Classifier](tooling/classifier.md)
41
42
 
42
43
  ## Integrations
@@ -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.133",
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 = triggerTypeToDefaultMessage[appName]?.[triggerName]?.(triggerBody) ?? [
449
- new HumanMessage({ content: JSON.stringify(triggerBody), id: uuidv4() }),
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
  };