@minded-ai/mindedjs 3.1.43-beta.2 → 3.1.43-beta.3

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.
@@ -39,12 +39,8 @@ export type ExtendedContextData = ContextData & {
39
39
  */
40
40
  export declare function compileParameter(parameter: string, context?: ContextData, inputKey?: string, inputSchema?: ZodSchema): any;
41
41
  /**
42
- * Recursively compile a value that may contain strings with chip patterns / placeholders.
43
- *
44
- * This is important for tool parameters that are configured as nested JSON objects, e.g.:
45
- * { "filter": { "property": "Name", "title": { "contains": "{state.memory.company}" } } }
46
- *
47
- * We compile any string leaves using compileParameter(), preserving non-string values.
42
+ * Recursively compile placeholders inside nested objects/arrays.
43
+ * Top-level strings get full schema-based coercion; nested string leaves are compiled without schema coercion.
48
44
  */
49
45
  export declare function compileValueDeep(value: unknown, context?: ContextData, inputKey?: string, inputSchema?: ZodSchema): any;
50
46
  /**
@@ -1 +1 @@
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;AAuFjD,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;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,GAAG,CAmC3H;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAe1E"}
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;AA8FjD,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,CAO9H;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,GAAG,CAK3H;AAyBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAW1E"}
@@ -41,6 +41,12 @@ const lodash_1 = require("lodash");
41
41
  const zod_1 = require("zod");
42
42
  const logger_1 = require("../utils/logger");
43
43
  const Flows_types_1 = require("../types/Flows.types");
44
+ // Matches dotted path identifiers — allows letters, digits, `_`, `$`, `.`, `[`, `]`, spaces, and hyphens
45
+ // (spaces/hyphens support node display names like "Greeting Prompt" and trigger keys like "some-key").
46
+ // Implicitly rejects JSON braces (which contain `"` and `:`) since those chars are not in the set.
47
+ const PLACEHOLDER_PATH_CHARS = String.raw `[A-Za-z0-9_.$\[\] -]`;
48
+ const PLACEHOLDER_REGEX = new RegExp(String.raw `\{\s*([A-Za-z_$]${PLACEHOLDER_PATH_CHARS}*)\s*\}`, 'g');
49
+ const SINGLE_PLACEHOLDER_REGEX = new RegExp(String.raw `^\{\s*([A-Za-z_$]${PLACEHOLDER_PATH_CHARS}*)\s*\}$`);
44
50
  /**
45
51
  * Extract node outputs from state.history and state.messages
46
52
  * Returns a map of nodeId/nodeDisplayName -> output object
@@ -142,64 +148,47 @@ function extractNodeOutputs(state) {
142
148
  */
143
149
  function compileParameter(parameter, context = {}, inputKey, inputSchema) {
144
150
  try {
145
- context = extendContextData(context);
146
- // First, render with EJS
147
- let compiledParameter = ejs.render(parameter, context).trim();
148
- // Then, replace placeholders in {} format
149
- // 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
150
- // Otherwise, compile it into a string.
151
- const keyPathMatch = compiledParameter.match(/^\{([^}]+)}$/);
152
- if (keyPathMatch) {
153
- const keyPath = keyPathMatch[1];
154
- compiledParameter = getContextValueFromPath(keyPath, context, compiledParameter);
155
- }
156
- else {
157
- compiledParameter = replacePlaceholders(compiledParameter, context);
158
- }
159
- compiledParameter = coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
160
- return compiledParameter;
151
+ return compileParameterWithContext(parameter, extendContextData(context), inputKey, inputSchema);
161
152
  }
162
153
  catch (err) {
163
154
  logger_1.logger.error({ message: 'Error compiling parameter', err, parameter });
164
- return parameter; // Return uncompiled if there's an error
155
+ return parameter;
165
156
  }
166
157
  }
