@minded-ai/mindedjs 3.1.16 → 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":";;;AAAA,sDAAwF;AACxF,iDAA8D;AAE9D,uDAAyD;AAMzD,4CAAyC;AACzC,8CAAqD;AAErD,sDAA0D;AAC1D,mDAAkE;AAClE,uDAAuD;AACvD,8DAA8D;AAC9D,0DAAiE;AAE1D,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAK,GAON,EAAE,EAAE;IACH,6CAA6C;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAA,+BAAmB,EACjB,oCAAkB,CAAC,cAAc,EACjC;YACE,QAAQ,EAAE,sBAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,qDAAqD;QACrD,MAAM,kBAAkB,GAAwB,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,mEAAmE;gBACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAA,gCAAgB,EAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,EAAE,KAA0C,EAAE,EAAE;YAC1E,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAO,aAAuC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjG,OAAO,QAAQ,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/E,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,cAAc,EAAE;YACzC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,MAAM,EAAE,aAAa,CAAC,KAAK;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAA,4BAAgB,EAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAA,6BAAa,EAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAErH,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3F,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAE9H,mDAAmD;QACnD,IAAI,gBAAwB,CAAC;QAC7B,IAAI,iBAAiB,EAAE,CAAC;YACtB,eAAM,CAAC,KAAK,CAAC;gBACX,OAAO,EAAE,6DAA6D;gBACtE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC1B,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAA4B,CAC7B;aACF,CAAC,CAAC;YACH,gBAAgB,GAAG,kEAAkE,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;MAUpE,gBAAgB;;UAEZ,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC;QAEpF,2GAA2G;QAC3G,MAAM,aAAa,GAAG,IAAI,wBAAa,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5E,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;YACrC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;YACvC,GAAG,kBAAkB,EAAE,gEAAgE;SACxF,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,iBAAiB,CAAC,iBAAiB,GAAG;YACpC,cAAc,EAAE;gBACd,QAAQ,EAAE,sBAAQ,CAAC,QAAQ;aACC;SAC/B,CAAC;QAEF,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,eAAe,YAAY,sBAAW,EAAE,CAAC;YAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,2EAA2E;QAC3E,IAAI,aAAkB,CAAC;QACvB,IAAI,eAAe,YAAY,sBAAW,EAAE,CAAC;YAC3C,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,WAAM,CAAC;gBACP,6CAA6C;YAC/C,CAAC;YACD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;gBAC9B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;YACvC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,IAAA,2BAAiB,EAAiC,KAAK,CAAC,OAAO,EAAE;YAC/D,IAAI,EAAE,sBAAQ,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,eAAe,EAAE,IAAI,CAAC,WAAY;YAClC,GAAG,EAAE;gBACH,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,aAAa;aACtB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AArKW,QAAA,cAAc,kBAqKzB"}
@@ -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":"AAoEA;;;;;;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
@@ -76,6 +77,13 @@ function extractNodeOutputs(state) {
76
77
  logger_1.logger.debug({ message: 'Failed to parse tool message content', toolCallId, err });
77
78
  }
78
79
  },
