Directories
¶
| Path | Synopsis |
|---|---|
|
api
|
|
|
server/artel_api
Package artel_api is a reverse proxy.
|
Package artel_api is a reverse proxy. |
|
Package chatprotocol defines the ChatEvent wire protocol exchanged over the workbench chat WebSocket between the in-container bridge process and any consumer (web frontend, Telegram bot relay).
|
Package chatprotocol defines the ChatEvent wire protocol exchanged over the workbench chat WebSocket between the in-container bridge process and any consumer (web frontend, Telegram bot relay). |
|
client
|
|
|
clients
|
|
|
anthropic
Package anthropic is a thin wrapper around the official Anthropic SDK (github.com/anthropics/anthropic-sdk-go), used to validate a user-supplied API key (via ListModels, a zero-token metadata call) and to run single-turn, non-streaming completions (via Complete) for the tract engine's "Call LLM" step.
|
Package anthropic is a thin wrapper around the official Anthropic SDK (github.com/anthropics/anthropic-sdk-go), used to validate a user-supplied API key (via ListModels, a zero-token metadata call) and to run single-turn, non-streaming completions (via Complete) for the tract engine's "Call LLM" step. |
|
openai
Package openai is a thin wrapper around the official OpenAI SDK (github.com/openai/openai-go), used to validate a user-supplied API key (via ListModels, a zero-token metadata call) and to run single-turn, non-streaming completions (via Complete) for the tract engine's "Call LLM" step.
|
Package openai is a thin wrapper around the official OpenAI SDK (github.com/openai/openai-go), used to validate a user-supplied API key (via ListModels, a zero-token metadata call) and to run single-turn, non-streaming completions (via Complete) for the tract engine's "Call LLM" step. |
|
openrouter
Package openrouter is a thin wrapper around OpenRouter's own account-management REST API (https://openrouter.ai/api/v1), used to fetch the caller's key usage/limit/balance info (GetKeyInfo).
|
Package openrouter is a thin wrapper around OpenRouter's own account-management REST API (https://openrouter.ai/api/v1), used to fetch the caller's key usage/limit/balance info (GetKeyInfo). |
|
postgres
Code generated by RedSock CLI.
|
Code generated by RedSock CLI. |
|
vaultbucket
Package vaultbucket resolves the storage.BinaryStore backing a vault's non-markdown content — shared by the MCP vault-tool executor and the notes service's folder export/import/delete methods so the S3-vs-CouchDB-adapter decision lives in one place.
|
Package vaultbucket resolves the storage.BinaryStore backing a vault's non-markdown content — shared by the MCP vault-tool executor and the notes service's folder export/import/delete methods so the S3-vs-CouchDB-adapter decision lives in one place. |
|
vaultpg
Package vaultpg is the client for per-vault Postgres databases: building connection strings for a domain.PostgresInstance/vault database+role pair, running the admin-side DDL that provisions a vault's role+database (AdminClient), and caching the tenant-side *sql.DB connections the MCP executor queries through (ConnPool).
|
Package vaultpg is the client for per-vault Postgres databases: building connection strings for a domain.PostgresInstance/vault database+role pair, running the admin-side DDL that provisions a vault's role+database (AdminClient), and caching the tenant-side *sql.DB connections the MCP executor queries through (ConnPool). |
|
workbenchdocker
Package workbenchdocker is a thin typed wrapper around the Docker Engine SDK (github.com/docker/docker/client), used to create/start/stop/remove the containers and volumes that back a single workbench (a per-user sandbox running two independent ways to drive the `claude` CLI: the in-container chat bridge, deploy/workbench/bridge, which drives it one turn at a time, and a tmux session (see tmux_tabs.go) exposing a real interactive `claude` TUI per tab through ttyd).
|
Package workbenchdocker is a thin typed wrapper around the Docker Engine SDK (github.com/docker/docker/client), used to create/start/stop/remove the containers and volumes that back a single workbench (a per-user sandbox running two independent ways to drive the `claude` CLI: the in-container chat bridge, deploy/workbench/bridge, which drives it one turn at a time, and a tmux session (see tmux_tabs.go) exposing a real interactive `claude` TUI per tab through ttyd). |
|
Package config loads and parses the application's runtime configuration.
|
Package config loads and parses the application's runtime configuration. |
|
requesthost
Package requesthost threads the public-facing host of an inbound HTTP request from the transport layer into the service layer, mirroring the user_context package's pattern.
|
Package requesthost threads the public-facing host of an inbound HTTP request from the transport layer into the service layer, mirroring the user_context package's pattern. |
|
pg/repos/dockerhosts
Package dockerhosts is the pure-DB layer for the admin-managed pool of Docker daemons backing per-vault workbench containers.
|
Package dockerhosts is the pure-DB layer for the admin-managed pool of Docker daemons backing per-vault workbench containers. |
|
pg/repos/triggerpresets
Package triggerpresets is the pure-DB read layer for the trigger_presets catalog table (see migration 038_trigger_presets_and_links.sql) — the webhook trigger presets shown in the "Add trigger" picker (gitlab_push, generic, ...), replacing the hardcoded Go slice that used to live in internal/service/v1/tract.
|
Package triggerpresets is the pure-DB read layer for the trigger_presets catalog table (see migration 038_trigger_presets_and_links.sql) — the webhook trigger presets shown in the "Add trigger" picker (gitlab_push, generic, ...), replacing the hardcoded Go slice that used to live in internal/service/v1/tract. |
|
v1/adminsettings
Package adminsettings implements AdminSystemSettingsService — an administrator's view over the same single-row global instance configuration the first-run setup wizard (internal/service/v1/setupwizard) edits pre-setup, exposed post-setup for an admin to revisit.
|
Package adminsettings implements AdminSystemSettingsService — an administrator's view over the same single-row global instance configuration the first-run setup wizard (internal/service/v1/setupwizard) edits pre-setup, exposed post-setup for an admin to revisit. |
|
v1/dockerhosts
Package dockerhosts implements service.DockerHostService: admin CRUD over the pool of Docker daemons that back per-vault workbench containers.
|
Package dockerhosts implements service.DockerHostService: admin CRUD over the pool of Docker daemons that back per-vault workbench containers. |
|
v1/postgresinstances
Package postgresinstances is the admin CRUD service for the shared pool of Postgres servers (admin pool or BYOK) that per-vault databases are provisioned on — mirrors internal/service/v1/s3instances.
|
Package postgresinstances is the admin CRUD service for the shared pool of Postgres servers (admin pool or BYOK) that per-vault databases are provisioned on — mirrors internal/service/v1/s3instances. |
|
v1/public_docs
Package public_docs implements the anonymous, auth-exempt read surface backing PublicDocsAPI (see internal/api/server/artel_api/public_docs_grpc.pb.go's doc comment and docs/architecture.md).
|
Package public_docs implements the anonymous, auth-exempt read surface backing PublicDocsAPI (see internal/api/server/artel_api/public_docs_grpc.pb.go's doc comment and docs/architecture.md). |
|
v1/public_docs/githubdocs
Package githubdocs serves the built-in "Artel Quick Start" docs tree straight from this repo's own public GitHub remote (docs/public/ on the master branch), so a fresh Artel instance has something real to point an anonymous /docs visitor at before any CouchDB vault has been published.
|
Package githubdocs serves the built-in "Artel Quick Start" docs tree straight from this repo's own public GitHub remote (docs/public/ on the master branch), so a fresh Artel instance has something real to point an anonymous /docs visitor at before any CouchDB vault has been published. |
|
v1/setupwizard
Package setupwizard implements the first-run setup wizard — see internal/service/interfaces.go's SetupWizardService doc comment for the flow this drives.
|
Package setupwizard implements the first-run setup wizard — see internal/service/interfaces.go's SetupWizardService doc comment for the flow this drives. |
|
v1/simplechat
Package simplechat implements service.SimpleChatService: the in-process, container-free "Simple Chat" agent.
|
Package simplechat implements service.SimpleChatService: the in-process, container-free "Simple Chat" agent. |
|
v1/tasktracker
Package tasktracker backs the TaskTrackersAPI wire contract (unchanged) on top of the generic external_connections + MoM path instead of a dedicated task_trackers table/client.
|
Package tasktracker backs the TaskTrackersAPI wire contract (unchanged) on top of the generic external_connections + MoM path instead of a dedicated task_trackers table/client. |
|
v1/tract/script
Package script is the pluggable execution backend for Tract "script" steps.
|
Package script is the pluggable execution backend for Tract "script" steps. |
|
v1/workbench
Package workbench implements service.WorkbenchService: it manages the per-(vault, user) Docker container backing a vault member's cloud workbench — every vault member gets their own workbench, tracked through domain.WorkbenchStatus's state machine, provisioned via internal/clients/workbenchdocker's Docker client.
|
Package workbench implements service.WorkbenchService: it manages the per-(vault, user) Docker container backing a vault member's cloud workbench — every vault member gets their own workbench, tracked through domain.WorkbenchStatus's state machine, provisioned via internal/clients/workbenchdocker's Docker client. |
|
Package terminalauth scans a workbench's raw ttyd terminal output for the Claude CLI's OAuth sign-in link, the same one deploy/workbench/bridge/internal/authlogin.Parser looks for on the chat bridge's transport — but the interactive terminal (internal/transport/vaults_api's WorkbenchTerminalShellHandler, proxying ttyd's own binary WebSocket protocol) is a separate transport with no visibility into the bridge's parser, so it needs its own tap.
|
Package terminalauth scans a workbench's raw ttyd terminal output for the Claude CLI's OAuth sign-in link, the same one deploy/workbench/bridge/internal/authlogin.Parser looks for on the chat bridge's transport — but the interactive terminal (internal/transport/vaults_api's WorkbenchTerminalShellHandler, proxying ttyd's own binary WebSocket protocol) is a separate transport with no visibility into the bridge's parser, so it needs its own tap. |
|
simple_chat_api
Package simple_chat_api exposes Simple Chat over the network: the CRUD RPCs of artel_api.SimpleChatAPI here, and the live turn WebSocket in chat_ws.go.
|
Package simple_chat_api exposes Simple Chat over the network: the CRUD RPCs of artel_api.SimpleChatAPI here, and the live turn WebSocket in chat_ws.go. |
|
telegram_webhook
Package telegram_webhook implements the inbound half of Artel's BYO-bot Telegram integration: receiving updates from Telegram for a bot the user linked via externalconnections.Service.AddTelegramConnection, and relaying them into that user's workbench chat session (a headless Claude Code session running in a Docker container, exposed as a WebSocket speaking internal/chatprotocol's normalized JSON event protocol).
|
Package telegram_webhook implements the inbound half of Artel's BYO-bot Telegram integration: receiving updates from Telegram for a bot the user linked via externalconnections.Service.AddTelegramConnection, and relaying them into that user's workbench chat session (a headless Claude Code session running in a Docker container, exposed as a WebSocket speaking internal/chatprotocol's normalized JSON event protocol). |
Click to show internal directories.
Click to hide internal directories.