internal/

directory
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2026 License: Apache-2.0

Directories

Path Synopsis
Package api is the control plane's whole HTTP surface: every route the platform serves, and the dispatcher deciding which credential may reach which route.
Package api is the control plane's whole HTTP surface: every route the platform serves, and the dispatcher deciding which credential may reach which route.
Package blob is the platform's object-storage seam: opaque bytes at string keys, behind the one interface every backend must satisfy (CLAUDE.md: backend variability lives behind an interface with one shared contract suite — internal/blob/blobtest).
Package blob is the platform's object-storage seam: opaque bytes at string keys, behind the one interface every backend must satisfy (CLAUDE.md: backend variability lives behind an interface with one shared contract suite — internal/blob/blobtest).
backend
Package backend selects an object-storage backend by name, so every binary that reaches object storage constructs it from the same config point instead of each mapping the environment its own way.
Package backend selects an object-storage backend by name, so every binary that reaches object storage constructs it from the same config point instead of each mapping the environment its own way.
blobtest
Package blobtest is test support for the blob.Store seam: it starts one Dockerized MinIO per test binary and hands out per-test targets (endpoint, credentials, fresh bucket name) for backends to construct stores against.
Package blobtest is test support for the blob.Store seam: it starts one Dockerized MinIO per test binary and hands out per-test targets (endpoint, credentials, fresh bucket name) for backends to construct stores against.
gcs
Package gcs is the Google Cloud Storage backend, on the native cloud.google.com/go/storage client rather than GCS's S3-interop XML API.
Package gcs is the Google Cloud Storage backend, on the native cloud.google.com/go/storage client rather than GCS's S3-interop XML API.
gcs/gcstest
Package gcstest is test support for the GCS backend: one Dockerized fake-gcs-server per test binary, per-test fresh buckets, and the gate for the opt-in tier that calls real Cloud Storage.
Package gcstest is test support for the GCS backend: one Dockerized fake-gcs-server per test binary, per-test fresh buckets, and the gate for the opt-in tier that calls real Cloud Storage.
s3
Package s3 is the S3-compatible blob.Store backend, on minio-go so one implementation speaks to MinIO, AWS S3, Ceph RGW, or anything else with the S3 wire protocol — never a MinIO-specific API (an operator must be able to swap the vendor without touching this package).
Package s3 is the S3-compatible blob.Store backend, on minio-go so one implementation speaks to MinIO, AWS S3, Ceph RGW, or anything else with the S3 wire protocol — never a MinIO-specific API (an operator must be able to swap the vendor without touching this package).
Package brain is the orchestration loop (the plan's component 3): a stateless harness that claims model_turn work, replays the session's event log into a provider request, streams the model's turn back into Anthropic-native events, and drives the session state machine at turn end.
Package brain is the orchestration loop (the plan's component 3): a stateless harness that claims model_turn work, replays the session's event log into a provider request, streams the model's turn back into Anthropic-native events, and drives the session state machine at turn end.
Package dialguard blocks the addresses a platform-initiated outbound connection must never reach.
Package dialguard blocks the addresses a platform-initiated outbound connection must never reach.
Package dockertest is the shared half of this repo's Dockerized test fixtures: it labels the container a fixture starts, and reaps the ones a killed run left behind.
Package dockertest is the shared half of this repo's Dockerized test fixtures: it labels the container a fixture starts, and reaps the ones a killed run left behind.
Package domain holds the Anthropic-native core types that are the single source of truth for the platform.
Package domain holds the Anthropic-native core types that are the single source of truth for the platform.
Package egress is the egress-time credential-injection subsystem: the shared substitution engine that rewrites vault placeholders into their secret values on outbound requests, and the host matcher both it and the per-session gate use to decide which hosts a request — or a credential — may reach.
Package egress is the egress-time credential-injection subsystem: the shared substitution engine that rewrites vault placeholders into their secret values on outbound requests, and the host matcher both it and the per-session gate use to decide which hosts a request — or a credential — may reach.
Package events implements the append-only session event log — the single source of truth for session state — plus its live fan-out: per-session seq allocation, list queries, a Postgres LISTEN/NOTIFY broker for SSE subscribers, ephemeral event_start/event_delta preview frames, and the span.* events emitted from the same instrumentation point as OTel spans.
Package events implements the append-only session event log — the single source of truth for session state — plus its live fan-out: per-session seq allocation, list queries, a Postgres LISTEN/NOTIFY broker for SSE subscribers, ephemeral event_start/event_delta preview frames, and the span.* events emitted from the same instrumentation point as OTel spans.
Package executor is the hands' consumer: it pulls tool_exec work from the queue, runs the built-in toolset inside the session's sandbox, and appends the agent.tool_result events the brain resumes on.
Package executor is the hands' consumer: it pulls tool_exec work from the queue, runs the built-in toolset inside the session's sandbox, and appends the agent.tool_result events the brain resumes on.
Package gate is the per-session egress gate: a forward proxy the sandbox reaches through HTTP_PROXY / HTTPS_PROXY.
Package gate is the per-session egress gate: a forward proxy the sandbox reaches through HTTP_PROXY / HTTPS_PROXY.
Package gateconfig is a session egress gate's client for the control plane's internal gate-config endpoint (GET /internal/v1/gate/config), and the wire contract the two share.
Package gateconfig is a session egress gate's client for the control plane's internal gate-config endpoint (GET /internal/v1/gate/config), and the wire contract the two share.
Package gaterun is the per-session egress gate's runtime.
Package gaterun is the per-session egress gate's runtime.
Package gatetoken issues and authenticates the per-session bearer tokens a session's egress gate presents to the controlplane's internal gate-config endpoint (docs/plan/12_vaults-credentials.md slice 4).
Package gatetoken issues and authenticates the per-session bearer tokens a session's egress gate presents to the controlplane's internal gate-config endpoint (docs/plan/12_vaults-credentials.md slice 4).
Package identity is the platform's human-authentication boundary: it verifies the credential a human operator presents and reduces it to a principal holding one of three roles.
Package identity is the platform's human-authentication boundary: it verifies the credential a human operator presents and reduces it to a principal holding one of three roles.
identitytest
Package identitytest is a fake OpenID Provider for the identity verifier's tests and for the API layer's real-token tests (api/identitylane_test.go).
Package identitytest is a fake OpenID Provider for the identity verifier's tests and for the API layer's real-token tests (api/identitylane_test.go).
mcp
Package mcp is the platform's MCP client: a thin wrapper over the official github.com/modelcontextprotocol/go-sdk exposing what the platform needs and nothing else.
Package mcp is the platform's MCP client: a thin wrapper over the official github.com/modelcontextprotocol/go-sdk exposing what the platform needs and nothing else.
mcptest
Package mcptest serves in-process MCP servers to tests in other packages.
Package mcptest serves in-process MCP servers to tests in other packages.
Package mimetab is the platform's pinned extension → MIME table — the one source both writers of the files registry consult, so the same filename yields the same registry row wherever it enters: the outputs harvest (internal/executor, #264) and the upload endpoint's extension fallback (internal/api, #277).
Package mimetab is the platform's pinned extension → MIME table — the one source both writers of the files registry consult, so the same filename yields the same registry row wherever it enters: the outputs harvest (internal/executor, #264) and the upload endpoint's extension fallback (internal/api, #277).
Package modeltest is test support for the tiers that call a real model endpoint: the provider live-contract tests and the end-to-end eval suite.
Package modeltest is test support for the tiers that call a real model endpoint: the provider live-contract tests and the end-to-end eval suite.
Package oauthrefresh is the RFC 6749 refresh-token grant, spelled once for the two places that perform it: the control plane's mcp_oauth_validate probe and the executor's dial-time credential resolution.
Package oauthrefresh is the RFC 6749 refresh-token grant, spelled once for the two places that perform it: the control plane's mcp_oauth_validate probe and the executor's dial-time credential resolution.
Package pgtest is test support: it starts one Dockerized Postgres per test binary and hands out fresh databases — migrated pools via NewPool, or bare DSNs via FreshDB for suites that exercise store.Open/Migrate themselves.
Package pgtest is test support: it starts one Dockerized Postgres per test binary and hands out fresh databases — migrated pools via NewPool, or bare DSNs via FreshDB for suites that exercise store.Open/Migrate themselves.
Package provider abstracts model backends behind Anthropic Messages semantics.
Package provider abstracts model backends behind Anthropic Messages semantics.
anthropic
Package anthropic adapts any endpoint speaking the Anthropic Messages protocol to the provider interface, via the official SDK with a configurable base URL — an enterprise gateway, a proxy, or a self-hosted model are all just configuration.
Package anthropic adapts any endpoint speaking the Anthropic Messages protocol to the provider interface, via the official SDK with a configurable base URL — an enterprise gateway, a proxy, or a self-hosted model are all just configuration.
openai
Package openai adapts an OpenAI Chat Completions endpoint (OpenAI itself, a vLLM server, or an internal OpenAI-compatible gateway) to the provider interface.
Package openai adapts an OpenAI Chat Completions endpoint (OpenAI itself, a vLLM server, or an internal OpenAI-compatible gateway) to the provider interface.
providertest
Package providertest is the shared contract suite every provider.Provider adapter must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite, as internal/sandbox/sandboxtest and internal/blob/ blobtest already do for their backends).
Package providertest is the shared contract suite every provider.Provider adapter must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite, as internal/sandbox/sandboxtest and internal/blob/ blobtest already do for their backends).
Package queue is the internal work queue over Postgres (FOR UPDATE SKIP LOCKED, per the plan's component 4).
Package queue is the internal work queue over Postgres (FOR UPDATE SKIP LOCKED, per the plan's component 4).
Package sandbox is the "hands" boundary: a disposable per-session container where the built-in toolset executes.
Package sandbox is the "hands" boundary: a disposable per-session container where the built-in toolset executes.
backend
Package backend selects a sandbox provider by name, so the executor and the BYOC worker construct Docker or Kubernetes "hands" from the same config point instead of hard-coding one.
Package backend selects a sandbox provider by name, so the executor and the BYOC worker construct Docker or Kubernetes "hands" from the same config point instead of hard-coding one.
docker
Package docker is the v1 sandbox backend: one disposable container per session, driven over the Docker Engine API.
Package docker is the v1 sandbox backend: one disposable container per session, driven over the Docker Engine API.
k8s
Package k8s is the Kubernetes sandbox backend: one disposable Pod per session, driven over the Kubernetes API.
Package k8s is the Kubernetes sandbox backend: one disposable Pod per session, driven over the Kubernetes API.
sandboxtest
Package sandboxtest is the contract suite every sandbox.Provider must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite).
Package sandboxtest is the contract suite every sandbox.Provider must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite).
shell
Package shell runs the built-in bash tool as a persistent per-session shell, on top of the sandbox's stateless Exec + file primitives — no new backend surface.
Package shell runs the built-in bash tool as a persistent per-session shell, on top of the sandbox's stateless Exec + file primitives — no new backend surface.
Package secrets is the platform's encryption seam for vault credential material (docs/plan/12_vaults-credentials.md, D1): reversible encryption of small secret values behind the one interface every backend must satisfy (CLAUDE.md: backend variability lives behind an interface with one shared contract suite — internal/secrets/secretstest).
Package secrets is the platform's encryption seam for vault credential material (docs/plan/12_vaults-credentials.md, D1): reversible encryption of small secret values behind the one interface every backend must satisfy (CLAUDE.md: backend variability lives behind an interface with one shared contract suite — internal/secrets/secretstest).
backend
Package backend selects a secrets cipher by name, so every binary that encrypts vault credential material constructs it from the same config point instead of each mapping the environment its own way.
Package backend selects a secrets cipher by name, so every binary that encrypts vault credential material constructs it from the same config point instead of each mapping the environment its own way.
gcpkms
Package gcpkms is a secrets.Cipher backed by Cloud KMS's raw Encrypt and Decrypt: the key material never leaves the service, and the platform stores only ciphertext (docs/plan/20_gcp-deployment.md, Decision 3).
Package gcpkms is a secrets.Cipher backed by Cloud KMS's raw Encrypt and Decrypt: the key material never leaves the service, and the platform stores only ciphertext (docs/plan/20_gcp-deployment.md, Decision 3).
gcpkms/gcpkmstest
Package gcpkmstest is test support for the gcpkms cipher: an in-process fake Cloud KMS gRPC server, so the shared secrets contract runs hermetically and `make test` never touches GCP or spends money, plus the opt-in gate for the live tier that calls the real service.
Package gcpkmstest is test support for the gcpkms cipher: an in-process fake Cloud KMS gRPC server, so the shared secrets contract runs hermetically and `make test` never touches GCP or spends money, plus the opt-in gate for the live tier that calls the real service.
local
Package local is the AES-256-GCM secrets.Cipher for tests and minimal deployments: one 32-byte master key from configuration, no external service.
Package local is the AES-256-GCM secrets.Cipher for tests and minimal deployments: one 32-byte master key from configuration, no external service.
openbao
Package openbao is the production secrets.Cipher: encryption as a service through an OpenBao (or any Vault-compatible) transit engine, spoken over its plain HTTP API — deliberately not the official client library, whose dependency tree buys nothing for the two calls this needs (docs/plan/12, D1).
Package openbao is the production secrets.Cipher: encryption as a service through an OpenBao (or any Vault-compatible) transit engine, spoken over its plain HTTP API — deliberately not the official client library, whose dependency tree buys nothing for the two calls this needs (docs/plan/12, D1).
secretstest
Package secretstest is test support for the secrets.Cipher seam: the shared contract suite (contract.go) plus a Dockerized OpenBao dev-mode container started once per test binary, with the transit engine mounted and per-test key names handed out.
Package secretstest is test support for the secrets.Cipher seam: the shared contract suite (contract.go) plus a Dockerized OpenBao dev-mode container started once per test binary, with the transit engine mounted and per-test key names handed out.
Package skills validates skill uploads and normalizes them into the canonical archive form the registry stores: a zip whose single top-level entry is the skill directory, with SKILL.md at its root.
Package skills validates skill uploads and normalizes them into the canonical archive form the registry stores: a zip whose single top-level entry is the skill directory, with SKILL.md at its root.
Package store owns the Postgres schema.
Package store owns the Postgres schema.
Package telemetry initializes OpenTelemetry tracing and metrics for one process and provides W3C trace-context propagation helpers.
Package telemetry initializes OpenTelemetry tracing and metrics for one process and provides W3C trace-context propagation helpers.
Package toolset is the built-in agent_toolset_20260401: the six tools the platform executes for the model — bash, read, write, edit, glob, grep — run inside the session's sandbox.
Package toolset is the built-in agent_toolset_20260401: the six tools the platform executes for the model — bash, read, write, edit, glob, grep — run inside the session's sandbox.
Package vaultresolve is read-time vault-credential resolution: it turns a session's attached vault_ids into the environment-variable bindings a sandbox is provisioned with.
Package vaultresolve is read-time vault-credential resolution: it turns a session's attached vault_ids into the environment-variable bindings a sandbox is provisioned with.
Package version carries the build-time version stamp shared by every binary.
Package version carries the build-time version stamp shared by every binary.
Package webtool is the seam for the web_fetch / web_search built-in tools (docs/plan/15_web-tools.md, #47): the Searcher and Fetcher interfaces the executor drives, with one adapter package per backend (tavily/, jina/).
Package webtool is the seam for the web_fetch / web_search built-in tools (docs/plan/15_web-tools.md, #47): the Searcher and Fetcher interfaces the executor drives, with one adapter package per backend (tavily/, jina/).
jina
Package jina is the Jina Reader backend for the web_fetch built-in tool: one GET per call with the target URL as the request path, answered as markdown text.
Package jina is the Jina Reader backend for the web_fetch built-in tool: one GET per call with the target URL as the request path, answered as markdown text.
tavily
Package tavily is the Tavily search backend for the web_search built-in tool: one POST /search per call, Bearer-authenticated, mapped onto webtool.SearchResult.
Package tavily is the Tavily search backend for the web_search built-in tool: one POST /search per call, Bearer-authenticated, mapped onto webtool.SearchResult.
webtooltest
Package webtooltest is test support for the webtool seam: the shared contract suite every Searcher/Fetcher backend must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite, as providertest, sandboxtest and blobtest do for theirs), and the opt-in gate for the live tier that calls the real backends.
Package webtooltest is test support for the webtool seam: the shared contract suite every Searcher/Fetcher backend must pass (CLAUDE.md: backend variability lives behind an interface with one shared suite, as providertest, sandboxtest and blobtest do for theirs), and the opt-in gate for the live tier that calls the real backends.
Package worker is the BYOC (bring-your-own-compute) consumer of the work queue: the customer-hosted twin of internal/executor.
Package worker is the BYOC (bring-your-own-compute) consumer of the work queue: the customer-hosted twin of internal/executor.

Jump to

Keyboard shortcuts

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