@minded-ai/mindedjs 3.1.17-beta.1 → 3.1.17

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":"documentExtraction.d.ts","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/documentExtraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,iBAAiB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,wBAAsB,qCAAqC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzF,eAAe,EACf,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,sBAA8B,EAC9B,GAAG,EACH,YAAY,EACZ,kBAAkB,GACnB,EAAE;IACD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;CAChC,CAAC,CA4CD"}
1
+ {"version":3,"file":"documentExtraction.d.ts","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/documentExtraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,iBAAiB,CAAC;AAGxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,wBAAsB,qCAAqC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzF,eAAe,EACf,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,sBAA8B,EAC9B,GAAG,EACH,YAAY,EACZ,kBAAkB,GACnB,EAAE;IACD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;CAChC,CAAC,CAsDD"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseDocumentAndExtractStructuredData = parseDocumentAndExtractStructuredData;
4
4
  const extractStructuredData_1 = require("./extractStructuredData");
5
5
  const parseDocument_1 = require("./parseDocument");
6
+ const logger_1 = require("../../utils/logger");
6
7
  /**
7
8
  * Parse document and extract structured data using AI.
8
9
  *
@@ -74,6 +75,15 @@ const parseDocument_1 = require("./parseDocument");
74
75
  * ```
75
76
  */
76
77
  async function parseDocumentAndExtractStructuredData({ documentSources, processingMode, sessionId, llamaCloudApiKey, returnStructuredOutput = false, llm, outputSchema, outputSchemaPrompt, }) {
78
+ logger_1.logger.debug({
79
+ msg: 'parsing documents and extracting structured data',
80
+ sessionId,
81
+ documentSources,
82
+ processingMode,
83
+ returnStructuredOutput,
84
+ hasOutputSchema: !!outputSchema,
85
+ hasOutputSchemaPrompt: !!outputSchemaPrompt,
86
+ });
77
87
  // Parse each document and concatenate results
78
88
  const results = await Promise.all(documentSources.map((documentSource) => (0, parseDocument_1.parseDocument)({
79
89
  documentSource,
@@ -1 +1 @@
1
- {"version":3,"file":"documentExtraction.js","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/documentExtraction.ts"],"names":[],"mappings":";;AA2EA,sFAiEC;AA1ID,mEAA0E;AAC1E,mDAAwE;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACI,KAAK,UAAU,qCAAqC,CAAgC,EACzF,eAAe,EACf,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GAAG,KAAK,EAC9B,GAAG,EACH,YAAY,EACZ,kBAAkB,GAUnB;IAIC,8CAA8C;IAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CACrC,IAAA,6BAAa,EAAC;QACZ,cAAc;QACd,cAAc;QACd,SAAS;QACT,gBAAgB;KACjB,CAAC,CACH,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,OAAO;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,mBAAmB;KAChC,CAAC;IAEF,IAAI,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACnH,CAAC;IAED,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,MAAM,IAAA,uDAA+B,EAAI;QACjE,OAAO,EAAE,MAAM,CAAC,UAAW;QAC3B,GAAG;QACH,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,kBAAkB;QAC1B,SAAS;KACV,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"documentExtraction.js","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/documentExtraction.ts"],"names":[],"mappings":";;AA4EA,sFA2EC;AArJD,mEAA0E;AAC1E,mDAAwE;AACxE,+CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACI,KAAK,UAAU,qCAAqC,CAAgC,EACzF,eAAe,EACf,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GAAG,KAAK,EAC9B,GAAG,EACH,YAAY,EACZ,kBAAkB,GAUnB;IAIC,eAAM,CAAC,KAAK,CAAC;QACX,GAAG,EAAE,kDAAkD;QACvD,SAAS;QACT,eAAe;QACf,cAAc;QACd,sBAAsB;QACtB,eAAe,EAAE,CAAC,CAAC,YAAY;QAC/B,qBAAqB,EAAE,CAAC,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CACrC,IAAA,6BAAa,EAAC;QACZ,cAAc;QACd,cAAc;QACd,SAAS;QACT,gBAAgB;KACjB,CAAC,CACH,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,OAAO;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,mBAAmB;KAChC,CAAC;IAEF,IAAI,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACnH,CAAC;IAED,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,MAAM,IAAA,uDAA+B,EAAI;QACjE,OAAO,EAAE,MAAM,CAAC,UAAW;QAC3B,GAAG;QACH,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,kBAAkB;QAC1B,SAAS;KACV,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractStructuredData.d.ts","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/extractStructuredData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,+BAA+B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACnF,OAAO,EACP,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAoEtB"}
1
+ {"version":3,"file":"extractStructuredData.d.ts","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/extractStructuredData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,+BAA+B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACnF,OAAO,EACP,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CA2EtB"}
@@ -53,6 +53,12 @@ async function extractStructuredDataFromString({ content, llm, schema, prompt, s
53
53
  if (!llm) {
54
54
  throw new Error('LLM instance is required for structured data extraction. Please provide an LLM when calling extractStructuredDataFromString.');
55
55
  }
56
+ logger_1.logger.debug({
57
+ msg: 'extracting structured data from string',
58
+ sessionId,
59
+ hasSchema: !!schema,
60
+ hasPrompt: !!prompt,
61
+ });
56
62
  const messages = [
57
63
  {
58
64
  role: 'system',
@@ -1 +1 @@
1
- {"version":3,"file":"extractStructuredData.js","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/extractStructuredData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractStructuredData.js","sourceRoot":"","sources":["../../../src/internalTools/documentExtraction/extractStructuredData.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const addAppToolNode = async ({ graph, node, llm, agent, tools, }) => {
32
32
  if (value !== '') {
33
33
  // If the value is a string, compile it to allow variable injection
34
34
  if (typeof value === 'string') {
35
- compiledParameters[key] = (0, compilePrompt_1.compileParameter)(value, compileContext);
35
+ compiledParameters[key] = (0, compilePrompt_1.compileParameter)(value, compileContext, key, appRunnerTool.input);
36
36
  }
37
37
  else {
38
38
  compiledParameters[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ const addToolNode = async ({ graph, node, tools, llm, agent, }) => {
38
38
  if (value !== '') {
39
39
  // If the value is a string, compile it to allow variable injection
40
40
  if (typeof value === 'string') {
41
- compiledParameters[key] = (0, compilePrompt_1.compileParameter)(value, compileContext);
41
+ compiledParameters[key] = (0, compilePrompt_1.compileParameter)(value, compileContext, key, matchedTool.input);
42
42
  }
43
43
  else {
44
44
  compiledParameters[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,45 @@
1
+ import { ZodSchema } from 'zod';
2
+ import { State } from '../types/LangGraph.types';
3
+ export type ContextData = {
4
+ state?: State;
5
+ memory?: State['memory'];
6
+ env?: NodeJS.ProcessEnv;
7
+ input?: Record<string, any>;
8
+ steps?: string;
9
+ messages?: string;
10
+ };
11
+ export type ExtendedContextData = ContextData & {
12
+ system: {
13
+ currentTime: string;
14
+ };
15
+ [key: string]: any;
16
+ };
1
17
  /**
2
- * Compile a prompt parameter using EJS and tokens and return the parameter value in native format.
3
- * @returns Compiled prompt parameter
18
+ * Compile a parameter string with EJS templates and placeholders, returning the value
19
+ * in a native format matching the expected type in the provided inputSchema.
20
+ *
21
+ * This function processes the parameter string through multiple stages:
22
+ * 1. Renders EJS templates (e.g., `<%= 2 + 3 %>`)
23
+ * 2. Replaces placeholders in {key.path} format with context values
24
+ * 3. Extracts node outputs from state.history and state.messages (accessible as {NodeName.field} or {tools.NodeName.field})
25
+ * 4. Coerces the result to match the type defined in inputSchema (if provided)
26
+ *
27
+ * When the parameter contains a single placeholder (e.g., `{memory.value}`), the native value is returned.
28
+ * Otherwise, a string is returned with all placeholders replaced.
29
+ *
30
+ * @param parameter - The parameter string to compile, can contain EJS templates and {key.path} placeholders
31
+ * @param context - Context data including state, memory, env, and input. Node outputs are automatically extracted from state.
32
+ * @param inputKey - Optional key name in the inputSchema to use for type coercion
33
+ * @param inputSchema - Optional Zod schema to coerce the result to the expected type
34
+ * @returns The compiled parameter value in native format (string, number, boolean, array, object) or the original string on error
35
+ *
4
36
  * @example
5
- * // Compile parameter using current state
6
- * const arrayOfStrings = compileParameter('{state.memory.arrayOfStrings}') as string[];
37
+ * compileParameter('Count: {memory.count}, Name: {memory.name}', { memory: { count: 5, name: 'test' } });
38
+ * // Returns "Count: 5, Name: test" (string)
7
39
  */
8
- export declare function compileParameter(parameter: string, context?: Record<string, any>): any;
40
+ export declare function compileParameter(parameter: string, context?: ContextData, inputKey?: string, inputSchema?: ZodSchema): any;
9
41
  /**
10
42
  * Compile prompt with parameters using EJS and placeholder replacement
11
43
  */
12
- export declare function compilePrompt(prompt: string, params?: Record<string, any>): string;
44
+ export declare function compilePrompt(prompt: string, context: ContextData): string;
13
45
  //# sourceMappingURL=compilePrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilePrompt.d.ts","sourceRoot":"","sources":["../../src/nodes/compilePrompt.ts"],"names":[],"mappings":"AA2EA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,GAAG,CAO1F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,MAAM,CAetF"}
1
+ {"version":3,"file":"compilePrompt.d.ts","sourceRoot":"","sources":["../../src/nodes/compilePrompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,SAAS,EAAc,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAwEjD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC9C,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,GAAG,CAyB9H;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAe1E"}
@@ -37,6 +37,7 @@ exports.compileParameter = compileParameter;
37
37
  exports.compilePrompt = compilePrompt;
38
38
  const ejs = __importStar(require("ejs"));
39
39
  const lodash_1 = require("lodash");
40
+ const zod_1 = require("zod");
40
41
  const logger_1 = require("../utils/logger");
41
42
  /**
42
43
  * Extract node outputs from state.history and state.messages
@@ -105,31 +106,62 @@ function extractNodeOutputs(state) {
105
106
  return outputs;
106
107
  }
107
108
  /**
108
- * Compile a prompt parameter using EJS and tokens and return the parameter value in native format.
109
- * @returns Compiled prompt parameter
109
+ * Compile a parameter string with EJS templates and placeholders, returning the value
110
+ * in a native format matching the expected type in the provided inputSchema.
111
+ *
112
+ * This function processes the parameter string through multiple stages:
113
+ * 1. Renders EJS templates (e.g., `<%= 2 + 3 %>`)
114
+ * 2. Replaces placeholders in {key.path} format with context values
115
+ * 3. Extracts node outputs from state.history and state.messages (accessible as {NodeName.field} or {tools.NodeName.field})
116
+ * 4. Coerces the result to match the type defined in inputSchema (if provided)
117
+ *
118
+ * When the parameter contains a single placeholder (e.g., `{memory.value}`), the native value is returned.
119
+ * Otherwise, a string is returned with all placeholders replaced.
120
+ *
121
+ * @param parameter - The parameter string to compile, can contain EJS templates and {key.path} placeholders
122
+ * @param context - Context data including state, memory, env, and input. Node outputs are automatically extracted from state.
123
+ * @param inputKey - Optional key name in the inputSchema to use for type coercion
124
+ * @param inputSchema - Optional Zod schema to coerce the result to the expected type
125
+ * @returns The compiled parameter value in native format (string, number, boolean, array, object) or the original string on error
126
+ *
110
127
  * @example
111
- * // Compile parameter using current state
112
- * const arrayOfStrings = compileParameter('{state.memory.arrayOfStrings}') as string[];
128
+ * compileParameter('Count: {memory.count}, Name: {memory.name}', { memory: { count: 5, name: 'test' } });
129
+ * // Returns "Count: 5, Name: test" (string)
113
130
  */
114
- function compileParameter(parameter, context = {}) {
115
- const compiledPrompt = compilePrompt(parameter, context);
131
+ function compileParameter(parameter, context = {}, inputKey, inputSchema) {
116
132
  try {
117
- return JSON.parse(compiledPrompt);
133
+ context = extendContextData(context);
134
+ // First, render with EJS
135
+ let compiledParameter = ejs.render(parameter, context).trim();
136
+ // Then, replace placeholders in {} format
137
+ // If the result contains only one set of curly braces, get the native value at that key path, e.g., {state.memory.arrayOfStrings} -> state.memory.arrayOfStrings
138
+ // Otherwise, compile it into a string.
139
+ const keyPathMatch = compiledParameter.match(/^\{([^}]+)}$/);
140
+ if (keyPathMatch) {
141
+ const keyPath = keyPathMatch[1];
142
+ compiledParameter = getContextValueFromPath(keyPath, context, compiledParameter);
143
+ }
144
+ else {
145
+ compiledParameter = replacePlaceholders(compiledParameter, context);
146
+ }
147
+ compiledParameter = coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
148
+ return compiledParameter;
118
149
  }
119
- catch (_a) {
120
- return compiledPrompt;
150
+ catch (err) {
151
+ logger_1.logger.error({ message: 'Error compiling parameter', err, parameter });
152
+ return parameter; // Return uncompiled if there's an error
121
153
  }
122
154
  }
123
155
  /**
124
156
  * Compile prompt with parameters using EJS and placeholder replacement
125
157
  */
126
- function compilePrompt(prompt, params = {}) {
158
+ function compilePrompt(prompt, context) {
127
159
  try {
128
- params = createContextData(params);
160
+ context = extendContextData(context);
129
161
  // First, render with EJS
130
- let compiledPrompt = ejs.render(prompt, params);
162
+ let compiledPrompt = ejs.render(prompt, context);
131
163
  // Then, replace placeholders in {} format
132
- compiledPrompt = replacePlaceholders(compiledPrompt, params);
164
+ compiledPrompt = replacePlaceholders(compiledPrompt, context);
133
165
  return compiledPrompt;
134
166
  }
135
167
  catch (err) {
@@ -138,57 +170,38 @@ function compilePrompt(prompt, params = {}) {
138
170
  }
139
171
  }
140
172
  /**
141
- * Create context data for prompt compilation
142
- * @param params
173
+ * Extend context data for prompt/parameters compilation.
174
+ *
175
+ * Extracts node outputs from state.history and state.messages, merging them into the context object.
176
+ * This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field} by making
177
+ * previous node outputs available during compilation.
178
+ *
179
+ * Also adds system data like {system.currentTime} to the context.
180
+ *
181
+ * @param context - The base context data containing state, memory, env, and input
182
+ * @returns Extended context with node outputs merged in and system data added
183
+ *
184
+ * @example
185
+ * // If ExtractUser node outputs { userName: "Bob", userAge: 35 }
186
+ * // The prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
143
187
  */
144
- function createContextData(params = {}) {
145
- // Define system parameters
146
- params = {
147
- ...params,
188
+ function extendContextData(context = {}) {
189
+ const nodeOutputs = context.state ? extractNodeOutputs(context.state) : {};
190
+ return {
191
+ ...context,
192
+ ...nodeOutputs,
148
193
  system: { currentTime: new Date().toISOString() },
149
194
  };
150
- // Extract node outputs from state if available
151
- // This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field}
152
- // by making previous node outputs available in the params object.
153
- // Example: If ExtractUser node outputs { userName: "Bob", userAge: 35 },
154
- // the prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
155
- if (params.state) {
156
- const nodeOutputs = extractNodeOutputs(params.state);
157
- // Merge node outputs into params so they're accessible during placeholder replacement
158
- params = { ...params, ...nodeOutputs };
159
- }
160
- return params;
161
195
  }
162
196
  /**
163
- * Replace placeholders in {key} format
197
+ * Replace placeholders in {object.key} format
164
198
  * Supports both:
165
199
  * - {NodeName.field} - direct node reference
166
200
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
167
201
  */
168
- function replacePlaceholders(text, params) {
169
- return text.replace(/\{([^}]+)}/g, (match, key) => {
170
- let keys = (0, lodash_1.toPath)(key);
171
- // Handle 'tools.' prefix as an alias for node outputs
172
- // {tools.NodeName.field} -> {NodeName.field}
173
- if (keys[0] === 'tools' && keys.length >= 3) {
174
- keys = keys.slice(1); // Remove 'tools' prefix
175
- }
176
- let value = params;
177
- for (let i = 0; i < keys.length; i++) {
178
- const k = keys[i];
179
- if (value && Array.isArray(value) && k !== '' && Number.isInteger(Number(k))) {
180
- value = value[Number(k)];
181
- }
182
- else if (value && typeof value === 'object' && k in value) {
183
- value = value[k];
184
- }
185
- else {
186
- logger_1.logger.warn({
187
- message: `Placeholder {${key}} in prompt not found in params. It will remain as placeholder.`,
188
- });
189
- return match; // Return original if key not found
190
- }
191
- }
202
+ function replacePlaceholders(text, context) {
203
+ return text.replace(/\{([^}]+)}/g, (match, keyPath) => {
204
+ const value = getContextValueFromPath(keyPath, context, match);
192
205
  // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
193
206
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
194
207
  try {
@@ -201,4 +214,132 @@ function replacePlaceholders(text, params) {
201
214
  return String(value);
202
215
  });
203
216
  }
217
+ /**
218
+ * Get value from a context object using dot notation path.
219
+ *
220
+ * Tool output placeholders can be in the form of {NodeName.field} or {tools.NodeName.field}.
221
+ *
222
+ * @param keyPath Dot notation and array-notation path to the value, e.g., "NodeName.array[1].field".
223
+ * @param context Context object to search in
224
+ * @param dft Default value to return if key not found
225
+ * @returns Value from context object or default value if not found
226
+ * @example
227
+ */
228
+ function getContextValueFromPath(keyPath, context, dft) {
229
+ let propPath = (0, lodash_1.toPath)(keyPath);
230
+ // Remove the 'tools.' prefix as an alias for node outputs
231
+ // {tools.NodeName.field} -> {NodeName.field}
232
+ if (propPath[0] === 'tools' && propPath.length >= 3) {
233
+ propPath = propPath.slice(1); // Remove 'tools' prefix
234
+ }
235
+ let value = context;
236
+ for (const propName of propPath) {
237
+ if (value && Array.isArray(value) && propName !== '' && Number.isInteger(Number(propName))) {
238
+ value = value[Number(propName)];
239
+ }
240
+ else if (value && typeof value === 'object' && propName in value) {
241
+ value = value[propName];
242
+ }
243
+ else {
244
+ // The prompt may include a JSON serialized object, e.g.,:
245
+ // Parameters manually configured by the user are: {"...":"..."}
246
+ // In this case this is not a valid placeholder, so we should not warn.
247
+ if (!keyPath.startsWith('"')) {
248
+ logger_1.logger.warn({
249
+ message: `Placeholder {${keyPath}} not found in context data. It will remain as placeholder.`,
250
+ });
251
+ }
252
+ return dft; // Return default if key not found
253
+ }
254
+ }
255
+ return value;
256
+ }
257
+ /**
258
+ * Coerce a value to a native type matching the provided ZodSchema, if possible.
259
+ * @param value
260
+ * @param inputKey
261
+ * @param inputSchema
262
+ */
263
+ function coerceValueWithZodType(value, inputKey, inputSchema) {
264
+ if (!inputKey || !(inputSchema instanceof zod_1.z.ZodObject)) {
265
+ return value;
266
+ }
267
+ const zodShape = inputSchema.shape;
268
+ if (!zodShape || !(inputKey in zodShape)) {
269
+ return value;
270
+ }
271
+ const keySchema = zodShape[inputKey];
272
+ const schemaType = keySchema._def.typeName;
273
+ let coercedValue = value;
274
+ switch (schemaType) {
275
+ case zod_1.z.ZodFirstPartyTypeKind.ZodString:
276
+ // Coerce to string if it is not already a string
277
+ if (typeof value !== 'string') {
278
+ coercedValue = String(value);
279
+ }
280
+ break;
281
+ case zod_1.z.ZodFirstPartyTypeKind.ZodNumber:
282
+ // Coerce to number from string only if it is a valid number
283
+ if (typeof value === 'string' && value !== '') {
284
+ const num = Number(value);
285
+ if (!isNaN(num)) {
286
+ coercedValue = num;
287
+ }
288
+ }
289
+ break;
290
+ case zod_1.z.ZodFirstPartyTypeKind.ZodBoolean:
291
+ // Coerce to boolean only if the value is a string "true" or "false"
292
+ if (value === 'true') {
293
+ coercedValue = true;
294
+ }
295
+ else if (value === 'false') {
296
+ coercedValue = false;
297
+ }
298
+ break;
299
+ case zod_1.z.ZodFirstPartyTypeKind.ZodArray:
300
+ // Coerce to array
301
+ if (typeof value === 'string') {
302
+ try {
303
+ const parsed = JSON.parse(value);
304
+ if (Array.isArray(parsed)) {
305
+ coercedValue = parsed;
306
+ }
307
+ }
308
+ catch (_a) {
309
+ // Not valid JSON, keep as is
310
+ }
311
+ }
312
+ break;
313
+ case zod_1.z.ZodFirstPartyTypeKind.ZodObject:
314
+ // Coerce to object
315
+ if (typeof value === 'string') {
316
+ try {
317
+ const parsed = JSON.parse(value);
318
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
319
+ coercedValue = parsed;
320
+ }
321
+ }
322
+ catch (_b) {
323
+ // Not valid JSON, keep as is
324
+ }
325
+ }
326
+ break;
327
+ default:
328
+ // For other types, keep the original value
329
+ coercedValue = value;
330
+ break;
331
+ }
332
+ // Validate the coerced value against the schema
333
+ const parseResult = keySchema.safeParse(coercedValue);
334
+ if (parseResult.success) {
335
+ return coercedValue;
336
+ }
337
+ else {
338
+ logger_1.logger.warn({
339
+ message: `Failed to coerce parameter's value for key "${inputKey}" to the type defined by the input schema. Error: ${parseResult.error.message}. Using the original value instead.`,
340
+ value,
341
+ });
342
+ return value;
343
+ }
344
+ }
204
345
  //# sourceMappingURL=compilePrompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilePrompt.js","sourceRoot":"","sources":["../../src/nodes/compilePrompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compilePrompt.js","sourceRoot":"","sources":["../../src/nodes/compilePrompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseDocument.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/parseDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAO5C,eAAO,MAAM,MAAM;;;;;;;;;EAKjB,CAAC;AAEH;;;;;;;GAOG;AACH,QAAA,MAAM,iBAAiB,EAAE,IAAI,CAAC,OAAO,MAAM,CAiE1C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"parseDocument.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/parseDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAO5C,eAAO,MAAM,MAAM;;;;;;;;;EAKjB,CAAC;AAEH;;;;;;;GAOG;AACH,QAAA,MAAM,iBAAiB,EAAE,IAAI,CAAC,OAAO,MAAM,CAwE1C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -35,14 +35,23 @@ const parseDocumentTool = {
35
35
  if (!input.documentSource || input.documentSource.length === 0) {
36
36
  throw new Error('documentSource is required - provide a URL, file path, or array of URLs/file paths');
37
37
  }
38
- const node = await agent.getCurrentNode(state.sessionId);
39
- const appToolNode = (node === null || node === void 0 ? void 0 : node.type) === Flows_types_1.NodeType.APP_TOOL ? node : undefined;
40
38
  // Get processing mode from environment variable
41
39
  const processingMode = process.env.DOCUMENT_PROCESSING_MODE === 'local' ? parseDocument_1.DocumentProcessingMode.LOCAL : parseDocument_1.DocumentProcessingMode.MANAGED;
42
40
  const llamaCloudApiKey = process.env.LLAMA_CLOUD_API_KEY;
43
- const outputSchema = input.returnStructuredOutput && agent.llm && appToolNode && ((_a = appToolNode.outputSchema) === null || _a === void 0 ? void 0 : _a.length)
44
- ? (0, schemaUtils_1.createZodSchemaFromFields)(appToolNode.outputSchema)
45
- : undefined;
41
+ const node = await agent.getCurrentNode(state.sessionId);
42
+ const appToolNode = (node === null || node === void 0 ? void 0 : node.type) === Flows_types_1.NodeType.APP_TOOL ? node : undefined;
43
+ let outputSchema;
44
+ if (!appToolNode) {
45
+ logger_1.logger.error({
46
+ msg: `[minded-parse-documents] Current node was not found or not an appTool. Output schema could not be inferred. Will use unstructured output.`,
47
+ nodeType: node === null || node === void 0 ? void 0 : node.type,
48
+ nodeName: node === null || node === void 0 ? void 0 : node.name,
49
+ sessionId: state.sessionId,
50
+ });
51
+ }
52
+ else if (input.returnStructuredOutput && agent.llm && ((_a = appToolNode.outputSchema) === null || _a === void 0 ? void 0 : _a.length)) {
53
+ outputSchema = (0, schemaUtils_1.createZodSchemaFromFields)(appToolNode.outputSchema);
54
+ }
46
55
  const documentSources = Array.isArray(input.documentSource) ? input.documentSource : [input.documentSource];
47
56
  const result = await (0, documentExtraction_1.parseDocumentAndExtractStructuredData)({
48
57
  documentSources,
@@ -67,7 +76,7 @@ const parseDocumentTool = {
67
76
  }
68
77
  catch (err) {
69
78
  logger_1.logger.error({
70
- message: 'Failed to parse document',
79
+ message: '[minded-parse-documents] Failed to parse document',
71
80
  sessionId: state.sessionId,
72
81
  err,
73
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"parseDocument.js","sourceRoot":"","sources":["../../src/toolsLibrary/parseDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDocument.js","sourceRoot":"","sources":["../../src/toolsLibrary/parseDocument.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "3.1.17-beta.1",
3
+ "version": "3.1.17",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2,6 +2,7 @@ import { ZodType } from 'zod';
2
2
  import { BaseLanguageModel } from '@langchain/core/language_models/base';
3
3
  import { extractStructuredDataFromString } from './extractStructuredData';
4
4
  import { DocumentProcessingMode, parseDocument } from './parseDocument';
5
+ import { logger } from '../../utils/logger';
5
6
 
6
7
  /**
7
8
  * Parse document and extract structured data using AI.
@@ -95,6 +96,16 @@ export async function parseDocumentAndExtractStructuredData<T extends Record<str
95
96
  rawContent?: string;
96
97
  structuredContent?: T | string;
97
98
  }> {
99
+ logger.debug({
100
+ msg: 'parsing documents and extracting structured data',
101
+ sessionId,
102
+ documentSources,
103
+ processingMode,
104
+ returnStructuredOutput,
105
+ hasOutputSchema: !!outputSchema,
106
+ hasOutputSchemaPrompt: !!outputSchemaPrompt,
107
+ });
108
+
98
109
  // Parse each document and concatenate results
99
110
  const results = await Promise.all(
100
111
  documentSources.map((documentSource) =>
@@ -68,6 +68,13 @@ export async function extractStructuredDataFromString<T extends Record<string, a
68
68
  );
69
69
  }
70
70
 
71
+ logger.debug({
72
+ msg: 'extracting structured data from string',
73
+ sessionId,
74
+ hasSchema: !!schema,
75
+ hasPrompt: !!prompt,
76
+ });
77
+
71
78
  const messages = [
72
79
  {
73
80
  role: 'system',
@@ -57,7 +57,7 @@ export const addAppToolNode = async ({
57
57
  if (value !== '') {
58
58
  // If the value is a string, compile it to allow variable injection
59
59
  if (typeof value === 'string') {
60
- compiledParameters[key] = compileParameter(value, compileContext);
60
+ compiledParameters[key] = compileParameter(value, compileContext, key, appRunnerTool.input);
61
61
  } else {
62
62
  compiledParameters[key] = value;
63
63
  }
@@ -58,7 +58,7 @@ export const addToolNode = async ({
58
58
  if (value !== '') {
59
59
  // If the value is a string, compile it to allow variable injection
60
60
  if (typeof value === 'string') {
61
- compiledParameters[key] = compileParameter(value, compileContext);
61
+ compiledParameters[key] = compileParameter(value, compileContext, key, matchedTool.input);
62
62
  } else {
63
63
  compiledParameters[key] = value;
64
64
  }
@@ -1,7 +1,9 @@
1
1
  import * as ejs from 'ejs';
2
2
  import { toPath } from 'lodash';
3
+ import { z, ZodSchema, ZodTypeAny } from 'zod';
3
4
  import { logger } from '../utils/logger';
4
5
  import { HistoryStep } from '../types/Agent.types';
6
+ import { State } from '../types/LangGraph.types';
5
7
 
6
8
  /**
7
9
  * Extract node outputs from state.history and state.messages
@@ -73,34 +75,82 @@ function extractNodeOutputs(state: any): Record<string, any> {
73
75
  return outputs;
74
76
  }
75
77
 
78
+ export type ContextData = {
79
+ state?: State;
80
+ memory?: State['memory'];
81
+ env?: NodeJS.ProcessEnv;
82
+ input?: Record<string, any>;
83
+ steps?: string;
84
+ messages?: string;
85
+ };
86
+
87
+ export type ExtendedContextData = ContextData & {
88
+ system: { currentTime: string };
89
+ [key: string]: any;
90
+ };
91
+
76
92
  /**
77
- * Compile a prompt parameter using EJS and tokens and return the parameter value in native format.
78
- * @returns Compiled prompt parameter
93
+ * Compile a parameter string with EJS templates and placeholders, returning the value
94
+ * in a native format matching the expected type in the provided inputSchema.
95
+ *
96
+ * This function processes the parameter string through multiple stages:
97
+ * 1. Renders EJS templates (e.g., `<%= 2 + 3 %>`)
98
+ * 2. Replaces placeholders in {key.path} format with context values
99
+ * 3. Extracts node outputs from state.history and state.messages (accessible as {NodeName.field} or {tools.NodeName.field})
100
+ * 4. Coerces the result to match the type defined in inputSchema (if provided)
101
+ *
102
+ * When the parameter contains a single placeholder (e.g., `{memory.value}`), the native value is returned.
103
+ * Otherwise, a string is returned with all placeholders replaced.
104
+ *
105
+ * @param parameter - The parameter string to compile, can contain EJS templates and {key.path} placeholders
106
+ * @param context - Context data including state, memory, env, and input. Node outputs are automatically extracted from state.
107
+ * @param inputKey - Optional key name in the inputSchema to use for type coercion
108
+ * @param inputSchema - Optional Zod schema to coerce the result to the expected type
109
+ * @returns The compiled parameter value in native format (string, number, boolean, array, object) or the original string on error
110
+ *
79
111
  * @example
80
- * // Compile parameter using current state
81
- * const arrayOfStrings = compileParameter('{state.memory.arrayOfStrings}') as string[];
112
+ * compileParameter('Count: {memory.count}, Name: {memory.name}', { memory: { count: 5, name: 'test' } });
113
+ * // Returns "Count: 5, Name: test" (string)
82
114
  */
83
- export function compileParameter(parameter: string, context: Record<string, any> = {}): any {
84
- const compiledPrompt = compilePrompt(parameter, context);
115
+ export function compileParameter(parameter: string, context: ContextData = {}, inputKey?: string, inputSchema?: ZodSchema): any {
85
116
  try {
86
- return JSON.parse(compiledPrompt);
87
- } catch {
88
- return compiledPrompt;
117
+ context = extendContextData(context);
118
+
119
+ // First, render with EJS
120
+ let compiledParameter = ejs.render(parameter, context).trim();
121
+
122
+ // Then, replace placeholders in {} format
123
+ // If the result contains only one set of curly braces, get the native value at that key path, e.g., {state.memory.arrayOfStrings} -> state.memory.arrayOfStrings
124
+ // Otherwise, compile it into a string.
125
+ const keyPathMatch = compiledParameter.match(/^\{([^}]+)}$/);
126
+ if (keyPathMatch) {
127
+ const keyPath = keyPathMatch[1];
128
+ compiledParameter = getContextValueFromPath(keyPath, context, compiledParameter);
129
+ } else {
130
+ compiledParameter = replacePlaceholders(compiledParameter, context);
131
+ }
132
+
133
+ compiledParameter = coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
134
+
135
+ return compiledParameter;
136
+ } catch (err) {
137
+ logger.error({ message: 'Error compiling parameter', err, parameter });
138
+ return parameter; // Return uncompiled if there's an error
89
139
  }
90
140
  }
91
141
 
92
142
  /**
93
143
  * Compile prompt with parameters using EJS and placeholder replacement
94
144
  */
95
- export function compilePrompt(prompt: string, params: Record<string, any> = {}): string {
145
+ export function compilePrompt(prompt: string, context: ContextData): string {
96
146
  try {
97
- params = createContextData(params);
147
+ context = extendContextData(context);
98
148
 
99
149
  // First, render with EJS
100
- let compiledPrompt = ejs.render(prompt, params);
150
+ let compiledPrompt = ejs.render(prompt, context);
101
151
 
102
152
  // Then, replace placeholders in {} format
103
- compiledPrompt = replacePlaceholders(compiledPrompt, params);
153
+ compiledPrompt = replacePlaceholders(compiledPrompt, context);
104
154
 
105
155
  return compiledPrompt;
106
156
  } catch (err) {
@@ -110,61 +160,39 @@ export function compilePrompt(prompt: string, params: Record<string, any> = {}):
110
160
  }
111
161
 
112
162
  /**
113
- * Create context data for prompt compilation
114
- * @param params
163
+ * Extend context data for prompt/parameters compilation.
164
+ *
165
+ * Extracts node outputs from state.history and state.messages, merging them into the context object.
166
+ * This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field} by making
167
+ * previous node outputs available during compilation.
168
+ *
169
+ * Also adds system data like {system.currentTime} to the context.
170
+ *
171
+ * @param context - The base context data containing state, memory, env, and input
172
+ * @returns Extended context with node outputs merged in and system data added
173
+ *
174
+ * @example
175
+ * // If ExtractUser node outputs { userName: "Bob", userAge: 35 }
176
+ * // The prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
115
177
  */
116
- function createContextData(params: Record<string, any> = {}): Record<string, any> {
117
- // Define system parameters
118
- params = {
119
- ...params,
178
+ function extendContextData(context: ContextData = {}): ExtendedContextData {
179
+ const nodeOutputs = context.state ? extractNodeOutputs(context.state) : {};
180
+ return {
181
+ ...context,
182
+ ...nodeOutputs,
120
183
  system: { currentTime: new Date().toISOString() },
121
184
  };
122
-
123
- // Extract node outputs from state if available
124
- // This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field}
125
- // by making previous node outputs available in the params object.
126
- // Example: If ExtractUser node outputs { userName: "Bob", userAge: 35 },
127
- // the prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
128
- if (params.state) {
129
- const nodeOutputs = extractNodeOutputs(params.state);
130
- // Merge node outputs into params so they're accessible during placeholder replacement
131
- params = { ...params, ...nodeOutputs };
132
- }
133
-
134
- return params;
135
185
  }
136
186
 
137
187
  /**
138
- * Replace placeholders in {key} format
188
+ * Replace placeholders in {object.key} format
139
189
  * Supports both:
140
190
  * - {NodeName.field} - direct node reference
141
191
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
142
192
  */
143
- function replacePlaceholders(text: string, params: Record<string, any>): string {
144
- return text.replace(/\{([^}]+)}/g, (match, key) => {
145
- let keys = toPath(key);
146
-
147
- // Handle 'tools.' prefix as an alias for node outputs
148
- // {tools.NodeName.field} -> {NodeName.field}
149
- if (keys[0] === 'tools' && keys.length >= 3) {
150
- keys = keys.slice(1); // Remove 'tools' prefix
151
- }
152
-
153
- let value: any = params;
154
-
155
- for (let i = 0; i < keys.length; i++) {
156
- const k = keys[i];
157
- if (value && Array.isArray(value) && k !== '' && Number.isInteger(Number(k))) {
158
- value = value[Number(k)];
159
- } else if (value && typeof value === 'object' && k in value) {
160
- value = value[k];
161
- } else {
162
- logger.warn({
163
- message: `Placeholder {${key}} in prompt not found in params. It will remain as placeholder.`,
164
- });
165
- return match; // Return original if key not found
166
- }
167
- }
193
+ function replacePlaceholders(text: string, context: Record<string, any>): string {
194
+ return text.replace(/\{([^}]+)}/g, (match, keyPath) => {
195
+ const value = getContextValueFromPath(keyPath, context, match);
168
196
 
169
197
  // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
170
198
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
@@ -177,3 +205,139 @@ function replacePlaceholders(text: string, params: Record<string, any>): string
177
205
  return String(value);
178
206
  });
179
207
  }
208
+
209
+ /**
210
+ * Get value from a context object using dot notation path.
211
+ *
212
+ * Tool output placeholders can be in the form of {NodeName.field} or {tools.NodeName.field}.
213
+ *
214
+ * @param keyPath Dot notation and array-notation path to the value, e.g., "NodeName.array[1].field".
215
+ * @param context Context object to search in
216
+ * @param dft Default value to return if key not found
217
+ * @returns Value from context object or default value if not found
218
+ * @example
219
+ */
220
+ function getContextValueFromPath(keyPath: string, context: Record<string, any>, dft: string): any {
221
+ let propPath = toPath(keyPath);
222
+
223
+ // Remove the 'tools.' prefix as an alias for node outputs
224
+ // {tools.NodeName.field} -> {NodeName.field}
225
+ if (propPath[0] === 'tools' && propPath.length >= 3) {
226
+ propPath = propPath.slice(1); // Remove 'tools' prefix
227
+ }
228
+
229
+ let value: any = context;
230
+
231
+ for (const propName of propPath) {
232
+ if (value && Array.isArray(value) && propName !== '' && Number.isInteger(Number(propName))) {
233
+ value = value[Number(propName)];
234
+ } else if (value && typeof value === 'object' && propName in value) {
235
+ value = value[propName];
236
+ } else {
237
+ // The prompt may include a JSON serialized object, e.g.,:
238
+ // Parameters manually configured by the user are: {"...":"..."}
239
+ // In this case this is not a valid placeholder, so we should not warn.
240
+ if (!keyPath.startsWith('"')) {
241
+ logger.warn({
242
+ message: `Placeholder {${keyPath}} not found in context data. It will remain as placeholder.`,
243
+ });
244
+ }
245
+ return dft; // Return default if key not found
246
+ }
247
+ }
248
+
249
+ return value;
250
+ }
251
+
252
+ /**
253
+ * Coerce a value to a native type matching the provided ZodSchema, if possible.
254
+ * @param value
255
+ * @param inputKey
256
+ * @param inputSchema
257
+ */
258
+ function coerceValueWithZodType(value: any, inputKey?: string, inputSchema?: ZodSchema) {
259
+ if (!inputKey || !(inputSchema instanceof z.ZodObject)) {
260
+ return value;
261
+ }
262
+ const zodShape: Record<string, ZodTypeAny> = inputSchema.shape;
263
+ if (!zodShape || !(inputKey in zodShape)) {
264
+ return value;
265
+ }
266
+ const keySchema: ZodTypeAny = zodShape[inputKey];
267
+
268
+ const schemaType = keySchema._def.typeName;
269
+ let coercedValue: any = value;
270
+
271
+ switch (schemaType) {
272
+ case z.ZodFirstPartyTypeKind.ZodString:
273
+ // Coerce to string if it is not already a string
274
+ if (typeof value !== 'string') {
275
+ coercedValue = String(value);
276
+ }
277
+ break;
278
+
279
+ case z.ZodFirstPartyTypeKind.ZodNumber:
280
+ // Coerce to number from string only if it is a valid number
281
+ if (typeof value === 'string' && value !== '') {
282
+ const num = Number(value);
283
+ if (!isNaN(num)) {
284
+ coercedValue = num;
285
+ }
286
+ }
287
+ break;
288
+
289
+ case z.ZodFirstPartyTypeKind.ZodBoolean:
290
+ // Coerce to boolean only if the value is a string "true" or "false"
291
+ if (value === 'true') {
292
+ coercedValue = true;
293
+ } else if (value === 'false') {
294
+ coercedValue = false;
295
+ }
296
+ break;
297
+
298
+ case z.ZodFirstPartyTypeKind.ZodArray:
299
+ // Coerce to array
300
+ if (typeof value === 'string') {
301
+ try {
302
+ const parsed = JSON.parse(value);
303
+ if (Array.isArray(parsed)) {
304
+ coercedValue = parsed;
305
+ }
306
+ } catch {
307
+ // Not valid JSON, keep as is
308
+ }
309
+ }
310
+ break;
311
+
312
+ case z.ZodFirstPartyTypeKind.ZodObject:
313
+ // Coerce to object
314
+ if (typeof value === 'string') {
315
+ try {
316
+ const parsed = JSON.parse(value);
317
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
318
+ coercedValue = parsed;
319
+ }
320
+ } catch {
321
+ // Not valid JSON, keep as is
322
+ }
323
+ }
324
+ break;
325
+
326
+ default:
327
+ // For other types, keep the original value
328
+ coercedValue = value;
329
+ break;
330
+ }
331
+
332
+ // Validate the coerced value against the schema
333
+ const parseResult = keySchema.safeParse(coercedValue);
334
+ if (parseResult.success) {
335
+ return coercedValue;
336
+ } else {
337
+ logger.warn({
338
+ message: `Failed to coerce parameter's value for key "${inputKey}" to the type defined by the input schema. Error: ${parseResult.error.message}. Using the original value instead.`,
339
+ value,
340
+ });
341
+ return value;
342
+ }
343
+ }
@@ -36,17 +36,24 @@ const parseDocumentTool: Tool<typeof schema> = {
36
36
  throw new Error('documentSource is required - provide a URL, file path, or array of URLs/file paths');
37
37
  }
38
38
 
39
- const node = await agent.getCurrentNode(state.sessionId);
40
- const appToolNode = node?.type === NodeType.APP_TOOL ? node : undefined;
41
-
42
39
  // Get processing mode from environment variable
43
40
  const processingMode =
44
41
  process.env.DOCUMENT_PROCESSING_MODE === 'local' ? DocumentProcessingMode.LOCAL : DocumentProcessingMode.MANAGED;
45
42
  const llamaCloudApiKey: string | undefined = process.env.LLAMA_CLOUD_API_KEY;
46
- const outputSchema =
47
- input.returnStructuredOutput && agent.llm && appToolNode && appToolNode.outputSchema?.length
48
- ? createZodSchemaFromFields(appToolNode.outputSchema)
49
- : undefined;
43
+
44
+ const node = await agent.getCurrentNode(state.sessionId);
45
+ const appToolNode = node?.type === NodeType.APP_TOOL ? node : undefined;
46
+ let outputSchema: undefined | z.ZodObject<Record<string, z.ZodTypeAny>>;
47
+ if (!appToolNode) {
48
+ logger.error({
49
+ msg: `[minded-parse-documents] Current node was not found or not an appTool. Output schema could not be inferred. Will use unstructured output.`,
50
+ nodeType: node?.type,
51
+ nodeName: node?.name,
52
+ sessionId: state.sessionId,
53
+ })
54
+ } else if (input.returnStructuredOutput && agent.llm && appToolNode.outputSchema?.length) {
55
+ outputSchema = createZodSchemaFromFields(appToolNode.outputSchema);
56
+ }
50
57
 
51
58
  const documentSources = Array.isArray(input.documentSource) ? input.documentSource : [input.documentSource];
52
59
 
@@ -74,7 +81,7 @@ const parseDocumentTool: Tool<typeof schema> = {
74
81
  };
75
82
  } catch (err) {
76
83
  logger.error({
77
- message: 'Failed to parse document',
84
+ message: '[minded-parse-documents] Failed to parse document',
78
85
  sessionId: state.sessionId,
79
86
  err,
80
87
  });