167
158
  /**
168
- * Recursively compile a value that may contain strings with chip patterns / placeholders.
169
- *
170
- * This is important for tool parameters that are configured as nested JSON objects, e.g.:
171
- * { "filter": { "property": "Name", "title": { "contains": "{state.memory.company}" } } }
172
- *
173
- * We compile any string leaves using compileParameter(), preserving non-string values.
159
+ * Recursively compile placeholders inside nested objects/arrays.
160
+ * Top-level strings get full schema-based coercion; nested string leaves are compiled without schema coercion.
174
161
  */
175
162
  function compileValueDeep(value, context = {}, inputKey, inputSchema) {
176
- const seen = new WeakMap();
177
- const walk = (v, keyForSchema) => {
178
- if (typeof v === 'string') {
179
- return compileParameter(v, context, keyForSchema, inputSchema);
180
- }
181
- if (v === null || v === undefined) {
182
- return v;
183
- }
184
- if (Array.isArray(v)) {
185
- return v.map((item) => walk(item));
186
- }
187
- if (typeof v === 'object') {
188
- const obj = v;
189
- if (seen.has(obj)) {
190
- // Avoid infinite recursion on cyclic structures; parameters should be JSON-like.
191
- return seen.get(obj);
192
- }
193
- const out = {};
194
- seen.set(obj, out);
195
- for (const [k, child] of Object.entries(obj)) {
196
- out[k] = walk(child);
197
- }
198
- return out;
199
- }
200
- return v;
201
- };
202
- return walk(value, inputKey);
163
+ if (typeof value === 'string')
164
+ return compileParameter(value, context, inputKey, inputSchema);
165
+ if (!value || typeof value !== 'object')
166
+ return value;
167
+ const extCtx = extendContextData(context);
168
+ return compileValueDeepInternal(value, extCtx);
169
+ }
170
+ function compileValueDeepInternal(value, context) {
171
+ if (typeof value === 'string')
172
+ return compileParameterWithContext(value, context);
173
+ if (!value || typeof value !== 'object')
174
+ return value;
175
+ if (Array.isArray(value))
176
+ return value.map((v) => compileValueDeepInternal(v, context));
177
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, compileValueDeepInternal(v, context)]));
178
+ }
179
+ /** Shared implementation — expects already-extended context. */
180
+ function compileParameterWithContext(parameter, context, inputKey, inputSchema) {
181
+ let compiledParameter = ejs.render(parameter, context).trim();
182
+ // Single placeholder return native value; otherwise replace all placeholders as strings.
183
+ // Regex matches path identifiers (allows spaces/hyphens for node display names), rejects JSON braces.
184
+ const keyPathMatch = compiledParameter.match(SINGLE_PLACEHOLDER_REGEX);
185
+ if (keyPathMatch) {
186
+ compiledParameter = getContextValueFromPath(keyPathMatch[1].trim(), context, compiledParameter);
187
+ }
188
+ else {
189
+ compiledParameter = replacePlaceholders(compiledParameter, context);
190
+ }
191
+ return coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
203
192
  }
204
193
  /**
205
194
  * Compile prompt with parameters using EJS and placeholder replacement
@@ -207,9 +196,7 @@ function compileValueDeep(value, context = {}, inputKey, inputSchema) {
207
196
  function compilePrompt(prompt, context) {
208
197
  try {
209
198
  context = extendContextData(context);
210
- // First, render with EJS
211
199
  let compiledPrompt = ejs.render(prompt, context);
212
- // Then, replace placeholders in {} format
213
200
  compiledPrompt = replacePlaceholders(compiledPrompt, context);
214
201
  return compiledPrompt;
215
202
  }
@@ -261,13 +248,9 @@ function extendContextData(context = {}) {
261
248
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
262
249
  */
