@yaklabs-ai/plugin-sdk 0.13.9 → 0.14.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.
@@ -696,17 +696,6 @@ export declare interface ConvertedArtifact {
696
696
  */
697
697
  declare function Create(hidden: ObjectLike_2, enumerable: ObjectLike_2, options?: ObjectLike_2): ObjectLike_2;
698
698
 
699
- /**
700
- * The `withJev` a host with no Jev lane binds: `use` is never called, no client is ever built,
701
- * and no network is ever touched. It keeps the cancellation contract identical to the real
702
- * wrapper's so a caller's `signal`/`deadlineAt` handling does not change with host composition.
703
- *
704
- * Deliberately here rather than in the runtime: this is the DEFAULT for the SDK's own host
705
- * factory, which cannot import the runtime uphill. The runtime also delegates fallback execution
706
- * here, so both paths share cancellation, deadline enforcement, and cleanup.
707
- */
708
- export declare function createFallbackOnlyWithJev(): WithJev;
709
-
710
699
  /**
711
700
  * Build a plugin's JSON API client. Carries **no credentials at construction** — every method
712
701
  * takes per-call `headers`, because the kernel resolves tokens per call (refresh-near-expiry,
@@ -1924,150 +1913,6 @@ declare function IsUnsafe(value: unknown): value is TUnsafe;
1924
1913
  /** Returns true if the given value is TVoid. */
1925
1914
  declare function IsVoid(value: unknown): value is TVoid;
1926
1915
 
1927
- export declare type JevAnswer = JevBoolAnswer | JevChoiceAnswer | JevScoreAnswer;
1928
-
1929
- /** The answer shape one question gets back. */
1930
- export declare type JevAnswerFor<Q> = Q extends JevBoolQuestion ? JevBoolAnswer : Q extends JevChoiceQuestion<infer L> ? JevChoiceAnswer<L> : Q extends JevScoreQuestion ? JevScoreAnswer : never;
1931
-
1932
- export declare interface JevBoolAnswer {
1933
- readonly type: "bool";
1934
- /** P(yes), from 0 to 1. */
1935
- readonly probability: number;
1936
- }
1937
-
1938
- /** A yes/no question. `criteria` says what yes and what no mean; omit it to leave both open. */
1939
- export declare interface JevBoolQuestion {
1940
- readonly type: "bool";
1941
- readonly instructions: string;
1942
- readonly criteria?: {
1943
- readonly true: string;
1944
- readonly false: string;
1945
- };
1946
- }
1947
-
1948
- /**
1949
- * The one error `classify` rejects with. It carries a classification, never the provider's own
1950
- * message or body: those can echo the request state, and this error reaches logs.
1951
- */
1952
- export declare class JevCallError extends Error {
1953
- readonly transport: JevTransport;
1954
- readonly kind: JevCallErrorKind;
1955
- /** The final attempt's HTTP status, when a response arrived. */
1956
- readonly status: number | undefined;
1957
- constructor(init: {
1958
- readonly transport: JevTransport;
1959
- readonly kind: JevCallErrorKind;
1960
- readonly status?: number | undefined;
1961
- });
1962
- }
1963
-
1964
- /**
1965
- * Why a Jev call failed, as a closed set:
1966
- *
1967
- * - `http`: the route answered with an error status (`status` says which).
1968
- * - `too-large`: the route refused the request's size (413, or a 400 naming the token limit).
1969
- * - `network`: no response arrived.
1970
- * - `aborted`: the call was cancelled.
1971
- * - `invalid-answer`: the route answered, but not with an answer for every asked question.
1972
- */
1973
- export declare type JevCallErrorKind = "http" | "too-large" | "network" | "aborted" | "invalid-answer";
1974
-
1975
- export declare interface JevChoiceAnswer<L extends string = string> {
1976
- readonly type: "choice";
1977
- readonly choice: L;
1978
- readonly confidence: number;
1979
- /** P(label) for every offered label. */
1980
- readonly probabilities: Readonly<Record<L, number>>;
1981
- }
1982
-
1983
- /** A choice among labels. Each label maps to what it means; an empty string leaves it open. */
1984
- export declare interface JevChoiceQuestion<L extends string = string> {
1985
- readonly type: "choice";
1986
- readonly instructions: string;
1987
- readonly criteria: Readonly<Record<L, string>>;
1988
- }
1989
-
1990
- /** One answered request: every asked question has an answer of its own kind. */
1991
- export declare interface JevClassification<Q extends JevQuestions = JevQuestions> {
1992
- /** The Jev model the host asked. */
1993
- readonly model: string;
1994
- readonly answers: {
1995
- readonly [K in keyof Q]: JevAnswerFor<Q[K]>;
1996
- };
1997
- /** Token counts, when the route reported them. */
1998
- readonly usage?: {
1999
- readonly inputTokens: number;
2000
- readonly outputTokens: number;
2001
- };
2002
- }
2003
-
2004
- export declare interface JevClassifyRequest<Q extends JevQuestions = JevQuestions> {
2005
- readonly state: JevState;
2006
- readonly questions: Q;
2007
- }
2008
-
2009
- /**
2010
- * The Jev client a `use` body receives. `classify` either resolves with an answer for every
2011
- * asked question, each of its question's kind, or rejects with a {@link JevCallError}; it never
2012
- * resolves with a partial or substituted answer.
2013
- */
2014
- export declare interface JevClient {
2015
- classify<const Q extends JevQuestions>(request: JevClassifyRequest<Q>, options?: {
2016
- readonly signal?: AbortSignal;
2017
- }): Promise<JevClassification<Q>>;
2018
- }
2019
-
2020
- export declare type JevQuestion = JevBoolQuestion | JevChoiceQuestion | JevScoreQuestion;
2021
-
2022
- /** A rubric: questions keyed by the name each answer comes back under. */
2023
- export declare type JevQuestions = Readonly<Record<string, JevQuestion>>;
2024
-
2025
- export declare interface JevScoreAnswer {
2026
- readonly type: "score";
2027
- /** The expected score, from 0 to the number of rungs minus one. */
2028
- readonly score: number;
2029
- readonly confidence: number;
2030
- }
2031
-
2032
- /** A score over ordered rungs: the first criterion scores 0, the next 1, and so on. */
2033
- export declare interface JevScoreQuestion {
2034
- readonly type: "score";
2035
- readonly instructions: string;
2036
- readonly criteria: readonly string[];
2037
- }
2038
-
2039
- /**
2040
- * ---
2041
- * responsibility: The plugin-facing CONTRACT for Jev typed-decision inference — the shape of
2042
- * `api.withJev` on both plugin SDK targets, the {@link JevClient} a `use` body receives, the
2043
- * question and answer vocabulary it speaks, and the fallback-only implementation a host
2044
- * without a Jev lane binds.
2045
- * owns:
2046
- * - {@link WithJev}, {@link WithJevOptions}, {@link createFallbackOnlyWithJev}.
2047
- * - {@link JevClient}, the {@link JevQuestion} and {@link JevAnswer} vocabulary, and
2048
- * {@link JevCallError}.
2049
- * does_not_own:
2050
- * - The wire. The host serves `classify` over whichever route the user's Jev provider order
2051
- * picks; a plugin never sees a vendor client, a vendor type, or a route.
2052
- * - Credential resolution, the `jev.use` decision, the Jev-branch budget, or usage accounting.
2053
- * Those are host-side (`@bonsai/agent-runtime`'s `kay/jev/`).
2054
- * ---
2055
- *
2056
- * The vocabulary is Bonsai's own (SDK 0.12.0). Before it, `use` received TypeSafe's `TypeSafeClient`
2057
- * and plugins coded against a vendor's types. It follows pi's classifier contract, which the host
2058
- * runs Jev through: a yes/no question is `bool` and answers a `probability`, every instruction and
2059
- * criterion is text, and the state is a JSON object.
2060
- */
2061
- /**
2062
- * The state a rubric reads: a JSON object, never text or an array. Every value must survive
2063
- * `JSON.stringify` unchanged (no functions or class instances), because it is sent as JSON.
2064
- * Typed as `object` so a state declared as an interface fits without an index signature.
2065
- */
2066
- export declare type JevState = object;
2067
-
2068
- /** The route a Jev call took: the user's own TypeSafe key, or Bonsai's hosted gateway. */
2069
- export declare type JevTransport = "direct" | "hosted";
2070
-
2071
1916
  /** The frozen `createJsonApiClient` surface — see the module doc for why it stops at these three. */
2072
1917
  export declare interface JsonApiClient {
2073
1918
  getJson<TBody = unknown>(url: string, options?: PluginApiQueryOptions): Promise<PluginApiResponse<TBody>>;
@@ -2380,20 +2225,10 @@ export declare interface KayAgentPluginApi {
2380
2225
  * {@link KayAgentPluginApi.registerInteractionDriver} to make it drivable by the agent.
2381
2226
  */
2382
2227
  readonly interaction: KayAgentInteractionSurfaces;
2383
- /**
2384
- * Jev typed-decision inference, as an OPTIONAL accelerator with a REQUIRED fallback. Each call
2385
- * is checked against `jev.use` — but a refused grant or no usable Jev provider both
2386
- * produce the same outcome: your `fallback` runs.
2387
- *
2388
- * Always present, on every host. That is the point: with no absent state to feature-detect,
2389
- * there is no shape of code that reaches Jev without having written the baseline too. Do not
2390
- * guard it with `if (api.withJev !== undefined)`.
2391
- */
2392
- readonly withJev: WithJev;
2393
2228
  /**
2394
2229
  * System One: fast, cheap judgment calls (`decide`) and typed field extraction (`extract`) on
2395
- * small models (Jev, Clef, Clef Flash, Clairic). Each call is checked against `jev.use`; a call
2396
- * that cannot be served or is not permitted throws a `SystemOneError` whose `cause.kind` says
2230
+ * small models (Jev, Clef, Clef Flash, Clairic). Each call is checked against `systemOne.use`; a
2231
+ * call that cannot be served or is not permitted throws a `SystemOneError` whose `cause.kind` says
2397
2232
  * why, so put the feature's cheaper path in the call's own `catch`. Always present, on every
2398
2233
  * host; a host with no System One throws `not-served`. Types: `@bonsai/plugin-sdk/system-one`
2399
2234
  * (SDK 0.13.8).
@@ -2416,7 +2251,7 @@ export declare interface KayAgentPluginApi {
2416
2251
  readonly userFiles: KayAppUserFiles;
2417
2252
  /**
2418
2253
  * Publish the plugin's declared events, for example so a default notification rule can tell the
2419
- * user what the agent just did. Always present, like {@link withJev}: there is nothing to
2254
+ * user what the agent just did. Always present, like {@link systemOne}: there is nothing to
2420
2255
  * feature-detect, and a host that composed no events lane drops what is published.
2421
2256
  */
2422
2257
  readonly events: KayAgentEvents;
@@ -3021,9 +2856,9 @@ declare const KayPluginManifestV1: z.ZodObject<{
3021
2856
  responseSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue_3, unknown, z.core.$ZodTypeInternals<JsonValue_3, unknown>>>>;
3022
2857
  }, z.core.$strict>>>;
3023
2858
  uriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
2859
+ displayName: z.ZodOptional<z.ZodString>;
3024
2860
  schemes: z.ZodArray<z.ZodString>;
3025
2861
  localId: z.ZodString;
3026
- displayName: z.ZodOptional<z.ZodString>;
3027
2862
  }, z.core.$strict>>>;
3028
2863
  dataSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
3029
2864
  localId: z.ZodString;
@@ -3364,6 +3199,26 @@ declare const KayPluginManifestV1: z.ZodObject<{
3364
3199
  localId: z.ZodString;
3365
3200
  kind: z.ZodLiteral<"external-cli">;
3366
3201
  scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3202
+ cli: z.ZodOptional<z.ZodObject<{
3203
+ binary: z.ZodString;
3204
+ probe: z.ZodObject<{
3205
+ args: z.ZodArray<z.ZodString>;
3206
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
3207
+ signedOutMarker: z.ZodOptional<z.ZodString>;
3208
+ }, z.core.$strict>;
3209
+ login: z.ZodOptional<z.ZodObject<{
3210
+ args: z.ZodArray<z.ZodString>;
3211
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
3212
+ }, z.core.$strict>>;
3213
+ install: z.ZodOptional<z.ZodObject<{
3214
+ command: z.ZodString;
3215
+ args: z.ZodArray<z.ZodString>;
3216
+ }, z.core.$strict>>;
3217
+ hints: z.ZodObject<{
3218
+ install: z.ZodString;
3219
+ login: z.ZodString;
3220
+ }, z.core.$strict>;
3221
+ }, z.core.$strict>>;
3367
3222
  displayName: z.ZodOptional<z.ZodString>;
3368
3223
  agentHint: z.ZodOptional<z.ZodString>;
3369
3224
  summary: z.ZodOptional<z.ZodString>;
@@ -3431,6 +3286,18 @@ declare const KayPluginManifestV1: z.ZodObject<{
3431
3286
  kind: z.ZodLiteral<"record-id">;
3432
3287
  recordId: z.ZodString;
3433
3288
  }, z.core.$strict>], "kind">>>;
3289
+ frontDoor: z.ZodOptional<z.ZodObject<{
3290
+ id: z.ZodString;
3291
+ displayName: z.ZodString;
3292
+ resourcePicker: z.ZodOptional<z.ZodObject<{
3293
+ effect: z.ZodEnum<{
3294
+ selection: "selection";
3295
+ "resource-grant": "resource-grant";
3296
+ }>;
3297
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3298
+ successNote: z.ZodOptional<z.ZodString>;
3299
+ }, z.core.$strict>>;
3300
+ }, z.core.$strict>>;
3434
3301
  }, z.core.$strict>>>;
3435
3302
  storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
3436
3303
  kind: z.ZodEnum<{
@@ -3513,6 +3380,18 @@ declare const KayPluginManifestV1: z.ZodObject<{
3513
3380
  kind: z.ZodLiteral<"record-id">;
3514
3381
  recordId: z.ZodString;
3515
3382
  }, z.core.$strict>], "kind">>>;
3383
+ frontDoor: z.ZodOptional<z.ZodObject<{
3384
+ id: z.ZodString;
3385
+ displayName: z.ZodString;
3386
+ resourcePicker: z.ZodOptional<z.ZodObject<{
3387
+ effect: z.ZodEnum<{
3388
+ selection: "selection";
3389
+ "resource-grant": "resource-grant";
3390
+ }>;
3391
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3392
+ successNote: z.ZodOptional<z.ZodString>;
3393
+ }, z.core.$strict>>;
3394
+ }, z.core.$strict>>;
3516
3395
  }, z.core.$strict>>>;
