@arizeai/phoenix-evals 0.4.0 → 0.5.1

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.
Files changed (47) hide show
  1. package/dist/esm/llm/ClassificationEvaluator.d.ts +3 -3
  2. package/dist/esm/llm/ClassificationEvaluator.d.ts.map +1 -1
  3. package/dist/esm/llm/ClassificationEvaluator.js.map +1 -1
  4. package/dist/esm/template/applyTemplate.d.ts +3 -3
  5. package/dist/esm/template/applyTemplate.d.ts.map +1 -1
  6. package/dist/esm/template/applyTemplate.js +16 -0
  7. package/dist/esm/template/applyTemplate.js.map +1 -1
  8. package/dist/esm/template/createTemplateVariablesProxy.d.ts +7 -0
  9. package/dist/esm/template/createTemplateVariablesProxy.d.ts.map +1 -0
  10. package/dist/esm/template/createTemplateVariablesProxy.js +61 -0
  11. package/dist/esm/template/createTemplateVariablesProxy.js.map +1 -0
  12. package/dist/esm/template/getTemplateVariables.d.ts +2 -2
  13. package/dist/esm/template/getTemplateVariables.d.ts.map +1 -1
  14. package/dist/esm/template/getTemplateVariables.js +16 -0
  15. package/dist/esm/template/getTemplateVariables.js.map +1 -1
  16. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  17. package/dist/esm/types/evals.d.ts +2 -1
  18. package/dist/esm/types/evals.d.ts.map +1 -1
  19. package/dist/esm/types/templating.d.ts +10 -1
  20. package/dist/esm/types/templating.d.ts.map +1 -1
  21. package/dist/src/llm/ClassificationEvaluator.d.ts +3 -3
  22. package/dist/src/llm/ClassificationEvaluator.d.ts.map +1 -1
  23. package/dist/src/llm/ClassificationEvaluator.js.map +1 -1
  24. package/dist/src/template/applyTemplate.d.ts +3 -3
  25. package/dist/src/template/applyTemplate.d.ts.map +1 -1
  26. package/dist/src/template/applyTemplate.js +13 -0
  27. package/dist/src/template/applyTemplate.js.map +1 -1
  28. package/dist/src/template/createTemplateVariablesProxy.d.ts +7 -0
  29. package/dist/src/template/createTemplateVariablesProxy.d.ts.map +1 -0
  30. package/dist/src/template/createTemplateVariablesProxy.js +64 -0
  31. package/dist/src/template/createTemplateVariablesProxy.js.map +1 -0
  32. package/dist/src/template/getTemplateVariables.d.ts +2 -2
  33. package/dist/src/template/getTemplateVariables.d.ts.map +1 -1
  34. package/dist/src/template/getTemplateVariables.js +16 -0
  35. package/dist/src/template/getTemplateVariables.js.map +1 -1
  36. package/dist/src/types/evals.d.ts +2 -1
  37. package/dist/src/types/evals.d.ts.map +1 -1
  38. package/dist/src/types/templating.d.ts +10 -1
  39. package/dist/src/types/templating.d.ts.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +2 -1
  42. package/src/llm/ClassificationEvaluator.ts +7 -5
  43. package/src/template/applyTemplate.ts +24 -3
  44. package/src/template/createTemplateVariablesProxy.ts +69 -0
  45. package/src/template/getTemplateVariables.ts +18 -2
  46. package/src/types/evals.ts +2 -1
  47. package/src/types/templating.ts +12 -1
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.formatTemplate = formatTemplate;
7
+ const createTemplateVariablesProxy_1 = require("./createTemplateVariablesProxy");
7
8
  const mustache_1 = __importDefault(require("mustache"));
8
9
  /**
9
10
  * A function that applies a set of variables to a template (e.g. a prompt)
@@ -11,6 +12,18 @@ const mustache_1 = __importDefault(require("mustache"));
11
12
  */
