APIs

I/O and runtime

Connector-bound calls record their intent in Studio and deliver for real only when Live I/O is on and a matching connector is wired. Simulated results include simulated: true.

HTTP can take an explicit URL (allowlisted when live). Database calls always target a connector id, never a raw DSN. Parameters are bound — do not interpolate SQL.

const rows = sirius.db.query("warehouse", "select name from sites where id = ?", [id]);
const ref = sirius.http.get({ url: "https://example.org/sites/" + id });
sirius.store.put("message", "site", id);
if (sirius.dedupe.check(sirius.idempotency.key(msg.raw))) {
  result = { message: msg.raw };
} else {
  sirius.route.push(sirius.json.decode(ref.body));
  result = { message: rows.rows };
}

Scopes for sirius.store: "message", "component", "global". Tables are seeded from env keys table:<id> in Studio and from managed lookup resources at runtime.

This page lists 51 symbols. The same catalog drives Studio autocomplete.

See also: Overview · Core · Standards · Devices

sirius.http

SymbolSignatureReturnsSummary
sirius.http.deletesirius.http.delete({ url, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP DELETE via a Sirius destination connector
sirius.http.getsirius.http.get({ url, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP GET via a Sirius destination connector
sirius.http.headsirius.http.head({ url, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP HEAD via a Sirius destination connector
sirius.http.optionssirius.http.options({ url, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP OPTIONS via a Sirius destination connector
sirius.http.patchsirius.http.patch({ url, body?, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP PATCH via a Sirius destination connector
sirius.http.postsirius.http.post({ url, body?, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP POST via a Sirius destination connector
sirius.http.putsirius.http.put({ url, body?, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP PUT via a Sirius destination connector
sirius.http.tracesirius.http.trace({ url, headers?, timeout_ms?, destination? }){ ok, status, body, simulated }HTTP TRACE via a Sirius destination connector

sirius.db

SymbolSignatureReturnsSummary
sirius.db.execsirius.db.exec(connector, sql, params?, options?){ columns, rows, rows_affected, truncated }run a SQL write against a configured relational connector (alias of db.query that reads naturally for writes)
sirius.db.pingsirius.db.ping(connector){ ok, driver, connector_kind, elapsed_ms, error }verify connectivity to a configured relational connector without running a statement (reuses the pooled connection)
sirius.db.querysirius.db.query(connector, sql, params?, options?){ columns, rows, rows_affected, truncated }run a SQL statement (read OR write) against a configured relational connector; params are bound

sirius.file

SymbolSignatureReturnsSummary
sirius.file.readsirius.file.read({ path, source? }){ ok, body, simulated }read a file via a Sirius File source connector
sirius.file.writesirius.file.write({ path, body, destination? }){ ok, simulated }write a file via a Sirius File destination connector

sirius.net

SymbolSignatureReturnsSummary
sirius.net.ftp.getsirius.net.ftp.get({ host, path, destination? }){ ok, body, simulated }fetch a file over FTP via a Sirius connector
sirius.net.ftps.getsirius.net.ftps.get({ host, path, destination? }){ ok, body, simulated }fetch a file over FTPS via a Sirius connector
sirius.net.sftp.getsirius.net.sftp.get({ host, path, destination? }){ ok, body, simulated }fetch a file over SFTP via a Sirius connector
sirius.net.smtp.sendsirius.net.smtp.send({ host, from, to, subject?, body?, destination? }){ ok, simulated }send mail over SMTP via a Sirius connector
sirius.net.tcp.connectsirius.net.tcp.connect({ host, port, body?, read?, destination? }){ ok, body, simulated }open a raw TCP peer and send bytes (optionally read a framed response)

sirius.smtp

SymbolSignatureReturnsSummary
sirius.smtp.sendsirius.smtp.send({ host, from, to, subject?, body?, destination? }){ ok, simulated }send mail via a Sirius SMTP destination connector

sirius.route

SymbolSignatureReturnsSummary
sirius.route.filtersirius.route.filter(ok, reason?)boolkeep the message only when ok is true, else reject with reason
sirius.route.pushsirius.route.push(message)queue a message for delivery (collected into result)
sirius.route.replysirius.route.reply(message)reply on the inbound source (source-response only)

sirius.emit

SymbolSignatureReturnsSummary
sirius.emitsirius.emit(message)deliver a message (collected into result)

sirius.output

SymbolSignatureReturnsSummary
sirius.outputsirius.output(seed?)message handlecreate a mutable outbound message (seeded from the inbound body), registered as an output; used after a native migration (setBody/setProperty/route handles)

sirius.done

SymbolSignatureReturnsSummary
sirius.donesirius.done()resultcollect the run outcome into the result contract (routed/registered outputs as fan-out, else the current message); the trailing call a migrated script can end with

sirius.reject

SymbolSignatureReturnsSummary
sirius.rejectsirius.reject(reason?)falsedrop the current message with a reason (returns false)

sirius.store

SymbolSignatureReturnsSummary
sirius.store.deletesirius.store.delete(scope, key)remove a key from a scope
sirius.store.getsirius.store.get(scope, key)valueread a value from a scope (message/component/global)
sirius.store.hassirius.store.has(scope, key)booltest presence of a key in a scope
sirius.store.keyssirius.store.keys(scope)list of stringslist keys present in a scope
sirius.store.putsirius.store.put(scope, key, value)valuewrite a value to a scope

sirius.table

SymbolSignatureReturnsSummary
sirius.table.hassirius.table.has(table, key)booltest presence of a code in a lookup table
sirius.table.lookupsirius.table.lookup(table, key, default?)valuelook up a code in a lookup table, with an optional default

sirius.component

SymbolSignatureReturnsSummary
sirius.component.configsirius.component.config()mapcurrent component config
sirius.component.guidsirius.component.guid()stringcurrent component GUID
sirius.component.idsirius.component.id()stringcurrent component id
sirius.component.namesirius.component.name()stringcurrent component name

sirius.message

SymbolSignatureReturnsSummary
sirius.message.idsirius.message.id()stringcurrent message id

sirius.idempotency

SymbolSignatureReturnsSummary
sirius.idempotency.keysirius.idempotency.key(value)hex stringstable content hash for a value (idempotency key)
sirius.idempotency.seensirius.idempotency.seen(key, ttl?)boolrecord a key and report whether it was already seen (dedupe window)

sirius.dedupe

SymbolSignatureReturnsSummary
sirius.dedupe.checksirius.dedupe.check(value, ttl?)booltrue when a value was already seen this run/window (records it)

sirius.trace

SymbolSignatureReturnsSummary
sirius.trace.eventsirius.trace.event(name, attrs?)record a point-in-time trace event
sirius.trace.spansirius.trace.span(name, attrs?)record a span with a name and optional attributes

sirius.metric

SymbolSignatureReturnsSummary
sirius.metric.gaugesirius.metric.gauge(name, value, tags?)set a gauge metric to a value
sirius.metric.incsirius.metric.inc(name, by?, tags?)increment a counter metric
sirius.metric.observesirius.metric.observe(name, value, tags?)record a value into a distribution/histogram metric

sirius.ai

SymbolSignatureReturnsSummary
sirius.ai.classifysirius.ai.classify(text, labels)string (label)classify text into one of the given labels (governed LLM)
sirius.ai.completesirius.ai.complete(prompt, options?)stringcomplete a prompt (governed LLM)
sirius.ai.extractsirius.ai.extract(text, schema)valueextract structured data from text against a schema (governed LLM)

sirius.schema

SymbolSignatureReturnsSummary
sirius.schema.parsesirius.schema.parse(raw, schema)treeparse against any message schema

sirius.spec

SymbolSignatureReturnsSummary
sirius.spec.parsesirius.spec.parse(raw, spec)treeParse against a message spec