Directories
¶
| Path | Synopsis |
|---|---|
|
afk
module
|
|
|
agentboot
module
|
|
|
ai
module
|
|
|
cli
|
|
|
harness
command
Package main provides the CLI harness for protocol validation testing.
|
Package main provides the CLI harness for protocol validation testing. |
|
tingly-box
command
|
|
|
imbot
module
|
|
|
command/tui
Package tui provides interactive terminal prompts for the tingly-box CLI.
|
Package tui provides interactive terminal prompts for the tingly-box CLI. |
|
imagegen
Package imagegen provides vendor adapters for the text-to-image surfaces that do NOT speak the OpenAI /images/generations contract.
|
Package imagegen provides vendor adapters for the text-to-image surfaces that do NOT speak the OpenAI /images/generations contract. |
|
middleware
Package middleware provides the Gin middleware used by the tingly-box server: HTTP access logging, CORS, authentication, response compression, per-route rate limiting, and IO-deadline management for streaming routes.
|
Package middleware provides the Gin middleware used by the tingly-box server: HTTP access logging, CORS, authentication, response compression, per-route rate limiting, and IO-deadline management for streaming routes. |
|
obs
Package obs provides a unified observability layer for Go applications, integrating structured logging, metrics, and distributed tracing via OpenTelemetry.
|
Package obs provides a unified observability layer for Go applications, integrating structured logging, metrics, and distributed tracing via OpenTelemetry. |
|
probe
Package probe contains the decoupled, server-independent half of the probe subsystem: request types, result/data types, in-memory cache, the E2E and Lightweight strategies, and pure helpers.
|
Package probe contains the decoupled, server-independent half of the probe subsystem: request types, result/data types, in-memory cache, the E2E and Lightweight strategies, and pure helpers. |
|
protocol
Package protocol provides backward compatibility aliases to the public protocol package.
|
Package protocol provides backward compatibility aliases to the public protocol package. |
|
protocol/assembler/streamemit
Package streamemit provides a decoupled emission layer on top of the Anthropic stream assemblers in internal/protocol/assembler.
|
Package streamemit provides a decoupled emission layer on top of the Anthropic stream assemblers in internal/protocol/assembler. |
|
protocol/stream
Package stream — prime.go
|
Package stream — prime.go |
|
protocol/usage
Package usage centralizes token extraction and normalization logic for all supported provider protocols.
|
Package usage centralizes token extraction and normalization logic for all supported provider protocols. |
|
protocolserver
Package aimodel hosts the AI Model API surface split out of internal/server: the LLM gateway routes (/tingly/:scenario/...) covering OpenAI/Anthropic compatible chat/completions/responses/messages/embeddings/images, MCP tool handling during model requests, protocol dispatch/transform/passthrough, failover/load-balance dispatch, guardrails runtime evaluation, and usage/token tracking.
|
Package aimodel hosts the AI Model API surface split out of internal/server: the LLM gateway routes (/tingly/:scenario/...) covering OpenAI/Anthropic compatible chat/completions/responses/messages/embeddings/images, MCP tool handling during model requests, protocol dispatch/transform/passthrough, failover/load-balance dispatch, guardrails runtime evaluation, and usage/token tracking. |
|
protocoltest
Package protocoltest provides a framework for end-to-end validation of the model gateway's protocol transformation layer.
|
Package protocoltest provides a framework for end-to-end validation of the model gateway's protocol transformation layer. |
|
server/config
Package guardrailspath holds filesystem-layout helpers for the guardrails config/storage directory.
|
Package guardrailspath holds filesystem-layout helpers for the guardrails config/storage directory. |
|
server/module/debug
Package debug exposes runtime memory diagnostics for a running instance: a memstats snapshot and a pprof heap profile.
|
Package debug exposes runtime memory diagnostics for a running instance: a memstats snapshot and a pprof heap profile. |
|
server/module/imbot
wechat_qr.go implements the Weixin QR-login HTTP session flow.
|
wechat_qr.go implements the Weixin QR-login HTTP session flow. |
|
server/module/info
Package versioncheck provides version lookup against the npm registry (with npmmirror as a China-mirror fallback) and semver-style comparison.
|
Package versioncheck provides version lookup against the npm registry (with npmmirror as a China-mirror fallback) and semver-style comparison. |
|
server/module/notify
Package notify — bot interaction API.
|
Package notify — bot interaction API. |
|
server/module/provider
Package provider handles CRUD and model-management HTTP endpoints for AI provider configurations.
|
Package provider handles CRUD and model-management HTTP endpoints for AI provider configurations. |
|
server/module/sharing
Package apitoken implements CRUD HTTP endpoints for shared API tokens.
|
Package apitoken implements CRUD HTTP endpoints for shared API tokens. |
|
server/module/virtualmodel
Package virtualmodel exposes management endpoints for the in-process virtual-model providers.
|
Package virtualmodel exposes management endpoints for the in-process virtual-model providers. |
|
server/recordingtest
Package recordingtest provides shared test helpers for exercising internal/protocolserver/recording's AttachRecorderHooks/ProtocolRecorder wiring through the production *protocolserver.ProtocolHandler entry points.
|
Package recordingtest provides shared test helpers for exercising internal/protocolserver/recording's AttachRecorderHooks/ProtocolRecorder wiring through the production *protocolserver.ProtocolHandler entry points. |
|
shortcut
Package shortcut creates desktop / start-menu shortcuts that launch Tingly Box with a double-click.
|
Package shortcut creates desktop / start-menu shortcuts that launch Tingly Box with a double-click. |
|
smart_compact
Package smart_compact provides conversation compression strategies and transformers for Anthropic requests, consumed by the virtual compact models (vmodel/anthropic: "compact-round-only", "compact-round-files", "claude-code-compact", "claude-code-strategy").
|
Package smart_compact provides conversation compression strategies and transformers for Anthropic requests, consumed by the virtual compact models (vmodel/anthropic: "compact-round-only", "compact-round-files", "claude-code-compact", "claude-code-strategy"). |
|
visionproxy
Package visionproxy is the vision proxy plugin: when a downstream model is text-only, it describes image content via a vision-capable upstream and replaces the image blocks with the description so the request still works.
|
Package visionproxy is the vision proxy plugin: when a downstream model is text-only, it describes image content via a vision-capable upstream and replaces the image blocks with the description so the request still works. |
|
visionproxy/visionproxytest
Package visionproxytest provides shared test doubles for the vision proxy plugin, reused both by internal/server/module/visionproxy's own tests and by internal/server tests that need a real Service wired through a visionproxy.VisionProxyProcessor (e.g.
|
Package visionproxytest provides shared test doubles for the vision proxy plugin, reused both by internal/server/module/visionproxy's own tests and by internal/server tests that need a real Service wired through a visionproxy.VisionProxyProcessor (e.g. |
|
pkg
|
|
|
envsubst
Package envsubst expands ${VAR} and $VAR references in strings against a caller-supplied lookup.
|
Package envsubst expands ${VAR} and $VAR references in strings against a caller-supplied lookup. |
|
notify
Package notify provides a unified notification system for sending messages to various channels like webhooks, Slack, Discord, email, and system notifications.
|
Package notify provides a unified notification system for sending messages to various channels like webhooks, Slack, Discord, email, and system notifications. |
|
notify/examples
command
Example demonstrating the notification system usage
|
Example demonstrating the notification system usage |
|
notify/internal/httpx
Package httpx provides shared HTTP helpers for notify providers.
|
Package httpx provides shared HTTP helpers for notify providers. |
|
notify/provider/discord
Package discord provides a Discord notification provider
|
Package discord provides a Discord notification provider |
|
notify/provider/email
Package email provides an SMTP email notification provider
|
Package email provides an SMTP email notification provider |
|
notify/provider/slack
Package slack provides a Slack notification provider
|
Package slack provides a Slack notification provider |
|
notify/provider/system
Package system provides desktop system notification provider using beeep
|
Package system provides desktop system notification provider using beeep |
|
notify/provider/webhook
Package webhook provides an HTTP webhook notification provider
|
Package webhook provides an HTTP webhook notification provider |
|
otel
Package otel wires OpenTelemetry metrics and traces for LLM requests.
|
Package otel wires OpenTelemetry metrics and traces for LLM requests. |
|
otel/exporter
Package exporter provides the OTLP exporters used by pkg/otel.
|
Package exporter provides the OTLP exporters used by pkg/otel. |
|
otel/tracker
Package tracker records LLM token usage and request duration as OpenTelemetry metrics following the GenAI semantic conventions (https://github.com/open-telemetry/semantic-conventions-genai):
|
Package tracker records LLM token usage and request duration as OpenTelemetry metrics following the GenAI semantic conventions (https://github.com/open-telemetry/semantic-conventions-genai): |
|
remote
|
|
|
access
Package access defines the product authorization vocabulary shared by the bot runtime, persistence adapters, and control-plane APIs.
|
Package access defines the product authorization vocabulary shared by the bot runtime, persistence adapters, and control-plane APIs. |
|
binding
Package binding describes which channel a scenario should use for a given event.
|
Package binding describes which channel a scenario should use for a given event. |
|
channel
Package channel defines the human-facing side of the remote middle layer: a Channel is a surface (IM bot, web UI, CLI, …) that can deliver an interaction.Notification or interaction.Interaction to a human and (for interactive ones) collect a Reply.
|
Package channel defines the human-facing side of the remote middle layer: a Channel is a surface (IM bot, web UI, CLI, …) that can deliver an interaction.Notification or interaction.Interaction to a human and (for interactive ones) collect a Reply. |
|
channel/autochannel
Package autochannel provides a non-IM Channel implementation for headless / CI / programmatic setups.
|
Package autochannel provides a non-IM Channel implementation for headless / CI / programmatic setups. |
|
channel/imchannel
Package imchannel adapts an IM bot (one of the platforms in github.com/tingly-dev/tingly-box/imbot) into the internal/remote/channel.Channel contract.
|
Package imchannel adapts an IM bot (one of the platforms in github.com/tingly-dev/tingly-box/imbot) into the internal/remote/channel.Channel contract. |
|
control
Package control is the host-facing assembly layer of the remote subsystem.
|
Package control is the host-facing assembly layer of the remote subsystem. |
|
control/adapter
Package adapter is the host↔remote glue layer.
|
Package adapter is the host↔remote glue layer. |
|
control/bot
PairingManager and related types live in imbot/security so that any imbot application can reuse the TOFU pairing mechanism independently of the remote-control service.
|
PairingManager and related types live in imbot/security so that any imbot application can reuse the TOFU pairing mechanism independently of the remote-control service. |
|
control/feature
Package feature holds the remote-control chat features (action menu, bind flow, directory browser) that sit on top of imbot.
|
Package feature holds the remote-control chat features (action menu, bind flow, directory browser) that sit on top of imbot. |
|
control/remoteagent
Package remoteagent implements the "remote_agent" bot purpose: controlling Claude Code (@cc) and the SmartGuide agent (@tb) from a chat.
|
Package remoteagent implements the "remote_agent" bot purpose: controlling Claude Code (@cc) and the SmartGuide agent (@tb) from a chat. |
|
interaction
Package interaction defines the domain-neutral request / reply / result types that flow between scenarios (back-end content providers) and channels (human-facing surfaces) inside the remote middle layer.
|
Package interaction defines the domain-neutral request / reply / result types that flow between scenarios (back-end content providers) and channels (human-facing surfaces) inside the remote middle layer. |
|
scenario
Package scenario defines the back-end plugin contract of the remote middle layer.
|
Package scenario defines the back-end plugin contract of the remote middle layer. |
|
scenario/builtin/claudecode
Package claudecode implements the Claude Code hook scenario plugin.
|
Package claudecode implements the Claude Code hook scenario plugin. |
|
swagger
module
|
|
|
Package virtualmodel defines the protocol-agnostic primitives for virtual models.
|
Package virtualmodel defines the protocol-agnostic primitives for virtual models. |
|
anthropic
Package anthropic provides Anthropic-protocol virtual models.
|
Package anthropic provides Anthropic-protocol virtual models. |
|
benchmark
Package benchmark is the vmodel benchmark: a shared, real-world mock-provider foundation.
|
Package benchmark is the vmodel benchmark: a shared, real-world mock-provider foundation. |
|
benchmark/check
Package check holds the protocol-neutral, reusable check logic for the vmodel benchmark: the RoundTripResult view of a single gateway round trip and the named Assertion library that operates on it.
|
Package check holds the protocol-neutral, reusable check logic for the vmodel benchmark: the RoundTripResult view of a single gateway round trip and the named Assertion library that operates on it. |
|
benchmark/examples/client
command
Stand-alone benchmark client driver: starts an in-process LocalServer (vmodel-backed) and drives it with the BenchmarkClient against both the OpenAI Chat and Anthropic Messages routes, printing a metrics summary.
|
Stand-alone benchmark client driver: starts an in-process LocalServer (vmodel-backed) and drives it with the BenchmarkClient against both the OpenAI Chat and Anthropic Messages routes, printing a metrics summary. |
|
benchmark/examples/server
command
Stand-alone benchmark mock server: starts a local HTTP server backed by the production virtualmodel registries (with their default mock models pre-registered) so external benchmark drivers can hit a realistic vmodel surface over loopback.
|
Stand-alone benchmark mock server: starts a local HTTP server backed by the production virtualmodel registries (with their default mock models pre-registered) so external benchmark drivers can hit a realistic vmodel surface over loopback. |
|
benchmark/scenario
Package scenario holds the reusable mock-provider fixtures for the vmodel benchmark: named Scenarios, each carrying per-format MockResponseBuilders and a set of check.Assertions.
|
Package scenario holds the reusable mock-provider fixtures for the vmodel benchmark: named Scenarios, each carrying per-format MockResponseBuilders and a set of check.Assertions. |
|
client
Package vmodelclient provides in-process implementations of the client interfaces backed by vmodel registries.
|
Package vmodelclient provides in-process implementations of the client interfaces backed by vmodel registries. |
|
openai
Package openai provides OpenAI-protocol virtual models.
|
Package openai provides OpenAI-protocol virtual models. |
|
virtualserver
Package virtualserver provides the HTTP handler for virtual model endpoints.
|
Package virtualserver provides the HTTP handler for virtual model endpoints. |
Click to show internal directories.
Click to hide internal directories.







