@principal-ai/principal-view-core 0.24.42 → 0.24.43

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":"template-parser.d.ts","sourceRoot":"","sources":["../../src/workflow/template-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,EAAE,CAAC;AAqB7G;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;aACG,QAAQ,EAAE,eAAe,EAAE;gBAA3B,QAAQ,EAAE,eAAe,EAAE;IAEvD;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAoND;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,CAkB7G"}
1
+ {"version":3,"file":"template-parser.d.ts","sourceRoot":"","sources":["../../src/workflow/template-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,EAAE,CAAC;AAqB7G;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;aACG,QAAQ,EAAE,eAAe,EAAE;gBAA3B,QAAQ,EAAE,eAAe,EAAE;IAEvD;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AA0ND;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,CAkB7G"}
@@ -165,7 +165,10 @@ function buildSegments(template, rendered, context) {
165
165
  }
166
166
  /**
167
167
  * Build segments when all variables are resolved
168
- * This uses template analysis to identify variable positions
168
+ *
169
+ * Strategy: Process template sequentially, tracking positions in both
170
+ * template and rendered strings. The text before each variable is the same
171
+ * in both (it's literal text), so we can use it to stay synchronized.
169
172
  */
170
173
  function buildSegmentsWithResolvedVariables(template, rendered, context, variables) {
171
174
  const segments = [];
@@ -188,14 +191,15 @@ function buildSegmentsWithResolvedVariables(template, rendered, context, variabl
188
191
  if (isHelper) {
189
192
  continue; // Skip helpers for now
190
193
  }
191
- // Add text before this variable
194
+ // The text before this variable in the template
192
195
  const textBefore = template.substring(templateIndex, match.index);
193
- if (textBefore && renderedIndex < rendered.length) {
194
- const textLength = textBefore.length;
195
- segments.push({ type: 'text', value: rendered.substring(renderedIndex, renderedIndex + textLength) });
196
- renderedIndex += textLength;
196
+ // This same text should appear in the rendered output at renderedIndex
197
+ // (literal text doesn't change during template rendering)
198
+ if (textBefore) {
199
+ segments.push({ type: 'text', value: textBefore });
200
+ renderedIndex += textBefore.length;
197
201
  }
198
- // Resolve the variable
202
+ // Resolve the variable to get its rendered value
199
203
  const [value, resolved] = resolveVariable(varName, context);
200
204
  if (resolved && value !== undefined) {
201
205
  const valueStr = String(value);
@@ -220,9 +224,10 @@ function buildSegmentsWithResolvedVariables(template, rendered, context, variabl
220
224
  }
221
225
  templateIndex = match.index + match[0].length;
222
226
  }
223
- // Add remaining text
224
- if (renderedIndex < rendered.length) {
225
- segments.push({ type: 'text', value: rendered.substring(renderedIndex) });
227
+ // Add remaining text after the last variable
228
+ const remainingTemplate = template.substring(templateIndex);
229
+ if (remainingTemplate) {
230
+ segments.push({ type: 'text', value: remainingTemplate });
226
231
  }
227
232
  return segments;
228
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-parser.js","sourceRoot":"","sources":["../../src/workflow/template-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-parser.js","sourceRoot":"","sources":["../../src/workflow/template-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/principal-view-core",
3
- "version": "0.24.42",
3
+ "version": "0.24.43",
4
4
  "description": "Core logic and types for graph-based principal view framework",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -204,7 +204,10 @@ function buildSegments(
204
204
 
205
205
  /**
206
206
  * Build segments when all variables are resolved
207
- * This uses template analysis to identify variable positions
207
+ *
208
+ * Strategy: Process template sequentially, tracking positions in both
209
+ * template and rendered strings. The text before each variable is the same
210
+ * in both (it's literal text), so we can use it to stay synchronized.
208
211
  */
209
212
  function buildSegmentsWithResolvedVariables(
210
213
  template: string,
@@ -239,15 +242,17 @@ function buildSegmentsWithResolvedVariables(
239
242
  continue; // Skip helpers for now
240
243
  }
241
244
 
242
- // Add text before this variable
245
+ // The text before this variable in the template
243
246
  const textBefore = template.substring(templateIndex, match.index);
244
- if (textBefore && renderedIndex < rendered.length) {
245
- const textLength = textBefore.length;
246
- segments.push({ type: 'text', value: rendered.substring(renderedIndex, renderedIndex + textLength) });
247
- renderedIndex += textLength;
247
+
248
+ // This same text should appear in the rendered output at renderedIndex
249
+ // (literal text doesn't change during template rendering)
250
+ if (textBefore) {
251
+ segments.push({ type: 'text', value: textBefore });
252
+ renderedIndex += textBefore.length;
248
253
  }
249
254
 
250
- // Resolve the variable
255
+ // Resolve the variable to get its rendered value
251
256
  const [value, resolved] = resolveVariable(varName, context as TemplateContext);
252
257
 
253
258
  if (resolved && value !== undefined) {
@@ -274,9 +279,10 @@ function buildSegmentsWithResolvedVariables(
274
279
  templateIndex = match.index! + match[0].length;
275
280
  }
276
281
 
277
- // Add remaining text
278
- if (renderedIndex < rendered.length) {
279
- segments.push({ type: 'text', value: rendered.substring(renderedIndex) });
282
+ // Add remaining text after the last variable
283
+ const remainingTemplate = template.substring(templateIndex);
284
+ if (remainingTemplate) {
285
+ segments.push({ type: 'text', value: remainingTemplate });
280
286
  }
281
287
 
282
288
  return segments;