@memberjunction/ai-prompts 5.37.0 → 5.39.0
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.
- package/dist/AIModelRunner.d.ts.map +1 -1
- package/dist/AIModelRunner.js +6 -0
- package/dist/AIModelRunner.js.map +1 -1
- package/dist/AIPromptRunner.d.ts +10 -0
- package/dist/AIPromptRunner.d.ts.map +1 -1
- package/dist/AIPromptRunner.js +130 -14
- package/dist/AIPromptRunner.js.map +1 -1
- package/dist/ParallelExecutionCoordinator.d.ts.map +1 -1
- package/dist/ParallelExecutionCoordinator.js +6 -0
- package/dist/ParallelExecutionCoordinator.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIModelRunner.d.ts","sourceRoot":"","sources":["../src/AIModelRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAuB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMlG;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,yBAAyB;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,QAAQ,CAAC;IACtB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,SAAS,CAAkC;IAEnD;;;;OAIG;IACH,IAAW,QAAQ,IAAI,iBAAiB,CAEvC;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAElD;IAED;;;;;;;;OAQG;IACU,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA8DpE,qBAAqB;IAyFnC,OAAO,CAAC,cAAc;YAmBR,eAAe;YAmDf,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AIModelRunner.d.ts","sourceRoot":"","sources":["../src/AIModelRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAuB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMlG;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,yBAAyB;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,QAAQ,CAAC;IACtB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,SAAS,CAAkC;IAEnD;;;;OAIG;IACH,IAAW,QAAQ,IAAI,iBAAiB,CAEvC;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAElD;IAED;;;;;;;;OAQG;IACU,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA8DpE,qBAAqB;IAyFnC,OAAO,CAAC,cAAc;YAmBR,eAAe;YAmDf,iBAAiB;YA0CjB,aAAa;IAsB3B,OAAO,CAAC,WAAW;CAWtB"}
|
package/dist/AIModelRunner.js
CHANGED
|
@@ -234,9 +234,15 @@ export class AIModelRunner {
|
|
|
234
234
|
promptRun.ExecutionTimeMS = Date.now() - startTime;
|
|
235
235
|
// Store token/cost from ModelUsage
|
|
236
236
|
if (embedResult.ModelUsage) {
|
|
237
|
+
// TokensPrompt = UNCACHED ("net-new") input; cache reads/writes tracked separately.
|
|
238
|
+
// TokensUsed = totalTokens = promptTokens + completionTokens (EXCLUDES cache), to
|
|
239
|
+
// satisfy the AIPromptRun invariant TokensUsed === TokensPrompt + TokensCompletion.
|
|
240
|
+
// (Embeddings don't cache, so cache buckets are 0 here regardless.)
|
|
237
241
|
promptRun.TokensPrompt = embedResult.ModelUsage.promptTokens ?? 0;
|
|
238
242
|
promptRun.TokensCompletion = embedResult.ModelUsage.completionTokens ?? 0;
|
|
239
243
|
promptRun.TokensUsed = embedResult.ModelUsage.totalTokens ?? 0;
|
|
244
|
+
promptRun.TokensCacheRead = embedResult.ModelUsage.cacheReadTokens ?? 0;
|
|
245
|
+
promptRun.TokensCacheWrite = embedResult.ModelUsage.cacheWriteTokens ?? 0;
|
|
240
246
|
promptRun.Cost = embedResult.ModelUsage.cost ?? 0;
|
|
241
247
|
promptRun.CostCurrency = embedResult.ModelUsage.costCurrency ?? 'USD';
|
|
242
248
|
promptRun.QueueTime = embedResult.ModelUsage.queueTime ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIModelRunner.js","sourceRoot":"","sources":["../src/AIModelRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,QAAQ,EAAgC,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAoB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AA0C9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,aAAa;IAA1B;QACY,cAAS,GAA6B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AIModelRunner.js","sourceRoot":"","sources":["../src/AIModelRunner.ts"],"names":[],"mappings":"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"}
|
package/dist/AIPromptRunner.d.ts
CHANGED
|
@@ -258,6 +258,16 @@ export declare class AIPromptRunner {
|
|
|
258
258
|
* Loads a template entity by ID
|
|
259
259
|
*/
|
|
260
260
|
private loadTemplate;
|
|
261
|
+
/**
|
|
262
|
+
* If a nunjucks render error message contains `[Line N, Column M]`,
|
|
263
|
+
* return that line of the template source (1-based) with a caret pointer
|
|
264
|
+
* for the column. Returns null when we can't parse the location, the
|
|
265
|
+
* template text is missing, or the line is out of range. Surfaces the
|
|
266
|
+
* actual offending source in child-template failure messages so the
|
|
267
|
+
* server log + prompt run + agent step record point at the exact spot
|
|
268
|
+
* instead of just "render failed".
|
|
269
|
+
*/
|
|
270
|
+
private extractTemplateSourceExcerpt;
|
|
261
271
|
/**
|
|
262
272
|
* Renders child prompt templates in a depth-first manner, composing them into a final template.
|
|
263
273
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIPromptRunner.d.ts","sourceRoot":"","sources":["../src/AIPromptRunner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AIPromptRunner.d.ts","sourceRoot":"","sources":["../src/AIPromptRunner.ts"],"names":[],"mappings":"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"}
|
package/dist/AIPromptRunner.js
CHANGED
|
@@ -542,6 +542,7 @@ export class AIPromptRunner {
|
|
|
542
542
|
if (promptRun) {
|
|
543
543
|
promptRun.CompletedAt = endTime;
|
|
544
544
|
promptRun.ExecutionTimeMS = executionTimeMS;
|
|
545
|
+
promptRun.Success = false;
|
|
545
546
|
promptRun.Result = `ERROR: ${error.message}`;
|
|
546
547
|
// Set Status and Cancelled based on error type
|
|
547
548
|
if (error.message.includes('cancelled')) {
|
|
@@ -777,6 +778,8 @@ export class AIPromptRunner {
|
|
|
777
778
|
// Calculate total tokens and costs from all parallel executions
|
|
778
779
|
let totalPromptTokens = 0;
|
|
779
780
|
let totalCompletionTokens = 0;
|
|
781
|
+
let totalCacheReadTokens = 0;
|
|
782
|
+
let totalCacheWriteTokens = 0;
|
|
780
783
|
let totalCost = 0;
|
|
781
784
|
let hasCost = false;
|
|
782
785
|
for (const result of successfulResults) {
|
|
@@ -784,6 +787,10 @@ export class AIPromptRunner {
|
|
|
784
787
|
if (usage) {
|
|
785
788
|
totalPromptTokens += usage.promptTokens || 0;
|
|
786
789
|
totalCompletionTokens += usage.completionTokens || 0;
|
|
790
|
+
// Sum cache tokens across every attempt — each was a real provider call, so the billed
|
|
791
|
+
// cache usage is the sum, not the selected result's alone (which feeds the non-rollup field).
|
|
792
|
+
totalCacheReadTokens += usage.cacheReadTokens || 0;
|
|
793
|
+
totalCacheWriteTokens += usage.cacheWriteTokens || 0;
|
|
787
794
|
if (usage.cost !== undefined) {
|
|
788
795
|
totalCost += usage.cost;
|
|
789
796
|
hasCost = true;
|
|
@@ -804,6 +811,11 @@ export class AIPromptRunner {
|
|
|
804
811
|
if (selectedResultUsage) {
|
|
805
812
|
consolidatedPromptRun.TokensPrompt = selectedResultUsage.promptTokens;
|
|
806
813
|
consolidatedPromptRun.TokensCompletion = selectedResultUsage.completionTokens;
|
|
814
|
+
// Persist the selected result's cache token counts so (a) they are recorded and (b) any
|
|
815
|
+
// downstream cost recompute (MJAIPromptRunEntityServer, when no provider cost is present)
|
|
816
|
+
// prices the full input including cached tokens rather than dropping them.
|
|
817
|
+
consolidatedPromptRun.TokensCacheRead = selectedResultUsage.cacheReadTokens ?? 0;
|
|
818
|
+
consolidatedPromptRun.TokensCacheWrite = selectedResultUsage.cacheWriteTokens ?? 0;
|
|
807
819
|
if (selectedResultUsage.cost !== undefined) {
|
|
808
820
|
consolidatedPromptRun.Cost = selectedResultUsage.cost;
|
|
809
821
|
}
|
|
@@ -832,6 +844,8 @@ export class AIPromptRunner {
|
|
|
832
844
|
consolidatedPromptRun.TokensPromptRollup = totalPromptTokens;
|
|
833
845
|
consolidatedPromptRun.TokensCompletionRollup = totalCompletionTokens;
|
|
834
846
|
consolidatedPromptRun.TokensUsedRollup = totalPromptTokens + totalCompletionTokens;
|
|
847
|
+
consolidatedPromptRun.TokensCacheReadRollup = totalCacheReadTokens;
|
|
848
|
+
consolidatedPromptRun.TokensCacheWriteRollup = totalCacheWriteTokens;
|
|
835
849
|
if (hasCost) {
|
|
836
850
|
consolidatedPromptRun.TotalCost = totalCost;
|
|
837
851
|
}
|
|
@@ -944,6 +958,34 @@ export class AIPromptRunner {
|
|
|
944
958
|
return null;
|
|
945
959
|
}
|
|
946
960
|
}
|
|
961
|
+
/**
|
|
962
|
+
* If a nunjucks render error message contains `[Line N, Column M]`,
|
|
963
|
+
* return that line of the template source (1-based) with a caret pointer
|
|
964
|
+
* for the column. Returns null when we can't parse the location, the
|
|
965
|
+
* template text is missing, or the line is out of range. Surfaces the
|
|
966
|
+
* actual offending source in child-template failure messages so the
|
|
967
|
+
* server log + prompt run + agent step record point at the exact spot
|
|
968
|
+
* instead of just "render failed".
|
|
969
|
+
*/
|
|
970
|
+
extractTemplateSourceExcerpt(templateText, nunjucksError) {
|
|
971
|
+
if (!templateText || !nunjucksError)
|
|
972
|
+
return null;
|
|
973
|
+
const match = /\[Line (\d+),\s*Column (\d+)\]/.exec(nunjucksError);
|
|
974
|
+
if (!match)
|
|
975
|
+
return null;
|
|
976
|
+
const lineNum = parseInt(match[1], 10);
|
|
977
|
+
const colNum = parseInt(match[2], 10);
|
|
978
|
+
if (!Number.isFinite(lineNum) || !Number.isFinite(colNum))
|
|
979
|
+
return null;
|
|
980
|
+
const lines = templateText.split('\n');
|
|
981
|
+
if (lineNum < 1 || lineNum > lines.length)
|
|
982
|
+
return null;
|
|
983
|
+
const line = lines[lineNum - 1];
|
|
984
|
+
// Trim very long lines to keep log noise reasonable.
|
|
985
|
+
const trimmed = line.length > 240 ? line.slice(0, 240) + '…' : line;
|
|
986
|
+
const caret = ' '.repeat(Math.max(0, colNum - 1)) + '^';
|
|
987
|
+
return `L${lineNum}:${colNum} ${trimmed}\n ${caret}`;
|
|
988
|
+
}
|
|
947
989
|
/**
|
|
948
990
|
* Renders child prompt templates in a depth-first manner, composing them into a final template.
|
|
949
991
|
*
|
|
@@ -1003,9 +1045,26 @@ export class AIPromptRunner {
|
|
|
1003
1045
|
templateData: childParam.childPrompt.templateData
|
|
1004
1046
|
});
|
|
1005
1047
|
if (!childRenderResult.Success) {
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1048
|
+
// Surface as much diagnostic detail as we have. The nunjucks
|
|
1049
|
+
// error string usually carries `[Line X, Column Y]` already;
|
|
1050
|
+
// we add the template name, content ID, and the surrounding
|
|
1051
|
+
// line of template source so the server log doubles as a
|
|
1052
|
+
// "what line in which template" pointer instead of just
|
|
1053
|
+
// "render failed".
|
|
1054
|
+
const tplContent = template.GetHighestPriorityContent();
|
|
1055
|
+
const sourceExcerpt = this.extractTemplateSourceExcerpt(tplContent?.TemplateText, childRenderResult.Message);
|
|
1056
|
+
const dataKeys = Object.keys(mergedChildData).join(', ');
|
|
1057
|
+
const detail = `child="${childPrompt.Name}" ` +
|
|
1058
|
+
`placeholder="${childParam.parentPlaceholder}" ` +
|
|
1059
|
+
`templateId=${childPrompt.TemplateID} ` +
|
|
1060
|
+
`contentId=${tplContent?.ID ?? 'n/a'} ` +
|
|
1061
|
+
`dataKeys=[${dataKeys}]` +
|
|
1062
|
+
(sourceExcerpt ? `\n near: ${sourceExcerpt}` : '');
|
|
1063
|
+
console.error(`[ChildTemplateRender] FAILED — ${childRenderResult.Message}`);
|
|
1064
|
+
console.error(`[ChildTemplateRender] Context: ${detail}`);
|
|
1065
|
+
throw new Error(`Failed to render child template for prompt "${childPrompt.Name}" ` +
|
|
1066
|
+
`(placeholder="${childParam.parentPlaceholder}"): ${childRenderResult.Message}` +
|
|
1067
|
+
(sourceExcerpt ? `\n near: ${sourceExcerpt}` : ''));
|
|
1009
1068
|
}
|
|
1010
1069
|
renderedChildTemplate = childRenderResult.Output;
|
|
1011
1070
|
}
|
|
@@ -1017,22 +1076,30 @@ export class AIPromptRunner {
|
|
|
1017
1076
|
return {
|
|
1018
1077
|
placeholder: childParam.parentPlaceholder,
|
|
1019
1078
|
renderedTemplate: renderedChildTemplate,
|
|
1020
|
-
success: true
|
|
1079
|
+
success: true,
|
|
1080
|
+
errorMessage: undefined,
|
|
1021
1081
|
};
|
|
1022
1082
|
}
|
|
1023
1083
|
catch (error) {
|
|
1024
1084
|
this.logError(error, {
|
|
1025
1085
|
category: 'ChildTemplateRendering',
|
|
1026
1086
|
metadata: {
|
|
1027
|
-
placeholder: childParam.parentPlaceholder
|
|
1087
|
+
placeholder: childParam.parentPlaceholder,
|
|
1088
|
+
childPromptName: childParam.childPrompt.prompt.Name,
|
|
1089
|
+
childPromptId: childParam.childPrompt.prompt.ID,
|
|
1028
1090
|
},
|
|
1029
1091
|
maxErrorLength: params.maxErrorLength
|
|
1030
1092
|
});
|
|
1031
|
-
// Return error result but allow other children to continue
|
|
1093
|
+
// Return error result but allow other children to continue. The
|
|
1094
|
+
// underlying error message is preserved on `errorMessage` so the
|
|
1095
|
+
// aggregator below can throw a *useful* error instead of just a
|
|
1096
|
+
// placeholder-name list.
|
|
1097
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
1032
1098
|
return {
|
|
1033
1099
|
placeholder: childParam.parentPlaceholder,
|
|
1034
|
-
renderedTemplate: `ERROR: ${
|
|
1035
|
-
success: false
|
|
1100
|
+
renderedTemplate: `ERROR: ${errMsg}`,
|
|
1101
|
+
success: false,
|
|
1102
|
+
errorMessage: errMsg,
|
|
1036
1103
|
};
|
|
1037
1104
|
}
|
|
1038
1105
|
});
|
|
@@ -1041,18 +1108,30 @@ export class AIPromptRunner {
|
|
|
1041
1108
|
// Check if any critical errors occurred
|
|
1042
1109
|
const failedChildren = childResults.filter(r => !r.success);
|
|
1043
1110
|
if (failedChildren.length > 0) {
|
|
1111
|
+
// Compose a single error message that includes the underlying
|
|
1112
|
+
// error from each failed child. Previously this threw just a list
|
|
1113
|
+
// of placeholder names ("agentSpecificPrompt") — opaque. Now the
|
|
1114
|
+
// thrown error carries the nunjucks message (with [Line X, Column Y])
|
|
1115
|
+
// and prompt names, so it propagates into `promptRun.Result` /
|
|
1116
|
+
// `promptRun.ErrorDetails` and the agent step's error surface.
|
|
1117
|
+
const childErrorDetails = failedChildren
|
|
1118
|
+
.map(fc => ` - ${fc.placeholder}: ${fc.errorMessage ?? 'unknown error'}`)
|
|
1119
|
+
.join('\n');
|
|
1044
1120
|
this.logError(`${failedChildren.length} out of ${childResults.length} child prompt templates failed to render`, {
|
|
1045
1121
|
category: 'ChildTemplateFailures',
|
|
1046
1122
|
severity: 'critical',
|
|
1047
1123
|
metadata: {
|
|
1048
1124
|
failedCount: failedChildren.length,
|
|
1049
1125
|
totalCount: childResults.length,
|
|
1050
|
-
failedPlaceholders: failedChildren.map(fc => fc.placeholder)
|
|
1126
|
+
failedPlaceholders: failedChildren.map(fc => fc.placeholder),
|
|
1127
|
+
failures: failedChildren.map(fc => ({
|
|
1128
|
+
placeholder: fc.placeholder,
|
|
1129
|
+
error: fc.errorMessage,
|
|
1130
|
+
})),
|
|
1051
1131
|
},
|
|
1052
1132
|
maxErrorLength: params.maxErrorLength
|
|
1053
1133
|
});
|
|
1054
|
-
|
|
1055
|
-
throw new Error(`Failed to render ${failedChildren.length} child prompt templates: ${failedChildren.map(fc => fc.placeholder).join(', ')}`);
|
|
1134
|
+
throw new Error(`Failed to render ${failedChildren.length} child prompt template(s):\n${childErrorDetails}`);
|
|
1056
1135
|
}
|
|
1057
1136
|
// Build rendered templates map
|
|
1058
1137
|
const renderedTemplatesMap = {};
|
|
@@ -2158,8 +2237,23 @@ export class AIPromptRunner {
|
|
|
2158
2237
|
...params.templateData // Template data has highest priority
|
|
2159
2238
|
};
|
|
2160
2239
|
//LogStatus(`🔧 Rendering template '${template.Name}' with ${Object.keys(systemPlaceholders).length} system placeholders`);
|
|
2161
|
-
// Render the template
|
|
2162
|
-
|
|
2240
|
+
// Render the template with validation **downgraded to warnings**.
|
|
2241
|
+
// The previous default (SkipValidation=false) hard-failed on any
|
|
2242
|
+
// declared-required template param that wasn't supplied — including
|
|
2243
|
+
// the surprising case where a system placeholder like `_OUTPUT_EXAMPLE`
|
|
2244
|
+
// resolves to `''` for prompts that don't define an OutputExample
|
|
2245
|
+
// (ValidateTemplateInput treats trim-empty strings as "not provided").
|
|
2246
|
+
// That made "render failure" the dominant failure mode for any prompt
|
|
2247
|
+
// that referenced a system placeholder it didn't populate, which is
|
|
2248
|
+
// an authoring trap rather than a real correctness issue.
|
|
2249
|
+
//
|
|
2250
|
+
// With SkipValidation=true + SuppressWarnings=false, missing required
|
|
2251
|
+
// params produce a server-side warning log but rendering proceeds —
|
|
2252
|
+
// nunjucks itself substitutes empty for undefined data, which is
|
|
2253
|
+
// almost always what the author meant. If real param validation is
|
|
2254
|
+
// needed (e.g., catching typos at template-author time), it should
|
|
2255
|
+
// live in the authoring tools, not in the runtime render path.
|
|
2256
|
+
return await this._templateEngine.RenderTemplate(template, templateContent, mergedData, true, false);
|
|
2163
2257
|
}
|
|
2164
2258
|
catch (error) {
|
|
2165
2259
|
this.logError(error, {
|
|
@@ -2550,6 +2644,14 @@ export class AIPromptRunner {
|
|
|
2550
2644
|
// Apply response format from prompt settings
|
|
2551
2645
|
if (prompt.ResponseFormat && prompt.ResponseFormat !== 'Any') {
|
|
2552
2646
|
chatParams.responseFormat = prompt.ResponseFormat; //as 'Any' | 'Text' | 'Markdown' | 'JSON' | 'ModelSpecific';
|
|
2647
|
+
if (prompt.ModelSpecificResponseFormat) {
|
|
2648
|
+
try {
|
|
2649
|
+
chatParams.modelSpecificResponseFormat = JSON.parse(prompt.ModelSpecificResponseFormat);
|
|
2650
|
+
}
|
|
2651
|
+
catch (e) {
|
|
2652
|
+
console.warn(`AIPromptRunner: failed to parse ModelSpecificResponseFormat on prompt ${prompt.Name}; ignoring`, e);
|
|
2653
|
+
}
|
|
2654
|
+
}
|
|
2553
2655
|
}
|
|
2554
2656
|
else {
|
|
2555
2657
|
// if chatParams.responseFormat is not set or set to Any, stay silent on response format
|
|
@@ -3816,7 +3918,11 @@ export class AIPromptRunner {
|
|
|
3816
3918
|
promptRun.Result = resultToSave;
|
|
3817
3919
|
// Extract token usage and cost - use cumulative if retries occurred
|
|
3818
3920
|
if (cumulativeTokens && validationAttempts && validationAttempts.length > 1) {
|
|
3819
|
-
// Multiple attempts occurred, use cumulative totals
|
|
3921
|
+
// Multiple attempts occurred, use cumulative totals. cumulativeTokens.promptTokens is the
|
|
3922
|
+
// UNCACHED ("net-new") input summed across attempts; cache reads/writes are NOT summed (the
|
|
3923
|
+
// re-sent prefix would over-count) and are persisted from the final model result below.
|
|
3924
|
+
// TokensUsed must equal TokensPrompt + TokensCompletion (AIPromptRun invariant), so it does
|
|
3925
|
+
// NOT include the cache buckets — those live in TokensCacheRead/TokensCacheWrite.
|
|
3820
3926
|
promptRun.TokensPrompt = cumulativeTokens.promptTokens;
|
|
3821
3927
|
promptRun.TokensCompletion = cumulativeTokens.completionTokens;
|
|
3822
3928
|
promptRun.TokensUsed = cumulativeTokens.promptTokens + cumulativeTokens.completionTokens;
|
|
@@ -3849,6 +3955,14 @@ export class AIPromptRunner {
|
|
|
3849
3955
|
promptRun.CompletionTime = modelResult.data.usage.completionTime;
|
|
3850
3956
|
}
|
|
3851
3957
|
}
|
|
3958
|
+
// Provider prompt-cache token counts (informational; no cost is derived here). Taken from the
|
|
3959
|
+
// final model result in both the single-attempt and retry paths — cache reads are best
|
|
3960
|
+
// represented by the final call rather than summed across retries (which would over-count the
|
|
3961
|
+
// re-sent prefix). 0 means "no cache activity reported", consistent with ModelUsage defaults.
|
|
3962
|
+
if (modelResult.data?.usage) {
|
|
3963
|
+
promptRun.TokensCacheRead = modelResult.data.usage.cacheReadTokens ?? 0;
|
|
3964
|
+
promptRun.TokensCacheWrite = modelResult.data.usage.cacheWriteTokens ?? 0;
|
|
3965
|
+
}
|
|
3852
3966
|
// Save model-specific response details if available
|
|
3853
3967
|
if (modelResult.modelSpecificResponseDetails) {
|
|
3854
3968
|
promptRun.ModelSpecificResponseDetails = JSON.stringify(modelResult.modelSpecificResponseDetails);
|
|
@@ -3947,6 +4061,8 @@ export class AIPromptRunner {
|
|
|
3947
4061
|
promptRun.TokensPromptRollup = promptRun.TokensPrompt;
|
|
3948
4062
|
promptRun.TokensCompletionRollup = promptRun.TokensCompletion;
|
|
3949
4063
|
promptRun.TokensUsedRollup = promptRun.TokensUsed;
|
|
4064
|
+
promptRun.TokensCacheReadRollup = promptRun.TokensCacheRead;
|
|
4065
|
+
promptRun.TokensCacheWriteRollup = promptRun.TokensCacheWrite;
|
|
3950
4066
|
if (promptRun.Cost !== undefined) {
|
|
3951
4067
|
promptRun.TotalCost = promptRun.Cost;
|
|
3952
4068
|
}
|