internal/

directory
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2026 License: AGPL-3.0

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.
db
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).
mcp
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.
rpc
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL