mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-22 18:35:21 -06:00
964c8c84c1
* refactor: consolidate coercion ownership Centralize four canonical coercion helpers, migrate exact core and plugin duplicates through narrow Plugin SDK facades, and enforce declaration and plugin-normalization ownership boundaries. The sweep adds eight focused SDK exports while deleting more production and tooling code than it adds. User-visible behavior is unchanged except for safer equivalent object and UI parsing at existing boundaries. * fix: guard integer option ownership Register resolveIntegerOption with the canonical function owner and extend the declaration-guard fixture so future local duplicates fail validation. * fix: keep integer helpers on numeric facade Remove the unshipped duplicate string-coerce exports and route every affected plugin consumer through the existing number-runtime contract. * fix: point numeric coercion to number runtime Make boundary and declaration diagnostics recommend the canonical numeric facade, with failing-before coverage for both guidance paths.
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
// Shared error graph/format helpers without the full infra-runtime surface.
|
|
|
|
/** Stable error code for subagent APIs called outside an authenticated gateway request. */
|
|
export const SUBAGENT_RUNTIME_REQUEST_SCOPE_ERROR_CODE = "OPENCLAW_SUBAGENT_RUNTIME_REQUEST_SCOPE";
|
|
/** Default message paired with `SUBAGENT_RUNTIME_REQUEST_SCOPE_ERROR_CODE`. */
|
|
export const SUBAGENT_RUNTIME_REQUEST_SCOPE_ERROR_MESSAGE =
|
|
"Plugin runtime subagent methods are only available during a gateway request.";
|
|
|
|
/** Error thrown when request-scoped plugin runtime APIs are used outside their scope. */
|
|
export class RequestScopedSubagentRuntimeError extends Error {
|
|
code = SUBAGENT_RUNTIME_REQUEST_SCOPE_ERROR_CODE;
|
|
|
|
constructor(message = SUBAGENT_RUNTIME_REQUEST_SCOPE_ERROR_MESSAGE) {
|
|
super(message);
|
|
this.name = "RequestScopedSubagentRuntimeError";
|
|
}
|
|
}
|
|
|
|
export {
|
|
collectErrorGraphCandidates,
|
|
extractErrorCode,
|
|
formatErrorMessage,
|
|
formatUncaughtError,
|
|
readErrorName,
|
|
toErrorObject,
|
|
} from "../infra/errors.js";
|
|
export {
|
|
coerceErrorMessage,
|
|
toStringifiedError,
|
|
} from "../../packages/normalization-core/src/error-coercion.js";
|
|
export { PlatformMessageNotDispatchedError } from "../infra/outbound/deliver-types.js";
|
|
export { isApprovalNotFoundError } from "../infra/approval-errors.ts";
|