Feat v0.7.12 batch.exec concurrent execution primitive

Add batch.exec(callables, timeout=10) — a general-purpose concurrent
execution primitive that runs arbitrary Starlark callables in parallel,
each in its own thread with independent step budget. Enables extensions
to fan out library function calls (frozen exports from lib.require)
without decomposing them back into raw http.post parameters.

New permission: batch.exec. Max 8 callables, timeout 1-30s.
Nesting prohibited via atomic flag. 12 new tests, all pass with -race.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 23:52:01 +00:00
parent c2d52f50c5
commit 8957e99610
7 changed files with 981 additions and 5 deletions

View File

@@ -36,6 +36,7 @@ const (
ExtPermConnectionsRead = "connections.read"
ExtPermTriggersRegister = "triggers.register"
ExtPermRealtimePublish = "realtime.publish"
ExtPermBatchExec = "batch.exec"
)
// ValidExtensionPermissions is the set of recognized permission keys.
@@ -50,6 +51,7 @@ var ValidExtensionPermissions = map[string]bool{
ExtPermConnectionsRead: true,
ExtPermTriggersRegister: true,
ExtPermRealtimePublish: true,
ExtPermBatchExec: true,
}
// ── Extension Permission Model ───────────────