Skip to main content

UpsertComputeTriggerInput

Bind a trigger to a module: a tick loop (tick_hz), a model/compute event subscription, or a client-invokable export.

input UpsertComputeTriggerInput {
appId: BigInt!
moduleName: String!
triggerType: String!
tickHz: Float
onEvent: String
functionName: String
containerTypeName: String
propertyKey: String
eventName: String
debounceMs: Int
exportName: String
invokePolicyJson: String
contractJson: String
}

Fields

UpsertComputeTriggerInput.appId ● BigInt! non-null scalar

The app (tenant).

UpsertComputeTriggerInput.moduleName ● String! non-null scalar

The module (by name) this trigger drives.

UpsertComputeTriggerInput.triggerType ● String! non-null scalar

Trigger type: tick | event | invoke.

UpsertComputeTriggerInput.tickHz ● Float scalar

For tick triggers: the tick rate in Hz (clamped by the app policy's maxTickHz).

UpsertComputeTriggerInput.onEvent ● String scalar

For event triggers: function_invoked | property_changed | container_created | compute_event.

UpsertComputeTriggerInput.functionName ● String scalar

Event filter: only this model function name.

UpsertComputeTriggerInput.containerTypeName ● String scalar

Event filter: only this container type.

UpsertComputeTriggerInput.propertyKey ● String scalar

Event filter: only this property key.

UpsertComputeTriggerInput.eventName ● String scalar

Event filter: only compute events with this name (on_event=compute_event).

UpsertComputeTriggerInput.debounceMs ● Int scalar

Debounce/coalesce window in ms for event triggers.

UpsertComputeTriggerInput.exportName ● String scalar

For invoke triggers: the exported guest function name computeInvoke routes to.

UpsertComputeTriggerInput.invokePolicyJson ● String scalar

For invoke triggers: JSON authority tree gating who may invoke (same shape as game-model function invoke policies). Null = app admins only.

UpsertComputeTriggerInput.contractJson ● String scalar

For invoke triggers: optional typed contract (JSON): {"params": {name: {type, required?, description?}}, "result": {...}, "description"?}. Types: int|float|string|bool|object|array. Declared params are validated on computeInvoke BEFORE the sandbox runs (required presence + type; undeclared params pass through); result is documentation/codegen only. Null = no validation.

Member Of

computeUpsertTrigger mutation