@seljs/runtime 1.3.0-beta.28 → 1.3.0-beta.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,32 +1,108 @@
1
- import { SELError as SELError$1, SELEvaluationError } from "@seljs/common";
1
+ import { SELError as SELError$1, SELEvaluationError as SELEvaluationError$1, SELRuntimeError, SELStaticError } from "@seljs/common";
2
2
  //#region src/errors/errors.ts
3
3
  /**
4
- * Thrown when contract validation or execution fails.
5
- * Includes optional contract name and method name for context.
6
- * When the failure is a contract revert, the decoded revert reason and raw
7
- * revert data are exposed on `revertReason` / `revertData`, and `decodedError`
8
- * carries any matched custom-error name + args from the contract's ABI.
4
+ * Thrown when a contract-layer call fails after execution reached the
5
+ * chain (unknown method, ABI decode mismatch, etc.). Reverts are reported
6
+ * as {@link SELContractRevertError}, a subclass; batch-level Multicall3
7
+ * failures as {@link SELMulticallBatchError}.
9
8
  */
10
- var SELContractError = class extends SELError$1 {
9
+ var SELContractError = class extends SELRuntimeError {
11
10
  contractName;
12
11
  methodName;
13
- revertReason;
14
- revertData;
15
- decodedError;
16
12
  constructor(message, options) {
17
13
  super(message, { cause: options?.cause });
18
14
  this.contractName = options?.contractName;
19
15
  this.methodName = options?.methodName;
16
+ }
17
+ };
18
+ /**
19
+ * Thrown when a contract call reverted. Carries the decoded revert
20
+ * reason, raw revert data, and — when the selector matched a custom
21
+ * error in the contract's ABI — the decoded custom-error name and args.
22
+ */
23
+ var SELContractRevertError = class extends SELContractError {
24
+ revertReason;
25
+ revertData;
26
+ decodedError;
27
+ constructor(message, options) {
28
+ super(message, {
29
+ cause: options?.cause,
30
+ contractName: options?.contractName,
31
+ methodName: options?.methodName
32
+ });
20
33
  this.revertReason = options?.revertReason;
21
34
  this.revertData = options?.revertData;
22
35
  this.decodedError = options?.decodedError;
23
36
  }
24
37
  };
25
38
  /**
26
- * Thrown when a circular dependency is detected in the call dependency graph.
27
- * Indicates that call A depends on call B which depends on call A (directly or transitively).
39
+ * Thrown when a Multicall3 batch fails at the batch level — the aggregate
40
+ * call itself reverted, or individual calls could not be encoded/decoded.
41
+ * Individual sub-call reverts surface as {@link SELContractRevertError},
42
+ * not as this class.
43
+ */
44
+ var SELMulticallBatchError = class extends SELContractError {
45
+ failedCallIndex;
46
+ constructor(message, options) {
47
+ super(message, {
48
+ cause: options?.cause,
49
+ contractName: options?.contractName,
50
+ methodName: options?.methodName
51
+ });
52
+ this.failedCallIndex = options?.failedCallIndex;
53
+ }
54
+ };
55
+ /**
56
+ * Base for failures from the JSON-RPC transport or node — the call never
57
+ * reached the contract. Transport errors (HTTP, WebSocket, timeout) use
58
+ * {@link SELProviderTransportError}; node-reported JSON-RPC errors use
59
+ * {@link SELProviderRpcError}. Catch the base to retry safely against an
60
+ * alternate RPC.
61
+ */
62
+ var SELProviderError = class extends SELRuntimeError {};
63
+ /**
64
+ * Thrown when the transport layer (HTTP, WebSocket) or a timeout
65
+ * prevented the request from reaching the node.
66
+ */
67
+ var SELProviderTransportError = class extends SELProviderError {
68
+ httpStatus;
69
+ url;
70
+ body;
71
+ constructor(message, options) {
72
+ super(message, { cause: options?.cause });
73
+ this.httpStatus = options?.httpStatus;
74
+ this.url = options?.url;
75
+ this.body = options?.body;
76
+ }
77
+ };
78
+ /**
79
+ * Thrown when the node returned a JSON-RPC error response (rate limit,
80
+ * invalid params, unsupported method, user rejection, etc.).
28
81
  */
29
- var CircularDependencyError = class extends SELError$1 {
82
+ var SELProviderRpcError = class extends SELProviderError {
83
+ rpcCode;
84
+ rpcData;
85
+ method;
86
+ constructor(message, options) {
87
+ super(message, { cause: options?.cause });
88
+ this.rpcCode = options?.rpcCode;
89
+ this.rpcData = options?.rpcData;
90
+ this.method = options?.method;
91
+ }
92
+ };
93
+ /**
94
+ * Base for failures from the execution-framework layer that sits between
95
+ * parsed expressions and contract calls (dependency analysis, round
96
+ * planning). Concrete subclasses: {@link SELExecutionLimitError},
97
+ * {@link SELCircularDependencyError}.
98
+ */
99
+ var SELExecutionError = class extends SELRuntimeError {};
100
+ /**
101
+ * Thrown when a circular dependency is detected in the call dependency
102
+ * graph. Indicates that call A depends on call B which depends on call A
103
+ * (directly or transitively).
104
+ */
105
+ var SELCircularDependencyError = class extends SELExecutionError {
30
106
  callIds;
31
107
  constructor(message, options) {
32
108
  super(message, { cause: options?.cause });
@@ -37,7 +113,7 @@ var CircularDependencyError = class extends SELError$1 {
37
113
  * Thrown when execution limits are exceeded (maxRounds or maxCalls).
38
114
  * Prevents infinite loops and runaway execution.
39
115
  */
40
- var ExecutionLimitError = class extends SELError$1 {
116
+ var SELExecutionLimitError = class extends SELExecutionError {
41
117
  limitType;
42
118
  limit;
43
119
  actual;
@@ -49,40 +125,16 @@ var ExecutionLimitError = class extends SELError$1 {
49
125
  }
50
126
  };
51
127
  /**
52
- * Thrown when a Multicall3 batch execution fails.
53
- * Includes the failed call index and optional contract name/method name for context.
54
- * When an individual sub-call reverts, `revertReason` / `revertData` carry the
55
- * decoded reason text and raw return data, and `decodedError` carries any
56
- * matched custom-error name + args from the contract's ABI.
57
- */
58
- var MulticallBatchError = class extends SELError$1 {
59
- failedCallIndex;
60
- contractName;
61
- methodName;
62
- revertReason;
63
- revertData;
64
- decodedError;
65
- constructor(message, options) {
66
- super(message, { cause: options?.cause });
67
- this.failedCallIndex = options?.failedCallIndex;
68
- this.contractName = options?.contractName;
69
- this.methodName = options?.methodName;
70
- this.revertReason = options?.revertReason;
71
- this.revertData = options?.revertData;
72
- this.decodedError = options?.decodedError;
73
- }
74
- };
75
- /**
76
128
  * Thrown when the provided client fails validation or is misconfigured.
77
129
  */
78
- var SELClientError = class extends SELError$1 {
130
+ var SELClientError = class extends SELStaticError {
79
131
  name = "SELClientError";
80
132
  };
81
133
  /**
82
134
  * Thrown when lint rules with error severity detect violations.
83
135
  * Contains the diagnostics that caused the failure.
84
136
  */
85
- var SELLintError = class extends SELError$1 {
137
+ var SELLintError = class extends SELStaticError {
86
138
  diagnostics;
87
139
  constructor(diagnostics, options) {
88
140
  const messages = diagnostics.map((d) => d.message).join("; ");
@@ -91,4 +143,4 @@ var SELLintError = class extends SELError$1 {
91
143
  }
92
144
  };
93
145
  //#endregion
94
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError$1 as SELError, SELEvaluationError, SELLintError };
146
+ export { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError$1 as SELError, SELEvaluationError$1 as SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntimeError, SELStaticError };
@@ -1 +1 @@
1
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors.mjs";
1
+ import { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntimeError, SELStaticError } from "./errors.mjs";
@@ -38,14 +38,14 @@ var MulticallBatcher = class {
38
38
  data,
39
39
  blockNumber
40
40
  });
41
- if (!response.data) throw new require_errors.MulticallBatchError("Multicall3 aggregate3 returned no data");
41
+ if (!response.data) throw new require_errors.SELMulticallBatchError("Multicall3 aggregate3 returned no data");
42
42
  return ox.AbiFunction.decodeResult(require_multicall.multicall3Function, response.data).map((r) => ({
43
43
  success: r.success,
44
44
  returnData: r.returnData
45
45
  }));
46
46
  } catch (error) {
47
- if (error instanceof require_errors.MulticallBatchError) throw error;
48
- throw new require_errors.MulticallBatchError("Multicall3 aggregate3 call failed", { cause: error });
47
+ if (error instanceof require_errors.SELMulticallBatchError) throw error;
48
+ throw new require_errors.SELMulticallBatchError("Multicall3 aggregate3 call failed", { cause: error });
49
49
  }
50
50
  }
51
51
  };
@@ -1,5 +1,5 @@
1
1
  import { multicall3Function } from "./multicall.mjs";
2
- import { MulticallBatchError } from "../errors/errors.mjs";
2
+ import { SELMulticallBatchError } from "../errors/errors.mjs";
3
3
  import "../errors/index.mjs";
4
4
  import { createLogger } from "../debug.mjs";
5
5
  import { AbiFunction } from "ox";
@@ -37,14 +37,14 @@ var MulticallBatcher = class {
37
37
  data,
38
38
  blockNumber
39
39
  });
40
- if (!response.data) throw new MulticallBatchError("Multicall3 aggregate3 returned no data");
40
+ if (!response.data) throw new SELMulticallBatchError("Multicall3 aggregate3 returned no data");
41
41
  return AbiFunction.decodeResult(multicall3Function, response.data).map((r) => ({
42
42
  success: r.success,
43
43
  returnData: r.returnData
44
44
  }));
45
45
  } catch (error) {
46
- if (error instanceof MulticallBatchError) throw error;
47
- throw new MulticallBatchError("Multicall3 aggregate3 call failed", { cause: error });
46
+ if (error instanceof SELMulticallBatchError) throw error;
47
+ throw new SELMulticallBatchError("Multicall3 aggregate3 call failed", { cause: error });
48
48
  }
49
49
  }
50
50
  };
