veryfront 0.1.1262 → 0.1.1263

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 (64) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/agent/ag-ui/detached-start.d.ts.map +1 -1
  3. package/esm/src/agent/ag-ui/detached-start.js +2 -1
  4. package/esm/src/agent/ag-ui/handler.d.ts.map +1 -1
  5. package/esm/src/agent/ag-ui/handler.js +4 -3
  6. package/esm/src/agent/ag-ui/runtime-handler.d.ts.map +1 -1
  7. package/esm/src/agent/ag-ui/runtime-handler.js +2 -1
  8. package/esm/src/agent/ag-ui/runtime-restrictions.d.ts.map +1 -1
  9. package/esm/src/agent/ag-ui/runtime-restrictions.js +2 -1
  10. package/esm/src/agent/factory.d.ts.map +1 -1
  11. package/esm/src/agent/factory.js +5 -0
  12. package/esm/src/agent/hosted/executor-agent-schema.d.ts +2 -2
  13. package/esm/src/agent/hosted/executor-agent-schema.d.ts.map +1 -1
  14. package/esm/src/agent/hosted/executor-agent-schema.js +4 -0
  15. package/esm/src/agent/hosted/executor-model-errors.d.ts +1 -1
  16. package/esm/src/agent/hosted/executor-model-schema.d.ts +1 -1
  17. package/esm/src/agent/hosted/executor-runtime-prepare-schema.d.ts +1 -1
  18. package/esm/src/agent/hosted/executor-tool-schema.d.ts +1 -1
  19. package/esm/src/agent/project/agent-runtime.d.ts.map +1 -1
  20. package/esm/src/agent/project/agent-runtime.js +2 -1
  21. package/esm/src/agent/runtime/constants.d.ts.map +1 -1
  22. package/esm/src/agent/runtime/constants.js +4 -0
  23. package/esm/src/agent/runtime/execution-config.d.ts +6 -0
  24. package/esm/src/agent/runtime/execution-config.d.ts.map +1 -0
  25. package/esm/src/agent/runtime/execution-config.js +12 -0
  26. package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -1
  27. package/esm/src/agent/runtime/model-resolution.js +11 -2
  28. package/esm/src/agent/streaming/executor-data-schema.d.ts +1 -1
  29. package/esm/src/agent/types.d.ts +2 -1
  30. package/esm/src/agent/types.d.ts.map +1 -1
  31. package/esm/src/chat/provider-error-registry.d.ts +33 -1
  32. package/esm/src/chat/provider-error-registry.d.ts.map +1 -1
  33. package/esm/src/chat/provider-error-registry.js +20 -0
  34. package/esm/src/chat/provider-errors.d.ts +2 -0
  35. package/esm/src/chat/provider-errors.d.ts.map +1 -1
  36. package/esm/src/chat/provider-errors.js +40 -9
  37. package/esm/src/errors/error-registry/agent.d.ts +13 -0
  38. package/esm/src/errors/error-registry/agent.d.ts.map +1 -1
  39. package/esm/src/errors/error-registry/agent.js +25 -0
  40. package/esm/src/errors/error-registry.d.ts +2 -0
  41. package/esm/src/errors/error-registry.d.ts.map +1 -1
  42. package/esm/src/errors/index.d.ts +1 -1
  43. package/esm/src/errors/index.d.ts.map +1 -1
  44. package/esm/src/errors/index.js +1 -1
  45. package/esm/src/eval/model-access.d.ts +1 -1
  46. package/esm/src/eval/model-access.d.ts.map +1 -1
  47. package/esm/src/eval/model-access.js +37 -4
  48. package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
  49. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  50. package/esm/src/internal-agents/run-stream.js +8 -3
  51. package/esm/src/platform/cloud/resolver.d.ts +1 -1
  52. package/esm/src/platform/cloud/resolver.d.ts.map +1 -1
  53. package/esm/src/platform/cloud/resolver.js +1 -1
  54. package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
  55. package/esm/src/provider/runtime-loader/provider-http.d.ts.map +1 -1
  56. package/esm/src/provider/runtime-loader/provider-http.js +36 -2
  57. package/esm/src/provider/veryfront-cloud/model-catalog.d.ts +2 -2
  58. package/esm/src/provider/veryfront-cloud/model-catalog.d.ts.map +1 -1
  59. package/esm/src/provider/veryfront-cloud/model-catalog.data.d.ts +2 -2
  60. package/esm/src/provider/veryfront-cloud/model-catalog.data.d.ts.map +1 -1
  61. package/esm/src/provider/veryfront-cloud/model-catalog.data.js +28 -1
  62. package/esm/src/utils/version-constant.d.ts +1 -1
  63. package/esm/src/utils/version-constant.js +1 -1
  64. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/src/chat/provider-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiBjD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0ID,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CA6C/E;AAcD,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAOvE;AAqND,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAMtE"}
1
+ {"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/src/chat/provider-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBjD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2JD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAE/E;AAED,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAEjF;AAuED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAOvE;AAsND,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAMtE"}
@@ -1,6 +1,6 @@
1
1
  import { safeJsonParse } from "../utils/json.js";
