Skip to content

Commit 2f710f5

Browse files
committed
fix(ci): avoid deprecated sdk import in canvas cli
1 parent 42e9504 commit 2f710f5

2 files changed

Lines changed: 37 additions & 5 deletions

File tree

extensions/canvas/src/cli.ts

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ import {
88
resolveNodeFromNodeList,
99
type NodeMatchCandidate,
1010
} from "openclaw/plugin-sdk/gateway-runtime";
11-
import {
12-
parseStrictFiniteNumber,
13-
parseStrictPositiveInteger,
14-
} from "openclaw/plugin-sdk/infra-runtime";
1511
import { defaultRuntime } from "openclaw/plugin-sdk/runtime";
1612
import {
1713
normalizeLowercaseStringOrEmpty,
@@ -74,6 +70,41 @@ export type CanvasCliDependencies = {
7470
type CanvasNodeCandidate = NodeMatchCandidate;
7571
type CanvasSnapshotRequestFormat = "png" | "jpeg";
7672

73+
function normalizeNumericString(value: string): string | undefined {
74+
const trimmed = value.trim();
75+
return trimmed ? trimmed : undefined;
76+
}
77+
78+
function parseStrictPositiveInteger(value: unknown): number | undefined {
79+
if (typeof value === "number") {
80+
return Number.isSafeInteger(value) && value > 0 ? value : undefined;
81+
}
82+
if (typeof value !== "string") {
83+
return undefined;
84+
}
85+
const normalized = normalizeNumericString(value);
86+
if (!normalized || !/^\+?\d+$/.test(normalized)) {
87+
return undefined;
88+
}
89+
const parsed = Number(normalized);
90+
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : undefined;
91+
}
92+
93+
function parseStrictFiniteNumber(value: unknown): number | undefined {
94+
if (typeof value === "number") {
95+
return Number.isFinite(value) ? value : undefined;
96+
}
97+
if (typeof value !== "string") {
98+
return undefined;
99+
}
100+
const normalized = normalizeNumericString(value);
101+
if (!normalized || !/^[+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:e[+-]?\d+)?$/i.test(normalized)) {
102+
return undefined;
103+
}
104+
const parsed = Number(normalized);
105+
return Number.isFinite(parsed) ? parsed : undefined;
106+
}
107+
77108
function parseCanvasSnapshotRequestFormat(raw: unknown): CanvasSnapshotRequestFormat {
78109
const format = normalizeLowercaseStringOrEmpty(normalizeOptionalString(raw) ?? "jpg");
79110
switch (format) {

src/config/sessions/store-cache.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,8 @@ function cloneJsonLikeValue<T>(value: T): T {
196196
return value;
197197
}
198198
if (Array.isArray(value)) {
199-
const cloned = new Array(value.length);
199+
const cloned: unknown[] = [];
200+
cloned.length = value.length;
200201
for (let index = 0; index < value.length; index += 1) {
201202
if (!(index in value)) {
202203
continue;

0 commit comments

Comments
 (0)