Runtime API¶
Generated from the typed public surface.
tesserix_adk.runtime.ActivityAttempts¶
Stability: alpha
Runs one activity under one policy, until it answers or the policy runs out.
class ActivityAttempts(object) {run(self, call: 'Callable[[int], Awaitable[T]]', *, repeatable: 'bool' = True, idempotency_key: 'str' = '', charge: 'ActivityClass | None' = None) -> 'T'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AddressableSubagent¶
Stability: alpha · Kind: Protocol
A non-native agent that a supervisor can address under the same run bounds.
class AddressableSubagent(Protocol) {run(self, user_input: 'str', *, tenant: 'str', budget: 'BudgetPolicy', user: 'str | None' = None, run_id: 'str | None' = None, cancellation: 'CancellationToken | None' = None, parent: 'RunContext | None' = None, scopes: 'Collection[str]' = (), trace: 'Mapping[str, str] | None' = None, tools: 'Collection[str] | None' = None) -> 'Run[AddressableOutputT]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AgentPlanner¶
Stability: alpha
An agent that plans, held to producing a plan and to holding nothing it could call.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AgentRunner¶
Stability: alpha
Drives one agent to one terminal state.
class AgentRunner(object) {reload(self, router: 'ModelRouter') -> 'None'; resume(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', run_id: 'str', *, tenant: 'str', user: 'str | None' = None, cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; resume_with_decision(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', run_id: 'str', *, tenant: 'str', token: 'str', granted: 'bool', decided_by: 'str', reason: 'str' = '', user: 'str | None' = None, cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, budget: 'BudgetPolicy | None' = None, allow_model_drift: 'bool' = False) -> 'Run[OutputT]'; run(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_sync(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_typed(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_typed_sync(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; stream(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'RunStream[OutputT]'; stream_sync(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'tuple[ProgressEvent, ...]'; stream_typed(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'RunStream[OutputT]'; stream_typed_sync(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'tuple[ProgressEvent, ...]'}
Typed errors: ProtocolConformanceError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Aggregate¶
Stability: alpha
What a fan-out added up to, and what it was added up from.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Aggregation¶
Stability: alpha
A rule for turning branches into one answer, and for refusing to.
class Aggregation(ABC, Generic) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'ValueT'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.All¶
Stability: alpha
Every branch, or none. The default, because a missing branch is usually a bug.
class All(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'tuple[str, ...]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Ambient¶
Stability: alpha
Who the work in hand belongs to, carried rather than passed.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AnswerDelta¶
Stability: alpha
More of a free-text answer. Concatenating them in order gives the buffered answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ApprovalDeferred¶
Stability: alpha
Raised by a gate to say the answer will arrive long after this process is gone.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ApprovalLedger¶
Stability: alpha
The grants one run is holding, and what each of them covers.
class ApprovalLedger(object) {bind(self, record: 'ApprovalRecord') -> 'None'; spend(self, record: 'ApprovalRecord', arguments: 'Mapping[str, Any]') -> 'None'; void(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ApprovalRequired¶
Stability: alpha
A call is held until a human decides. Surfaced so the queue is visible live.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Assumptions¶
Stability: alpha
Everything the estimate rests on, in a form somebody can argue with.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AttemptBudget¶
Stability: alpha
One pool of retries, shared by every branch of a fan-out.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AuditTrail¶
Stability: alpha
Turns one decision into one durable record, and refuses to lose it quietly.
class AuditTrail(object) {record(self, decided: 'AutonomyDecision | None', decision: 'AuditDecision', *, run_id: 'str', tenant: 'str', tool: 'str', arguments: 'Mapping[str, Any]', key: 'str | None' = None, user: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '', approver: 'str | None' = None, amount: 'Decimal | None' = None, reason: 'str' = '') -> 'AuditEvent'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.AutonomyGate¶
Stability: alpha
Answers, for one attempted tool call, whether a human has to be asked.
class AutonomyGate(object) {decide(self, *, tool: 'str', tenant: 'str', arguments: 'Mapping[str, Any]', run_id: 'str', user: 'str | None' = None, key: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '') -> 'AutonomyDecision'; record(self, decided: 'AutonomyDecision | None', decision: 'AuditDecision', *, run_id: 'str', tenant: 'str', tool: 'str', arguments: 'Mapping[str, Any]', key: 'str | None' = None, user: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '', approver: 'str | None' = None, reason: 'str' = '') -> 'None'; settle(self, key: 'str', *, happened: 'bool') -> 'None'; withdrawn(self, decided: 'AutonomyDecision') -> 'Revocation | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Backpressure¶
Stability: alpha
What a run does when its consumer cannot keep up.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Branch¶
Stability: alpha
One piece of work in a fan-out, named so that what it contributed can be said.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.BranchOutcome¶
Stability: alpha
How one branch ended. Four states, because "not ok" is three different problems.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.BranchResult¶
Stability: alpha
What one branch gave back, whether or not it gave back an answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.CITATIONS¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.COMPACTED¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Calibration¶
Stability: alpha
An estimate held against what the run actually cost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.CancellationToken¶
Stability: alpha
A one-way switch that asks a run to stop.
class CancellationToken(object) {cancel(self, reason: 'str' = 'cancelled by the caller') -> 'None'; raise_if_cancelled(self) -> 'None'; wait(self) -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Checkpointer¶
Stability: alpha
Writes a run's frontier at the boundaries a policy names.
class Checkpointer(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'Checkpoint | None'; record(self, checkpoint: 'Checkpoint') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ClaimCheck¶
Stability: alpha
Decides which results are carried and which are checked in, and does the checking.
class ClaimCheck(object) {stored(self, result: 'ToolResult', *, tenant: 'str', run_id: 'str') -> 'ClaimTicket | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Compaction¶
Stability: alpha
A conversation after compaction, and what compaction did to it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.CompactionEvent¶
Stability: alpha
What one compaction did, in terms an audit trail can repeat.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Compensator¶
Stability: alpha
Takes a run's applied work back, in reverse order, without asking a model anything.
class Compensator(object) {unwind(self, run_id: 'str', *, tenant: 'str', cause: 'str', branch: 'str | None' = None) -> 'CompensatedFailure | CompensationIncomplete'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Confidence¶
Stability: alpha
How much of the estimate is measurement and how much is assumption.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ContextContribution¶
Stability: alpha
Retrieved context and optional stable keys used for admission deduplication.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ContextContributionError¶
Stability: alpha
A required context contributor could not answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ContextContributor¶
Stability: alpha · Kind: Protocol
A context source attached once to every run of a runner.
class ContextContributor(Protocol) {contribute(self, request: 'ContextRequest') -> 'ContextContribution'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ContextRequest¶
Stability: alpha
Facts a context contributor receives before prompt assembly.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ContextWindow¶
Stability: alpha
What the model is holding, and what leaves when there is no more room.
class ContextWindow(object) {admit(self, segment: 'Segment') -> 'bool'; fit(self) -> 'tuple[Segment, ...]'; holds(self, key: 'str') -> 'bool'; texts(self, layer: 'PromptLayer') -> 'tuple[str, ...]'}
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.CostEstimate¶
Stability: alpha
What a run is expected to cost, and how much of that is known.
class CostEstimate(AdkModel) {as_limits(self, *, headroom: 'Decimal' = Decimal('1')) -> 'BudgetLimits'; with_children(self, *children: 'CostEstimate') -> 'CostEstimate'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DEFAULT_APPROVAL_WAIT_SECONDS¶
Stability: alpha
Convert a string or number to a floating-point number, if possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DEFAULT_SKEW_SECONDS¶
Stability: alpha
Convert a string or number to a floating-point number, if possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Deadline¶
Stability: alpha
An instant after which a run must stop, as absolute seconds on the injected clock.
class Deadline(object) {expired(self, now: 'float') -> 'bool'; narrowed_to(self, other: 'Deadline | None') -> 'Deadline'; remaining(self, now: 'float') -> 'float'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DeferringGate¶
Stability: alpha
An approval gate that stops the run instead of waiting on it.
class DeferringGate(object) {pending(self, *, tenant: 'str') -> 'tuple[SuspendedRun, ...]'; redeem(self, token: 'str', *, tenant: 'str', presented_by: 'str') -> 'SuspendedRun'; request(self, record: 'ApprovalRecord') -> 'ApprovalDecision'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Delegation¶
Stability: alpha
One agent's position in a run: how deep it sits, what it holds, what it may spend.
class Delegation(object) {to(self, agent: 'str', *, tools: 'Collection[str] | None' = None, mutations: 'Collection[str] | None' = None, limits: 'DelegationLimits | None' = None) -> 'Delegation'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DelegationLimits¶
Stability: alpha
How deep, how wide and how often one run may delegate.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DelegationResult¶
Stability: alpha
What one delegation gave back.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.DelegationScope¶
Stability: alpha
What an agent may reach, and until when.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ExecutedPlan¶
Stability: alpha
What came of running a plan.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.FirstSuccess¶
Stability: alpha
The first branch that answered, in declared order rather than in finishing order.
class FirstSuccess(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.GuardrailDecision¶
Stability: alpha
A guardrail was asked, and what it said.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Handoff¶
Stability: alpha
The record of one conversation changing hands.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.HandoffContract¶
Stability: alpha
What one receiver accepts when a conversation is handed to it.
class HandoffContract(object) {validated(self, state: 'Mapping[str, Any] | BaseModel') -> 'BaseModel'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.HandoffDesk¶
Stability: alpha
Where one agent hands a live conversation to another, under a declared contract.
class HandoffDesk(object) {hand_off(self, to: 'str', *, reason: 'str', state: 'Mapping[str, Any] | BaseModel', task: 'str', history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), after: 'Run[Any] | None' = None) -> 'HandoffResult'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.HandoffQueue¶
Stability: alpha · Kind: Protocol
Where a conversation waits for a person to pick it up.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.HandoffResult¶
Stability: alpha
What came of handing the conversation over.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Heartbeater¶
Stability: alpha
Reports progress from a streaming activity, often enough and no oftener.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.HistoryStore¶
Stability: alpha · Kind: Protocol
Where a transcript too large to carry inline is kept.
class HistoryStore(Protocol) {fetch(self, handle: 'str', *, tenant: 'str') -> 'Sequence[Message] | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.InMemoryHistory¶
Stability: alpha
Finished runs kept in the process, for a deployment that has nowhere else yet.
class InMemoryHistory(object) {observed(self, agent_name: 'str', version: 'str') -> 'Observed | None'; record(self, run: 'Run[OutputT]') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.InMemoryPlanStore¶
Stability: alpha
A PlanStore that lives as long as the process, for tests and single-node runs.
class InMemoryPlanStore(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'PlanRecord | None'; put(self, record: 'PlanRecord') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.InMemoryReports¶
Stability: alpha
Owed reports in a set, for tests and single-process deployments.
class InMemoryReports(object) {delivered(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'; outstanding(self, *, tenant: 'str', action_class: 'str') -> 'bool'; owed(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.IterationStarted¶
Stability: alpha
Another model call is about to be made, counted from one.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Leaseholder¶
Stability: alpha
One worker's hold on one run, for as long as the turn takes.
class Leaseholder(object) {acquire(self, run_id: 'str', *, tenant: 'str') -> 'RunLease'; keep(self, *, now: 'float') -> 'RunLease | None'; release(self) -> 'None'; renew(self) -> 'RunLease'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.LoopMonitor¶
Stability: alpha
Catches work that blocked the event loop rather than awaiting on it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryAuditSink¶
Stability: alpha
Decisions in a list, for tests and single-process demos.
class MemoryAuditSink(object) {append(self, event: 'AuditEvent') -> 'AuditEvent'; pseudonymise(self, *, tenant: 'str', subject: 'str') -> 'int'; records(self, *, tenant: 'str', since: 'float' = 0.0, until: 'float | None' = None, decision: 'AuditDecision | None' = None) -> 'tuple[AuditEvent, ...]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryCheckpointStore¶
Stability: alpha
A CheckpointStore in a dict, keyed by tenant and run.
class MemoryCheckpointStore(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'Checkpoint | None'; put(self, checkpoint: 'Checkpoint') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryClaimCheckStore¶
Stability: alpha
A ClaimCheckStore in a dict, keyed by handle and checked against its scope.
class MemoryClaimCheckStore(object) {fetch(self, handle: 'str', *, tenant: 'str', run_id: 'str') -> 'str'; forget(self, *, tenant: 'str', run_id: 'str' = '') -> 'int'; put(self, handle: 'str', content: 'str', *, tenant: 'str', run_id: 'str', ttl_seconds: 'float') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryCompensationLedger¶
Stability: alpha
A CompensationLedger that lives and dies with the process.
class MemoryCompensationLedger(object) {forget(self, *, tenant: 'str') -> 'int'; mark(self, reversal: 'Reversal') -> 'None'; outstanding(self, run_id: 'str', *, tenant: 'str', branch: 'str | None' = None) -> 'Sequence[Applied]'; record(self, action: 'Applied') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryIdempotencyStore¶
Stability: alpha
An IdempotencyStore in a dict, keyed by tenant and key.
class MemoryIdempotencyStore(object) {abandon(self, key: 'str', *, tenant: 'str') -> 'None'; begin(self, key: 'str', *, tenant: 'str', ttl_seconds: 'float') -> 'Claim'; forget(self, *, tenant: 'str') -> 'int'; record(self, key: 'str', *, tenant: 'str', outcome: 'str', ttl_seconds: 'float') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryLeaseStore¶
Stability: alpha
A LeaseStore in a dict, deciding expiry on one clock.
class MemoryLeaseStore(object) {acquire(self, run_id: 'str', *, tenant: 'str', holder: 'str', ttl_seconds: 'float') -> 'RunLease'; held(self, run_id: 'str', *, tenant: 'str') -> 'RunLease | None'; release(self, lease: 'RunLease') -> 'None'; renew(self, lease: 'RunLease', *, ttl_seconds: 'float') -> 'RunLease'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryStateStore¶
Stability: alpha
A StateStore in two dicts, keyed by tenant and id.
class MemoryStateStore(object) {delete_run(self, key: 'StateKey') -> 'None'; delete_session(self, key: 'StateKey', *, cascade: 'bool' = False) -> 'None'; get_run(self, key: 'StateKey') -> 'RunRecord | None'; get_session(self, key: 'StateKey') -> 'SessionRecord | None'; list_runs(self, query: 'StateQuery') -> 'StatePage'; patch_run(self, key: 'StateKey', delta: 'StateDelta') -> 'RunRecord'; put_run(self, record: 'RunRecord') -> 'RunRecord'; put_session(self, record: 'SessionRecord') -> 'SessionRecord'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemorySuspensionStore¶
Stability: alpha
A SuspensionStore in a dict, keyed by tenant and run.
class MemorySuspensionStore(object) {attempted(self, attempt: 'TokenAttempt') -> 'None'; by_token(self, token_digest: 'str', *, tenant: 'str') -> 'SuspendedRun | None'; forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; get(self, run_id: 'str', *, tenant: 'str') -> 'SuspendedRun | None'; pending(self, *, tenant: 'str') -> 'tuple[SuspendedRun, ...]'; put(self, suspended: 'SuspendedRun') -> 'None'; spend(self, run_id: 'str', *, tenant: 'str') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.MemoryWorkQueue¶
Stability: alpha
A WorkQueue in a dict, keyed by tenant and item.
class MemoryWorkQueue(object) {adopt(self, *, worker: 'str') -> 'tuple[WorkItem, ...]'; claim(self, *, worker: 'str', queue: 'str' = 'default', lease_seconds: 'float | None' = None) -> 'WorkItem | None'; complete(self, item_id: 'str', *, tenant: 'str', worker: 'str') -> 'WorkItem'; dead_letters(self, *, tenant: 'str', limit: 'int' = 50) -> 'tuple[WorkItem, ...]'; enqueue(self, item: 'WorkItem') -> 'WorkItem'; fail(self, item_id: 'str', *, tenant: 'str', worker: 'str', error: 'str', retryable: 'bool' = True) -> 'WorkItem'; heartbeat(self, item_id: 'str', *, tenant: 'str', worker: 'str') -> 'WorkItem'; reap(self) -> 'tuple[WorkItem, ...]'; stats(self, *, queue: 'str' = 'default') -> 'QueueStats'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ModelRequest¶
Stability: alpha
One call to a provider, as data.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ModelResponse¶
Stability: alpha
What a provider returned for one call.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Observed¶
Stability: alpha
What an agent's finished runs actually did.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.OutputContract¶
Stability: alpha
What the model was asked for, and what will be accepted back.
class OutputContract(object) {parse(self, content: 'str') -> 'BaseModel'; repair_prompt(self, violation: 'SchemaViolationError') -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PROMPT_LAYERS¶
Stability: alpha
Built-in immutable sequence.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Plan¶
Stability: alpha
What a planner produced: an ordered set of checkable steps and the goal behind them.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PlanExecutor¶
Stability: alpha
Runs a validated plan, and refuses one it cannot validate.
class PlanExecutor(object) {execute(self, plan: 'Plan') -> 'ExecutedPlan'; planned(self, planner: 'Planner', task: 'str') -> 'Plan'; resume(self) -> 'ExecutedPlan'; validate(self, plan: 'Plan') -> 'Plan'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PlanRecord¶
Stability: alpha
A plan and how far it got, written down so another process can carry it on.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PlanStep¶
Stability: alpha
One thing a plan will do, as a call somebody could check before it happens.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PlanStore¶
Stability: alpha · Kind: Protocol
Where a plan and its progress live between processes.
class PlanStore(Protocol) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'PlanRecord | None'; put(self, record: 'PlanRecord') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Planner¶
Stability: alpha · Kind: Protocol
Whatever produces a plan. It reasons; it does not call anything.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Pressure¶
Stability: alpha
How close a stream came to its limits, and what it did about it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Pricer¶
Stability: alpha · Kind: Protocol
What a usage comes to on a model.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ProgressEvent¶
Stability: alpha
One thing that happened, as a consumer watching the run sees it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Prompt¶
Stability: alpha
What is actually sent for one turn, plus the identity of its cacheable prefix.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.PromptLayer¶
Stability: alpha
A band of the prompt, in the order the kit assembles them.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Provisional¶
Stability: alpha
Structured content that has arrived so far, and is not a result.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Quorum¶
Stability: alpha
Every branch that answered, provided enough of them did.
class Quorum(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'tuple[str, ...]'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RateLimiter¶
Stability: alpha
A shared token bucket over requests and tokens, spending in arrival order.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Reauthoriser¶
Stability: alpha · Kind: Protocol
Whatever answers "does this caller still hold what they held" mid-run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Receiver¶
Stability: alpha
Somewhere a conversation may be handed to, and what it accepts.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Reduce¶
Stability: alpha
A caller's own rule over the branches that answered.
class Reduce(Aggregation, Generic) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'ValueT'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RefreshPolicy¶
Stability: alpha
When to refresh, and how hard to try.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ReportLog¶
Stability: alpha · Kind: Protocol
Which act_and_report reports are owed, and whether they arrived.
class ReportLog(Protocol) {outstanding(self, *, tenant: 'str', action_class: 'str') -> 'bool'; owed(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ResultFinding¶
Stability: alpha
One heuristic that matched, and where — never what it matched.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ResultPolicy¶
Stability: alpha
What a tool's results are held to, and what happens when one looks like an attack.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ResumedRun¶
Stability: alpha
A run taken over: the frontier, the transcript, the plan and the lease held on it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Resumer¶
Stability: alpha
Takes a run over, in the order that makes taking it over safe.
class Resumer(object) {holder(self, worker: 'str') -> 'Leaseholder'; resume(self, run_id: 'str', *, tenant: 'str', worker: 'str') -> 'ResumedRun | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RetryPlan¶
Stability: alpha
Applies one RetryConfig: what to retry, and how long to wait first.
class RetryPlan(object) {delay_for(self, attempt: 'int', *, retry_after: 'float | None' = None) -> 'float | None'; retryable(self, failure: 'BaseException') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ReturningTool¶
Stability: alpha · Kind: Protocol
The little a boundary needs to know about whatever returned a value.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RevocationBroadcast¶
Stability: alpha · Kind: Protocol
How a revocation reaches the processes that are already running.
class RevocationBroadcast(Protocol) {listen(self) -> 'AsyncIterator[Revocation]'; publish(self, revocation: 'Revocation') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RevocationWatch¶
Stability: alpha
What this process has heard about withdrawn authority, and how lately.
class RevocationWatch(object) {confirm(self) -> 'None'; follow(self, broadcast: 'RevocationBroadcast') -> 'None'; fresh(self) -> 'bool'; heard(self, revocation: 'Revocation') -> 'None'; revoked(self, grant: 'AutonomyGrant') -> 'bool'; withdrew(self, grant_id: 'str') -> 'Revocation | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Roster¶
Stability: alpha
Who a supervisor may hand work to, and how a task finds one of them.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunCancelled¶
Stability: alpha
The run was stopped by its caller, its transport or a deadline.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunCompleted¶
Stability: alpha
The run reached a good terminal state.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunCredentials¶
Stability: alpha
One run's credentials: refreshed ahead of expiry, re-derived when they are.
class RunCredentials(object) {call(self, operation: 'Callable[[ExpiringCredential, str], Awaitable[T]]', *, audience: 'str', needs: 'Iterable[str]', run_id: 'str', idempotency_key: 'str | None' = None) -> 'T'; for_call(self, *, audience: 'str', needs: 'Iterable[str]', run_id: 'str', agent_version: 'str' = '1.0.0') -> 'ExpiringCredential'; invalidate(self, audience: 'str') -> 'None'; suspend(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunFailed¶
Stability: alpha
The run ended badly, naming the failure rather than the symptom.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunFingerprint¶
Stability: alpha
A canonical summary of one provider call, field by field.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunHistory¶
Stability: alpha · Kind: Protocol
Where finished runs are kept, in whatever store a deployment already has.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunStarted¶
Stability: alpha
The run is live. Always first.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.RunStream¶
Stability: alpha
One run, watched while it happens.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Scope¶
Stability: alpha
Whose spend the estimate covers.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Segment¶
Stability: alpha
One admitted piece of context.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.SequenceCheck¶
Stability: alpha
Tracks one run's numbering, so a consumer can see what it lost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Specialist¶
Stability: alpha
One agent a supervisor may hand work to, and what it declared it can do.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Spread¶
Stability: alpha
A distribution reduced to the three numbers an estimate needs.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.StepResult¶
Stability: alpha
What one step did, in the form a record and a resume both read.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.StructuredDelta¶
Stability: alpha
More of a structured answer, as the JSON text arrives.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Summariser¶
Stability: alpha · Kind: Protocol
Writes one message standing for a span of turns.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Supervisor¶
Stability: alpha
One agent handing work to workers that can never hold or spend more than it does.
class Supervisor(object) {cancel(self, reason: 'str' = 'the supervisor was cancelled') -> 'None'; delegate(self, task: 'str', *, needs: 'Collection[str]', budget: 'BudgetLimits | None' = None, writes: 'str | None' = None, fatal: 'bool' = False, run_id: 'str | None' = None) -> 'DelegationResult[Any]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.SystemClock¶
Stability: alpha
Wall-clock time, for callers that did not inject one.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.TIMEOUT_IDENTITY¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Tokenizer¶
Stability: alpha · Kind: Protocol
Counts the tokens in a string, by whatever rule the model behind it uses.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolCallFailed¶
Stability: alpha
A tool call did not return a result, and why.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolCallFinished¶
Stability: alpha
A tool returned.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolCallIndeterminate¶
Stability: alpha
A tool was stopped after dispatch, so whether its effect landed is unknown.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolCallStarted¶
Stability: alpha
A tool call cleared policy and is about to run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolContract¶
Stability: alpha
What one tool takes, and whether taking it back is possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolDeclaration¶
Stability: alpha
A tool as the model is told about it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolResult¶
Stability: alpha
A validated tool result, and everything needed to read it as data.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.ToolResultBoundary¶
Stability: alpha
The one place a tool's return value becomes something a model may read.
class ToolResultBoundary(object) {checked(self, tool: 'ReturningTool', value: 'object', *, tenant: 'str' = '') -> 'ToolResult'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.TransportGate¶
Stability: alpha
An ApprovalGate that asks over a transport and holds the call for the answer.
class TransportGate(object) {abandon(self, record_id: 'str', *, why: 'str') -> 'None'; decide(self, decision: 'ApprovalDecision') -> 'bool'; request(self, record: 'ApprovalRecord') -> 'ApprovalDecision'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.UsageUpdated¶
Stability: alpha
What the run has consumed so far.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.WorkerPool¶
Stability: alpha
Where a blocking body runs, so that it is not run on the event loop.
class WorkerPool(object) {call(self, what: 'str', body: 'Callable[[], T]') -> 'T'; close(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.Workers¶
Stability: alpha
How many blocking bodies may run at once, and how long one may wait for a turn.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.activities.ActivityAttempts¶
Stability: alpha
Runs one activity under one policy, until it answers or the policy runs out.
class ActivityAttempts(object) {run(self, call: 'Callable[[int], Awaitable[T]]', *, repeatable: 'bool' = True, idempotency_key: 'str' = '', charge: 'ActivityClass | None' = None) -> 'T'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.activities.AttemptBudget¶
Stability: alpha
One pool of retries, shared by every branch of a fan-out.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.activities.Heartbeater¶
Stability: alpha
Reports progress from a streaming activity, often enough and no oftener.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.affordable¶
Stability: alpha
Whether limits has room for estimate, checked against its high case.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approval_for¶
Stability: alpha
The estimate as something a human can be asked to approve.
def approval_for(estimate: 'CostEstimate', agent: 'Agent[OutputT]', *, run_id: 'str', tenant: 'str', requested_at: 'float' = 0.0) -> 'ApprovalRecord'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approvals.ApprovalLedger¶
Stability: alpha
The grants one run is holding, and what each of them covers.
class ApprovalLedger(object) {bind(self, record: 'ApprovalRecord') -> 'None'; spend(self, record: 'ApprovalRecord', arguments: 'Mapping[str, Any]') -> 'None'; void(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approvals.DEFAULT_APPROVAL_WAIT_SECONDS¶
Stability: alpha
Convert a string or number to a floating-point number, if possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approvals.TIMEOUT_IDENTITY¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approvals.TransportGate¶
Stability: alpha
An ApprovalGate that asks over a transport and holds the call for the answer.
class TransportGate(object) {abandon(self, record_id: 'str', *, why: 'str') -> 'None'; decide(self, decision: 'ApprovalDecision') -> 'bool'; request(self, record: 'ApprovalRecord') -> 'ApprovalDecision'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approvals.self_granted¶
Stability: alpha
Whether the answer names the agent that asked the question.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.approximate_tokens¶
Stability: alpha
Estimate the tokens in text at four characters each.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.assemble_prompt¶
Stability: alpha
Compose one turn's prompt in the documented order.
def assemble_prompt(agent: 'Agent[Any]', user_input: 'str', *, history: 'Iterable[Message]' = (), pinned: 'Iterable[str]' = (), retrieved: 'Iterable[str]' = (), tools: 'Iterable[ToolDeclaration]' = (), output: 'OutputContract | None' = None, tokenizer: 'Tokenizer | None' = None) -> 'Prompt'
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.audit.AuditTrail¶
Stability: alpha
Turns one decision into one durable record, and refuses to lose it quietly.
class AuditTrail(object) {record(self, decided: 'AutonomyDecision | None', decision: 'AuditDecision', *, run_id: 'str', tenant: 'str', tool: 'str', arguments: 'Mapping[str, Any]', key: 'str | None' = None, user: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '', approver: 'str | None' = None, amount: 'Decimal | None' = None, reason: 'str' = '') -> 'AuditEvent'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.audit.MemoryAuditSink¶
Stability: alpha
Decisions in a list, for tests and single-process demos.
class MemoryAuditSink(object) {append(self, event: 'AuditEvent') -> 'AuditEvent'; pseudonymise(self, *, tenant: 'str', subject: 'str') -> 'int'; records(self, *, tenant: 'str', since: 'float' = 0.0, until: 'float | None' = None, decision: 'AuditDecision | None' = None) -> 'tuple[AuditEvent, ...]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.autonomy.AutonomyGate¶
Stability: alpha
Answers, for one attempted tool call, whether a human has to be asked.
class AutonomyGate(object) {decide(self, *, tool: 'str', tenant: 'str', arguments: 'Mapping[str, Any]', run_id: 'str', user: 'str | None' = None, key: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '') -> 'AutonomyDecision'; record(self, decided: 'AutonomyDecision | None', decision: 'AuditDecision', *, run_id: 'str', tenant: 'str', tool: 'str', arguments: 'Mapping[str, Any]', key: 'str | None' = None, user: 'str | None' = None, agent: 'str' = '', agent_version: 'str' = '', approver: 'str | None' = None, reason: 'str' = '') -> 'None'; settle(self, key: 'str', *, happened: 'bool') -> 'None'; withdrawn(self, decided: 'AutonomyDecision') -> 'Revocation | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.autonomy.InMemoryReports¶
Stability: alpha
Owed reports in a set, for tests and single-process deployments.
class InMemoryReports(object) {delivered(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'; outstanding(self, *, tenant: 'str', action_class: 'str') -> 'bool'; owed(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.autonomy.ReportLog¶
Stability: alpha · Kind: Protocol
Which act_and_report reports are owed, and whether they arrived.
class ReportLog(Protocol) {outstanding(self, *, tenant: 'str', action_class: 'str') -> 'bool'; owed(self, *, tenant: 'str', action_class: 'str', run_id: 'str') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.autonomy.RevocationBroadcast¶
Stability: alpha · Kind: Protocol
How a revocation reaches the processes that are already running.
class RevocationBroadcast(Protocol) {listen(self) -> 'AsyncIterator[Revocation]'; publish(self, revocation: 'Revocation') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.autonomy.RevocationWatch¶
Stability: alpha
What this process has heard about withdrawn authority, and how lately.
class RevocationWatch(object) {confirm(self) -> 'None'; follow(self, broadcast: 'RevocationBroadcast') -> 'None'; fresh(self) -> 'bool'; heard(self, revocation: 'Revocation') -> 'None'; revoked(self, grant: 'AutonomyGrant') -> 'bool'; withdrew(self, grant_id: 'str') -> 'Revocation | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.Ambient¶
Stability: alpha
Who the work in hand belongs to, carried rather than passed.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.LoopMonitor¶
Stability: alpha
Catches work that blocked the event loop rather than awaiting on it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.WorkerPool¶
Stability: alpha
Where a blocking body runs, so that it is not run on the event loop.
class WorkerPool(object) {call(self, what: 'str', body: 'Callable[[], T]') -> 'T'; close(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.Workers¶
Stability: alpha
How many blocking bodies may run at once, and how long one may wait for a turn.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.carrying¶
Stability: alpha
Bind ambient for the duration of the block, restoring what was there before.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.current_ambient¶
Stability: alpha
Return the ambient of the work in hand, or None outside a run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.blocking.drive¶
Stability: alpha
Run work() to completion from a caller that has no event loop.
Typed errors: RunningLoopError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.budgeted_stream¶
Stability: alpha
Pass events through, charging each reported total against budget.
def budgeted_stream(events: 'AsyncIterator[StreamEvent]', budget: 'BudgetPolicy') -> 'AsyncIterator[StreamEvent]'
Typed errors: BudgetExceededError, BudgetUnavailableError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.calibrate¶
Stability: alpha
Hold estimate against what run actually cost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.cancellation.CancellationToken¶
Stability: alpha
A one-way switch that asks a run to stop.
class CancellationToken(object) {cancel(self, reason: 'str' = 'cancelled by the caller') -> 'None'; raise_if_cancelled(self) -> 'None'; wait(self) -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.cancellation.Deadline¶
Stability: alpha
An instant after which a run must stop, as absolute seconds on the injected clock.
class Deadline(object) {expired(self, now: 'float') -> 'bool'; narrowed_to(self, other: 'Deadline | None') -> 'Deadline'; remaining(self, now: 'float') -> 'float'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.canonical_digest¶
Stability: alpha
SHA-256 over value serialised key-order independently.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.carrying¶
Stability: alpha
Bind ambient for the duration of the block, restoring what was there before.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.Checkpointer¶
Stability: alpha
Writes a run's frontier at the boundaries a policy names.
class Checkpointer(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'Checkpoint | None'; record(self, checkpoint: 'Checkpoint') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.MemoryCheckpointStore¶
Stability: alpha
A CheckpointStore in a dict, keyed by tenant and run.
class MemoryCheckpointStore(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'Checkpoint | None'; put(self, checkpoint: 'Checkpoint') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.claim_resume¶
Stability: alpha
Take exclusive charge of resuming run_id, or refuse because someone else has.
def claim_resume(run_id: 'str', *, tenant: 'str', idempotency: 'IdempotencyStore', ttl_seconds: 'float | None' = None) -> 'None'
Typed errors: ResumeConflictError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.plan_resume¶
Stability: alpha
Work out what carrying checkpoint on would involve, without doing any of it.
def plan_resume(checkpoint: 'Checkpoint', idempotency: 'IdempotencyStore | None' = None) -> 'ResumePlan'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.refuse_if_undecidable¶
Stability: alpha
Stop before a resume that would have to guess whether a call already happened.
Typed errors: IndeterminateToolCallError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.checkpoint.scrubbed¶
Stability: alpha
Return checkpoint with credential-shaped values masked, ready to persist.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.citations_of¶
Stability: alpha
The citation ids message rests on, in the order they were recorded.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.cited¶
Stability: alpha
Return message carrying citations.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.claim_check.ClaimCheck¶
Stability: alpha
Decides which results are carried and which are checked in, and does the checking.
class ClaimCheck(object) {stored(self, result: 'ToolResult', *, tenant: 'str', run_id: 'str') -> 'ClaimTicket | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.claim_check.MemoryClaimCheckStore¶
Stability: alpha
A ClaimCheckStore in a dict, keyed by handle and checked against its scope.
class MemoryClaimCheckStore(object) {fetch(self, handle: 'str', *, tenant: 'str', run_id: 'str') -> 'str'; forget(self, *, tenant: 'str', run_id: 'str' = '') -> 'int'; put(self, handle: 'str', content: 'str', *, tenant: 'str', run_id: 'str', ttl_seconds: 'float') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.claim_resume¶
Stability: alpha
Take exclusive charge of resuming run_id, or refuse because someone else has.
def claim_resume(run_id: 'str', *, tenant: 'str', idempotency: 'IdempotencyStore', ttl_seconds: 'float | None' = None) -> 'None'
Typed errors: ResumeConflictError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compact_conversation¶
Stability: alpha
Fold the oldest turns into one summary once the conversation gets too long.
def compact_conversation(history: 'Sequence[Message]', *, summarise: 'Summariser', threshold_tokens: 'int', keep_recent: 'int' = 4, tokenizer: 'Tokenizer | None' = None, run_id: 'str' = '') -> 'Compaction'
Typed errors: ProvenanceLostError, ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.CITATIONS¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.COMPACTED¶
Stability: alpha
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.Compaction¶
Stability: alpha
A conversation after compaction, and what compaction did to it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.CompactionEvent¶
Stability: alpha
What one compaction did, in terms an audit trail can repeat.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.Summariser¶
Stability: alpha · Kind: Protocol
Writes one message standing for a span of turns.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.citations_of¶
Stability: alpha
The citation ids message rests on, in the order they were recorded.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.cited¶
Stability: alpha
Return message carrying citations.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compaction.compact_conversation¶
Stability: alpha
Fold the oldest turns into one summary once the conversation gets too long.
def compact_conversation(history: 'Sequence[Message]', *, summarise: 'Summariser', threshold_tokens: 'int', keep_recent: 'int' = 4, tokenizer: 'Tokenizer | None' = None, run_id: 'str' = '') -> 'Compaction'
Typed errors: ProvenanceLostError, ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compensation.Compensator¶
Stability: alpha
Takes a run's applied work back, in reverse order, without asking a model anything.
class Compensator(object) {unwind(self, run_id: 'str', *, tenant: 'str', cause: 'str', branch: 'str | None' = None) -> 'CompensatedFailure | CompensationIncomplete'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.compensation.MemoryCompensationLedger¶
Stability: alpha
A CompensationLedger that lives and dies with the process.
class MemoryCompensationLedger(object) {forget(self, *, tenant: 'str') -> 'int'; mark(self, reversal: 'Reversal') -> 'None'; outstanding(self, run_id: 'str', *, tenant: 'str', branch: 'str | None' = None) -> 'Sequence[Applied]'; record(self, action: 'Applied') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.ContextContribution¶
Stability: alpha
Retrieved context and optional stable keys used for admission deduplication.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.ContextContributionError¶
Stability: alpha
A required context contributor could not answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.ContextContributor¶
Stability: alpha · Kind: Protocol
A context source attached once to every run of a runner.
class ContextContributor(Protocol) {contribute(self, request: 'ContextRequest') -> 'ContextContribution'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.ContextRequest¶
Stability: alpha
Facts a context contributor receives before prompt assembly.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.ContextWindow¶
Stability: alpha
What the model is holding, and what leaves when there is no more room.
class ContextWindow(object) {admit(self, segment: 'Segment') -> 'bool'; fit(self) -> 'tuple[Segment, ...]'; holds(self, key: 'str') -> 'bool'; texts(self, layer: 'PromptLayer') -> 'tuple[str, ...]'}
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.context.Segment¶
Stability: alpha
One admitted piece of context.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.credentials.DEFAULT_SKEW_SECONDS¶
Stability: alpha
Convert a string or number to a floating-point number, if possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.credentials.Reauthoriser¶
Stability: alpha · Kind: Protocol
Whatever answers "does this caller still hold what they held" mid-run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.credentials.RefreshPolicy¶
Stability: alpha
When to refresh, and how hard to try.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.credentials.RunCredentials¶
Stability: alpha
One run's credentials: refreshed ahead of expiry, re-derived when they are.
class RunCredentials(object) {call(self, operation: 'Callable[[ExpiringCredential, str], Awaitable[T]]', *, audience: 'str', needs: 'Iterable[str]', run_id: 'str', idempotency_key: 'str | None' = None) -> 'T'; for_call(self, *, audience: 'str', needs: 'Iterable[str]', run_id: 'str', agent_version: 'str' = '1.0.0') -> 'ExpiringCredential'; invalidate(self, audience: 'str') -> 'None'; suspend(self) -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.current_ambient¶
Stability: alpha
Return the ambient of the work in hand, or None outside a run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.decode_progress¶
Stability: alpha
Decode one event, or None where this version has never heard of it.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.delegation.Delegation¶
Stability: alpha
One agent's position in a run: how deep it sits, what it holds, what it may spend.
class Delegation(object) {to(self, agent: 'str', *, tools: 'Collection[str] | None' = None, mutations: 'Collection[str] | None' = None, limits: 'DelegationLimits | None' = None) -> 'Delegation'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.delegation.DelegationLimits¶
Stability: alpha
How deep, how wide and how often one run may delegate.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.delegation.DelegationScope¶
Stability: alpha
What an agent may reach, and until when.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.delegation.handed_back¶
Stability: alpha
What a delegated run gives its caller, as data the caller's model may not obey.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.delegation.narrowed_to¶
Stability: alpha
The agent holding the intersection: its own allowlist, capped by its caller's.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.determinism.RunFingerprint¶
Stability: alpha
A canonical summary of one provider call, field by field.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.determinism.canonical_digest¶
Stability: alpha
SHA-256 over value serialised key-order independently.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.determinism.fingerprint_of¶
Stability: alpha
Fingerprint one provider call, plus the hook chain that could have shaped it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.drive¶
Stability: alpha
Run work() to completion from a caller that has no event loop.
Typed errors: RunningLoopError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Assumptions¶
Stability: alpha
Everything the estimate rests on, in a form somebody can argue with.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Calibration¶
Stability: alpha
An estimate held against what the run actually cost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Confidence¶
Stability: alpha
How much of the estimate is measurement and how much is assumption.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.CostEstimate¶
Stability: alpha
What a run is expected to cost, and how much of that is known.
class CostEstimate(AdkModel) {as_limits(self, *, headroom: 'Decimal' = Decimal('1')) -> 'BudgetLimits'; with_children(self, *children: 'CostEstimate') -> 'CostEstimate'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.InMemoryHistory¶
Stability: alpha
Finished runs kept in the process, for a deployment that has nowhere else yet.
class InMemoryHistory(object) {observed(self, agent_name: 'str', version: 'str') -> 'Observed | None'; record(self, run: 'Run[OutputT]') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Observed¶
Stability: alpha
What an agent's finished runs actually did.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Pricer¶
Stability: alpha · Kind: Protocol
What a usage comes to on a model.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.RunHistory¶
Stability: alpha · Kind: Protocol
Where finished runs are kept, in whatever store a deployment already has.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Scope¶
Stability: alpha
Whose spend the estimate covers.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.Spread¶
Stability: alpha
A distribution reduced to the three numbers an estimate needs.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.affordable¶
Stability: alpha
Whether limits has room for estimate, checked against its high case.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.approval_for¶
Stability: alpha
The estimate as something a human can be asked to approve.
def approval_for(estimate: 'CostEstimate', agent: 'Agent[OutputT]', *, run_id: 'str', tenant: 'str', requested_at: 'float' = 0.0) -> 'ApprovalRecord'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.calibrate¶
Stability: alpha
Hold estimate against what run actually cost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.estimate_run¶
Stability: alpha
What agent is expected to spend answering user_input, before it starts.
def estimate_run(agent: 'Agent[OutputT]', user_input: 'str', *, provider: 'ModelProvider', pricing: 'Pricer', history: 'RunHistory | None' = None, tools: 'Iterable[ToolDeclaration]' = (), allow_unknown: 'bool' = False) -> 'CostEstimate'
Typed errors: EstimateUnavailableError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.estimate_run_typed¶
Stability: alpha
Estimate a structured-input agent through the stable text estimator.
def estimate_run_typed(agent: 'TypedAgent[InputT, OutputT]', user_input: 'InputT', *, provider: 'ModelProvider', pricing: 'Pricer', history: 'RunHistory | None' = None, tools: 'Iterable[ToolDeclaration]' = (), allow_unknown: 'bool' = False) -> 'CostEstimate'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate.refuse_unaffordable¶
Stability: alpha
Raise if estimate does not fit limits.
Typed errors: BudgetExceededError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate_run¶
Stability: alpha
What agent is expected to spend answering user_input, before it starts.
def estimate_run(agent: 'Agent[OutputT]', user_input: 'str', *, provider: 'ModelProvider', pricing: 'Pricer', history: 'RunHistory | None' = None, tools: 'Iterable[ToolDeclaration]' = (), allow_unknown: 'bool' = False) -> 'CostEstimate'
Typed errors: EstimateUnavailableError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.estimate_run_typed¶
Stability: alpha
Estimate a structured-input agent through the stable text estimator.
def estimate_run_typed(agent: 'TypedAgent[InputT, OutputT]', user_input: 'InputT', *, provider: 'ModelProvider', pricing: 'Pricer', history: 'RunHistory | None' = None, tools: 'Iterable[ToolDeclaration]' = (), allow_unknown: 'bool' = False) -> 'CostEstimate'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.fan_out¶
Stability: alpha
Run branches concurrently through supervisor and add them up under into.
def fan_out(supervisor: 'Supervisor', branches: 'Sequence[Branch]', *, into: 'Aggregation[Any] | None' = None, max_concurrency: 'int' = 8) -> 'Aggregate[Any]'
Typed errors: AggregationError, ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.fanout.Lanes¶
Stability: alpha
The semaphores one runner's tool calls stand in.
class Lanes(object) {held(self, tool: 'str', *, tenant: 'str', turn: 'Turn | None' = None) -> 'AsyncIterator[None]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.fanout.Turn¶
Stability: alpha
The lanes belonging to one batch, so one turn cannot spend another turn's width.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.fanout.phased¶
Stability: alpha
Group calls into phases run one after another, keeping the model's order.
def phased(calls: 'Sequence[ToolCall]', *, serial: 'Container[str]') -> 'tuple[tuple[ToolCall, ...], ...]'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.fingerprint_of¶
Stability: alpha
Fingerprint one provider call, plus the hook chain that could have shaped it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handed_back¶
Stability: alpha
What a delegated run gives its caller, as data the caller's model may not obey.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.Handoff¶
Stability: alpha
The record of one conversation changing hands.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.HandoffContract¶
Stability: alpha
What one receiver accepts when a conversation is handed to it.
class HandoffContract(object) {validated(self, state: 'Mapping[str, Any] | BaseModel') -> 'BaseModel'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.HandoffDesk¶
Stability: alpha
Where one agent hands a live conversation to another, under a declared contract.
class HandoffDesk(object) {hand_off(self, to: 'str', *, reason: 'str', state: 'Mapping[str, Any] | BaseModel', task: 'str', history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), after: 'Run[Any] | None' = None) -> 'HandoffResult'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.HandoffQueue¶
Stability: alpha · Kind: Protocol
Where a conversation waits for a person to pick it up.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.HandoffResult¶
Stability: alpha
What came of handing the conversation over.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.handoff.Receiver¶
Stability: alpha
Somewhere a conversation may be handed to, and what it accepts.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.idempotency.MemoryIdempotencyStore¶
Stability: alpha
An IdempotencyStore in a dict, keyed by tenant and key.
class MemoryIdempotencyStore(object) {abandon(self, key: 'str', *, tenant: 'str') -> 'None'; begin(self, key: 'str', *, tenant: 'str', ttl_seconds: 'float') -> 'Claim'; forget(self, *, tenant: 'str') -> 'int'; record(self, key: 'str', *, tenant: 'str', outcome: 'str', ttl_seconds: 'float') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.lease.Leaseholder¶
Stability: alpha
One worker's hold on one run, for as long as the turn takes.
class Leaseholder(object) {acquire(self, run_id: 'str', *, tenant: 'str') -> 'RunLease'; keep(self, *, now: 'float') -> 'RunLease | None'; release(self) -> 'None'; renew(self) -> 'RunLease'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.lease.MemoryLeaseStore¶
Stability: alpha
A LeaseStore in a dict, deciding expiry on one clock.
class MemoryLeaseStore(object) {acquire(self, run_id: 'str', *, tenant: 'str', holder: 'str', ttl_seconds: 'float') -> 'RunLease'; held(self, run_id: 'str', *, tenant: 'str') -> 'RunLease | None'; release(self, lease: 'RunLease') -> 'None'; renew(self, lease: 'RunLease', *, ttl_seconds: 'float') -> 'RunLease'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.loop.AgentRunner¶
Stability: alpha
Drives one agent to one terminal state.
class AgentRunner(object) {reload(self, router: 'ModelRouter') -> 'None'; resume(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', run_id: 'str', *, tenant: 'str', user: 'str | None' = None, cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; resume_with_decision(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', run_id: 'str', *, tenant: 'str', token: 'str', granted: 'bool', decided_by: 'str', reason: 'str' = '', user: 'str | None' = None, cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, budget: 'BudgetPolicy | None' = None, allow_model_drift: 'bool' = False) -> 'Run[OutputT]'; run(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_sync(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_typed(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; run_typed_sync(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None) -> 'Run[OutputT]'; stream(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'RunStream[OutputT]'; stream_sync(self, agent: 'Agent[OutputT] | AgentDefinition[OutputT]', user_input: 'str', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'tuple[ProgressEvent, ...]'; stream_typed(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'RunStream[OutputT]'; stream_typed_sync(self, agent: 'TypedAgent[InputT, OutputT] | TypedAgentDefinition[InputT, OutputT]', user_input: 'InputT', *, tenant: 'str', user: 'str | None' = None, run_id: 'str | None' = None, history: 'Iterable[Message]' = (), memory: 'Iterable[str]' = (), cancellation: 'CancellationToken | None' = None, deadline: 'Deadline | None' = None, parent: 'RunContext | None' = None, budget: 'BudgetPolicy | None' = None, backpressure: 'Backpressure | None' = None) -> 'tuple[ProgressEvent, ...]'}
Typed errors: ProtocolConformanceError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.loop.ModelRequest¶
Stability: alpha
One call to a provider, as data.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.loop.ModelResponse¶
Stability: alpha
What a provider returned for one call.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.loop.SystemClock¶
Stability: alpha
Wall-clock time, for callers that did not inject one.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.narrowed_to¶
Stability: alpha
The agent holding the intersection: its own allowlist, capped by its caller's.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.Aggregate¶
Stability: alpha
What a fan-out added up to, and what it was added up from.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.Aggregation¶
Stability: alpha
A rule for turning branches into one answer, and for refusing to.
class Aggregation(ABC, Generic) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'ValueT'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.All¶
Stability: alpha
Every branch, or none. The default, because a missing branch is usually a bug.
class All(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'tuple[str, ...]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.Branch¶
Stability: alpha
One piece of work in a fan-out, named so that what it contributed can be said.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.BranchOutcome¶
Stability: alpha
How one branch ended. Four states, because "not ok" is three different problems.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.BranchResult¶
Stability: alpha
What one branch gave back, whether or not it gave back an answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.FirstSuccess¶
Stability: alpha
The first branch that answered, in declared order rather than in finishing order.
class FirstSuccess(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.Quorum¶
Stability: alpha
Every branch that answered, provided enough of them did.
class Quorum(Aggregation) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'tuple[str, ...]'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.Reduce¶
Stability: alpha
A caller's own rule over the branches that answered.
class Reduce(Aggregation, Generic) {chosen(self, results: 'Sequence[BranchResult]') -> 'tuple[tuple[BranchResult, ...], str]'; value(self, chosen: 'Sequence[BranchResult]') -> 'ValueT'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.parallel.fan_out¶
Stability: alpha
Run branches concurrently through supervisor and add them up under into.
def fan_out(supervisor: 'Supervisor', branches: 'Sequence[Branch]', *, into: 'Aggregation[Any] | None' = None, max_concurrency: 'int' = 8) -> 'Aggregate[Any]'
Typed errors: AggregationError, ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.plan_resume¶
Stability: alpha
Work out what carrying checkpoint on would involve, without doing any of it.
def plan_resume(checkpoint: 'Checkpoint', idempotency: 'IdempotencyStore | None' = None) -> 'ResumePlan'
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.AgentPlanner¶
Stability: alpha
An agent that plans, held to producing a plan and to holding nothing it could call.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.ExecutedPlan¶
Stability: alpha
What came of running a plan.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.InMemoryPlanStore¶
Stability: alpha
A PlanStore that lives as long as the process, for tests and single-node runs.
class InMemoryPlanStore(object) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'PlanRecord | None'; put(self, record: 'PlanRecord') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.Plan¶
Stability: alpha
What a planner produced: an ordered set of checkable steps and the goal behind them.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.PlanExecutor¶
Stability: alpha
Runs a validated plan, and refuses one it cannot validate.
class PlanExecutor(object) {execute(self, plan: 'Plan') -> 'ExecutedPlan'; planned(self, planner: 'Planner', task: 'str') -> 'Plan'; resume(self) -> 'ExecutedPlan'; validate(self, plan: 'Plan') -> 'Plan'}
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.PlanRecord¶
Stability: alpha
A plan and how far it got, written down so another process can carry it on.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.PlanStep¶
Stability: alpha
One thing a plan will do, as a call somebody could check before it happens.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.PlanStore¶
Stability: alpha · Kind: Protocol
Where a plan and its progress live between processes.
class PlanStore(Protocol) {forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; latest(self, run_id: 'str', *, tenant: 'str') -> 'PlanRecord | None'; put(self, record: 'PlanRecord') -> 'None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.Planner¶
Stability: alpha · Kind: Protocol
Whatever produces a plan. It reasons; it does not call anything.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.StepResult¶
Stability: alpha
What one step did, in the form a record and a resume both read.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.planner.ToolContract¶
Stability: alpha
What one tool takes, and whether taking it back is possible.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.AnswerDelta¶
Stability: alpha
More of a free-text answer. Concatenating them in order gives the buffered answer.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ApprovalRequired¶
Stability: alpha
A call is held until a human decides. Surfaced so the queue is visible live.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.Backpressure¶
Stability: alpha
What a run does when its consumer cannot keep up.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.GuardrailDecision¶
Stability: alpha
A guardrail was asked, and what it said.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.IterationStarted¶
Stability: alpha
Another model call is about to be made, counted from one.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.Pressure¶
Stability: alpha
How close a stream came to its limits, and what it did about it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ProgressEvent¶
Stability: alpha
One thing that happened, as a consumer watching the run sees it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.Provisional¶
Stability: alpha
Structured content that has arrived so far, and is not a result.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.RunCancelled¶
Stability: alpha
The run was stopped by its caller, its transport or a deadline.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.RunCompleted¶
Stability: alpha
The run reached a good terminal state.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.RunFailed¶
Stability: alpha
The run ended badly, naming the failure rather than the symptom.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.RunStarted¶
Stability: alpha
The run is live. Always first.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.RunStream¶
Stability: alpha
One run, watched while it happens.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.SequenceCheck¶
Stability: alpha
Tracks one run's numbering, so a consumer can see what it lost.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.StructuredDelta¶
Stability: alpha
More of a structured answer, as the JSON text arrives.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ToolCallFailed¶
Stability: alpha
A tool call did not return a result, and why.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ToolCallFinished¶
Stability: alpha
A tool returned.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ToolCallIndeterminate¶
Stability: alpha
A tool was stopped after dispatch, so whether its effect landed is unknown.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.ToolCallStarted¶
Stability: alpha
A tool call cleared policy and is about to run.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.UsageUpdated¶
Stability: alpha
What the run has consumed so far.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.progress.decode_progress¶
Stability: alpha
Decode one event, or None where this version has never heard of it.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.PROMPT_LAYERS¶
Stability: alpha
Built-in immutable sequence.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.Prompt¶
Stability: alpha
What is actually sent for one turn, plus the identity of its cacheable prefix.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.PromptLayer¶
Stability: alpha
A band of the prompt, in the order the kit assembles them.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.Tokenizer¶
Stability: alpha · Kind: Protocol
Counts the tokens in a string, by whatever rule the model behind it uses.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.ToolDeclaration¶
Stability: alpha
A tool as the model is told about it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.approximate_tokens¶
Stability: alpha
Estimate the tokens in text at four characters each.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.assemble_prompt¶
Stability: alpha
Compose one turn's prompt in the documented order.
def assemble_prompt(agent: 'Agent[Any]', user_input: 'str', *, history: 'Iterable[Message]' = (), pinned: 'Iterable[str]' = (), retrieved: 'Iterable[str]' = (), tools: 'Iterable[ToolDeclaration]' = (), output: 'OutputContract | None' = None, tokenizer: 'Tokenizer | None' = None) -> 'Prompt'
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.prompt.wrap_untrusted¶
Stability: alpha
Return content marked as data the model must not take instruction from.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.queue.MemoryWorkQueue¶
Stability: alpha
A WorkQueue in a dict, keyed by tenant and item.
class MemoryWorkQueue(object) {adopt(self, *, worker: 'str') -> 'tuple[WorkItem, ...]'; claim(self, *, worker: 'str', queue: 'str' = 'default', lease_seconds: 'float | None' = None) -> 'WorkItem | None'; complete(self, item_id: 'str', *, tenant: 'str', worker: 'str') -> 'WorkItem'; dead_letters(self, *, tenant: 'str', limit: 'int' = 50) -> 'tuple[WorkItem, ...]'; enqueue(self, item: 'WorkItem') -> 'WorkItem'; fail(self, item_id: 'str', *, tenant: 'str', worker: 'str', error: 'str', retryable: 'bool' = True) -> 'WorkItem'; heartbeat(self, item_id: 'str', *, tenant: 'str', worker: 'str') -> 'WorkItem'; reap(self) -> 'tuple[WorkItem, ...]'; stats(self, *, queue: 'str' = 'default') -> 'QueueStats'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.rate_limit.RateLimiter¶
Stability: alpha
A shared token bucket over requests and tokens, spending in arrival order.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.refuse_if_undecidable¶
Stability: alpha
Stop before a resume that would have to guess whether a call already happened.
Typed errors: IndeterminateToolCallError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.refuse_unaffordable¶
Stability: alpha
Raise if estimate does not fit limits.
Typed errors: BudgetExceededError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.results.ResultFinding¶
Stability: alpha
One heuristic that matched, and where — never what it matched.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.results.ResultPolicy¶
Stability: alpha
What a tool's results are held to, and what happens when one looks like an attack.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.results.ReturningTool¶
Stability: alpha · Kind: Protocol
The little a boundary needs to know about whatever returned a value.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.results.ToolResult¶
Stability: alpha
A validated tool result, and everything needed to read it as data.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.results.ToolResultBoundary¶
Stability: alpha
The one place a tool's return value becomes something a model may read.
class ToolResultBoundary(object) {checked(self, tool: 'ReturningTool', value: 'object', *, tenant: 'str' = '') -> 'ToolResult'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.resume.HistoryStore¶
Stability: alpha · Kind: Protocol
Where a transcript too large to carry inline is kept.
class HistoryStore(Protocol) {fetch(self, handle: 'str', *, tenant: 'str') -> 'Sequence[Message] | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.resume.ResumedRun¶
Stability: alpha
A run taken over: the frontier, the transcript, the plan and the lease held on it.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.resume.Resumer¶
Stability: alpha
Takes a run over, in the order that makes taking it over safe.
class Resumer(object) {holder(self, worker: 'str') -> 'Leaseholder'; resume(self, run_id: 'str', *, tenant: 'str', worker: 'str') -> 'ResumedRun | None'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.retry.RetryPlan¶
Stability: alpha
Applies one RetryConfig: what to retry, and how long to wait first.
class RetryPlan(object) {delay_for(self, attempt: 'int', *, retry_after: 'float | None' = None) -> 'float | None'; retryable(self, failure: 'BaseException') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.scrubbed¶
Stability: alpha
Return checkpoint with credential-shaped values masked, ready to persist.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.self_granted¶
Stability: alpha
Whether the answer names the agent that asked the question.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.spend.budgeted_stream¶
Stability: alpha
Pass events through, charging each reported total against budget.
def budgeted_stream(events: 'AsyncIterator[StreamEvent]', budget: 'BudgetPolicy') -> 'AsyncIterator[StreamEvent]'
Typed errors: BudgetExceededError, BudgetUnavailableError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.state.MemoryStateStore¶
Stability: alpha
A StateStore in two dicts, keyed by tenant and id.
class MemoryStateStore(object) {delete_run(self, key: 'StateKey') -> 'None'; delete_session(self, key: 'StateKey', *, cascade: 'bool' = False) -> 'None'; get_run(self, key: 'StateKey') -> 'RunRecord | None'; get_session(self, key: 'StateKey') -> 'SessionRecord | None'; list_runs(self, query: 'StateQuery') -> 'StatePage'; patch_run(self, key: 'StateKey', delta: 'StateDelta') -> 'RunRecord'; put_run(self, record: 'RunRecord') -> 'RunRecord'; put_session(self, record: 'SessionRecord') -> 'SessionRecord'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.structured.OutputContract¶
Stability: alpha
What the model was asked for, and what will be accepted back.
class OutputContract(object) {parse(self, content: 'str') -> 'BaseModel'; repair_prompt(self, violation: 'SchemaViolationError') -> 'str'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.structured.unwrap_fenced¶
Stability: alpha
Return content with an enclosing code fence removed, and whether one was removed.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.supervisor.AddressableSubagent¶
Stability: alpha · Kind: Protocol
A non-native agent that a supervisor can address under the same run bounds.
class AddressableSubagent(Protocol) {run(self, user_input: 'str', *, tenant: 'str', budget: 'BudgetPolicy', user: 'str | None' = None, run_id: 'str | None' = None, cancellation: 'CancellationToken | None' = None, parent: 'RunContext | None' = None, scopes: 'Collection[str]' = (), trace: 'Mapping[str, str] | None' = None, tools: 'Collection[str] | None' = None) -> 'Run[AddressableOutputT]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.supervisor.DelegationResult¶
Stability: alpha
What one delegation gave back.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.supervisor.Roster¶
Stability: alpha
Who a supervisor may hand work to, and how a task finds one of them.
Typed errors: ConfigurationError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.supervisor.Specialist¶
Stability: alpha
One agent a supervisor may hand work to, and what it declared it can do.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.supervisor.Supervisor¶
Stability: alpha
One agent handing work to workers that can never hold or spend more than it does.
class Supervisor(object) {cancel(self, reason: 'str' = 'the supervisor was cancelled') -> 'None'; delegate(self, task: 'str', *, needs: 'Collection[str]', budget: 'BudgetLimits | None' = None, writes: 'str | None' = None, fatal: 'bool' = False, run_id: 'str | None' = None) -> 'DelegationResult[Any]'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.suspension.ApprovalDeferred¶
Stability: alpha
Raised by a gate to say the answer will arrive long after this process is gone.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.suspension.DeferringGate¶
Stability: alpha
An approval gate that stops the run instead of waiting on it.
class DeferringGate(object) {pending(self, *, tenant: 'str') -> 'tuple[SuspendedRun, ...]'; redeem(self, token: 'str', *, tenant: 'str', presented_by: 'str') -> 'SuspendedRun'; request(self, record: 'ApprovalRecord') -> 'ApprovalDecision'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.suspension.MemorySuspensionStore¶
Stability: alpha
A SuspensionStore in a dict, keyed by tenant and run.
class MemorySuspensionStore(object) {attempted(self, attempt: 'TokenAttempt') -> 'None'; by_token(self, token_digest: 'str', *, tenant: 'str') -> 'SuspendedRun | None'; forget(self, run_id: 'str', *, tenant: 'str') -> 'None'; get(self, run_id: 'str', *, tenant: 'str') -> 'SuspendedRun | None'; pending(self, *, tenant: 'str') -> 'tuple[SuspendedRun, ...]'; put(self, suspended: 'SuspendedRun') -> 'None'; spend(self, run_id: 'str', *, tenant: 'str') -> 'bool'}
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.unwrap_fenced¶
Stability: alpha
Return content with an enclosing code fence removed, and whether one was removed.
Typed errors: None declared.
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.
tesserix_adk.runtime.wrap_untrusted¶
Stability: alpha
Return content marked as data the model must not take instruction from.
Typed errors: ValueError
Runnable recipe: examples/run_loop.py — all effects converge on the runtime boundary.