2
- import { ProviderOutputTruncatedError, ProviderOverloadedError, ProviderQuotaError, } from "../provider/runtime-loader/provider-http.js";
3
- import { AI_PROVIDER_BILLING_ERROR, AI_PROVIDER_SPEND_LIMIT_ERROR, AI_PROVIDER_WORKSPACE_LIMIT_ERROR, GATEWAY_PROJECT_REQUIRED_ERROR, MODEL_UNSUPPORTED_ASSISTANT_PREFILL_ERROR, OUTPUT_SCHEMA_NOT_CLOSED_ERROR, PROJECT_SCHEMA_ERROR, PROVIDER_OUTPUT_TRUNCATED_ERROR, registeredProviderFailure, } from "./provider-error-registry.js";
2
+ import { ProviderError, ProviderOutputTruncatedError, ProviderOverloadedError, ProviderQuotaError, } from "../provider/runtime-loader/provider-http.js";
3
+ import { AI_PROVIDER_BILLING_ERROR, AI_PROVIDER_SPEND_LIMIT_ERROR, AI_PROVIDER_WORKSPACE_LIMIT_ERROR, GATEWAY_PROJECT_REQUIRED_ERROR, INFERENCE_POLICY_DENIED_ERROR, MODEL_NOT_PERMITTED_ERROR, MODEL_UNSUPPORTED_ASSISTANT_PREFILL_ERROR, OUTPUT_SCHEMA_NOT_CLOSED_ERROR, PROJECT_SCHEMA_ERROR, PROVIDER_OUTPUT_TRUNCATED_ERROR, registeredProviderFailure, } from "./provider-error-registry.js";
4
4
  export { safeJsonParse };