263
250
  function replacePlaceholders(text, context) {
264
- // Only treat `{...}` as a placeholder when it looks like a path expression.
265
- // This avoids accidentally matching JSON object braces when users pass JSON as a string,
266
- // e.g. `{"title":{"contains":"{trigger.test123}"}}`.
267
- return text.replace(/\{\s*([A-Za-z0-9_$][^}]*)\s*\}/g, (match, keyPathRaw) => {
251
+ return text.replace(PLACEHOLDER_REGEX, (match, keyPathRaw) => {
268
252
  const keyPath = String(keyPathRaw).trim();
269
253
  const value = getContextValueFromPath(keyPath, context, match);
270
- // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
271
254
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
272
255
  try {
273
256
  return JSON.stringify(value);
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "3.1.43-beta.2",
3
+ "version": "3.1.43-beta.3",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -6,6 +6,13 @@ import { HistoryStep, TriggerHistoryStep } from '../types/Agent.types';
6
6
  import { State } from '../types/LangGraph.types';
7
7
  import { NodeType } from '../types/Flows.types';
8
8
 
9
+ // Matches dotted path identifiers — allows letters, digits, `_`, `$`, `.`, `[`, `]`, spaces, and hyphens
10
+ // (spaces/hyphens support node display names like "Greeting Prompt" and trigger keys like "some-key").
11
+ // Implicitly rejects JSON braces (which contain `"` and `:`) since those chars are not in the set.
12
+ const PLACEHOLDER_PATH_CHARS = String.raw`[A-Za-z0-9_.$\[\] -]`;
13
+ const PLACEHOLDER_REGEX = new RegExp(String.raw`\{\s*([A-Za-z_$]${PLACEHOLDER_PATH_CHARS}*)\s*\}`, 'g');
14
+ const SINGLE_PLACEHOLDER_REGEX = new RegExp(String.raw`^\{\s*([A-Za-z_$]${PLACEHOLDER_PATH_CHARS}*)\s*\}$`);
15
+
9
16
  /**
10
17
  * Extract node outputs from state.history and state.messages
11
18
  * Returns a map of nodeId/nodeDisplayName -> output object
@@ -129,74 +136,45 @@ export type ExtendedContextData = ContextData & {
129
136
  */
130
137
  export function compileParameter(parameter: string, context: ContextData = {}, inputKey?: string, inputSchema?: ZodSchema): any {
131
138
  try {
132
- context = extendContextData(context);
133
-
134
- // First, render with EJS
135
- let compiledParameter = ejs.render(parameter, context).trim();
136
-
137
- // Then, replace placeholders in {} format
138
- // 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
139
- // Otherwise, compile it into a string.
140
- const keyPathMatch = compiledParameter.match(/^\{([^}]+)}$/);
141
- if (keyPathMatch) {
142
- const keyPath = keyPathMatch[1];
143
- compiledParameter = getContextValueFromPath(keyPath, context, compiledParameter);
144
- } else {
145
- compiledParameter = replacePlaceholders(compiledParameter, context);
146
- }
147
-
148
- compiledParameter = coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
149
-
150
- return compiledParameter;
139
+ return compileParameterWithContext(parameter, extendContextData(context), inputKey, inputSchema);
151
140
  } catch (err) {
152
141
  logger.error({ message: 'Error compiling parameter', err, parameter });
153
- return parameter; // Return uncompiled if there's an error
142
+ return parameter;
154
143
  }
155
144
  }
156
145
 
157
146
  /**
158
- * Recursively compile a value that may contain strings with chip patterns / placeholders.
159
- *
160
- * This is important for tool parameters that are configured as nested JSON objects, e.g.:
161
- * { "filter": { "property": "Name", "title": { "contains": "{state.memory.company}" } } }
162
- *
163
- * We compile any string leaves using compileParameter(), preserving non-string values.
147
+ * Recursively compile placeholders inside nested objects/arrays.
148
+ * Top-level strings get full schema-based coercion; nested string leaves are compiled without schema coercion.
164
149
  */
165
150
  export function compileValueDeep(value: unknown, context: ContextData = {}, inputKey?: string, inputSchema?: ZodSchema): any {
166
- const seen = new WeakMap<object, any>();
167
-
168
- const walk = (v: unknown, keyForSchema?: string): any => {
169
- if (typeof v === 'string') {
170
- return compileParameter(v, context, keyForSchema, inputSchema);
171
- }
172
-
173
- if (v === null || v === undefined) {
174
- return v;
175
- }
151
+ if (typeof value === 'string') return compileParameter(value, context, inputKey, inputSchema);
152
+ if (!value || typeof value !== 'object') return value;
153
+ const extCtx = extendContextData(context);
154
+ return compileValueDeepInternal(value, extCtx);
155
+ }
176
156
 
177
- if (Array.isArray(v)) {
178
- return v.map((item) => walk(item));
179
- }
157
+ function compileValueDeepInternal(value: unknown, context: ExtendedContextData): any {
158
+ if (typeof value === 'string') return compileParameterWithContext(value, context);
159
+ if (!value || typeof value !== 'object') return value;
160
+ if (Array.isArray(value)) return value.map((v) => compileValueDeepInternal(v, context));
161
+ return Object.fromEntries(Object.entries(value as Record<string, unknown>).map(([k, v]) => [k, compileValueDeepInternal(v, context)]));
162
+ }
180
163
 
181
- if (typeof v === 'object') {
182
- const obj = v as Record<string, unknown>;
183
- if (seen.has(obj)) {
184
- // Avoid infinite recursion on cyclic structures; parameters should be JSON-like.
185
- return seen.get(obj);
186
- }
164
+ /** Shared implementation expects already-extended context. */
165
+ function compileParameterWithContext(parameter: string, context: ExtendedContextData, inputKey?: string, inputSchema?: ZodSchema): any {
166
+ let compiledParameter = ejs.render(parameter, context).trim();
187
167
 
188
- const out: Record<string, any> = {};
189
- seen.set(obj, out);
190
- for (const [k, child] of Object.entries(obj)) {
191
- out[k] = walk(child);
192
- }
193
- return out;
194
- }
195
-
196
- return v;
197
- };
168
+ // Single placeholder return native value; otherwise replace all placeholders as strings.
169
+ // Regex matches path identifiers (allows spaces/hyphens for node display names), rejects JSON braces.
170
+ const keyPathMatch = compiledParameter.match(SINGLE_PLACEHOLDER_REGEX);
171
+ if (keyPathMatch) {
172
+ compiledParameter = getContextValueFromPath(keyPathMatch[1].trim(), context, compiledParameter);
173
+ } else {
174
+ compiledParameter = replacePlaceholders(compiledParameter, context);
175
+ }
198
176
 
199
- return walk(value, inputKey);
177
+ return coerceValueWithZodType(compiledParameter, inputKey, inputSchema);
200
178
  }
201
179
 
202
180
  /**
@@ -206,12 +184,8 @@ export function compilePrompt(prompt: string, context: ContextData): string {
206
184
  try {
207
185
  context = extendContextData(context);
208
186
 
209
- // First, render with EJS
210
187
  let compiledPrompt = ejs.render(prompt, context);
211
-
212
- // Then, replace placeholders in {} format
213
188
  compiledPrompt = replacePlaceholders(compiledPrompt, context);
214
-
215
189
  return compiledPrompt;
216
190
  } catch (err) {
217
191
  logger.error({ message: 'Error compiling prompt', err, prompt });
@@ -260,14 +234,10 @@ function extendContextData(context: ContextData = {}): ExtendedContextData {
260
234
  * - {tools.NodeName.field} - node reference with 'tools' prefix (alias)
261
235
  */
262
236
  function replacePlaceholders(text: string, context: Record<string, any>): string {
263
- // Only treat `{...}` as a placeholder when it looks like a path expression.
264
- // This avoids accidentally matching JSON object braces when users pass JSON as a string,
265
- // e.g. `{"title":{"contains":"{trigger.test123}"}}`.
266
- return text.replace(/\{\s*([A-Za-z0-9_$][^}]*)\s*\}/g, (match, keyPathRaw) => {
237
+ return text.replace(PLACEHOLDER_REGEX, (match, keyPathRaw) => {
267
238
  const keyPath = String(keyPathRaw).trim();
268
239
  const value = getContextValueFromPath(keyPath, context, match);
269
240
 
270
- // In the case of complex values (e.g., arrays or objects), JSON stringify them to ensure all data is preserved.
271
241
  if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
272
242
  try {
273
243
  return JSON.stringify(value);