3517
3396
  storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
3518
3397
  kind: z.ZodEnum<{
@@ -3595,6 +3474,18 @@ declare const KayPluginManifestV1: z.ZodObject<{
3595
3474
  kind: z.ZodLiteral<"record-id">;
3596
3475
  recordId: z.ZodString;
3597
3476
  }, z.core.$strict>], "kind">>>;
3477
+ frontDoor: z.ZodOptional<z.ZodObject<{
3478
+ id: z.ZodString;
3479
+ displayName: z.ZodString;
3480
+ resourcePicker: z.ZodOptional<z.ZodObject<{
3481
+ effect: z.ZodEnum<{
3482
+ selection: "selection";
3483
+ "resource-grant": "resource-grant";
3484
+ }>;
3485
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3486
+ successNote: z.ZodOptional<z.ZodString>;
3487
+ }, z.core.$strict>>;
3488
+ }, z.core.$strict>>;
3598
3489
  }, z.core.$strict>>>;
3599
3490
  storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
3600
3491
  kind: z.ZodEnum<{
@@ -5030,7 +4921,7 @@ declare const PluginCapabilityRefusalV1: z.ZodObject<{
5030
4921
  envelope: z.ZodObject<{}, z.core.$strict>;
5031
4922
  }, z.core.$strict>, z.ZodObject<{
5032
4923
  target: z.ZodLiteral<"kay.app">;
5033
- slug: z.ZodLiteral<"jev.use">;
4924
+ slug: z.ZodLiteral<"systemOne.use">;
5034
4925
  envelope: z.ZodObject<{}, z.core.$strict>;
5035
4926
  }, z.core.$strict>, z.ZodObject<{
5036
4927
  target: z.ZodLiteral<"kay.app">;
@@ -5766,18 +5657,10 @@ declare function ReturnType_2<Type extends TSchema>(type: Type, options?: TSchem
5766
5657
  /** Creates a deferred ReturnType action. */
5767
5658
  declare function ReturnTypeDeferred<Type extends TSchema>(type: Type, options?: TSchemaOptions): TReturnTypeDeferred<Type>;
5768
5659
 
5769
- /**
5770
- * ---
5771
- * responsibility: The closed vocabulary of why a model run failed, as plain data.
5772
- * owns:
5773
- * - {@link RunFailureReason}.
5774
- * does_not_own:
5775
- * - Classifying a failure into a reason (`./run-failure-classifier.ts`), or the engine's
5776
- * run-error mapping and recovery policy (`@herd/herd-agent`).
5777
- * ---
5778
- */
5779
- /** Provider-neutral factual category for a failed model run. */
5780
- declare type RunFailureReason = "auth" | "content_blocked" | "context_overflow" | "invalid_request" | "model_disabled" | "model_unavailable" | "network" | "overloaded" | "quota_exhausted" | "rate_limit" | "safeguard_block" | "seat_unpaid" | "server_error" | "stream_interrupted" | "timeout" | "unknown";
5660
+ /** Observed cause of a failed request or interrupted run. */
5661
+ declare const RUN_FAILURE_REASONS: readonly ["auth", "cancelled", "content_blocked", "context_overflow", "invalid_request", "model_disabled", "model_unavailable", "network", "organization_unavailable", "overloaded", "quota_exhausted", "rate_limit", "runtime_interrupted", "safeguard_block", "seat_unpaid", "server_error", "sign_in_required", "stream_interrupted", "timeout", "unknown"];
5662
+
5663
+ declare type RunFailureReason = (typeof RUN_FAILURE_REASONS)[number];
5781
5664
 
5782
5665
  declare namespace S {
5783
5666
  export {
@@ -11793,53 +11676,6 @@ declare const WithElementList_0: (input: string, result?: unknown[]) => [unknown
11793
11676
 
11794
11677
  declare function WithElementListMapping(input: [unknown, unknown, unknown] | []): unknown;
11795
11678
 
11796
- /**
11797
- * Run `use` against a live Jev client, falling back to `fallback` whenever Jev cannot serve the
11798
- * call. The wrapper exists so a feature can ASK for a typed decision without ever depending on
11799
- * one: `fallback` is required, and it runs whenever no provider in the user's Jev provider
11800
- * order holds a usable credential, the user has not granted `jev.use`, the branch exceeds its budget, `use` throws, or
11801
- * `use` declines by returning `undefined`. With valid options, this rejects on an explicit
11802
- * `signal` abort, reaching `deadlineAt`, or `fallback` itself throwing.
11803
- *
11804
- * ALWAYS PRESENT on the plugin API, on every host. A host that composed no Jev lane binds
11805
- * {@link createFallbackOnlyWithJev}, so a caller never branches on availability — branching is
11806
- * exactly how a fallback gets skipped.
11807
- *
11808
- * `jev` is a {@link JevClient} on the host's Jev model. It is valid only for the duration of
11809
- * the callback: a reference retained past `use`'s scope is refused at the transport, and an
11810
- * in-flight request is aborted when the call stops waiting.
11811
- * The callback itself is ABANDONED, not interrupted — a host cannot stop arbitrary JavaScript
11812
- * that is already running, so `use` must not perform side effects it would mind completing
11813
- * unobserved. The same applies to a running fallback: abort/deadline stops waiting for it but
11814
- * cannot interrupt its JavaScript.
11815
- */
11816
- export declare type WithJev = <T>(
11817
- /** Return `undefined` to decline (the fallback runs). A feature whose real result can itself be
11818
- * `undefined` should return `null` or its own wrapper type instead. */
11819
- use: (jev: JevClient) => T | undefined | PromiseLike<T | undefined>,
11820
- /** Required. The behaviour the feature has without Jev. */
11821
- fallback: () => T | PromiseLike<T>, options?: WithJevOptions) => Promise<T>;
11822
-
11823
- /** Per-call knobs for {@link WithJev}. Every field is optional; the host applies its own default
11824
- * budget when none is given, so the Jev branch is never unbounded. */
11825
- export declare interface WithJevOptions {
11826
- /**
11827
- * Explicit cancellation. Always propagates as a rejection; never substituted with `fallback`,
11828
- * because an aborted call means "stop", not "use the cheaper path".
11829
- */
11830
- readonly signal?: AbortSignal;
11831
- /** Bounds the Jev branch alone, measured from the call. */
11832
- readonly timeoutMs?: number;
11833
- /**
11834
- * Absolute epoch-ms hard deadline for the WHOLE call, `fallback` included. A deadline already
11835
- * passed rejects (like `signal`); one still ahead derives the Jev branch's budget from it and
11836
- * keeps a small reserve so `fallback` has a window to run.
11837
- */
11838
- readonly deadlineAt?: number;
11839
- /** Attribution slug for host usage accounting. Never sent to Jev. */
11840
- readonly purpose?: string;
11841
- }
11842
-
11843
11679
  declare function WithMapping(input: [unknown, unknown] | []): unknown;
11844
11680
 
11845
11681
  declare const WithNull: (input: string) => [unknown, string] | [];
package/dist/kay-agent.js CHANGED
@@ -797,80 +797,6 @@ function capability(spec) {
797
797
  return { ...spec };
798
798
  }
799
799
 
800
- // packages/plugin-sdk/dist/jev.js
801
- var JevCallError = class extends Error {
802
- transport;
803
- kind;
804
- /** The final attempt's HTTP status, when a response arrived. */
805
- status;
806
- constructor(init) {
807
- super(`Jev call failed on the ${init.transport} route: ${init.kind}${init.status === void 0 ? "" : ` (HTTP ${init.status})`}.`);
808
- this.name = "JevCallError";
809
- this.transport = init.transport;
810
- this.kind = init.kind;
811
- this.status = init.status;
812
- }
813
- };
814
- function createFallbackOnlyWithJev() {
815
- return async (_use, fallback, options = {}) => {
816
- if (typeof fallback !== "function") {
817
- throw new TypeError("withJev requires a `fallback` function as its second argument.");
818
- }
819
- const { signal, deadlineAt } = options;
820
- if (deadlineAt !== void 0 && !Number.isFinite(deadlineAt)) {
821
- throw new TypeError("withJev's `deadlineAt` must be a finite epoch-ms timestamp.");
822
- }
823
- const assertWithinBoundaries = () => {
824
- if (signal?.aborted === true) {
825
- throw signal.reason ?? new DOMException("Aborted", "AbortError");
826
- }
827
- if (deadlineAt !== void 0 && Date.now() >= deadlineAt) {
828
- throw new Error("withJev's deadline has passed.");
829
- }
830
- };
831
- assertWithinBoundaries();
832
- let timer;
833
- let onAbort;
834
- const stopped = new Promise((_resolve, reject) => {
835
- if (signal !== void 0) {
836
- onAbort = () => reject(signal.reason ?? new DOMException("Aborted", "AbortError"));
837
- signal.addEventListener("abort", onAbort, { once: true });
838
- }
839
- if (deadlineAt !== void 0) {
840
- const checkDeadline = () => {
841
- const remaining = deadlineAt - Date.now();
842
- if (remaining <= 0) {
843
- reject(new Error("withJev's deadline has passed."));
844
- } else {
845
- timer = setTimeout(checkDeadline, Math.min(remaining, 2147483647));
846
- }
847
- };
848
- checkDeadline();
849
- }
850
- });
851
- try {
852
- const result = await Promise.race([
853
- Promise.resolve().then(() => {
854
- assertWithinBoundaries();
855
- return fallback();
856
- }),
857
- stopped
858
- ]);
859
- assertWithinBoundaries();
860
- return result;
861
- } catch (error) {
862
- assertWithinBoundaries();
863
- throw error;
864
- } finally {
865
- if (timer !== void 0)
866
- clearTimeout(timer);
867
- if (signal !== void 0 && onAbort !== void 0) {
868
- signal.removeEventListener("abort", onAbort);
869
- }
870
- }
871
- };
872
- }
873
-
874
800
  // packages/herd-uri-extensions/dist/limits.js
875
801
  var MAX_BYTES = 50 * 1024 * 1024;
876
802
  var MAX_OUTPUT_CHARS = 5e5;
@@ -1748,7 +1674,6 @@ var KayAgentWebSessionError = class extends Error {
1748
1674
  export {
1749
1675
  DelegatedRefreshRejectedError,
1750
1676
  INTERACTION_CREDENTIAL_GUARD,
1751
- JevCallError,
1752
1677
  KayAgentCapabilityError,
1753
1678
  KayAgentWebSessionError,
1754
1679
  OBSERVATION_MIME,
@@ -1774,7 +1699,6 @@ export {
1774
1699
  compileUriClaim,
1775
1700
  contentDigest,
1776
1701
  contentResult,
1777
- createFallbackOnlyWithJev,
1778
1702
  createJsonApiClient,
1779
1703
  createOsascriptRunner,
1780
1704
  declareProducedResources,