Execution Context
Execution Context protocol schemas
Execution Context Schema
Defines the runtime context that flows from HTTP request → data operations.
This is the "identity + environment" envelope that every data operation can carry.
Design:
-
All fields are optional for backward compatibility
-
isSystembypasses permission checks (for internal/migration operations) -
transactioncarries the database transaction handle for atomicity -
traceIdenables distributed tracing across microservices
Usage:
engine.find('account', { context: { userId: '...', tenantId: '...' } })
Source: packages/spec/src/kernel/execution-context.zod.ts
TypeScript Usage
import { ExecutionContext } from '@objectstack/spec/kernel';
import type { ExecutionContext } from '@objectstack/spec/kernel';
// Validate data
const result = ExecutionContext.parse(data);ExecutionContext
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| userId | string | optional | |
| tenantId | string | optional | |
| roles | string[] | ✅ | |
| permissions | string[] | ✅ | |
| isSystem | boolean | ✅ | |
| accessToken | string | optional | |
| transaction | any | optional | |
| traceId | string | optional |