Skip to content

Commit 23a4a8a

Browse files
committed
chore(changeset): declare the types export a widening and take minor for types
@objectstack/types gains the isSandboxOwnFault export, a public-surface widening, so the changeset carries the Clause-② yes (widening) line and types moves to minor. core stays patch. Claude-Session: https://claude.ai/code/session_01ADzJtzYTLUfgrRZHxkagkX Co-authored-by: Claude <noreply@anthropic.com>
1 parent bb09729 commit 23a4a8a

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

‎.changeset/22741-sandbox-fault-import-row.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
22
'@objectstack/core': patch
3-
'@objectstack/types': patch
3+
'@objectstack/types': minor
44
---
55

66
An import row for the sandbox's own fault reads the create door's fault sentence, not the runner's diagnostic text (#22741)
77

8+
Clause-②: yes (widening)
9+
810
The QuickJS runner raises some `SandboxError`s itself: a hook or action body that runs past its CPU budget or past the wall-clock ceiling, calls a capability it was not granted, or meets a failed install or marshal. These carry no `innerMessage`. `POST /api/v1/data/:object` and `/createMany` answer them `500 INTERNAL_ERROR` `Internal server error`. The sync `/import` row and the `/import/jobs` stored row answered the runner's text instead, for example `hook 'guard' exceeded CPU budget of 50ms (after 3 pump iterations)`.
911

1012
- **`@objectstack/types`** exports `isSandboxOwnFault(error)`. It is `true` for an error whose `name` is `'SandboxError'` and whose `innerMessage` is not a non-empty string, which is how the runner marks the faults it raises itself. A body's refusal or crash carries `innerMessage` and answers `false`.

0 commit comments

Comments
 (0)