@mcp-b/do-runtime 0.1.0 → 0.1.2

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.
@@ -348,6 +348,21 @@ export interface ActorContainer {
348
348
  * no container and carries no state into continuations.
349
349
  */
350
350
  isCurrentSlice(): boolean;
351
+ /**
352
+ * Whether this actor's input lock is on the current invocation stack.
353
+ *
354
+ * ← `IoContext::hasCurrent()`. Wider than `isCurrentSlice()`: a slice ends
355
+ * when its synchronous body returns, but the lock it took drains the whole
356
+ * microtask checkpoint (§1.2), so actor code chained one promise past a gated
357
+ * resumption is lock-holding without being slice-current. That window is
358
+ * where a host stub still has a caller to identify: an outbound call made
359
+ * there must resume through the caller's `awaitIo`, or the code after it
360
+ * comes back with no input lock and its next storage call throws. A host
361
+ * that resolves callers with `isCurrentSlice()` alone routes exactly those
362
+ * calls ungated, which is how the loss stays invisible until three layers
363
+ * later.
364
+ */
365
+ hasCurrent(): boolean;
351
366
  /**
352
367
  * Construct the instance under workerd's boot semantics: the input gate is
353
368
  * held for the constructor's synchronous slice, and boot-time
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-b/do-runtime",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Cloudflare's Durable Object runtime (workerd), ported to TypeScript: actors with input/output gates, SQLite storage, facets and alarms, running in the browser and in Node.",
5
5
  "keywords": [
6
6
  "actors",