12
13
  function formatTemplate(args) {
13
14
  const { template, variables } = args;
15
+ const variablesProxy = (0, createTemplateVariablesProxy_1.createTemplateVariablesProxy)(variables);
16
+ if (typeof template === "string") {
17
+ return renderTemplateString(template, variablesProxy);
18
+ }
19
+ return template.map((message) => {
20
+ if (message.content !== undefined && typeof message.content === "string") {
21
+ return Object.assign(Object.assign({}, message), { content: renderTemplateString(message.content, variablesProxy) });
22
+ }
23
+ return message;
24
+ });
25
+ }
26
+ function renderTemplateString(template, variables) {
14
27
  // Disable HTML escaping by providing a custom escape function that returns text as-is
15
28
  return mustache_1.default.render(template, variables, {}, { escape: (text) => text });
16
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applyTemplate.js","sourceRoot":"","sources":["../../../src/template/applyTemplate.ts"],"names":[],"mappings":";;;;;AAQA,wCAOC;AAbD,wDAAgC;AAEhC;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAG9B;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACrC,sFAAsF;IACtF,OAAO,kBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"applyTemplate.js","sourceRoot":"","sources":["../../../src/template/applyTemplate.ts"],"names":[],"mappings":";;;;;AAUA,wCAkBC;AA1BD,iFAA8E;AAE9E,wDAAgC;AAEhC;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAG9B;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACrC,MAAM,cAAc,GAAG,IAAA,2DAA4B,EAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzE,uCACK,OAAO,KACV,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAC9D;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAmB,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,SAAkC;IAElC,sFAAsF;IACtF,OAAO,kBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates a Proxy that wraps an object to stringify nested object values when accessed directly.
3
+ * This allows Mustache to access properties of objects (e.g., {{user.name}}) while
4
+ * stringifying objects that are accessed as leaf values (e.g., {{user.profile}}).
5
+ */
6
+ export declare function createTemplateVariablesProxy<T>(obj: T): T;
7
+ //# sourceMappingURL=createTemplateVariablesProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTemplateVariablesProxy.d.ts","sourceRoot":"","sources":["../../../src/template/createTemplateVariablesProxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CA+DzD"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTemplateVariablesProxy = createTemplateVariablesProxy;
4
+ /**
5
+ * Creates a Proxy that wraps an object to stringify nested object values when accessed directly.
6
+ * This allows Mustache to access properties of objects (e.g., {{user.name}}) while
7
+ * stringifying objects that are accessed as leaf values (e.g., {{user.profile}}).
8
+ */
9
+ function createTemplateVariablesProxy(obj) {
10
+ if (obj === null || obj === undefined) {
11
+ return obj;
12
+ }
13
+ if (Array.isArray(obj)) {
14
+ return obj.map(createTemplateVariablesProxy);
15
+ }
16
+ if (typeof obj === "object") {
17
+ return new Proxy(obj, {
18
+ get(target, prop) {
19
+ // Handle toString and valueOf to stringify the object when accessed directly
20
+ if (prop === "toString") {
21
+ return () => JSON.stringify(target);
22
+ }
23
+ if (prop === "valueOf") {
24
+ return () => JSON.stringify(target);
25
+ }
26
+ if (typeof prop !== "string") {
27
+ return Reflect.get(target, prop);
28
+ }
29
+ const value = Reflect.get(target, prop);
30
+ // If the value is an object (not array, not null), wrap it in a proxy
31
+ // so it can be stringified if accessed directly, or have its properties accessed
32
+ if (value !== null &&
33
+ typeof value === "object" &&
34
+ !Array.isArray(value)) {
35
+ return createTemplateVariablesProxy(value);
36
+ }
37
+ return value;
38
+ },
39
+ // Override valueOf and toString to stringify the object when Mustache tries to render it directly
40
+ // Mustache will call toString() when it needs to render an object as a string
41
+ has(target, prop) {
42
+ if (prop === "toString" || prop === "valueOf") {
43
+ return true;
44
+ }
45
+ return Reflect.has(target, prop);
46
+ },
47
+ ownKeys(target) {
48
+ return Reflect.ownKeys(target);
49
+ },
50
+ getOwnPropertyDescriptor(target, prop) {
51
+ if (prop === "toString") {
52
+ return {
53
+ enumerable: false,
54
+ configurable: true,
55
+ value: () => JSON.stringify(target),
56
+ };
57
+ }
58
+ return Reflect.getOwnPropertyDescriptor(target, prop);
59
+ },
60
+ });
61
+ }
62
+ return obj;
63
+ }
64
+ //# sourceMappingURL=createTemplateVariablesProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTemplateVariablesProxy.js","sourceRoot":"","sources":["../../../src/template/createTemplateVariablesProxy.ts"],"names":[],"mappings":";;AAKA,oEA+DC;AApED;;;;GAIG;AACH,SAAgB,4BAA4B,CAAI,GAAM;IACpD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAM,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;YACpB,GAAG,CAAC,MAAM,EAAE,IAAqB;gBAC/B,6EAA6E;gBAC7E,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACnC,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAExC,sEAAsE;gBACtE,iFAAiF;gBACjF,IACE,KAAK,KAAK,IAAI;oBACd,OAAO,KAAK,KAAK,QAAQ;oBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,CAAC;oBACD,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YACD,kGAAkG;YAClG,8EAA8E;YAC9E,GAAG,CAAC,MAAM,EAAE,IAAI;gBACd,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9C,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,MAAM;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,IAAI;gBACnC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,YAAY,EAAE,IAAI;wBAClB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;qBACpC,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Template } from "../types/templating";
1
+ import { PromptTemplate } from "../types/templating";
2
2
  type GetTemplateVariableArgs = {
3
- template: Template;
3
+ template: PromptTemplate;
4
4
  };
5
5
  /**
6
6
  * Parse out the template variables of a prompt
@@ -1 +1 @@
1
- {"version":3,"file":"getTemplateVariables.d.ts","sourceRoot":"","sources":["../../../src/template/getTemplateVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AACF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAU5E"}
1
+ {"version":3,"file":"getTemplateVariables.d.ts","sourceRoot":"","sources":["../../../src/template/getTemplateVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AACF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAW5E"}
@@ -12,6 +12,22 @@ const mustache_1 = __importDefault(require("mustache"));
12
12
  */
13
13
  function getTemplateVariables(args) {
14
14
  const { template } = args;
15
+ if (typeof template === "string") {
16
+ return getTemplateVariablesFromString(template);
17
+ }
18
+ return template.reduce((acc, message) => {
19
+ if (message.content !== undefined && typeof message.content === "string") {
20
+ return [...acc, ...getTemplateVariablesFromString(message.content)];
21
+ }
22
+ return acc;
23
+ }, []);
24
+ }
25
+ /**
26
+ * Parse out the template variables of a string template
27
+ * @param template - The template to get the variables from
28
+ * @returns {string[]} a list of prompt template variables
29
+ */
30
+ function getTemplateVariablesFromString(template) {
15
31
  const templateSpans = mustache_1.default.parse(template);
16
32
  return templateSpans.reduce((acc, templateSpan) => {
17
33
  const [spanType, value] = templateSpan;
@@ -1 +1 @@
1
- {"version":3,"file":"getTemplateVariables.js","sourceRoot":"","sources":["../../../src/template/getTemplateVariables.ts"],"names":[],"mappings":";;;;;AAYA,oDAUC;AApBD,wDAAgC;AAKhC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,IAA6B;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,kBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;QAChD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;QACvC,IAAI,QAAQ,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"getTemplateVariables.js","sourceRoot":"","sources":["../../../src/template/getTemplateVariables.ts"],"names":[],"mappings":";;;;;AAYA,oDAWC;AArBD,wDAAgC;AAKhC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,IAA6B;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,8BAA8B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC;AACD;;;;GAIG;AACH,SAAS,8BAA8B,CAAC,QAAgB;IACtD,MAAM,aAAa,GAAG,kBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;QAChD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;QACvC,IAAI,QAAQ,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { WithTelemetry } from "./otel";
2
+ import { PromptTemplate } from "./templating";
2
3
  import { LanguageModel } from "ai";
3
4
  /**
4
5
  * A specific AI example that is under evaluation
@@ -65,7 +66,7 @@ export interface CreateClassifierArgs extends WithTelemetry {
65
66
  /**
66
67
  * The prompt template to use for classification
67
68
  */
68
- promptTemplate: string;
69
+ promptTemplate: PromptTemplate;
69
70
  }
70
71
  export interface CreateEvaluatorArgs {
71
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../../../src/types/evals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,UAAU,EAAE,SAAS;IAClD,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,OAAO;CAAG;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAIzD,KAAK,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,wBAAwB,CAAC;IAClC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,MAAM,WAAW,iCACf,SAAQ,oBAAoB,EAC1B,mBAAmB;CAAG;AAE1B,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACrE,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D;;GAEG;AACH,UAAU,oBAAoB;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACpE,SAAQ,oBAAoB;IAC5B;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACpC"}
1
+ {"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../../../src/types/evals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,UAAU,EAAE,SAAS;IAClD,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,OAAO;CAAG;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAIzD,KAAK,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,wBAAwB,CAAC;IAClC;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,MAAM,WAAW,iCACf,SAAQ,oBAAoB,EAC1B,mBAAmB;CAAG;AAE1B,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACrE,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D;;GAEG;AACH,UAAU,oBAAoB;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACpE,SAAQ,oBAAoB;IAC5B;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACpC"}
@@ -1,3 +1,12 @@
1
- export type Template = string;
1
+ import type { ModelMessage } from "ai";
2
+ export type PromptTemplate = string | Array<ModelMessage>;
3
+ export type RenderedPrompt = string | Array<ModelMessage>;
2
4
  export type TemplateVariables = Record<string, unknown>;
5
+ export interface WithPromptTemplate {
6
+ readonly promptTemplate: PromptTemplate;
7
+ /**
8
+ * List out the prompt template variables needed to perform evaluation
9
+ */
10
+ readonly promptTemplateVariables: string[];
11
+ }
3
12
  //# sourceMappingURL=templating.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templating.d.ts","sourceRoot":"","sources":["../../../src/types/templating.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"templating.d.ts","sourceRoot":"","sources":["../../../src/types/templating.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;CAC5C"}