Context and Task
Data Context is an object injected into logic functions at runtime, which containes some key components:
Before LOC v0.7.0, agents are also part of the context object. Still, context, tasks and payloads have strong ties with agents and are in fact often used together.
Availability
- ✓ Generic logic
 - ✓ Aggregator logic
 
Context
When a logic gets executed, a data context object ctx will be available in both run and handleError functions:
export async function run(ctx) {
    // ctx is the data context
}
Task
export async function run(ctx) {
    const task = ctx.task;
}
A task is an execution of this particular data process.
| Member | Type | Description | 
|---|---|---|
taskId | taskId, which is { id: string, executionId: string } | Task ID and execution ID | 
startAt | Date | Task start date | 
dataProcess | IdentityContext (see below) | Data process permanent ID | 
currentLogic | IdentityContext | Current logic permanent ID | 
executedLogics | Array<IdentityContext> | An array of identity of executed logic | 
Type IdentityContext represents the identity of a logic or a data process:
| Member | Type | Description | 
|---|---|---|
name | string | Name | 
permanentIdentity | string | Permanent identity string | 
revision | number | Revision number | 
Example
const taskId = ctx.task.taskId.id;
const executionId = ctx.task.taskId.executionId;
const pid = ctx.task.dataProcess.permanentIdentity;