Escape Layer Reference¶
External integrations with capability-based security.
Escape Definition¶
escape SendEmail {
capability Email.Send
function send(to: Email, body: String) -> Result[Void, Error]
nondeterministic: true
timeout: 5s
adapter typescript {
implementation "sendgrid"
configuration {
apiKey: env.SENDGRID_API_KEY
}
}
}
Capabilities¶
Common capabilities: - Email.Send - Database.Query - FileSystem.Read - FileSystem.Write - Network.HTTP - Payment.Process
Function Attributes¶
nondeterministic: true // Has side effects or randomness
timeout: 5s // Maximum execution time
retries: 3 // Retry attempts
Adapters¶
TypeScript¶
adapter typescript {
implementation "package-name"
function "functionName"
configuration {
apiKey: env.API_KEY
}
}
Rust¶
Python¶
Sandbox Constraints¶
escape FileSystem {
function write(path: String) -> Result[Void, Error]
sandbox {
allowedPaths: ["/tmp", "/var/app"]
maxFileSize: 10MB
}
}