5
5
  const DEFAULT_EXTERNAL_SERVICE_ERROR = {
6
6
  code: "EXTERNAL_SERVICE_ERROR",
@@ -116,8 +116,30 @@ function formatCreditProblemMessage(balance, required, error, hasSuggestion) {
116
116
  const availability = isRunLimit ? "remaining" : "available";
117
117
  return `${summary}: ${required} credits required, ${balance} ${availability}.${hasSuggestion ? ` ${suggestion}` : ""}`;
118
118
  }
119
+ /** Model ids the policy refusal may echo; anything else gets the fixed wording. */
120
+ const SAFE_MODEL_ID = /^[A-Za-z0-9][A-Za-z0-9._:/@-]{0,127}$/;
121
+ function inferencePolicyError(model) {
122
+ // Without a model the refusal is about something else in the request (the
123
+ // gateway also refuses provider-executed tools under this code).
124
+ if (model === undefined)
125
+ return { ...INFERENCE_POLICY_DENIED_ERROR };
126
+ if (typeof model !== "string" || !SAFE_MODEL_ID.test(model)) {
127
+ return { ...MODEL_NOT_PERMITTED_ERROR };
128
+ }
129
+ return {
130
+ ...MODEL_NOT_PERMITTED_ERROR,
131
+ message: `Model "${model}" is not available under this project's inference policy (EU-only inference).`,
132
+ };
133
+ }
119
134
  /** Parses known problem bodies without exposing provider-controlled text. */
120
135
  export function parseKnownProblemBody(body) {
136
+ return parseKnownProblemBodyInternal(body, false);
137
+ }
138
+ /** Parses a problem body after the provider runtime marked it as gateway-originated. */
139
+ export function parseGatewayProblemBody(body) {
140
+ return parseKnownProblemBodyInternal(body, true);
141
+ }
142
+ function parseKnownProblemBodyInternal(body, allowInferencePolicy) {
121
143
  if (!isErrorRecord(body)) {
122
144
  return null;
123
145
  }
@@ -126,6 +148,12 @@ export function parseKnownProblemBody(body) {
126
148
  if (getOwnDataProperty(body, "code") === "gateway_project_required") {
127
149
  return { ...GATEWAY_PROJECT_REQUIRED_ERROR };
128
150
  }
151
+ // The gateway refuses a request its EU-only inference policy cannot serve,
152
+ // naming the model when the model is the reason. Retrying cannot succeed,
153
+ // whatever status an older gateway sent (503).
154
+ if (allowInferencePolicy && getOwnDataProperty(body, "code") === "eu_inference_policy") {
155
+ return inferencePolicyError(getOwnDataProperty(body, "model"));
156
+ }
129
157
  const slugValue = getOwnDataProperty(body, "slug");
130
158
  const errorValue = getOwnDataProperty(body, "error");
131
159
  const suggestionValue = getOwnDataProperty(body, "suggestion");
@@ -283,11 +311,11 @@ function classifyInvalidRequestMessage(message) {
283
311
  }
284
312
  return null;
285
313
  }
286
- function parseKnownProviderBody(body, seen = new WeakSet(), depth = 0) {
314
+ function parseKnownProviderBody(body, seen = new WeakSet(), depth = 0, parseProblemBody = parseKnownProblemBody) {
287
315
  if (depth >= MAX_PROVIDER_ERROR_DEPTH) {
288
316
  return null;
289
317
  }
290
- const problemMatch = parseKnownProblemBody(body);
318
+ const problemMatch = parseProblemBody(body);
291
319
  if (problemMatch) {
292
320
  return problemMatch;
293
321
  }
@@ -299,7 +327,7 @@ function parseKnownProviderBody(body, seen = new WeakSet(), depth = 0) {
299
327
  }
300
328
  seen.add(body);
301
329
  if (isErrorRecord(body.error)) {
302
- const nestedError = parseKnownProviderBody(body.error, seen, depth + 1);
330
+ const nestedError = parseKnownProviderBody(body.error, seen, depth + 1, parseProblemBody);
303
331
  if (nestedError) {
304
332
  return nestedError;
305
333
  }
@@ -387,13 +415,16 @@ function parseProviderErrorInner(error, seen, depth) {
387
415
  seen.add(error);
388
416
  }
389
417
  const responseBody = extractResponseBody(error);
418
+ const parseProblemBody = error instanceof ProviderError && error.viaVeryfrontGateway === true
419
+ ? parseGatewayProblemBody
420
+ : parseKnownProblemBody;
390
421
  if (responseBody) {
391
422
  const normalizedResponseBody = responseBody.toLowerCase();
392
423
  if (normalizedResponseBody.includes("invalid veryfront schema")) {
393
424
  return PROJECT_SCHEMA_ERROR;
394
425
  }
395
426
  const parsedBody = parseErrorJson(responseBody);
396
- const parsedError = parseKnownProviderBody(parsedBody);
427
+ const parsedError = parseKnownProviderBody(parsedBody, new WeakSet(), 0, parseProblemBody);
397
428
  if (parsedError) {
398
429
  return parsedError;
399
430
  }
@@ -405,19 +436,19 @@ function parseProviderErrorInner(error, seen, depth) {
405
436
  return nested;
406
437
  }
407
438
  }
408
- const parsedDirectError = parseKnownProviderBody(error);
439
+ const parsedDirectError = parseKnownProviderBody(error, new WeakSet(), 0, parseProblemBody);
409
440
  if (parsedDirectError) {
410
441
  return parsedDirectError;
411
442
  }
412
443
  const message = getErrorMessage(error);
413
444
  if (message) {
414
445
  const parsedMessage = parseErrorJson(message);
415
- const parsedMessageError = parseKnownProviderBody(parsedMessage);
446
+ const parsedMessageError = parseKnownProviderBody(parsedMessage, new WeakSet(), 0, parseProblemBody);
416
447
  if (parsedMessageError) {
417
448
  return parsedMessageError;
418
449
  }
419
450
  const parsedEmbeddedMessage = parseEmbeddedErrorJson(message);
420
- const parsedEmbeddedMessageError = parseKnownProviderBody(parsedEmbeddedMessage);
451
+ const parsedEmbeddedMessageError = parseKnownProviderBody(parsedEmbeddedMessage, new WeakSet(), 0, parseProblemBody);
421
452
  if (parsedEmbeddedMessageError) {
422
453
  return parsedEmbeddedMessageError;
423
454
  }
@@ -53,6 +53,17 @@ export declare const EVAL_MODEL_PROJECT_ACCESS_DENIED: import("../types.js").Reg
53
53
  * policy blocks every later record the same way.
54
54
  */
55
55
  export declare const EVAL_MODEL_EGRESS_BLOCKED: import("../types.js").RegisteredError;
56
+ /**
57
+ * An eval stopped because the Veryfront Cloud gateway refused its model request
58
+ * under the project's EU-only inference policy (`eu_inference_policy`). Every
59
+ * later record sends the same model and tools, so it is refused the same way.
60
+ */
61
+ export declare const EVAL_MODEL_INFERENCE_POLICY_DENIED: import("../types.js").RegisteredError;
62
+ /**
63
+ * An eval stopped because a provider-executed tool is not available under the
64
+ * project's EU-only inference policy.
65
+ */
66
+ export declare const EVAL_INFERENCE_POLICY_DENIED: import("../types.js").RegisteredError;
56
67
  /**
57
68
  * An eval record ran past its time limit. The limit covers the whole record:
58
69
  * target execution, tools, model requests, metrics, and checks. A model stream
@@ -78,6 +89,8 @@ export declare const AGENT_REGISTRY: {
78
89
  readonly "eval-model-egress-blocked": import("../types.js").RegisteredError;
79
90
  readonly "eval-model-unauthorized": import("../types.js").RegisteredError;
80
91
  readonly "eval-model-project-access-denied": import("../types.js").RegisteredError;
92
+ readonly "eval-model-inference-policy-denied": import("../types.js").RegisteredError;
93
+ readonly "eval-inference-policy-denied": import("../types.js").RegisteredError;
81
94
  readonly "eval-record-timeout": import("../types.js").RegisteredError;
82
95
  };
83
96
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../../src/src/errors/error-registry/agent.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,uCAMtB,CAAC;AAEH,eAAO,MAAM,eAAe,uCAM1B,CAAC;AAEH,eAAO,MAAM,aAAa,uCAMxB,CAAC;AAEH,eAAO,MAAM,kBAAkB,uCAM7B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uCAM9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uCAM9B,CAAC;AAEH,eAAO,MAAM,gBAAgB,uCAM3B,CAAC;AAEH,eAAO,MAAM,oCAAoC,uCAO/C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,uCAM5C,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,uCAO7C,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,uCAOnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uCAOhC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uCAO1C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uCAOlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gCAAgC,uCAO3C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAOpC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uCAO9B,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAkBjB,CAAC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../../src/src/errors/error-registry/agent.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,uCAMtB,CAAC;AAEH,eAAO,MAAM,eAAe,uCAM1B,CAAC;AAEH,eAAO,MAAM,aAAa,uCAMxB,CAAC;AAEH,eAAO,MAAM,kBAAkB,uCAM7B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uCAM9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uCAM9B,CAAC;AAEH,eAAO,MAAM,gBAAgB,uCAM3B,CAAC;AAEH,eAAO,MAAM,oCAAoC,uCAO/C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,uCAM5C,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,uCAO7C,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,uCAOnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uCAOhC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uCAO1C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uCAOlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gCAAgC,uCAO3C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAOpC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,uCAO7C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B,uCAOvC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uCAO9B,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC"}
@@ -150,6 +150,29 @@ export const EVAL_MODEL_EGRESS_BLOCKED = defineError({
150
150
  title: "Veryfront API blocked by network egress policy",
151
151
  suggestion: "Veryfront blocks requests to hosts that resolve to private network addresses. If the Veryfront API runs on a private network you trust, such as a staging, VPN, or self-hosted deployment, add its exact origin (for example https://api.example.com) to VERYFRONT_HOST_ALLOWED_INTERNAL_PROVIDER_ORIGINS in the environment that runs veryfront eval, then run the eval again",
152
152
  });
153
+ /**
154
+ * An eval stopped because the Veryfront Cloud gateway refused its model request
155
+ * under the project's EU-only inference policy (`eu_inference_policy`). Every
156
+ * later record sends the same model and tools, so it is refused the same way.
157
+ */
158
+ export const EVAL_MODEL_INFERENCE_POLICY_DENIED = defineError({
159
+ slug: "eval-model-inference-policy-denied",
160
+ category: "AGENT",
161
+ status: 403,
162
+ title: "Eval model request refused by inference policy",
163
+ suggestion: "The project allows EU-only inference. Choose a model with an EU inference route, then run the eval again",
164
+ });
165
+ /**
166
+ * An eval stopped because a provider-executed tool is not available under the
167
+ * project's EU-only inference policy.
168
+ */
169
+ export const EVAL_INFERENCE_POLICY_DENIED = defineError({
170
+ slug: "eval-inference-policy-denied",
171
+ category: "AGENT",
172
+ status: 403,
173
+ title: "Eval request refused by inference policy",
174
+ suggestion: "The project allows EU-only inference. Remove provider-executed tools, such as provider web search, from the eval target, then run the eval again",
175
+ });
153
176
  /**
154
177
  * An eval record ran past its time limit. The limit covers the whole record:
155
178
  * target execution, tools, model requests, metrics, and checks. A model stream
@@ -181,5 +204,7 @@ export const AGENT_REGISTRY = {
181
204
  "eval-model-egress-blocked": EVAL_MODEL_EGRESS_BLOCKED,
182
205
  "eval-model-unauthorized": EVAL_MODEL_UNAUTHORIZED,
183
206
  "eval-model-project-access-denied": EVAL_MODEL_PROJECT_ACCESS_DENIED,
207
+ "eval-model-inference-policy-denied": EVAL_MODEL_INFERENCE_POLICY_DENIED,
208
+ "eval-inference-policy-denied": EVAL_INFERENCE_POLICY_DENIED,
184
209
  "eval-record-timeout": EVAL_RECORD_TIMEOUT,
185
210
  };
@@ -143,6 +143,8 @@ export declare const ERROR_REGISTRY: Readonly<{
143
143
  readonly "eval-model-egress-blocked": import("./types.js").RegisteredError;
144
144
  readonly "eval-model-unauthorized": import("./types.js").RegisteredError;
145
145
  readonly "eval-model-project-access-denied": import("./types.js").RegisteredError;
146
+ readonly "eval-model-inference-policy-denied": import("./types.js").RegisteredError;
147
+ readonly "eval-inference-policy-denied": import("./types.js").RegisteredError;
146
148
  readonly "eval-record-timeout": import("./types.js").RegisteredError;
147
149
  } & {
148
150
  readonly "unknown-error": import("./types.js").RegisteredError;
@@ -1 +1 @@
1
- {"version":3,"file":"error-registry.d.ts","sourceRoot":"","sources":["../../../src/src/errors/error-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,cAAc,CAAC;AAEpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,wCAE7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,0CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,EAAE,CAEzC"}
1
+ {"version":3,"file":"error-registry.d.ts","sourceRoot":"","sources":["../../../src/src/errors/error-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,cAAc,CAAC;AAEpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,wCAE7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,0CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,EAAE,CAEzC"}
@@ -19,7 +19,7 @@
19
19
  import "../../_dnt.polyfills.js";
20
20
  export { defineError, VeryfrontError } from "./types.js";
21
21
  export type { ErrorCategory, ErrorCreateOptions, ErrorDefinition, RegisteredError, RFC9457Response, VeryfrontErrorOptions, } from "./types.js";
22
- export { AGENT_ERROR, AGENT_INTENT_ERROR, AGENT_NOT_FOUND, AGENT_TIMEOUT, ALREADY_EXISTS, API_CLIENT_ERROR, API_ERROR, API_ROUTE_ERROR, ASSET_OPTIMIZATION_ERROR, AUTHENTICATION_REQUIRED, BRANCH_NOT_FOUND, BUILD_FAILED, BUNDLE_ERROR, CACHE_ERROR, CACHE_INVARIANT_VIOLATION, CACHE_PATH_MISMATCH, CIRCUIT_BREAKER_OPEN, CIRCULAR_DEPENDENCY, CLIENT_BOUNDARY_VIOLATION, CLIENT_ONLY_IN_SERVER, COMPILATION_ERROR, COMPONENT_ERROR, CONFIG_INVALID, CONFIG_NOT_DEPLOYABLE, CONFIG_NOT_FOUND, CONFIG_PARSE_ERROR, CONFIG_TYPE_ERROR, CONFIG_VALIDATION_ERROR, CONFIG_VALIDATION_FAILED, CORS_CONFIG_INVALID, COST_LIMIT_EXCEEDED, DEFAULT_MODEL_CREDENTIAL_MISMATCH, DEPENDENCY_MISSING, DEPENDENCY_SNAPSHOT_STORE_UNAVAILABLE, DEPLOYMENT_ERROR, DEPLOYMENT_VERIFICATION_TIMEOUT, DEV_SERVER_ERROR, DURABLE_RUN_EVENT_PERSISTENCE_FAILED, DYNAMIC_ROUTE_ERROR, ENV_VAR_MISSING, ENVIRONMENT_NOT_FOUND, ENVIRONMENT_NOT_ROUTABLE, ERROR_OVERLAY_ERROR, ERROR_REGISTRY, type ErrorSlug, ESM_CACHE_INIT_FAILED, EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, EVAL_RECORD_TIMEOUT, FALLBACK_EXHAUSTED, FAST_REFRESH_ERROR, FILE_NOT_FOUND, FILE_WATCH_ERROR, getAllSlugs, getErrorBySlug, getErrorsByCategory, HMR_ERROR, HYDRATION_MISMATCH, IMPORT_MAP_INVALID, IMPORT_RESOLUTION_ERROR, INITIALIZATION_ERROR, INPUT_VALIDATION_FAILED, INVALID_ARGUMENT, INVALID_IMPORT, INVALID_ROUTE_FILE, INVALID_USE_CLIENT, INVALID_USE_SERVER, LAYOUT_NOT_FOUND, LOCAL_INTEGRATION_CONFIG_INVALID, LOCAL_INTEGRATION_CREDENTIAL_UNAVAILABLE, LOCAL_INTEGRATION_CREDENTIALS_MISSING, LOCAL_INTEGRATION_REQUEST_FAILED, LOCAL_INTEGRATION_REQUEST_INVALID, LOCAL_INTEGRATION_RESPONSE_INVALID, LOCKFILE_FORMAT_MISMATCH, LOCKFILE_READ_ERROR, MARKDOWN_COMPILE_ERROR, MDX_COMPILE_ERROR, MIDDLEWARE_ERROR, MODULE_NOT_FOUND, NESTED_CWD_SCOPE, NETWORK_ERROR, NOT_SUPPORTED, ORCHESTRATION_ERROR, PAGE_NOT_FOUND, PERMISSION_DENIED, PLATFORM_ERROR, PORT_IN_USE, PREVIEW_DEPLOYMENT_NOT_ALLOWED, PREVIEW_HOSTNAME_TOO_LONG, PRODUCTION_BUILD_REQUIRED, PROJECT_EXECUTION_UNAVAILABLE, PROJECT_LINK_STALE, PROJECT_SOURCE_EMPTY, PROVIDER_REPLAY_CHECKPOINT_INVALID, PUSH_CONFLICT, PUSH_RECEIPT_MISSING, RAG_STORE_CORRUPT, RAG_STORE_UNAVAILABLE, REDIRECT_DESTINATION_NOT_ALLOWED, RELEASE_BUILD_TIMEOUT, RELEASE_MISSING_VERSION, RELEASE_NOT_FOUND, RENDER_ERROR, REQUEST_ERROR, RESOURCE_NOT_FOUND, ROUTE_CONFLICT, ROUTE_HANDLER_INVALID, ROUTE_PARAMS_ERROR, RSC_PAYLOAD_ERROR, SCHEDULE_CONFIG_INVALID, SECURITY_VIOLATION, SEMAPHORE_TIMEOUT, SERVER_ONLY_IN_CLIENT, SERVER_START_ERROR, SERVICE_OVERLOADED, SOURCE_DIGEST_MISMATCH, SOURCE_MAP_ERROR, SOURCE_SNAPSHOT_FRESHNESS_UNAVAILABLE, SOURCEMAP_ERROR, SSG_GENERATION_ERROR, SSR_OUTPUT_LIMIT_EXCEEDED, SYNC_STATE_INVALID, TEMPLATE_NOT_FOUND, TIMEOUT_ERROR, TOKEN_STORAGE_ERROR, TOOL_ID_CONFLICT, TRIGGER_CONFIG_INVALID, TRIGGER_EXECUTION_FAILED, TRIGGER_NOT_SUPPORTED, TRIGGER_TARGET_NOT_FOUND, TYPESCRIPT_ERROR, UNKNOWN_ERROR, VERSION_MISMATCH, WEBHOOK_CONFIG_INVALID, } from "./error-registry.js";
22
+ export { AGENT_ERROR, AGENT_INTENT_ERROR, AGENT_NOT_FOUND, AGENT_TIMEOUT, ALREADY_EXISTS, API_CLIENT_ERROR, API_ERROR, API_ROUTE_ERROR, ASSET_OPTIMIZATION_ERROR, AUTHENTICATION_REQUIRED, BRANCH_NOT_FOUND, BUILD_FAILED, BUNDLE_ERROR, CACHE_ERROR, CACHE_INVARIANT_VIOLATION, CACHE_PATH_MISMATCH, CIRCUIT_BREAKER_OPEN, CIRCULAR_DEPENDENCY, CLIENT_BOUNDARY_VIOLATION, CLIENT_ONLY_IN_SERVER, COMPILATION_ERROR, COMPONENT_ERROR, CONFIG_INVALID, CONFIG_NOT_DEPLOYABLE, CONFIG_NOT_FOUND, CONFIG_PARSE_ERROR, CONFIG_TYPE_ERROR, CONFIG_VALIDATION_ERROR, CONFIG_VALIDATION_FAILED, CORS_CONFIG_INVALID, COST_LIMIT_EXCEEDED, DEFAULT_MODEL_CREDENTIAL_MISMATCH, DEPENDENCY_MISSING, DEPENDENCY_SNAPSHOT_STORE_UNAVAILABLE, DEPLOYMENT_ERROR, DEPLOYMENT_VERIFICATION_TIMEOUT, DEV_SERVER_ERROR, DURABLE_RUN_EVENT_PERSISTENCE_FAILED, DYNAMIC_ROUTE_ERROR, ENV_VAR_MISSING, ENVIRONMENT_NOT_FOUND, ENVIRONMENT_NOT_ROUTABLE, ERROR_OVERLAY_ERROR, ERROR_REGISTRY, type ErrorSlug, ESM_CACHE_INIT_FAILED, EVAL_INFERENCE_POLICY_DENIED, EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_INFERENCE_POLICY_DENIED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, EVAL_RECORD_TIMEOUT, FALLBACK_EXHAUSTED, FAST_REFRESH_ERROR, FILE_NOT_FOUND, FILE_WATCH_ERROR, getAllSlugs, getErrorBySlug, getErrorsByCategory, HMR_ERROR, HYDRATION_MISMATCH, IMPORT_MAP_INVALID, IMPORT_RESOLUTION_ERROR, INITIALIZATION_ERROR, INPUT_VALIDATION_FAILED, INVALID_ARGUMENT, INVALID_IMPORT, INVALID_ROUTE_FILE, INVALID_USE_CLIENT, INVALID_USE_SERVER, LAYOUT_NOT_FOUND, LOCAL_INTEGRATION_CONFIG_INVALID, LOCAL_INTEGRATION_CREDENTIAL_UNAVAILABLE, LOCAL_INTEGRATION_CREDENTIALS_MISSING, LOCAL_INTEGRATION_REQUEST_FAILED, LOCAL_INTEGRATION_REQUEST_INVALID, LOCAL_INTEGRATION_RESPONSE_INVALID, LOCKFILE_FORMAT_MISMATCH, LOCKFILE_READ_ERROR, MARKDOWN_COMPILE_ERROR, MDX_COMPILE_ERROR, MIDDLEWARE_ERROR, MODULE_NOT_FOUND, NESTED_CWD_SCOPE, NETWORK_ERROR, NOT_SUPPORTED, ORCHESTRATION_ERROR, PAGE_NOT_FOUND, PERMISSION_DENIED, PLATFORM_ERROR, PORT_IN_USE, PREVIEW_DEPLOYMENT_NOT_ALLOWED, PREVIEW_HOSTNAME_TOO_LONG, PRODUCTION_BUILD_REQUIRED, PROJECT_EXECUTION_UNAVAILABLE, PROJECT_LINK_STALE, PROJECT_SOURCE_EMPTY, PROVIDER_REPLAY_CHECKPOINT_INVALID, PUSH_CONFLICT, PUSH_RECEIPT_MISSING, RAG_STORE_CORRUPT, RAG_STORE_UNAVAILABLE, REDIRECT_DESTINATION_NOT_ALLOWED, RELEASE_BUILD_TIMEOUT, RELEASE_MISSING_VERSION, RELEASE_NOT_FOUND, RENDER_ERROR, REQUEST_ERROR, RESOURCE_NOT_FOUND, ROUTE_CONFLICT, ROUTE_HANDLER_INVALID, ROUTE_PARAMS_ERROR, RSC_PAYLOAD_ERROR, SCHEDULE_CONFIG_INVALID, SECURITY_VIOLATION, SEMAPHORE_TIMEOUT, SERVER_ONLY_IN_CLIENT, SERVER_START_ERROR, SERVICE_OVERLOADED, SOURCE_DIGEST_MISMATCH, SOURCE_MAP_ERROR, SOURCE_SNAPSHOT_FRESHNESS_UNAVAILABLE, SOURCEMAP_ERROR, SSG_GENERATION_ERROR, SSR_OUTPUT_LIMIT_EXCEEDED, SYNC_STATE_INVALID, TEMPLATE_NOT_FOUND, TIMEOUT_ERROR, TOKEN_STORAGE_ERROR, TOOL_ID_CONFLICT, TRIGGER_CONFIG_INVALID, TRIGGER_EXECUTION_FAILED, TRIGGER_NOT_SUPPORTED, TRIGGER_TARGET_NOT_FOUND, TYPESCRIPT_ERROR, UNKNOWN_ERROR, VERSION_MISMATCH, WEBHOOK_CONFIG_INVALID, } from "./error-registry.js";
23
23
  export { createErrorHandler, createErrorResponse, createErrorResponseFromDefinition, createProblemResponse, errorToResponse, formatErrorLog, isVeryfrontError, PROBLEM_JSON_CONTENT_TYPE, } from "./http-error.js";
24
24
  export { cliErrorBoundary, cliErrorBoundarySync, errorToRFC9457Response, formatCLIError, httpErrorBoundary, wrapHandlerWithErrorBoundary, wrapUnknownError, wrapWithContext, } from "./middleware/index.js";
25
25
  export { logError, logErrorWithMessage } from "./logging.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ CLIENT_BOUNDARY_VIOLATION, CLIENT_ONLY_IN_SERVER, COMPILATION_ERROR, COMPONENT_E
31
31
  // CONFIG
32
32
  CONFIG_NOT_FOUND, CONFIG_PARSE_ERROR, CONFIG_TYPE_ERROR, CONFIG_VALIDATION_ERROR, CONFIG_VALIDATION_FAILED, CORS_CONFIG_INVALID, COST_LIMIT_EXCEEDED, DEFAULT_MODEL_CREDENTIAL_MISMATCH, DEPENDENCY_MISSING, DEPENDENCY_SNAPSHOT_STORE_UNAVAILABLE, DEPLOYMENT_ERROR, DEPLOYMENT_VERIFICATION_TIMEOUT, DEV_SERVER_ERROR, DURABLE_RUN_EVENT_PERSISTENCE_FAILED, DYNAMIC_ROUTE_ERROR, ENV_VAR_MISSING, ENVIRONMENT_NOT_FOUND, ENVIRONMENT_NOT_ROUTABLE, ERROR_OVERLAY_ERROR,
33
33
  // Registry
34
- ERROR_REGISTRY, ESM_CACHE_INIT_FAILED, EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, EVAL_RECORD_TIMEOUT, FALLBACK_EXHAUSTED, FAST_REFRESH_ERROR, FILE_NOT_FOUND, FILE_WATCH_ERROR, getAllSlugs, getErrorBySlug, getErrorsByCategory,
34
+ ERROR_REGISTRY, ESM_CACHE_INIT_FAILED, EVAL_INFERENCE_POLICY_DENIED, EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_INFERENCE_POLICY_DENIED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, EVAL_RECORD_TIMEOUT, FALLBACK_EXHAUSTED, FAST_REFRESH_ERROR, FILE_NOT_FOUND, FILE_WATCH_ERROR, getAllSlugs, getErrorBySlug, getErrorsByCategory,
35
35
  // DEV
36
36
  HMR_ERROR,
37
37
  // RUNTIME
@@ -1,6 +1,6 @@
1
1
  import { VeryfrontError } from "../errors/index.js";
2
2
  /** Why the model gateway refused an eval's model requests. */
3
- export type EvalModelAccessDenialKind = "billing" | "spend-limit" | "project-required" | "unauthorized" | "forbidden" | "egress-blocked";
3
+ export type EvalModelAccessDenialKind = "billing" | "spend-limit" | "project-required" | "unauthorized" | "forbidden" | "egress-blocked" | "inference-policy";
4
4
  /** Refusal that every later eval record would hit the same way. */
5
5
  export interface EvalModelAccessDenial {
6
6
  kind: EvalModelAccessDenialKind;
@@ -1 +1 @@
1
- {"version":3,"file":"model-access.d.ts","sourceRoot":"","sources":["../../../src/src/eval/model-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,cAAc,EACf,MAAM,oBAAoB,CAAC;AAe5B,8DAA8D;AAC9D,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,CAAC;AAErB,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA0ND;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAM/F;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,qBAAqB,GAAG,SAAS,CAsBpC;AAED,8EAA8E;AAC9E,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,OAAO,GACb,cAAc,CAMhB;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,yBAAyB,GAAG,SAAS,CAUvC;AAED,kFAAkF;AAClF;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAaT;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAEpF"}
1
+ {"version":3,"file":"model-access.d.ts","sourceRoot":"","sources":["../../../src/src/eval/model-access.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,cAAc,EACf,MAAM,oBAAoB,CAAC;AAmB5B,8DAA8D;AAC9D,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqPD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAM/F;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,qBAAqB,GAAG,SAAS,CA4BpC;AAED,8EAA8E;AAC9E,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,OAAO,GACb,cAAc,CAShB;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,yBAAyB,GAAG,SAAS,CAWvC;AAED,kFAAkF;AAClF;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAaT;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAEpF"}
@@ -1,6 +1,6 @@
1
- import { EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, VeryfrontError, } from "../errors/index.js";
2
- import { parseKnownProblemBody } from "../chat/provider-errors.js";
3
- import { registeredProviderFailure } from "../chat/provider-error-registry.js";
1
+ import { EVAL_INFERENCE_POLICY_DENIED, EVAL_MODEL_ACCESS_DENIED, EVAL_MODEL_EGRESS_BLOCKED, EVAL_MODEL_INFERENCE_POLICY_DENIED, EVAL_MODEL_PROJECT_ACCESS_DENIED, EVAL_MODEL_SPEND_LIMIT_EXCEEDED, EVAL_MODEL_UNAUTHORIZED, EVAL_PROJECT_REQUIRED, VeryfrontError, } from "../errors/index.js";
2
+ import { parseGatewayProblemBody, parseKnownProblemBody } from "../chat/provider-errors.js";
3
+ import { curatedProviderFailure, registeredProviderFailure, } from "../chat/provider-error-registry.js";
4
4
  import { getModelRequestTransportFailureUrl, isVeryfrontGatewayTransportFailure, ProviderError, } from "../provider/runtime-loader/provider-http.js";
5
5
  import { OutboundRequestBlockedError } from "../security/http/outbound-fetch.js";
6
6
  import { isPrivateAddressEgressBlock } from "../security/sandbox/worker-egress-guard.js";
@@ -12,6 +12,7 @@ const DENIAL_ERRORS = {
12
12
  unauthorized: EVAL_MODEL_UNAUTHORIZED,
13
13
  forbidden: EVAL_MODEL_PROJECT_ACCESS_DENIED,
14
14
  "egress-blocked": EVAL_MODEL_EGRESS_BLOCKED,
15
+ "inference-policy": EVAL_MODEL_INFERENCE_POLICY_DENIED,
15
16
  };
16
17
  const UNAUTHORIZED_DENIAL = {
17
18
  kind: "unauthorized",
@@ -159,11 +160,29 @@ function classifyOutboundRequestBlocked(error) {
159
160
  return undefined;
160
161
  return EGRESS_BLOCKED_DENIAL;
161
162
  }
163
+ /** Curated codes for the gateway's EU-only inference policy refusals. */
164
+ const INFERENCE_POLICY_CODES = new Set([
165
+ "MODEL_NOT_PERMITTED",
166
+ "INFERENCE_POLICY_DENIED",
167
+ ]);
168
+ function toInferencePolicyDenial(failure) {
169
+ if (!failure || !INFERENCE_POLICY_CODES.has(failure.code))
170
+ return undefined;
171
+ return { kind: "inference-policy", code: failure.code, message: failure.message };
172
+ }
162
173
  function classifyProviderError(error) {
163
174
  // The gateway fetch marks its own responses, which covers a gateway built
164
175
  // with an explicit per-model base URL; the configured route is the fallback.
165
176
  const fromGateway = error.viaVeryfrontGateway === true ||
166
177
  isVeryfrontGatewayRoute(error.requestUrl);
178
+ // The provider runtime keeps an `eu_inference_policy` body only from the
179
+ // gateway. The refusal (403, or 503 from older gateways) is not a credential
180
+ // or project access denial.
181
+ if (fromGateway && typeof error.responseBody === "string") {
182
+ const policy = toInferencePolicyDenial(parseGatewayProblemBody(parseJsonBody(error.responseBody)));
183
+ if (policy)
184
+ return policy;
185
+ }
167
186
  if (error.status === 401 || error.status === 403) {
168
187
  return fromGateway ? statusDenial(error.status) : undefined;
169
188
  }
@@ -197,6 +216,11 @@ function findDenial(error, seen, depth) {
197
216
  // project-required code is gateway-specific.
198
217
  if (registered?.code === GATEWAY_PROJECT_REQUIRED_CURATED_CODE)
199
218
  return PROJECT_REQUIRED_DENIAL;
219
+ // The EU inference policy codes are gateway-specific too; only the fixed
220
+ // wording crosses the boundary.
221
+ const policy = toInferencePolicyDenial(registered);
222
+ if (policy)
223
+ return policy;
200
224
  if (registered)
201
225
  return undefined;
202
226
  for (const key of ["lastError", "cause"]) {
@@ -251,6 +275,10 @@ export function classifyAgentServiceModelAccessDenial(input) {
251
275
  // Streaming agent services report the gateway refusal as a RUN_ERROR.
252
276
  return PROJECT_REQUIRED_DENIAL;
253
277
  }
278
+ if (typeof input.runErrorCode === "string" && INFERENCE_POLICY_CODES.has(input.runErrorCode)) {
279
+ // Fixed local wording; the endpoint's RUN_ERROR text is not trusted.
280
+ return toInferencePolicyDenial(curatedProviderFailure(input.runErrorCode));
281
+ }
254
282
  // A curated billing code on RUN_ERROR (INSUFFICIENT_CREDITS, spend limit)
255
283
  // is not classified: the stream can derive it from any provider's failure,
256
284
  // including a direct or BYOK provider, so it carries no gateway provenance.
@@ -262,7 +290,10 @@ export function classifyAgentServiceModelAccessDenial(input) {
262
290
  }
263
291
  /** Build the fail-fast error for an eval whose model requests are refused. */
264
292
  export function createEvalModelAccessDeniedError(evalId, denial, cause) {
265
- return DENIAL_ERRORS[denial.kind].create({
293
+ const definition = denial.kind === "inference-policy" && denial.code === "INFERENCE_POLICY_DENIED"
294
+ ? EVAL_INFERENCE_POLICY_DENIED
295
+ : DENIAL_ERRORS[denial.kind];
296
+ return definition.create({
266
297
  detail: `Eval "${evalId}" stopped at its first refused model request: ${denial.message}`,
267
298
  context: { evalId, denialCode: denial.code },
268
299
  cause,
@@ -273,6 +304,8 @@ export function getEvalModelAccessDenialKind(error) {
273
304
  try {
274
305
  if (!(error instanceof VeryfrontError))
275
306
  return undefined;
307
+ if (error.slug === EVAL_INFERENCE_POLICY_DENIED.slug)
308
+ return "inference-policy";
276
309
  for (const [kind, definition] of Object.entries(DENIAL_ERRORS)) {
277
310
  if (error.slug === definition.slug)
278
311
  return kind;