Types
Core type primitives used across the ArcFlow engine.
Identifiers#
| Identifier | Display | Description |
|---|---|---|
NodeId | n42 | Unique node identifier, monotonically assigned |
RelId | r7 | Unique relationship identifier |
SkillId | s3 | Unique skill identifier |
Timestamp | 1711234567:000 | Milliseconds since UNIX epoch |
Property value types#
| Type | GQL literals | Notes |
|---|---|---|
| Null | null | Missing or unknown |
| Boolean | true, false | |
| Integer | 42, -7 | 64-bit signed |
| Float | 3.14, -0.5 | 64-bit |
| String | 'hello' | Single-quoted |
| IntList | [1, 2, 3] | Homogeneous list |
| FloatList | [1.0, 2.5] | Homogeneous list |
| StringList | ['a', 'b'] | Homogeneous list |
Execution tiers and backends#
| Concept | Values | Where used |
|---|---|---|
| Skill tier | SYMBOLIC, WASM | CREATE SKILL ... TIER |
| Hardware backend | Cpu, Cuda, Metal | ArcFlow Adaptive Dispatch routing |
Errors#
| Type | Description |
|---|---|
ErrorClass | Validation, Integration, Architecture, Timeout |
TypedError | { class, code, message, failing_field, recovery_suggestion } |
TypeScript SDK Types#
QueryCursor#
Paginated iteration over large result sets. See db.cursor().
interface QueryCursor {
pageSize: number // Rows per page
pagesFetched: number // Pages retrieved so far
done: boolean // True when all pages exhausted
next(): QueryResult | null // Fetch next page
all(): QueryResult // Collect all remaining pages
close(): void // Release the cursor
}LiveQuery#
Handle returned by db.subscribe(). Tracks a live view subscription.
interface LiveQuery {
viewName: string // Internal live view name
cancel(): void // Stop the subscription and drop the live view
}DeltaEvent#
Delivered to the SubscriptionHandler on every change.
interface DeltaEvent {
added: SubscriptionRow[] // Rows newly entering the result set
removed: SubscriptionRow[] // Rows leaving the result set
current: SubscriptionRow[] // Full current result set
frontier: number // Monotonic mutation sequence number
}
type SubscriptionRow = Record<string, string | number | boolean | null>
type SubscriptionHandler = (event: DeltaEvent) => voidSubscribeOptions#
interface SubscribeOptions {
pollIntervalMs?: number // How often to check for updates (default: 100ms)
}Code Intelligence Types#
Used by CodeGraph — see Code Intelligence Guide.
interface NodeSpec {
label: string
id: string
contentHash?: string
properties?: Record<string, string | number | boolean | null>
}
interface EdgeSpec {
fromId: string
toId: string
edgeType: string
properties?: Record<string, string | number | boolean | null>
}
interface GraphDelta {
addedNodes?: NodeSpec[]
removedNodeIds?: string[]
addedEdges?: EdgeSpec[]
removedEdges?: Array<{ fromId: string; toId: string; edgeType: string }>
}
interface DeltaStats {
nodesAdded: number
nodesUpdated: number
nodesSkippedByHash: number
nodesRemoved: number
edgesAdded: number
edgesRemoved: number
}
interface ImpactNode {
id: string
hop: number
}
interface ImpactSubgraph {
nodes: ImpactNode[]
}See Also#
- TypeScript API Reference — methods that accept and return these types
- Data Types — GQL-level types (Integer, Float, String, List, Map)
- Error Codes — typed error model with
ErrorClassand recovery hints
Try it
Open ↗⌘↵ to run
Loading engine…