@@ -4,6 +4,7 @@ require("../errors/index.cjs");
4
4
  const require_debug = require("../debug.cjs");
5
5
  const require_decode_revert = require("./decode-revert.cjs");
6
6
  let ox = require("ox");
7
+ let _seljs_common = require("@seljs/common");
7
8
  //#region src/execution/round-executor.ts
8
9
  const debug = require_debug.createLogger("execute:round");
9
10
  var RoundExecutor = class {
@@ -23,7 +24,7 @@ var RoundExecutor = class {
23
24
  failedCallContract = call.contract;
24
25
  failedCallMethod = call.method;
25
26
  const contract = this.contracts.get(call.contract);
26
- if (!contract) throw new Error(`No ABI registered for contract "${call.contract}"`);
27
+ if (!contract) throw new _seljs_common.SELConfigError(`No ABI registered for contract "${call.contract}"`, { setting: "abi" });
27
28
  const resolvedArgs = this.resolveArgs(call.args, context);
28
29
  encodedCalls.push({
29
30
  target: contract.address,
@@ -32,8 +33,8 @@ var RoundExecutor = class {
32
33
  });
33
34
  }
34
35
  } catch (error) {
35
- if (error instanceof require_errors.MulticallBatchError) throw error;
36
- throw new require_errors.MulticallBatchError("Failed to encode call", {
36
+ if (error instanceof require_errors.SELMulticallBatchError || error instanceof _seljs_common.SELConfigError) throw error;
37
+ throw new require_errors.SELMulticallBatchError("Failed to encode call", {
37
38
  cause: error,
38
39
  failedCallIndex,
39
40
  contractName: failedCallContract,
@@ -44,13 +45,12 @@ var RoundExecutor = class {
44
45
  const results = await this.batcher.executeBatch(encodedCalls, context.blockNumber);
45
46
  for (const [i, call] of round.calls.entries()) {
46
47
  const contract = this.contracts.get(call.contract);
47
- if (!contract) throw new Error(`No ABI registered for contract "${call.contract}"`);
48
+ if (!contract) throw new _seljs_common.SELConfigError(`No ABI registered for contract "${call.contract}"`, { setting: "abi" });
48
49
  const result = results[i];
49
50
  if (!result?.success) {
50
51
  const decoded = require_decode_revert.decodeRevertData(result?.returnData ?? "0x", contract.abi);
51
52
  const suffix = decoded.reason ? ` — ${decoded.reason}` : "";
52
- throw new require_errors.MulticallBatchError(`Call failed: ${call.contract}.${call.method}${suffix}`, {
53
- failedCallIndex: i,
53
+ throw new require_errors.SELContractRevertError(`Call reverted: ${call.contract}.${call.method}${suffix}`, {
54
54
  contractName: call.contract,
55
55
  methodName: call.method,
56
56
  revertReason: decoded.reason,
@@ -1,8 +1,9 @@
1
- import { MulticallBatchError } from "../errors/errors.mjs";
1
+ import { SELContractRevertError, SELMulticallBatchError } from "../errors/errors.mjs";
2
2
  import "../errors/index.mjs";
3
3
  import { createLogger } from "../debug.mjs";
4
4
  import { decodeRevertData } from "./decode-revert.mjs";
5
5
  import { AbiFunction } from "ox";
6
+ import { SELConfigError } from "@seljs/common";
6
7
  //#region src/execution/round-executor.ts
7
8
  const debug = createLogger("execute:round");
8
9
  var RoundExecutor = class {
@@ -22,7 +23,7 @@ var RoundExecutor = class {
22
23
  failedCallContract = call.contract;
23
24
  failedCallMethod = call.method;
24
25
  const contract = this.contracts.get(call.contract);
25
- if (!contract) throw new Error(`No ABI registered for contract "${call.contract}"`);
26
+ if (!contract) throw new SELConfigError(`No ABI registered for contract "${call.contract}"`, { setting: "abi" });
26
27
  const resolvedArgs = this.resolveArgs(call.args, context);
27
28
  encodedCalls.push({
28
29
  target: contract.address,
@@ -31,8 +32,8 @@ var RoundExecutor = class {
31
32
  });
32
33
  }
33
34
  } catch (error) {
34
- if (error instanceof MulticallBatchError) throw error;
35
- throw new MulticallBatchError("Failed to encode call", {
35
+ if (error instanceof SELMulticallBatchError || error instanceof SELConfigError) throw error;
36
+ throw new SELMulticallBatchError("Failed to encode call", {
36
37
  cause: error,
37
38
  failedCallIndex,
38
39
  contractName: failedCallContract,
@@ -43,13 +44,12 @@ var RoundExecutor = class {
43
44
  const results = await this.batcher.executeBatch(encodedCalls, context.blockNumber);
44
45
  for (const [i, call] of round.calls.entries()) {
45
46
  const contract = this.contracts.get(call.contract);
46
- if (!contract) throw new Error(`No ABI registered for contract "${call.contract}"`);
47
+ if (!contract) throw new SELConfigError(`No ABI registered for contract "${call.contract}"`, { setting: "abi" });
47
48
  const result = results[i];
48
49
  if (!result?.success) {
49
50
  const decoded = decodeRevertData(result?.returnData ?? "0x", contract.abi);
50
51
  const suffix = decoded.reason ? ` — ${decoded.reason}` : "";
51
- throw new MulticallBatchError(`Call failed: ${call.contract}.${call.method}${suffix}`, {
52
- failedCallIndex: i,
52
+ throw new SELContractRevertError(`Call reverted: ${call.contract}.${call.method}${suffix}`, {
53
53
  contractName: call.contract,
54
54
  methodName: call.method,
55
55
  revertReason: decoded.reason,
package/dist/index.cjs CHANGED
@@ -7,14 +7,21 @@ const require_environment = require("./environment/environment.cjs");
7
7
  require("./environment/index.cjs");
8
8
  const require_factory = require("./factory.cjs");
9
9
  let _seljs_common = require("@seljs/common");
10
- exports.CircularDependencyError = require_errors.CircularDependencyError;
11
- exports.ExecutionLimitError = require_errors.ExecutionLimitError;
12
- exports.MulticallBatchError = require_errors.MulticallBatchError;
10
+ exports.SELCircularDependencyError = require_errors.SELCircularDependencyError;
13
11
  exports.SELClientError = require_errors.SELClientError;
14
12
  exports.SELContractError = require_errors.SELContractError;
13
+ exports.SELContractRevertError = require_errors.SELContractRevertError;
15
14
  exports.SELError = _seljs_common.SELError;
16
15
  exports.SELEvaluationError = _seljs_common.SELEvaluationError;
16
+ exports.SELExecutionError = require_errors.SELExecutionError;
17
+ exports.SELExecutionLimitError = require_errors.SELExecutionLimitError;
17
18
  exports.SELLintError = require_errors.SELLintError;
19
+ exports.SELMulticallBatchError = require_errors.SELMulticallBatchError;
20
+ exports.SELProviderError = require_errors.SELProviderError;
21
+ exports.SELProviderRpcError = require_errors.SELProviderRpcError;
22
+ exports.SELProviderTransportError = require_errors.SELProviderTransportError;
18
23
  exports.SELRuntime = require_environment.SELRuntime;
24
+ exports.SELRuntimeError = _seljs_common.SELRuntimeError;
25
+ exports.SELStaticError = _seljs_common.SELStaticError;
19
26
  exports.createSEL = require_factory.createSEL;
20
27
  exports.validateClient = require_client.validateClient;
package/dist/index.d.cts CHANGED
@@ -2,7 +2,7 @@ import { SELClient, validateClient } from "./environment/client.cjs";
2
2
  import { MulticallOptions, SELLimits, SELRuntimeConfig } from "./environment/types.cjs";
3
3
  import { EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionResult } from "./execution/types.cjs";
4
4
  import { SELRuntime } from "./environment/environment.cjs";
5
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.cjs";
5
+ import { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntimeError, SELStaticError } from "./errors/errors.cjs";
6
6
  import { createSEL } from "./factory.cjs";
7
7
  import { CallArgument, CollectedCall, DependencyGraph, ExecutionPlan, ExecutionRound, GraphNode } from "./analysis/types.cjs";
8
- export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELRuntime, SELRuntimeConfig, createSEL, validateClient };
8
+ export { CallArgument, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallOptions, SELCircularDependencyError, SELClient, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLimits, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntime, SELRuntimeConfig, SELRuntimeError, SELStaticError, createSEL, validateClient };
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { SELClient, validateClient } from "./environment/client.mjs";
2
2
  import { MulticallOptions, SELLimits, SELRuntimeConfig } from "./environment/types.mjs";
3
3
  import { EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionResult } from "./execution/types.mjs";
4
4
  import { SELRuntime } from "./environment/environment.mjs";
5
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.mjs";
5
+ import { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntimeError, SELStaticError } from "./errors/errors.mjs";
6
6
  import { createSEL } from "./factory.mjs";
7
7
  import { CallArgument, CollectedCall, DependencyGraph, ExecutionPlan, ExecutionRound, GraphNode } from "./analysis/types.mjs";
8
- export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELRuntime, SELRuntimeConfig, createSEL, validateClient };
8
+ export { CallArgument, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallOptions, SELCircularDependencyError, SELClient, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLimits, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntime, SELRuntimeConfig, SELRuntimeError, SELStaticError, createSEL, validateClient };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.mjs";
1
+ import { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntimeError, SELStaticError } from "./errors/errors.mjs";
2
2
  import "./errors/index.mjs";
3
3
  import { validateClient } from "./environment/client.mjs";
4
4
  import { SELRuntime } from "./environment/environment.mjs";
5
5
  import "./environment/index.mjs";
6
6
  import { createSEL } from "./factory.mjs";
7
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELRuntime, createSEL, validateClient };
7
+ export { SELCircularDependencyError, SELClientError, SELContractError, SELContractRevertError, SELError, SELEvaluationError, SELExecutionError, SELExecutionLimitError, SELLintError, SELMulticallBatchError, SELProviderError, SELProviderRpcError, SELProviderTransportError, SELRuntime, SELRuntimeError, SELStaticError, createSEL, validateClient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seljs/runtime",
3
- "version": "1.3.0-beta.28",
3
+ "version": "1.3.0-beta.32",
4
4
  "repository": {
5
5
  "url": "https://github.com/abinnovision/seljs"
6
6
  },
@@ -50,13 +50,14 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@marcbachmann/cel-js": "^7.5.3",
53
- "@seljs/checker": "1.3.0-beta.28",
54
- "@seljs/common": "1.3.0-beta.28",
55
- "@seljs/env": "1.3.0-beta.28",
53
+ "@seljs/checker": "1.3.0-beta.32",
54
+ "@seljs/common": "1.3.0-beta.32",
55
+ "@seljs/env": "1.3.0-beta.32",
56
56
  "@seljs/schema": "1.2.0",
57
- "@seljs/types": "1.3.0-beta.28",
57
+ "@seljs/types": "1.3.0-beta.32",
58
58
  "debug": "^4.4.3",
59
- "ox": "^0.14.10"
59
+ "ox": "^0.14.10",
60
+ "viem": "^2.47.6"
60
61
  },
61
62
  "devDependencies": {
62
63
  "@abinnovision/eslint-config-base": "^3.2.2",