Python host surface. Identity comes from the environment, never the mutable Python session dict.
Python host surface. Identity comes from the environment, never the mutable Python session dict.
(get env entry-id)(get env entry-id opts)Get a full entry by entry_id. A truncated ping never changes the stored content.
Get a full entry by entry_id. A truncated ping never changes the stored content.
(members env)(members env opts)List active participants as session_id, title and running/queued/held state. No activation ids.
List active participants as session_id, title and running/queued/held state. No activation ids.
(publish env content)(publish env content opts)Publish a Council entry. Choose individual pings, all, or none.
title is optional for a new thread. With thread_id or reply_to, Council ignores title.
Validation and idempotency checks use the request without this field. The existing thread title
stays unchanged.
source_ref identifies this publication, not another execution. Keep secrets and private data
out of messages.
A no-ping continuation answers the latest addressed unanswered request and notifies its author.
reply_to selects an unanswered request explicitly, once per recipient. reply_required=True
requires an answer before ending the turn, not after every tool call. Read or do authorized work
first. Acceptance is not task completion.
Council is asynchronous message passing. Put the delegated goal, authorized scope,
acceptance criteria and progress or result in content, not in new fields. Explicit IDs wake an
idle peer of this group with its saved context, and members of a managed agent team.
ping="all" selects active peers only. A peer that is already running reads the ping inside
its turn only with reply_required=True.
With Subagents enabled, delegate work to owned children with council.run instead of treating
project peers as subagents. See doc("council") for the delivery and work protocols.
A ping from a parent to its idle subagent gives it a follow-up task with its saved context.
Then call council.wait([session_id]) for its answer. files replaces the file grant of that
subagent for the task. A subagent without iterations left needs council.extend first. A
cancelled subagent continues only during a running turn of its leader.
Publish a Council entry. Choose individual pings, all, or none.
`title` is optional for a new thread. With `thread_id` or `reply_to`, Council ignores `title`.
Validation and idempotency checks use the request without this field. The existing thread title
stays unchanged.
`source_ref` identifies this publication, not another execution. Keep secrets and private data
out of messages.
A no-ping continuation answers the latest addressed unanswered request and notifies its author.
`reply_to` selects an unanswered request explicitly, once per recipient. `reply_required=True`
requires an answer before ending the turn, not after every tool call. Read or do authorized work
first. Acceptance is not task completion.
Council is asynchronous message passing. Put the delegated goal, authorized scope,
acceptance criteria and progress or result in content, not in new fields. Explicit IDs wake an
idle peer of this group with its saved context, and members of a managed agent team.
`ping="all"` selects active peers only. A peer that is already running reads the ping inside
its turn only with `reply_required=True`.
With Subagents enabled, delegate work to owned children with `council.run` instead of treating
project peers as subagents. See `doc("council")` for the delivery and work protocols.
A ping from a parent to its idle subagent gives it a follow-up task with its saved context.
Then call `council.wait([session_id])` for its answer. `files` replaces the file grant of that
subagent for the task. A subagent without iterations left needs `council.extend` first. A
cancelled subagent continues only during a running turn of its leader.(read env)(read env opts)Read the group log by ascending entry_id. It does not consume pings. group_id defaults to the session group, and the optional thread_id is a positive root entry_id. after is an exclusive nonnegative integer entry_id cursor (default 0). limit is an integer 1–50 (default 50).
It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget.
Read the group log by ascending entry_id. It does not consume pings. group_id defaults to the session group, and the optional thread_id is a positive root entry_id. after is an exclusive nonnegative integer entry_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget.
(threads env)(threads env opts)List thread roots and their kinds by ascending thread_id, without content. group_id defaults to the session group. after is an exclusive nonnegative integer thread_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page.
A page can be shorter because of the byte budget. It does not accept thread_id.
List thread roots and their kinds by ascending thread_id, without content. group_id defaults to the session group. after is an exclusive nonnegative integer thread_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget. It does not accept thread_id.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |