Acontext
FeaturesMessages

Message Status

Understand the session_task_process_status field on each message

Every message has a session_task_process_status field that tells you where it is in the task extraction pipeline.

Status Values

StatusMeaning
pendingMessage is queued for task extraction. The Task Agent hasn't processed it yet.
runningThe Task Agent is currently processing this message.
successTask extraction completed successfully.
failedTask extraction was attempted but failed (e.g., LLM error, timeout).
disable_trackingTask tracking is disabled for this session. The message was saved but never sent for extraction.
limit_exceedThe project's task creation usage limit was reached. The message was saved but extraction was skipped.

Lifecycle

store_message()

       ├─ disable_task_tracking = true ──────► disable_tracking


   ┌────────┐     usage limit hit
   │pending │──────────────────────────────────► limit_exceed
   └───┬────┘
       │  Core picks up from MQ

   ┌────────┐
   │running │
   └───┬────┘
       │  Task Agent processes

  success / failed

Checking Status

import os
from acontext import AcontextClient

client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))

messages = client.sessions.get_messages(session_id="<session-id>", format="acontext")
for msg, msg_id in zip(messages.items, messages.ids):
    print(f"{msg_id}: {msg['session_task_process_status']}")
import { AcontextClient } from '@acontext/acontext';

const client = new AcontextClient({ apiKey: process.env.ACONTEXT_API_KEY });

const messages = await client.sessions.getMessages('<session-id>', { format: 'acontext' });
for (const item of messages.items) {
    console.log(`${item.id}: ${item.session_task_process_status}`);
}

Observing Status

Use messages_observing_status to get aggregated counts of observed (success), in_process (running), and pending messages for a session. Messages with disable_tracking or limit_exceed are not included in these counts.

status = client.sessions.messages_observing_status(session_id="<session-id>")
print(f"Observed: {status.observed}, In process: {status.in_process}, Pending: {status.pending}")
const status = await client.sessions.messagesObservingStatus('<session-id>');
console.log(`Observed: ${status.observed}, In process: ${status.in_process}, Pending: ${status.pending}`);

Next Steps

Last updated on

On this page