Skip to content

Commit ac60eeb

Browse files
grypezclaude
andcommitted
fix(kernel-utils): allow passable default guards for async section interfaces
The async interface guard synthesized for a sheaf section must admit implicit exo methods like __getDescription__ that @endo/exo adds to every discoverable exo. Without passable default guards, those methods are rejected at dispatch time, preventing sheafs from being sent across a CapTP connection. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 2e3f5b1 commit ac60eeb

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

packages/kernel-utils/src/sheaf/sheafify.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,12 @@ export const sheafify = <
224224
const resolvedGuard = guard;
225225

226226
const asyncMethodGuards = asyncifyMethodGuards(resolvedGuard);
227-
const asyncGuard = M.interface(`${name}:section`, asyncMethodGuards);
227+
const asyncGuard =
228+
schema === undefined
229+
? M.interface(`${name}:section`, asyncMethodGuards)
230+
: M.interface(`${name}:section`, asyncMethodGuards, {
231+
defaultGuards: 'passable',
232+
});
228233

229234
let revoked = false;
230235

0 commit comments

Comments
 (0)