Documentation
¶
Overview ¶
Package memaxagent provides a Go-native agent orchestration SDK.
The package is intentionally provider- and filesystem-neutral. Agent autonomy comes from the orchestration loop, session state, context-window policy, permissions, hooks, tool selection, and the tool execution contract. Concrete tools decide whether they operate on a real filesystem, virtual filesystem, remote API, browser sandbox, database, or in-memory workspace.
The main entry point is Query. Query creates or resumes a session, persists the user prompt, streams a provider-neutral model.Client, executes requested tools through a tool.Registry, appends tool results, and continues until the model returns a final assistant message or a configured stop condition is reached. Callers consume the returned Event channel to drive CLIs, servers, tests, logs, traces, or custom UIs.
Callers can supply raw system prompts or use the prompt and identity packages to assemble deterministic prompt parts from an agent profile, active tools, selected skills, and host instructions. The raw prompt path remains available for embedders that need complete control.
QueryAsync starts the same run shape without blocking the caller on startup I/O. This is useful for HTTP and WebSocket servers that want all session, hook, and prompt setup work to happen outside the request dispatch path.
Applications provide capabilities by registering tools. The core never bypasses the tool layer for files, shell commands, network calls, approvals, checkpoints, task state, or delegation. This keeps policy and workspace ownership in the host application while preserving a reusable autonomous loop.
Index ¶
- Variables
- func Drain(events <-chan Event) (string, error)
- func EffectiveToolSpecs(opts Options) ([]model.ToolSpec, error)
- func ObserveEvent(ctx context.Context, event Event)
- func Query(ctx context.Context, prompt string, opts Options) (<-chan Event, error)
- func QueryAsync(ctx context.Context, prompt string, opts Options) <-chan Event
- func WithEventObserver(ctx context.Context, observer EventObserver) context.Context
- type ApprovalEvent
- type ApprovalSummaryEvent
- type CommandEvent
- type ContextEvent
- type Event
- type EventKind
- type EventObserver
- type EventObserverFunc
- type MemoryCandidatesEvent
- type Options
- type RunEvent
- type ScheduledRunNotificationEvent
- type SkillEvent
- type TenantEvent
- type VerificationEvent
- type WorkspaceEvent
Constants ¶
This section is empty.
Variables ¶
var ErrMissingModelClient = errors.New("memaxagent: model client is required")
Functions ¶
func EffectiveToolSpecs ¶
EffectiveToolSpecs returns the model-facing tool specifications after the agent applies runtime tool injection, such as progressive skill loading. It returns the runtime superset and does not apply per-turn ToolSelector filtering, which depends on the current conversation state. It also does not load SkillSource contents; it only exposes the runtime load_skill tool spec when progressive skill loading is configured.
func ObserveEvent ¶
ObserveEvent sends one host-owned event through the observer attached to ctx. This is useful for optional stack-level lifecycle signals that are not emitted directly by Query/QueryAsync but should still flow through the same audit and observability seam.
func QueryAsync ¶
QueryAsync starts Query in a goroutine and reports startup failures as EventError values instead of returning them synchronously.
This is useful in server handlers that need SDK startup work, such as session store access or user-prompt hooks, to run outside the caller goroutine. Startup failures are observed by Query before it returns; the synthesized channel events below are not observed a second time.
func WithEventObserver ¶
func WithEventObserver(ctx context.Context, observer EventObserver) context.Context
WithEventObserver returns a child context that observes emitted agent events through observer. Nil observers leave ctx unchanged. Observation is scoped to the context value: code that creates a fresh context must reattach the observer if it wants events under that new context to remain observable.
Types ¶
type ApprovalEvent ¶
type ApprovalEvent struct {
Action string
Reason string
InputHash string
Summary ApprovalSummaryEvent
Requested bool
Approved bool
Consumed bool
SingleUse bool
InputBound bool
}
ApprovalEvent describes approval request, decision, and consumption events. Action is the approved or requested action/tool name. Requested, Approved, Consumed, SingleUse, and InputBound are set according to the event kind.
type ApprovalSummaryEvent ¶
type ApprovalSummaryEvent struct {
Title string
Description string
Risk string
Paths []string
Changes int
Added int
Modified int
Deleted int
ByteDelta int
}
ApprovalSummaryEvent is a compact host-facing summary of an approval request.
type CommandEvent ¶
type CommandEvent struct {
Operation string
CommandID string
Command string
Argv []string
CWD string
Status string
PID int
TTY bool
SignalsProcessTree bool
Cols int
Rows int
InputBytes int
ExitCode int
TimedOut bool
DurationMS int
StdoutBytes int
StderrBytes int
OutputTruncated bool
NextSeq int
ResumeAfterSeq int
OutputChunks int
DroppedChunks int
DroppedBytes int
}
CommandEvent describes one host-owned command lifecycle observation. `run_command` uses Action "run" and populates process status fields. Managed command sessions populate Action "start", "write", "read", "resize", or "stop" plus CommandID, Status, PID, TTY, SignalsProcessTree, Cols, Rows, NextSeq, ResumeAfterSeq, OutputChunks, DroppedChunks, and DroppedBytes as appropriate. "write" additionally sets InputBytes. Command output text remains in the paired EventToolResult so transcript-visible tool behavior stays explicit.
type ContextEvent ¶
type Event ¶
type Event struct {
Kind EventKind
SessionID string
ParentSessionID string
Turn int
Time time.Time
Message *model.Message
ToolUse *model.ToolUse
ToolUseDelta string
ToolResult *model.ToolResult
Usage *model.Usage
Context *ContextEvent
Compaction *contextwindow.CompactionRecord
Memory *MemoryCandidatesEvent
Skill *SkillEvent
Workspace *WorkspaceEvent
Verification *VerificationEvent
Approval *ApprovalEvent
Tenant *TenantEvent
Command *CommandEvent
Run *RunEvent
Notification *ScheduledRunNotificationEvent
Result string
Err error
}
Event is emitted by Query as the orchestration loop progresses.
type EventKind ¶
type EventKind string
const ( EventSessionStarted EventKind = "session_started" EventModelRequest EventKind = "model_request" EventAssistant EventKind = "assistant" // EventToolUseStart is emitted when a provider starts streaming a tool-use // block before the full JSON input is complete. EventToolUseStart EventKind = "tool_use_start" // EventToolUseDelta is emitted for incremental provider tool-use input // chunks. The complete, executable call is still emitted as EventToolUse. EventToolUseDelta EventKind = "tool_use_delta" EventToolUse EventKind = "tool_use" // EventToolResult is emitted for tool execution results. If streaming fails // after an early safe tool has started, a cancellation result may be emitted // before EventError so observers do not see an orphaned tool-use event. EventToolResult EventKind = "tool_result" EventUsage EventKind = "usage" EventContextApplied EventKind = "context_applied" // EventContextCompacted is emitted when a context policy produces a // compaction record, such as replacing older transcript messages with a // summary. EventContextCompacted EventKind = "context_compacted" // EventMemoryCandidates is emitted after a valid final answer has been // distilled and before EventResult. Candidates are proposals only; the SDK // does not persist them unless Options.MemoryCandidateHandler is configured. EventMemoryCandidates EventKind = "memory_candidates" // EventMemoryCandidateHandlerError is emitted when an optional memory // candidate handler fails. It is non-terminal; EventResult is still emitted. EventMemoryCandidateHandlerError EventKind = "memory_candidate_handler_error" // EventSkillDiscovery is emitted when the prompt exposes progressive skill // metadata for a model request. It is emitted per prompt build, so a context // retry can produce more than one discovery event for the same turn. EventSkillDiscovery EventKind = "skill_discovery" // EventSkillSearch is emitted when a skill catalog search tool returns. EventSkillSearch EventKind = "skill_search" // EventSkillLoaded is emitted when load_skill returns full instructions. EventSkillLoaded EventKind = "skill_loaded" // EventSkillResourceLoaded is emitted when read_skill_resource returns a // supporting resource. EventSkillResourceLoaded EventKind = "skill_resource_loaded" // EventWorkspacePatch is emitted when a workspace patch tool applies file // changes. EventWorkspacePatch EventKind = "workspace_patch" // EventWorkspaceDiff is emitted when a workspace diff tool reports changes. EventWorkspaceDiff EventKind = "workspace_diff" // EventWorkspaceCheckpoint is emitted when a workspace checkpoint is // created. EventWorkspaceCheckpoint EventKind = "workspace_checkpoint" // EventWorkspaceRestore is emitted when a workspace checkpoint is restored. EventWorkspaceRestore EventKind = "workspace_restore" // EventVerification is emitted when a verification tool reports pass/fail // status for a host-owned check. EventVerification EventKind = "verification" // EventApprovalRequested is emitted when an approval request tool result is // observed. It is followed by EventApprovalGranted or EventApprovalDenied // for the same result. EventApprovalRequested EventKind = "approval_requested" // EventApprovalGranted is emitted when an approval request was granted. EventApprovalGranted EventKind = "approval_granted" // EventApprovalDenied is emitted when an approval request was denied. EventApprovalDenied EventKind = "approval_denied" // EventApprovalConsumed is emitted when a later tool result carries metadata // showing that an approval grant was consumed for that attempt. EventApprovalConsumed EventKind = "approval_consumed" // EventTenantDenied is emitted when a tenant validator denies a session // start, model request, or tool use. EventTenantDenied EventKind = "tenant_denied" // EventCommandFinished is emitted when a command tool returns process // status and retained output metadata. EventCommandFinished EventKind = "command_finished" // EventCommandStarted is emitted when start_command creates a managed // command session. EventCommandStarted EventKind = "command_started" // EventCommandOutput is emitted when read_command_output or // wait_command_output returns buffered output for a managed command session. EventCommandOutput EventKind = "command_output" // EventCommandInput is emitted when write_command_input writes stdin to a // managed command session and optionally observes fresh output. EventCommandInput EventKind = "command_input" // EventCommandStopped is emitted when stop_command stops a managed command // session. EventCommandStopped EventKind = "command_stopped" // EventCommandResized is emitted when resize_command_terminal changes a PTY // session's terminal geometry. EventCommandResized EventKind = "command_resized" // EventRunStateChanged is emitted when a host-owned durable background or // proactive run changes lifecycle state, such as queued, running, // succeeded, failed, or canceled. Run events with TriggerName set identify // personal proactive scheduled-run occurrences. EventRunStateChanged EventKind = "run_state_changed" // EventScheduledRunNotificationClaimed is emitted when a personal // scheduled-run notification outbox record is leased to a delivery worker. EventScheduledRunNotificationClaimed EventKind = "scheduled_run_notification_claimed" // EventScheduledRunNotificationDelivered is emitted when a personal // scheduled-run notification outbox record is acked as externally delivered. EventScheduledRunNotificationDelivered EventKind = "scheduled_run_notification_delivered" // EventScheduledRunNotificationFailed is emitted when a personal // scheduled-run notification delivery attempt is marked retryable. EventScheduledRunNotificationFailed EventKind = "scheduled_run_notification_failed" // EventScheduledRunNotificationDeadLettered is emitted when a personal // scheduled-run notification exhausts retry policy and requires host // intervention. EventScheduledRunNotificationDeadLettered EventKind = "scheduled_run_notification_dead_lettered" // EventScheduledRunNotificationRequeued is emitted when a host requeues a // failed or dead-lettered personal scheduled-run notification. EventScheduledRunNotificationRequeued EventKind = "scheduled_run_notification_requeued" EventError EventKind = "error" EventResult EventKind = "result" )
type EventObserver ¶
EventObserver observes emitted agent events as they happen. Observers are host-owned and non-authoritative: they can mirror events to logs, metrics, audit stores, or tracing systems without changing the event stream seen by callers. Observation runs synchronously on the event-emission path, so hosts with slow sinks should wrap them behind an async or buffered adapter to avoid backpressuring the agent loop.
type EventObserverFunc ¶
EventObserverFunc adapts a function to EventObserver.
func (EventObserverFunc) ObserveEvent ¶
func (f EventObserverFunc) ObserveEvent(ctx context.Context, event Event)
ObserveEvent calls f(ctx, event).
type MemoryCandidatesEvent ¶
type Options ¶
type Options struct {
Model model.Client
Tools *tool.Registry
Permissions permission.Checker
Sessions session.Store
Hooks *hook.Runner
Context contextwindow.Policy
ContextRetry contextwindow.Policy
ToolSelector tool.Selector
Budget budget.Governor
ResultStore resultstore.Store
Output output.Contract
Tracer telemetry.Tracer
Meter telemetry.Meter
PromptBuilder prompt.Builder
PromptProfile prompt.Profile
Identity identity.Identity
Tenant tenant.Scope
TenantValidator tenant.Validator
Planner planner.Policy
MemorySource memory.Source
MemoryDistiller memory.Distiller
// MemoryCandidateHandler handles distilled memory candidates after they are
// emitted as EventMemoryCandidates. Nil preserves the safe default: propose
// candidates but do not persist them. Handler errors emit
// EventMemoryCandidateHandlerError but do not prevent the final result.
MemoryCandidateHandler memory.CandidateHandler
Memories []memory.Memory
SkillSource skill.Source
SkillResourceSource skill.ResourceSource
SkillDisclosure skill.DisclosureMode
Skills []skill.Skill
SystemPrompt string
AppendSystemPrompt string
SessionID string
ParentSessionID string
MaxTurns int
// MaxFinalDenials controls how many before-final denials may be repaired
// with transcript prompts before the run fails. Zero uses the SDK default;
// a negative value disables finalization retries.
MaxFinalDenials int
MaxToolConcurrency int
MaxRunDuration time.Duration
}
Options configures one agent run.
func (Options) Merge ¶
Merge returns a copy of o with non-zero fields from override applied. Slice fields replace the base when override provides a non-nil slice, including an explicitly empty slice. This is used by composed agents and evals to share the same option override semantics as new fields are added.
type RunEvent ¶
type RunEvent struct {
RunID string
Status string
Prompt string
WorkerID string
TriggerName string
OccurrenceAt time.Time
Result string
Error string
}
RunEvent describes one durable host-owned run lifecycle transition. Status is one of the stack-defined lifecycle states such as queued, running, succeeded, failed, or canceled. TriggerName and OccurrenceAt are set for personal proactive scheduled runs. Result is set by stacks that expose a terminal user-facing result, including partial terminal output, through lifecycle notifications.
type ScheduledRunNotificationEvent ¶
type ScheduledRunNotificationEvent struct {
// NotificationID is the host-owned outbox record ID.
NotificationID string
// RunID is the scheduled-run ID that produced the notification.
RunID string
// Status is the scheduled-run lifecycle status that produced the notification.
Status string
// TriggerName is the scheduled trigger name, when the notification came from a trigger.
TriggerName string
// OccurrenceAt is the deterministic scheduled occurrence time, when present.
OccurrenceAt time.Time
// DeliveryStatus is the notification delivery status after the transition.
DeliveryStatus string
// WorkerID is the delivery worker that claimed or updated the notification.
WorkerID string
// Attempts is the number of delivery attempts after the transition.
Attempts int
// DeliveryError is the latest delivery failure reason, when present.
DeliveryError string
// DeliverAfter is the next eligible delivery time.
DeliverAfter time.Time
// DeliveredAt is set when the notification reaches delivered status.
DeliveredAt time.Time
// DeliveryUpdatedAt is the timestamp of the delivery-state transition.
DeliveryUpdatedAt time.Time
}
ScheduledRunNotificationEvent describes one host-owned personal notification outbox delivery transition. Status is the scheduled-run lifecycle status that produced the notification. DeliveryStatus, WorkerID, Attempts, DeliveryError, DeliverAfter, DeliveredAt, and DeliveryUpdatedAt describe the current delivery state after the transition.
type SkillEvent ¶
type SkillEvent struct {
Action string
SkillName string
ResourceName string
Query string
SelectedSkills []string
Selected int
Omitted int
Matches int
PromptBytes int
MetadataOnly bool
}
SkillEvent describes one skill lifecycle observation. Fields are populated according to Action: "discovery" uses SelectedSkills, Selected, Omitted, PromptBytes, and MetadataOnly; "search" uses Query, Matches, and MetadataOnly; "load" uses SkillName; "resource_load" uses SkillName and ResourceName.
type TenantEvent ¶
type TenantEvent struct {
Boundary string
TenantID string
SubjectID string
Attributes map[string]string
Reason string
}
TenantEvent describes one tenant-policy denial. QueryAsync can emit this before EventError for startup denials that happen before an event stream would otherwise exist.
type VerificationEvent ¶
type VerificationEvent struct {
Operation string
Name string
Passed bool
Diagnostics int
Paths []string
}
VerificationEvent describes one host-owned verification check, such as a test, typecheck, lint, or custom policy validator. Failed checks are expected to arrive as tool error results so the model can repair and retry.
type WorkspaceEvent ¶
type WorkspaceEvent struct {
Operation string
Paths []string
Changes int
Added int
Modified int
Deleted int
ByteDelta int
CheckpointID string
BaseID string
}
WorkspaceEvent describes one workspace lifecycle observation derived from tool result metadata. Operation is one of "patch", "diff", "checkpoint", or "restore". Patch and diff events use Paths, Changes, Added, Modified, Deleted, and ByteDelta; checkpoint and restore events use CheckpointID. Diff events may also set BaseID.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package agenteval provides deterministic evaluation helpers for agent orchestration behavior.
|
Package agenteval provides deterministic evaluation helpers for agent orchestration behavior. |
|
scenarios
Package scenarios provides reusable deterministic eval cases for core agent behaviors.
|
Package scenarios provides reusable deterministic eval cases for core agent behaviors. |
|
Package budget defines provider-neutral run budget governors for agent runs.
|
Package budget defines provider-neutral run budget governors for agent runs. |
|
examples
|
|
|
advanced_stack
command
|
|
|
ci_embedding
command
|
|
|
cloudmanaged_observability_stack
command
|
|
|
cloudmanaged_remote_stack
command
|
|
|
coding_model_profiles
command
|
|
|
coding_rollback_repair_stack
command
|
|
|
coding_safe_local_stack
command
|
|
|
coding_stack
command
|
|
|
coding_wait_repair_stack
command
|
|
|
eval_scenarios
command
|
|
|
live_anthropic
command
|
|
|
live_openai
command
|
|
|
memory_tools
command
|
|
|
personal_briefing_stack
command
|
|
|
personal_inbox_stack
command
|
|
|
personal_messages_stack
command
|
|
|
personal_notes_stack
command
|
|
|
personal_proactive_stack
command
|
|
|
personal_schedule_stack
command
|
|
|
personal_scheduled_inbox_stack
command
|
|
|
personal_stack
command
|
|
|
personal_task_ledger_stack
command
|
|
|
personal_week_ahead_stack
command
|
|
|
server_embedding
command
|
|
|
server_live
command
|
|
|
session_resume
command
|
|
|
skills_identity
command
|
|
|
Package identity defines reusable agent profiles for prompt assembly.
|
Package identity defines reusable agent profiles for prompt assembly. |
|
internal
|
|
|
Package mcpbridge adapts Model Context Protocol servers into normal Memax tools.
|
Package mcpbridge adapts Model Context Protocol servers into normal Memax tools. |
|
Package messaging defines host-owned messaging and thread contracts for personal-intelligence adapters.
|
Package messaging defines host-owned messaging and thread contracts for personal-intelligence adapters. |
|
jmapclient
Package jmapclient provides a focused JMAP mail client for messaging adapters.
|
Package jmapclient provides a focused JMAP mail client for messaging adapters. |
|
jmapstore
Package jmapstore adapts JMAP mail backends to the messaging contracts.
|
Package jmapstore adapts JMAP mail backends to the messaging contracts. |
|
Package modelregistry loads provider-neutral model metadata from external registries and maps it into the SDK's stable model.Capabilities contract.
|
Package modelregistry loads provider-neutral model metadata from external registries and maps it into the SDK's stable model.Capabilities contract. |
|
Package notes defines host-owned note and lightweight document contracts for personal-intelligence adapters.
|
Package notes defines host-owned note and lightweight document contracts for personal-intelligence adapters. |
|
Package output defines provider-neutral structured final-output contracts.
|
Package output defines provider-neutral structured final-output contracts. |
|
Package planner defines source-neutral planning policies for agent runs.
|
Package planner defines source-neutral planning policies for agent runs. |
|
Package prompt builds deterministic system prompts from named parts.
|
Package prompt builds deterministic system prompts from named parts. |
|
providers
|
|
|
Package resultstore defines host-owned storage for oversized tool results.
|
Package resultstore defines host-owned storage for oversized tool results. |
|
Package sandbox defines an optional host-owned execution substrate that can back workspace and command toolkits together.
|
Package sandbox defines an optional host-owned execution substrate that can back workspace and command toolkits together. |
|
Package scheduling defines host-owned calendar and scheduling contracts for personal-intelligence adapters.
|
Package scheduling defines host-owned calendar and scheduling contracts for personal-intelligence adapters. |
|
caldavclient
Package caldavclient provides a focused CalDAV protocol client for scheduling adapters.
|
Package caldavclient provides a focused CalDAV protocol client for scheduling adapters. |
|
caldavstore
Package caldavstore adapts a CalDAV calendar collection to the scheduling contracts.
|
Package caldavstore adapts a CalDAV calendar collection to the scheduling contracts. |
|
googlecalendarclient
Package googlecalendarclient provides a focused Google Calendar REST client for scheduling adapters.
|
Package googlecalendarclient provides a focused Google Calendar REST client for scheduling adapters. |
|
googlecalendarstore
Package googlecalendarstore adapts the Google Calendar REST API to the scheduling contracts.
|
Package googlecalendarstore adapts the Google Calendar REST API to the scheduling contracts. |
|
sqlitestore
Package sqlitestore provides a durable SQLite-backed scheduling adapter.
|
Package sqlitestore provides a durable SQLite-backed scheduling adapter. |
|
sqlitestore
Package sqlitestore provides a SQLite-backed implementation of session.Store.
|
Package sqlitestore provides a SQLite-backed implementation of session.Store. |
|
Package skill loads and selects local instruction bundles for agents.
|
Package skill loads and selects local instruction bundles for agents. |
|
stack
|
|
|
cloudmanaged
Package cloudmanaged provides an opinionated managed-agent stack over the neutral Memax runtime.
|
Package cloudmanaged provides an opinionated managed-agent stack over the neutral Memax runtime. |
|
cloudmanaged/redistore
Package redistore provides a Redis-backed cloudmanaged.QuotaStore.
|
Package redistore provides a Redis-backed cloudmanaged.QuotaStore. |
|
cloudmanaged/remote
Package remote provides host-owned remote worker helpers for cloudmanaged durable runs.
|
Package remote provides host-owned remote worker helpers for cloudmanaged durable runs. |
|
cloudmanaged/sqlitestore
Package sqlitestore provides durable SQLite-backed cloudmanaged stores.
|
Package sqlitestore provides durable SQLite-backed cloudmanaged stores. |
|
coding
Package coding provides an opinionated coding-agent stack over the neutral Memax runtime.
|
Package coding provides an opinionated coding-agent stack over the neutral Memax runtime. |
|
personal
Package personal provides an opinionated personal-intelligence stack over the neutral Memax runtime.
|
Package personal provides an opinionated personal-intelligence stack over the neutral Memax runtime. |
|
personal/sqlitestore
Package sqlitestore provides a durable SQLite-backed personal scheduled-run store and scheduled-run notification outbox.
|
Package sqlitestore provides a durable SQLite-backed personal scheduled-run store and scheduled-run notification outbox. |
|
personal/webhook
Package webhook provides an HTTP delivery handler for personal scheduled-run notifications.
|
Package webhook provides an HTTP delivery handler for personal scheduled-run notifications. |
|
toolkit
|
|
|
agentpolicy
Package agentpolicy provides composable host-owned policy presets for common agent workflows.
|
Package agentpolicy provides composable host-owned policy presets for common agent workflows. |
|
approvaltools
Package approvaltools provides explicit host approval tools.
|
Package approvaltools provides explicit host approval tools. |
|
commandtools
Package commandtools provides host-owned command execution tools.
|
Package commandtools provides host-owned command execution tools. |
|
commandtools/sessiontest
Package sessiontest provides reusable conformance tests for managed command session adapters.
|
Package sessiontest provides reusable conformance tests for managed command session adapters. |
|
commandtools/sqlitestore
Package sqlitestore provides a durable SQLite-backed command transcript store.
|
Package sqlitestore provides a durable SQLite-backed command transcript store. |
|
messagetools
Package messagetools exposes host-owned messaging tools.
|
Package messagetools exposes host-owned messaging tools. |
|
notetools
Package notetools exposes host-owned note and lightweight document tools.
|
Package notetools exposes host-owned note and lightweight document tools. |
|
scheduletools
Package scheduletools exposes host-owned scheduling tools.
|
Package scheduletools exposes host-owned scheduling tools. |
|
tasktools/sqlitestore
Package sqlitestore provides a durable SQLite-backed tasktools.Store.
|
Package sqlitestore provides a durable SQLite-backed tasktools.Store. |
|
webtools
Package webtools exposes host-owned web search and fetch tools.
|
Package webtools exposes host-owned web search and fetch tools. |
|
Package web defines host-owned web search and fetch contracts.
|
Package web defines host-owned web search and fetch contracts. |
|
Package workspace defines source-neutral workspace state, patch, diff, and checkpoint contracts for optional coding-agent toolkits.
|
Package workspace defines source-neutral workspace state, patch, diff, and checkpoint contracts for optional coding-agent toolkits. |