80
+ appTool: (item) => {
81
+ var _a;
82
+ // appTool history entries store the result directly in raw.result
83
+ if (((_a = item.raw) === null || _a === void 0 ? void 0 : _a.result) !== undefined) {
84
+ setOutput(item, item.raw.result);
85
+ }
86
+ },
79
87
  thinking: (item) => {
80
88
  var _a, _b;
81
89
  const messageId = (_a = item.messageIds) === null || _a === void 0 ? void 0 : _a[0];
@@ -98,31 +106,62 @@ function extractNodeOutputs(state) {
98
106
  return outputs;
99
107
  }
100
108
  /**
101
- * Compile a prompt parameter using EJS and tokens and return the parameter value in native format.
102
- * @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
+ *
103
127
  * @example
104
- * // Compile parameter using current state
105
- * 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)
106
130
  */
107
- function compileParameter(parameter, context = {}) {
108
- const compiledPrompt = compilePrompt(parameter, context);
131
+ function compileParameter(parameter, context = {}, inputKey, inputSchema) {
109
132
  try {
110
- 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;
111
149
  }
112
- catch (_a) {
113
- 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
114
153
  }
115
154
  }
116
155
  /**
117
156
  * Compile prompt with parameters using EJS and placeholder replacement
118
157
  */
119
- function compilePrompt(prompt, params = {}) {
158
+ function compilePrompt(prompt, context) {
120
159
  try {
121
- params = createContextData(params);
160
+ context = extendContextData(context);
122
161
  // First, render with EJS
123
- let compiledPrompt = ejs.render(prompt, params);
162
+ let compiledPrompt = ejs.render(prompt, context);
124
163
  // Then, replace placeholders in {} format
125
- compiledPrompt = replacePlaceholders(compiledPrompt, params);
164
+ compiledPrompt = replacePlaceholders(compiledPrompt, context);
126
165
  return compiledPrompt;
127
166
  }
128
167
  catch (err) {
@@ -131,57 +170,38 @@ function compilePrompt(prompt, params = {}) {
131
170
  }
132
171
  }
133
172
  /**
134
- * Create context data for prompt compilation
135
- * @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"
136
187
  */
137
- function createContextData(params = {}) {
138
- // Define system parameters
139
- params = {
140
- ...params,
188
+ function extendContextData(context = {}) {
189
+ const nodeOutputs = context.state ? extractNodeOutputs(context.state) : {};
190
+ return {
191
+ ...context,
192
+ ...nodeOutputs,
141
193
  system: { currentTime: new Date().toISOString() },
142
194
  };
143
- // Extract node outputs from state if available
144
- // This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field}
145
- // by making previous node outputs available in the params object.
146
- // Example: If ExtractUser node outputs { userName: "Bob", userAge: 35 },
147
- // the prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
148
- if (params.state) {
149
- const nodeOutputs = extractNodeOutputs(params.state);
150
- // Merge node outputs into params so they're accessible during placeholder replacement
151
- params = { ...params, ...nodeOutputs };
152
- }
153
- return params;
154
195
  }
155
196
  /**
156
- * Replace placeholders in {key} format
197
+ * Replace placeholders in {object.key} format
157
198
  * Supports both:
158
199
  * - {NodeName.field} - direct node reference
159
200
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
160
201
  */
161
- function replacePlaceholders(text, params) {
162
- return text.replace(/\{([^}]+)}/g, (match, key) => {
163
- let keys = (0, lodash_1.toPath)(key);
164
- // Handle 'tools.' prefix as an alias for node outputs
165
- // {tools.NodeName.field} -> {NodeName.field}
166
- if (keys[0] === 'tools' && keys.length >= 3) {
167
- keys = keys.slice(1); // Remove 'tools' prefix
168
- }
169
- let value = params;
170
- for (let i = 0; i < keys.length; i++) {
171
- const k = keys[i];
172
- if (value && Array.isArray(value) && k !== '' && Number.isInteger(Number(k))) {
173
- value = value[Number(k)];
174
- }
175
- else if (value && typeof value === 'object' && k in value) {
176
- value = value[k];
177
- }
178
- else {
179
- logger_1.logger.warn({
180
- message: `Placeholder {${key}} in prompt not found in params. It will remain as placeholder.`,
181
- });
182
- return match; // Return original if key not found
183
- }
184
- }
202
+ function replacePlaceholders(text, context) {
203
+ return text.replace(/\{([^}]+)}/g, (match, keyPath) => {
204
+ const value = getContextValueFromPath(keyPath, context, match);
185
205
  // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
186
206
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
187
207
  try {
@@ -194,4 +214,132 @@ function replacePlaceholders(text, params) {
194
214
  return String(value);
195
215
  });
196
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
+ }
197
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.16",
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",
@@ -76,4 +76,4 @@
76
76
  "peerDependencies": {
77
77
  "playwright": "^1.55.0"
78
78
  }
79
- }
79
+ }
@@ -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
@@ -43,6 +45,13 @@ function extractNodeOutputs(state: any): Record<string, any> {
43
45
  }
44
46
  },
45
47
 
48
+ appTool: (item: any) => {
49
+ // appTool history entries store the result directly in raw.result
50
+ if (item.raw?.result !== undefined) {
51
+ setOutput(item, item.raw.result);
52
+ }
53
+ },
54
+
46
55
  thinking: (item) => {
47
56
  const messageId = item.messageIds?.[0];
48
57
  if (!messageId) return;
@@ -66,34 +75,82 @@ function extractNodeOutputs(state: any): Record<string, any> {
66
75
  return outputs;
67
76
  }
68
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
+
69
92
  /**
70
- * Compile a prompt parameter using EJS and tokens and return the parameter value in native format.
71
- * @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
+ *
72
111
  * @example
73
- * // Compile parameter using current state
74
- * 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)
75
114
  */
76
- export function compileParameter(parameter: string, context: Record<string, any> = {}): any {
77
- const compiledPrompt = compilePrompt(parameter, context);
115
+ export function compileParameter(parameter: string, context: ContextData = {}, inputKey?: string, inputSchema?: ZodSchema): any {
78
116
  try {
79
- return JSON.parse(compiledPrompt);
80
- } catch {
81
- 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
82
139
  }
83
140
  }
84
141
 
85
142
  /**
86
143
  * Compile prompt with parameters using EJS and placeholder replacement
87
144
  */
88
- export function compilePrompt(prompt: string, params: Record<string, any> = {}): string {
145
+ export function compilePrompt(prompt: string, context: ContextData): string {
89
146
  try {
90
- params = createContextData(params);
147
+ context = extendContextData(context);
91
148
 
92
149
  // First, render with EJS
93
- let compiledPrompt = ejs.render(prompt, params);
150
+ let compiledPrompt = ejs.render(prompt, context);
94
151
 
95
152
  // Then, replace placeholders in {} format
96
- compiledPrompt = replacePlaceholders(compiledPrompt, params);
153
+ compiledPrompt = replacePlaceholders(compiledPrompt, context);
97
154
 
98
155
  return compiledPrompt;
99
156
  } catch (err) {
@@ -103,61 +160,39 @@ export function compilePrompt(prompt: string, params: Record<string, any> = {}):
103
160
  }
104
161
 
105
162
  /**
106
- * Create context data for prompt compilation
107
- * @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"
108
177
  */
109
- function createContextData(params: Record<string, any> = {}): Record<string, any> {
110
- // Define system parameters
111
- params = {
112
- ...params,
178
+ function extendContextData(context: ContextData = {}): ExtendedContextData {
179
+ const nodeOutputs = context.state ? extractNodeOutputs(context.state) : {};
180
+ return {
181
+ ...context,
182
+ ...nodeOutputs,
113
183
  system: { currentTime: new Date().toISOString() },
114
184
  };
115
-
116
- // Extract node outputs from state if available
117
- // This enables placeholder replacement like {tools.NodeName.field} or {NodeName.field}
118
- // by making previous node outputs available in the params object.
119
- // Example: If ExtractUser node outputs { userName: "Bob", userAge: 35 },
120
- // the prompt "Hello {tools.ExtractUser.userName}" becomes "Hello Bob"
121
- if (params.state) {
122
- const nodeOutputs = extractNodeOutputs(params.state);
123
- // Merge node outputs into params so they're accessible during placeholder replacement
124
- params = { ...params, ...nodeOutputs };
125
- }
126
-
127
- return params;
128
185
  }
129
186
 
130
187
  /**
131
- * Replace placeholders in {key} format
188
+ * Replace placeholders in {object.key} format
132
189
  * Supports both:
133
190
  * - {NodeName.field} - direct node reference
134
191
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
135
192
  */
136
- function replacePlaceholders(text: string, params: Record<string, any>): string {
137
- return text.replace(/\{([^}]+)}/g, (match, key) => {
138
- let keys = toPath(key);
139
-
140
- // Handle 'tools.' prefix as an alias for node outputs
141
- // {tools.NodeName.field} -> {NodeName.field}
142
- if (keys[0] === 'tools' && keys.length >= 3) {
143
- keys = keys.slice(1); // Remove 'tools' prefix
144
- }
145
-
146
- let value: any = params;
147
-
148
- for (let i = 0; i < keys.length; i++) {
149
- const k = keys[i];
150
- if (value && Array.isArray(value) && k !== '' && Number.isInteger(Number(k))) {
151
- value = value[Number(k)];
152
- } else if (value && typeof value === 'object' && k in value) {
153
- value = value[k];
154
- } else {
155
- logger.warn({
156
- message: `Placeholder {${key}} in prompt not found in params. It will remain as placeholder.`,
157
- });
158
- return match; // Return original if key not found
159
- }
160
- }
193
+ function replacePlaceholders(text: string, context: Record<string, any>): string {
194
+ return text.replace(/\{([^}]+)}/g, (match, keyPath) => {
195
+ const value = getContextValueFromPath(keyPath, context, match);
161
196
 
162
197
  // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
163
198
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
@@ -170,3 +205,139 @@ function replacePlaceholders(text: string, params: Record<string, any>): string
170
205
  return String(value);
171
206
  });
172
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
  });