Directories
¶
| Path | Synopsis |
|---|---|
|
agent
|
|
|
adapter/acpprofile
Package acpprofile adapts the ACP runtime profile registry to the stable turn contract consumed by Channel.
|
Package acpprofile adapts the ACP runtime profile registry to the stable turn contract consumed by Channel. |
|
adapter/agentsession
Package agentsession adapts Chat thread metadata to the minimal descriptor consumed by the ACP runtime.
|
Package agentsession adapts Chat thread metadata to the minimal descriptor consumed by the ACP runtime. |
|
adapter/channelcontact
Package channelcontact adapts Channel routes to Agent messaging contacts.
|
Package channelcontact adapts Channel routes to Agent messaging contacts. |
|
adapter/channelidentity
Package channelidentity adapts Channel configuration data to the neutral platform identity projection consumed by Agent application orchestration.
|
Package channelidentity adapts Channel configuration data to the neutral platform identity projection consumed by Agent application orchestration. |
|
adapter/channelmessaging
Package channelmessaging adapts Agent-owned messaging ports to the Channel delivery runtime.
|
Package channelmessaging adapts Agent-owned messaging ports to the Channel delivery runtime. |
|
adapter/channelqueue
Package channelqueue adapts channel queue controls to the application service without exposing queue storage types to channels or RPC.
|
Package channelqueue adapts channel queue controls to the application service without exposing queue storage types to channels or RPC. |
|
application
Package application orchestrates agent turns, including context assembly, persistence, memory, compaction, approvals, and runtime invocation.
|
Package application orchestrates agent turns, including context assembly, persistence, memory, compaction, approvals, and runtime invocation. |
|
background
Package background implements a background task manager for long-running commands and subagent work.
|
Package background implements a background task manager for long-running commands and subagent work. |
|
context/fragment
Package contextfrag defines the typed intermediate representation used to describe context before it is rendered into provider-specific SDK inputs.
|
Package contextfrag defines the typed intermediate representation used to describe context before it is rendered into provider-specific SDK inputs. |
|
decision
Package decision holds app-layer decision DTOs and shared waiting primitives.
|
Package decision holds app-layer decision DTOs and shared waiting primitives. |
|
decision/feedback
Package feedback defines stable user-facing External Agent errors.
|
Package feedback defines stable user-facing External Agent errors. |
|
decision/input
Package-shared MCP form-elicitation core: translates an MCP elicitation requestedSchema into the strict ask_user question payload and maps the submitted answers back into schema-conformant content.
|
Package-shared MCP form-elicitation core: translates an MCP elicitation requestedSchema into the strict ask_user question payload and maps the submitted answers back into schema-conformant content. |
|
event
Package event defines the stream events shared by agent runtimes and the conversation layer.
|
Package event defines the stream events shared by agent runtimes and the conversation layer. |
|
event/payload
Package payload defines the on-wire shapes for agent-emitted events published to the chat event hub.
|
Package payload defines the on-wire shapes for agent-emitted events published to the chat event hub. |
|
runtime/acp
Driver adapts the ACP session pool to the external runtime port, so ACP sits at the same level as the other out-of-process external agent runtimes (codex, claude-code) and the application keeps one turn orchestration for all of them.
|
Driver adapts the ACP session pool to the external runtime port, so ACP sits at the same level as the other out-of-process external agent runtimes (codex, claude-code) and the application keeps one turn orchestration for all of them. |
|
runtime/acp/client
Package client manages Agent Control Protocol processes, sessions, and events.
|
Package client manages Agent Control Protocol processes, sessions, and events. |
|
runtime/agentprocess
Package agentprocess provides the shared bridge-backed stdio process used by direct External Agent drivers.
|
Package agentprocess provides the shared bridge-backed stdio process used by direct External Agent drivers. |
|
runtime/agentstate
Package agentstate defines the External Agent persistence contract for native session checkpoints: JSONL trees owned by an out-of-process runtime (an ACP agent, codex, claude-code) that Memoh snapshots to and restores from the database without making their opaque records part of the canonical chat timeline.
|
Package agentstate defines the External Agent persistence contract for native session checkpoints: JSONL trees owned by an out-of-process runtime (an ACP agent, codex, claude-code) that Memoh snapshots to and restores from the database without making their opaque records part of the canonical chat timeline. |
|
runtime/claudecode
Database checkpointing for Claude Code sessions.
|
Database checkpointing for Claude Code sessions. |
|
runtime/claudecode/claudecfg
Package claudecfg holds the Bot Agent configuration contract for the direct Claude Code runtime.
|
Package claudecfg holds the Bot Agent configuration contract for the direct Claude Code runtime. |
|
runtime/codex
Package codex implements the direct codex app-server runtime driver: it speaks the v2 protocol (internal/agent/runtime/codex/protocol) to a pinned codex CLI running inside the bot workspace, with no ACP adapter in between.
|
Package codex implements the direct codex app-server runtime driver: it speaks the v2 protocol (internal/agent/runtime/codex/protocol) to a pinned codex CLI running inside the bot workspace, with no ACP adapter in between. |
|
runtime/codex/codexcfg
Package codexcfg holds the Bot Agent configuration contract for the direct codex runtime.
|
Package codexcfg holds the Bot Agent configuration contract for the direct codex runtime. |
|
runtime/codex/protocol
Package protocol implements the wire contract Memoh speaks with the codex app-server: JSON-RPC 2.0 semantics over newline-delimited JSON on stdio, with the `jsonrpc` version field omitted, as the app-server does.
|
Package protocol implements the wire contract Memoh speaks with the codex app-server: JSON-RPC 2.0 semantics over newline-delimited JSON on stdio, with the `jsonrpc` version field omitted, as the app-server does. |
|
runtime/codex/protocolgen
Package protocolgen generates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot under schema/.
|
Package protocolgen generates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot under schema/. |
|
runtime/external
Package external defines the neutral port between the agent application layer and out-of-process runtimes: Codex, Claude Code, and ACP agents.
|
Package external defines the neutral port between the agent application layer and out-of-process runtimes: Codex, Claude Code, and ACP agents. |
|
runtime/session/ledger
Package ledger is the durable half of the session runtime: the record of which runs were admitted, who owns them, and how they ended.
|
Package ledger is the durable half of the session runtime: the record of which runs were admitted, who owns them, and how they ended. |
|
runtime/toolmount
Package toolmount serves the Memoh tool gateway (HTTP MCP) into a bot workspace over the bridge's reverse-HTTP stream, so an external agent runtime inside the container reaches Memoh tools at the workspace-local proxy URL.
|
Package toolmount serves the Memoh tool gateway (HTTP MCP) into a bot workspace over the bridge's reverse-HTTP stream, so an external agent runtime inside the container reaches Memoh tools at the workspace-local proxy URL. |
|
turn
Package turn defines the application-level contract for starting and observing agent turns.
|
Package turn defines the application-level contract for starting and observing agent turns. |
|
Package agentcredential stores Agent credentials encrypted at rest.
|
Package agentcredential stores Agent credentials encrypted at rest. |
|
App apps installs Supermarket Apps into bot workspaces.
|
App apps installs Supermarket Apps into bot workspaces. |
|
adapter/alibabacloud
Package alibabacloud implements DashScope's OpenAI-compatible Qwen ASR API.
|
Package alibabacloud implements DashScope's OpenAI-compatible Qwen ASR API. |
|
secure
Package secure provides passphrase-based authenticated encryption for bot backup bundles.
|
Package secure provides passphrase-based authenticated encryption for bot backup bundles. |
|
Package capabilities derives model reasoning capabilities (thinking mode and effort tiers) from the LiteLLM model registry.
|
Package capabilities derives model reasoning capabilities (thinking mode and effort tiers) from the LiteLLM model registry. |
|
Package channel provides a unified abstraction for multi-platform messaging channels.
|
Package channel provides a unified abstraction for multi-platform messaging channels. |
|
adapters/dingtalk
Package dingtalk implements the DingTalk channel adapter.
|
Package dingtalk implements the DingTalk channel adapter. |
|
adapters/feishu
Package feishu implements the Feishu (Lark) channel adapter.
|
Package feishu implements the Feishu (Lark) channel adapter. |
|
adapters/feishu/wsclient
Package wsclient is a Feishu/Lark long-connection websocket client.
|
Package wsclient is a Feishu/Lark long-connection websocket client. |
|
adapters/local
Package local implements the CLI and Web channel adapters for local development.
|
Package local implements the CLI and Web channel adapters for local development. |
|
adapters/misskey
Package misskey implements the Misskey channel adapter.
|
Package misskey implements the Misskey channel adapter. |
|
adapters/telegram
Package telegram implements the Telegram channel adapter.
|
Package telegram implements the Telegram channel adapter. |
|
common
Package common provides shared utilities for channel adapters.
|
Package common provides shared utilities for channel adapters. |
|
partsfixture
Package partsfixture exposes the canonical Message.Parts fixture used by the cross-platform rendering regression tests.
|
Package partsfixture exposes the canonical Message.Parts fixture used by the cross-platform rendering regression tests. |
|
publicmedia
Package publicmedia defines signed public image media paths shared by channel adapters and HTTP handlers.
|
Package publicmedia defines signed public image media paths shared by channel adapters and HTTP handlers. |
|
Package channelaccess wires together the global account binding (channel identity <-> web user) and the per-bot Manage capability, resolving the effective Manage as "local override ?? inherited from bound web member".
|
Package channelaccess wires together the global account binding (channel identity <-> web user) and the per-bot Manage capability, resolving the effective Manage as "local override ?? inherited from bound web member". |
|
chat
|
|
|
timeline
Package timeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events.
|
Package timeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events. |
|
Package connectors manages bot-scoped bindings to the trusted Connect-It deployment.
|
Package connectors manages bot-scoped bindings to the trusted Connect-It deployment. |
|
Package httpx holds tiny echo-boundary helpers shared by the server shell and HTTP handlers.
|
Package httpx holds tiny echo-boundary helpers shared by the server shell and HTTP handlers. |
|
Package i18n provides a tiny, zero-dependency localization catalog for the IM command UI (slash commands, inline-keyboard buttons, renderer chrome).
|
Package i18n provides a tiny, zero-dependency localization catalog for the IM command UI (slash commands, inline-keyboard buttons, renderer chrome). |
|
lottie
Package lottie rasterises Lottie animations — Telegram animated stickers in particular — without cgo, a native library or a helper process.
|
Package lottie rasterises Lottie animations — Telegram animated stickers in particular — without cgo, a native library or a helper process. |
|
memory
|
|
|
migrate
Package migrate contains utilities that convert existing markdown-backed memory content into the PostgreSQL wiki/graph schema (memory_nodes + memory_edges).
|
Package migrate contains utilities that convert existing markdown-backed memory content into the PostgreSQL wiki/graph schema (memory_nodes + memory_edges). |
|
segment
Package segment tokenises memory text for lexical scoring, with first-class support for CJK (Chinese/Japanese) text.
|
Package segment tokenises memory text for lexical scoring, with first-class support for CJK (Chinese/Japanese) text. |
|
wikistore
Package wikistore provides a graph store over the memory_nodes / memory_edges tables.
|
Package wikistore provides a graph store over the memory_nodes / memory_edges tables. |
|
Package reasoning owns every decision about extended thinking: what a user may select for a model, and what a call actually sends upstream.
|
Package reasoning owns every decision about extended thinking: what a user may select for a model, and what a call actually sends upstream. |
|
Package runtimekind is the single owner of the session runtime vocabulary and of the capability table that says what each runtime kind supports.
|
Package runtimekind is the single owner of the session runtime vocabulary and of the capability table that says what each runtime kind supports. |
|
Package storage defines the Provider interface for object storage backends.
|
Package storage defines the Provider interface for object storage backends. |
|
providers/containerfs
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service.
|
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service. |
|
providers/fallback
Package fallback implements storage.Provider that tries a primary provider first (e.g.
|
Package fallback implements storage.Provider that tries a primary provider first (e.g. |
|
providers/localfs
Package localfs implements storage.Provider backed by the host filesystem.
|
Package localfs implements storage.Provider backed by the host filesystem. |
|
Package team holds the default team identity used by self-hosted Memoh.
|
Package team holds the default team identity used by self-hosted Memoh. |
|
testutil
|
|
|
sessionledger
Package sessionledger supplies a shared in-memory ledger for runtime and application tests.
|
Package sessionledger supplies a shared in-memory ledger for runtime and application tests. |
|
sessionruntime
Package sessiontest creates admitted runtimes for tests outside the runtime package.
|
Package sessiontest creates admitted runtimes for tests outside the runtime package. |
|
Package toolcontext owns the request-scoped identity and lifecycle shared by every Memoh tool transport.
|
Package toolcontext owns the request-scoped identity and lifecycle shared by every Memoh tool transport. |
|
Package workdir manages named per-bot working directories.
|
Package workdir manages named per-bot working directories. |
|
bridge
Package bridge provides a gRPC client for the workspace container bridge service.
|
Package bridge provides a gRPC client for the workspace container bridge service. |
|
vpath
Package vpath resolves user-supplied paths under a virtual workspace root without consulting the host filesystem.
|
Package vpath resolves user-supplied paths under a virtual workspace root without consulting the host filesystem. |
|
Package workspacedeps manages catalog dependencies inside each bot's isolated workspace.
|
Package workspacedeps manages catalog dependencies inside each bot's isolated workspace. |
|
catalog
Package catalog validates immutable workspace dependency definitions.
|
Package catalog validates immutable workspace dependency definitions. |
Click to show internal directories.
Click to hide internal directories.