Directories
¶
| Path | Synopsis |
|---|---|
|
ci
|
|
|
cmd/shard
command
Command shard splits the Go test packages under one or more directories into deterministic, roughly balanced shards so CI can spread a suite over several runners.
|
Command shard splits the Go test packages under one or more directories into deterministic, roughly balanced shards so CI can spread a suite over several runners. |
|
internal/flags
Package flags defines common flags to keep CLI commands consistent.
|
Package flags defines common flags to keep CLI commands consistent. |
|
internal/profile
Package profile provides profile-based configuration management for the Gram CLI.
|
Package profile provides profile-based configuration management for the Gram CLI. |
|
Package main is the dev-idp binary entrypoint.
|
Package main is the dev-idp binary entrypoint. |
|
design
Package design declares the Goa API for the dev-idp management surface.
|
Package design declares the Goa API for the dev-idp management surface. |
|
internal/bootstrap
Package bootstrap opens dev-idp's SQLite database and applies the embedded schema on every start.
|
Package bootstrap opens dev-idp's SQLite database and applies the embedded schema on every start. |
|
internal/config
Package config parses dev-idp's runtime configuration.
|
Package config parses dev-idp's runtime configuration. |
|
internal/conv
Package conv has dev-idp's tiny set of *string <-> sql.NullString and related helpers.
|
Package conv has dev-idp's tiny set of *string <-> sql.NullString and related helpers. |
|
internal/defaultuser
Package defaultuser implements the dev-idp's "default user" bootstrap.
|
Package defaultuser implements the dev-idp's "default user" bootstrap. |
|
internal/keystore
Package keystore owns the dev-idp's single RSA keypair (idp-design.md §5.3): the only signing key the dev-idp uses, sourced from GRAM_DEVIDP_RSA_PRIVATE_KEY (PEM) at boot or freshly generated when the env var is unset.
|
Package keystore owns the dev-idp's single RSA keypair (idp-design.md §5.3): the only signing key the dev-idp uses, sourced from GRAM_DEVIDP_RSA_PRIVATE_KEY (PEM) at boot or freshly generated when the env var is unset. |
|
internal/middleware
Package middleware provides the small set of HTTP/Goa middleware dev-idp needs.
|
Package middleware provides the small set of HTTP/Goa middleware dev-idp needs. |
|
internal/modes/mockworkos
Package mockworkos implements the dev-idp's mock-workos mode — a mock WorkOS REST surface backed by the dev-idp's shared SQLite store.
|
Package mockworkos implements the dev-idp's mock-workos mode — a mock WorkOS REST surface backed by the dev-idp's shared SQLite store. |
|
internal/modes/oauth2
Package oauth2 implements the dev-idp's oauth2 mode (idp-design.md §7.4): an OAuth 2.0 authorization server with optional PKCE (honored when present), no DCR, and OIDC compliance.
|
Package oauth2 implements the dev-idp's oauth2 mode (idp-design.md §7.4): an OAuth 2.0 authorization server with optional PKCE (honored when present), no DCR, and OIDC compliance. |
|
internal/modes/oauth21
Package oauth21 implements the dev-idp's oauth2-1 mode (idp-design.md §7.3): an OAuth 2.1 authorization server with PKCE-required (S256), stateless DCR, and OIDC compliance.
|
Package oauth21 implements the dev-idp's oauth2-1 mode (idp-design.md §7.3): an OAuth 2.1 authorization server with PKCE-required (S256), stateless DCR, and OIDC compliance. |
|
internal/modes/workos
Package workos implements the dev-idp's workos mode — proxies WorkOS REST API calls to the live WorkOS dev environment.
|
Package workos implements the dev-idp's workos mode — proxies WorkOS REST API calls to the live WorkOS dev environment. |
|
internal/oops
Package oops is dev-idp's lightweight error helper.
|
Package oops is dev-idp's lightweight error helper. |
|
internal/service
Package service contains the dev-idp's Goa service implementations (organizations, users, memberships, devIdp).
|
Package service contains the dev-idp's Goa service implementations (organizations, users, memberships, devIdp). |
|
internal/workos
Package workos is dev-idp's tiny WorkOS client.
|
Package workos is dev-idp's tiny WorkOS client. |
|
pkg/devidentity
Package devidentity holds the identity constants the dev-idp hands out for its default organization and the rule that derives a developer's user id from their git committer email.
|
Package devidentity holds the identity constants the dev-idp hands out for its default organization and the rule that derives a developer's user id from their git committer email. |
|
pkg/devidptest
Package devidptest spins up a real dev-idp HTTP server inside a test.
|
Package devidptest spins up a real dev-idp HTTP server inside a test. |
|
pkg/testidp
Package testidp serves an in-process mock identity provider for tests.
|
Package testidp serves an in-process mock identity provider for tests. |
|
functions
|
|
|
cmd/runner
command
|
|
|
hooks
|
|
|
cmd/speakeasy-hooks
command
Command speakeasy-hooks is the single Speakeasy hooks binary.
|
Command speakeasy-hooks is the single Speakeasy hooks binary. |
|
relay
Package relay wires the agenthooks runtime to the Gram hooks backend.
|
Package relay wires the agenthooks runtime to the Gram hooks backend. |
|
wire
Package wire declares the device-telemetry header names the speakeasy-hooks binary stamps on its requests and the server lifts onto hook endpoint spans.
|
Package wire declares the device-telemetry header names the speakeasy-hooks binary stamps on its requests and the server lifts onto hook endpoint spans. |
|
internal/diagram
Package diagram generates a single mermaid diagram (plus text tables) that ties Gram's proto-declared Pub/Sub topology to the Go and Python call sites that publish to topics and consume subscriptions.
|
Package diagram generates a single mermaid diagram (plus text tables) that ties Gram's proto-declared Pub/Sub topology to the Go and Python call sites that publish to topics and consume subscriptions. |
|
pkg/topics
Package topics provides statically typed publishers for topics named at runtime.
|
Package topics provides statically typed publishers for topics named at runtime. |
|
main
command
|
|
|
Package plog provides pretty-printing for JSON lines logs with colorized output.
|
Package plog provides pretty-printing for JSON lines logs with colorized output. |
|
cmd/plog
command
Command plog pretty-prints JSON lines logs with colorized output.
|
Command plog pretty-prints JSON lines logs with colorized output. |
|
cmd/celwasm
command
|
|
|
cmd/dev-mcp
command
Command dev-mcp is a local-development MCP server that exposes assistant management operations (CRUD, running turns, triggers) over stdio.
|
Command dev-mcp is a local-development MCP server that exposes assistant management operations (CRUD, running turns, triggers) over stdio. |
|
cmd/export-hook-plugin
command
Command export-hook-plugin renders the dogfood hook plugins (plugin-claude, plugin-cursor) from the same generators that publish customer plugins.
|
Command export-hook-plugin renders the dogfood hook plugins (plugin-claude, plugin-cursor) from the same generators that publish customer plugins. |
|
cmd/gen-elements-prompts
command
|
|
|
cmd/gen-materialized-cols
command
|
|
|
cmd/gen-webhooks
command
Command gen-webhooks generates both catalog artifacts for the outbox events package:
|
Command gen-webhooks generates both catalog artifacts for the outbox events package: |
|
cmd/pin-hooks-release
command
Command pin-hooks-release rewrites the generated hooks release pins after a speakeasy-hooks release is published.
|
Command pin-hooks-release rewrites the generated hooks release pins after a speakeasy-hooks release is published. |
|
cmd/risk-pi-report
command
|
|
|
cmd/riskjudgebench
command
Command riskjudgebench benchmarks OpenRouter models for prompt-based ("LLM-judge") risk policy evaluation in the promptpolicy OpenRouter evaluator.
|
Command riskjudgebench benchmarks OpenRouter models for prompt-based ("LLM-judge") risk policy evaluation in the promptpolicy OpenRouter evaluator. |
|
cmd/skillefficacybench
command
Command skillefficacybench measures the production skill-efficacy judge against a synthetic labeled corpus and exits nonzero below its beta gate.
|
Command skillefficacybench measures the production skill-efficacy judge against a synthetic labeled corpus and exits nonzero below its beta gate. |
|
cmd/skillsuggestbench
command
Command skillsuggestbench measures the production skill-suggestion generator against a labeled corpus and exits nonzero below its gates.
|
Command skillsuggestbench measures the production skill-suggestion generator against a labeled corpus and exits nonzero below its gates. |
|
cmd/sync-loops-email-templates
command
Command sync-loops-email-templates is a compatibility launcher for release automation that has not yet switched to the Bash reconciler directly.
|
Command sync-loops-email-templates is a compatibility launcher for release automation that has not yet switched to the Bash reconciler directly. |
|
cmd/tools/migrations
command
Command migrations runs one explicitly selected offline migration.
|
Command migrations runs one explicitly selected offline migration. |
|
cmd/tools/migrations/pipeline
Package pipeline is a small, generic Source -> Transform -> Sink harness for moving records between arbitrary stores.
|
Package pipeline is a small, generic Source -> Transform -> Sink harness for moving records between arbitrary stores. |
|
cmd/tools/migrations/riskfindings
Package riskfindings implements the Postgres source, transform, and ClickHouse sink that back-fill historical risk_results rows into the ClickHouse risk_findings event log.
|
Package riskfindings implements the Postgres source, transform, and ClickHouse sink that back-fill historical risk_results rows into the ClickHouse risk_findings event log. |
|
cmd/tools/migrations/riskfindingscols
Package riskfindingscols implements the Postgres source, transform, and ClickHouse sink that backfill the message_created_at and assistant_id columns onto EXISTING ClickHouse risk_findings rows.
|
Package riskfindingscols implements the Postgres source, transform, and ClickHouse sink that backfill the message_created_at and assistant_id columns onto EXISTING ClickHouse risk_findings rows. |
|
cmd/tools/sweep_builtin_presets
command
Command sweep_builtin_presets is an offline operator tool that re-evaluates stored risk findings against the built-in preset false-positive catalog in the internal/risk/presetlib package and marks the known-benign noise (test credit cards, example API keys/tokens, module hashes, placeholder emails, ...) as false positives so the dashboard hides them.
|
Command sweep_builtin_presets is an offline operator tool that re-evaluates stored risk findings against the built-in preset false-positive catalog in the internal/risk/presetlib package and marks the known-benign noise (test credit cards, example API keys/tokens, module hashes, placeholder emails, ...) as false positives so the dashboard hides them. |
|
cmd/tools/sweep_false_positives
command
Command sweep_false_positives is an offline operator tool that re-evaluates stored Presidio risk findings against the false-positive catalogs in the internal/risk/presidiofp package and marks the noise (reserved IPs, placeholder emails, retired recognizers, NHS numbers with no health-care context, ...) as false positives so the dashboard hides them.
|
Command sweep_false_positives is an offline operator tool that re-evaluates stored Presidio risk findings against the false-positive catalogs in the internal/risk/presidiofp package and marks the noise (reserved IPs, placeholder emails, retired recognizers, NHS numbers with no health-care context, ...) as false positives so the dashboard hides them. |
|
cmd/workos-backfill
command
|
|
|
design/killswitches
Package killswitches declares the customer-facing MCP Killswitch API.
|
Package killswitches declares the customer-facing MCP Killswitch API. |
|
design/platformadmin/assets
Package assets declares the adminAssets Goa service: the platform-admin (Speakeasy-only) surface for uploading platform-tier assets (project_id IS NULL AND organization_id IS NULL) shared across every organization.
|
Package assets declares the adminAssets Goa service: the platform-admin (Speakeasy-only) surface for uploading platform-tier assets (project_id IS NULL AND organization_id IS NULL) shared across every organization. |
|
design/platformadmin/chatanalysis
Package chatanalysis declares the adminChatAnalysis Goa service: the platform-admin (Speakeasy-only) surface for switching an organization's chat session analysis judges on and off.
|
Package chatanalysis declares the adminChatAnalysis Goa service: the platform-admin (Speakeasy-only) surface for switching an organization's chat session analysis judges on and off. |
|
design/platformadmin/externalcredentials
Package externalcredentials declares the adminExternalCredentials Goa service: the platform-admin (Speakeasy-only) surface for curating "platform" external_credentials records (organization_id IS NULL AND project_id IS NULL) shared across every organization.
|
Package externalcredentials declares the adminExternalCredentials Goa service: the platform-admin (Speakeasy-only) surface for curating "platform" external_credentials records (organization_id IS NULL AND project_id IS NULL) shared across every organization. |
|
design/platformadmin/killswitches
Package killswitches declares the main-server platform break-glass transport for the generic killswitch lifecycle.
|
Package killswitches declares the main-server platform break-glass transport for the generic killswitch lifecycle. |
|
design/platformadmin/openrouterkeys
Package openrouterkeys declares the adminOpenRouterKeys Goa service: the platform-admin (Speakeasy-only) surface over openrouter_api_keys, the per-(organization, key type) platform OpenRouter keys that pay for completions.
|
Package openrouterkeys declares the adminOpenRouterKeys Goa service: the platform-admin (Speakeasy-only) surface over openrouter_api_keys, the per-(organization, key type) platform OpenRouter keys that pay for completions. |
|
design/platformadmin/remotesessions
Package remotesessions declares the adminRemoteSessions Goa service: the platform-admin (Speakeasy-only) surface for curating "global" remote_session_issuer / remote_session_client records (project_id IS NULL AND organization_id IS NULL) shared across every organization.
|
Package remotesessions declares the adminRemoteSessions Goa service: the platform-admin (Speakeasy-only) surface for curating "global" remote_session_issuer / remote_session_client records (project_id IS NULL AND organization_id IS NULL) shared across every organization. |
|
internal/assistant_platform_mcp_adapter
Package assistant_platform_mcp_adapter serves the Platform MCP capability catalogue to a project's managed assistant.
|
Package assistant_platform_mcp_adapter serves the Platform MCP capability catalogue to a project's managed assistant. |
|
internal/auth/speakeasyclient
Package speakeasyclient is a thin HTTP client for the Speakeasy auth provider's IDP wire endpoints (`/v1/speakeasy_provider/{exchange,validate}`) plus the post-IDP user-bootstrap side effects every Speakeasy-authenticated caller should run.
|
Package speakeasyclient is a thin HTTP client for the Speakeasy auth provider's IDP wire endpoints (`/v1/speakeasy_provider/{exchange,validate}`) plus the post-IDP user-bootstrap side effects every Speakeasy-authenticated caller should run. |
|
internal/authz/repo
Package repo writes authz challenge rows to ClickHouse.
|
Package repo writes authz challenge rows to ClickHouse. |
|
internal/background/activities/outbox_relay
Package outbox_relay drains the global event outbox.
|
Package outbox_relay drains the global event outbox. |
|
internal/background/activities/publish_outbox
Package publish_outbox drains the general-purpose publish outbox onto Pub/Sub.
|
Package publish_outbox drains the general-purpose publish outbox onto Pub/Sub. |
|
internal/background/activities/risk_analysis/presidiotest
Package presidiotest provides an in-process mock of the Presidio Analyzer HTTP API.
|
Package presidiotest provides an in-process mock of the Presidio Analyzer HTTP API. |
|
internal/background/activities/risk_exclusion
Package risk_exclusion contains the Temporal activity that reconciles a risk exclusion against already-stored findings.
|
Package risk_exclusion contains the Temporal activity that reconciles a risk exclusion against already-stored findings. |
|
internal/background/activities/spend_rules
Package spend_rules holds the background activities that evaluate spend control rules: per-organization budget evaluation against ClickHouse spend, warning/breach event writes, and spend gate cache publication for the hooks gate.
|
Package spend_rules holds the background activities that evaluate spend control rules: per-organization budget evaluation against ClickHouse spend, warning/breach event writes, and spend gate cache publication for the hooks gate. |
|
internal/chat/analysis
Package analysis runs a roster of LLM judges over finished chat sessions.
|
Package analysis runs a roster of LLM judges over finished chat sessions. |
|
internal/chatanalysis
Package chatanalysis implements the adminChatAnalysis service: the platform-admin surface over chat_analysis_settings, the per-(organization, judge) switches and daily budgets the chat analysis pipeline spends against (server/internal/chat/analysis).
|
Package chatanalysis implements the adminChatAnalysis service: the platform-admin surface over chat_analysis_settings, the per-(organization, judge) switches and daily budgets the chat analysis pipeline spends against (server/internal/chat/analysis). |
|
internal/cliauth
Package cliauth implements the cliAuth Goa service: the device agent's interactive enrollment via a PKCE one-time-code exchange (DNO-388).
|
Package cliauth implements the cliAuth Goa service: the device agent's interactive enrollment via a PKCE one-time-code exchange (DNO-388). |
|
internal/demoseed
Package demoseed provisions the shared demo organization (constants.DemoOrganizationID).
|
Package demoseed provisions the shared demo organization (constants.DemoOrganizationID). |
|
internal/demoseed/demoseedtest
Package demoseedtest holds the generic database snapshot/exec helpers behind TestDemoSeedSafety.
|
Package demoseedtest holds the generic database snapshot/exec helpers behind TestDemoSeedSafety. |
|
internal/deviceintegrations
Package deviceintegrations implements the management API for org-level device integrations: connecting MDM inventory sources and compliance evidence sinks, managing their sync schedules, and reading agent coverage across the synced fleet.
|
Package deviceintegrations implements the management API for org-level device integrations: connecting MDM inventory sources and compliance evidence sinks, managing their sync schedules, and reading agent coverage across the synced fleet. |
|
internal/deviceintegrations/providers
Package providers defines the vendor abstraction for device integrations: a registry of descriptors, capability interfaces for inventory sources (MDMs pulled for the managed-device fleet) and evidence sinks (compliance platforms pushed agent-coverage evidence), and the credential/settings specs that drive dashboard form rendering and payload validation.
|
Package providers defines the vendor abstraction for device integrations: a registry of descriptors, capability interfaces for inventory sources (MDMs pulled for the managed-device fleet) and evidence sinks (compliance platforms pushed agent-coverage evidence), and the credential/settings specs that drive dashboard form rendering and payload validation. |
|
internal/deviceintegrations/providers/drata
Package drata implements the Drata evidence-sink provider: it pushes per-device agent-coverage evidence into a customer's Drata workspace via the Custom Connections API, so "AI usage on endpoints is monitored" is a continuously-tested control instead of quarterly screenshots.
|
Package drata implements the Drata evidence-sink provider: it pushes per-device agent-coverage evidence into a customer's Drata workspace via the Custom Connections API, so "AI usage on endpoints is monitored" is a continuously-tested control instead of quarterly screenshots. |
|
internal/deviceintegrations/providers/intune
Package intune implements the Microsoft Intune inventory-source provider: it pulls the managed-device fleet from a customer's Intune tenant via Microsoft Graph so Gram can compute agent coverage.
|
Package intune implements the Microsoft Intune inventory-source provider: it pulls the managed-device fleet from a customer's Intune tenant via Microsoft Graph so Gram can compute agent coverage. |
|
internal/deviceintegrations/providers/iru
Package iru implements the Iru (formerly Kandji) inventory-source provider: it pulls the managed-device fleet from an Iru tenant so Gram can compute agent coverage.
|
Package iru implements the Iru (formerly Kandji) inventory-source provider: it pulls the managed-device fleet from an Iru tenant so Gram can compute agent coverage. |
|
internal/deviceintegrations/providers/jamf
Package jamf implements the Jamf Pro inventory-source provider: it pulls the managed-device fleet from a Jamf Pro (Cloud) tenant so Gram can compute agent coverage.
|
Package jamf implements the Jamf Pro inventory-source provider: it pulls the managed-device fleet from a Jamf Pro (Cloud) tenant so Gram can compute agent coverage. |
|
internal/deviceintegrations/providers/vanta
Package vanta implements the Vanta evidence-sink provider: it pushes per-device agent-coverage evidence into a customer's Vanta tenant via a private integration, so agent coverage becomes continuously-tested compliance evidence (a Custom Test over the pushed properties fails when a device's assigned user has no live agent).
|
Package vanta implements the Vanta evidence-sink provider: it pushes per-device agent-coverage evidence into a customer's Vanta tenant via a private integration, so agent coverage becomes continuously-tested compliance evidence (a Custom Test over the pushed properties fails when a device's assigned user has no live agent). |
|
internal/dns
Package dns provides a Resolver interface for DNS lookups whose method signatures match net.Resolver.
|
Package dns provides a Resolver interface for DNS lookups whose method signatures match net.Resolver. |
|
internal/email
Package email is the application-facing facade for sending transactional emails.
|
Package email is the application-facing facade for sending transactional emails. |
|
internal/email/loops
Package loops validates the repository-owned LMX transactional email manifest.
|
Package loops validates the repository-owned LMX transactional email manifest. |
|
internal/externalmcptest
Package externalmcptest provides helpers for constructing externalmcp.RegistryClient instances in tests.
|
Package externalmcptest provides helpers for constructing externalmcp.RegistryClient instances in tests. |
|
internal/functionstest
Package functionstest provides helpers for constructing functions.Orchestrator instances in tests.
|
Package functionstest provides helpers for constructing functions.Orchestrator instances in tests. |
|
internal/guardian
Package guardian provides HTTP client construction with network security policy enforcement, OpenTelemetry instrumentation, resilience (rate limiting and circuit breaking), and optional retry logic.
|
Package guardian provides HTTP client construction with network security policy enforcement, OpenTelemetry instrumentation, resilience (rate limiting and circuit breaking), and optional retry logic. |
|
internal/httpcache
Package httpcache holds shared HTTP caching semantics, in both directions.
|
Package httpcache holds shared HTTP caching semantics, in both directions. |
|
internal/killswitches
Package killswitches defines dependency-light contracts for kill-switch registration, identity adaptation, evaluation results, and mutation hashing.
|
Package killswitches defines dependency-light contracts for kill-switch registration, identity adaptation, evaluation results, and mutation hashing. |
|
internal/killswitches/mcptoolexecution
Package mcptoolexecution registers the M2 `mcp_tool_execution` kill-switch contracts: the fail-closed definition, the authoritative concrete-user principal adapter, the canonical organization-owned `mcp_server` resource adapter, and the coverage inventory for the hosted and private-proxy MCP tools/call surfaces.
|
Package mcptoolexecution registers the M2 `mcp_tool_execution` kill-switch contracts: the fail-closed definition, the authoritative concrete-user principal adapter, the canonical organization-owned `mcp_server` resource adapter, and the coverage inventory for the hosted and private-proxy MCP tools/call surfaces. |
|
internal/management/readmodel
Package readmodel provides shared project and MCP server selection for management transports.
|
Package readmodel provides shared project and MCP server selection for management transports. |
|
internal/mcp
Anonymous public serving for tunneled MCP servers.
|
Anonymous public serving for tunneled MCP servers. |
|
internal/mcp/httpheaders
Package httpheaders contains shared MCP request header parsing helpers.
|
Package httpheaders contains shared MCP request header parsing helpers. |
|
internal/mcp/mcpmetrics
Package mcpmetrics owns every OpenTelemetry instrument the MCP runtime publishes: the per-request census counter, the handshake counter, the tool-call counter, the request-duration histogram, the user-facing OAuth flow counters, and the toolsets→mcp_servers migration counters (legacy slug fallback and legacy audience acceptance).
|
Package mcpmetrics owns every OpenTelemetry instrument the MCP runtime publishes: the per-request census counter, the handshake counter, the tool-call counter, the request-duration histogram, the user-facing OAuth flow counters, and the toolsets→mcp_servers migration counters (legacy slug fallback and legacy audience acceptance). |
|
internal/mcp/mcprequests
Package mcprequests carries the per-request MCP metadata primitives shared by every inbound MCP surface: the decode of the per-request metadata that the 2026-07-28 protocol revision attaches to every request, the declared protocol-version precedence, the clamped method dimension, and the field sanitization they share.
|
Package mcprequests carries the per-request MCP metadata primitives shared by every inbound MCP surface: the decode of the per-request metadata that the 2026-07-28 protocol revision attaches to every request, the declared protocol-version precedence, the clamped method dimension, and the field sanitization they share. |
|
internal/mcp/mcpversions
Package mcpversions is the single registry of MCP protocol revision identifiers Gram recognizes.
|
Package mcpversions is the single registry of MCP protocol revision identifiers Gram recognizes. |
|
internal/mcp/metamcp
Package metamcp colocates the view layer of the meta-server MCP surface — the constants, instructions, tool contract, and response shapes served by meta-MCP-backed endpoints — one file per MCP method.
|
Package metamcp colocates the view layer of the meta-server MCP surface — the constants, instructions, tool contract, and response shapes served by meta-MCP-backed endpoints — one file per MCP method. |
|
internal/mcp/sessionclientinfo
Package sessionclientinfo holds the Redis-only record of who is on the other end of an MCP session.
|
Package sessionclientinfo holds the Redis-only record of who is on the other end of an MCP session. |
|
internal/mcp/toolfilter
Package toolfilter is the shared home for MCP tool-filtering logic: deriving a tool's effective filter tags, applying the runtime ?tags= filter, resolving the effective variation group, and building the read-only scopes view shown on the dashboard.
|
Package toolfilter is the shared home for MCP tool-filtering logic: deriving a tool's effective filter tags, applying the runtime ?tags= filter, resolving the effective variation group, and building the read-only scopes view shown on the dashboard. |
|
internal/mcp/tunnelrouting
Package tunnelrouting selects tunnel gateway owners and handles retry policy.
|
Package tunnelrouting selects tunnel gateway owners and handles retry policy. |
|
internal/mcp/tunnelsessions
Package tunnelsessions holds the Redis-only session state for anonymous (public) tunneled MCP traffic.
|
Package tunnelsessions holds the Redis-only session state for anonymous (public) tunneled MCP traffic. |
|
internal/mcpapproval
Package mcpapproval serves the MCP approval workflow: the queue of servers awaiting a decision, the evidence gathered for each, and the durable record of what was decided and why.
|
Package mcpapproval serves the MCP approval workflow: the queue of servers awaiting a decision, the evidence gathered for each, and the durable record of what was decided and why. |
|
internal/mcpapproval/advisories
Package advisories asks OSV.dev which published vulnerability advisories name an MCP server's package.
|
Package advisories asks OSV.dev which published vulnerability advisories name an MCP server's package. |
|
internal/mcpapproval/authority
Package authority summarises what an MCP server asks a customer to hand over.
|
Package authority summarises what an MCP server asks a customer to hand over. |
|
internal/mcpapproval/capability
Package capability summarises what an MCP tool says it can do.
|
Package capability summarises what an MCP tool says it can do. |
|
internal/mcpapproval/catalog
Package catalog matches a requested server URL against the MCP registries this deployment already consults, and reads what the matched entry declares.
|
Package catalog matches a requested server URL against the MCP registries this deployment already consults, and reads what the matched entry declares. |
|
internal/mcpapproval/domainmeta
Package domainmeta looks up when a remote MCP server's domain was registered.
|
Package domainmeta looks up when a remote MCP server's domain was registered. |
|
internal/mcpapproval/evidence
Package evidence composes every signal the evidence packages derive into the document stored on an approval request.
|
Package evidence composes every signal the evidence packages derive into the document stored on an approval request. |
|
internal/mcpapproval/evidencediff
Package evidencediff compares the permission-relevant slice of two evidence documents: the one a decision froze and the one gathered since.
|
Package evidencediff compares the permission-relevant slice of two evidence documents: the one a decision froze and the one gathered since. |
|
internal/mcpapproval/exposure
Package exposure answers "are we already exposed?" for a requested MCP server: whether this project is already talking to it, since when, how much, and by how many people.
|
Package exposure answers "are we already exposed?" for a requested MCP server: whether this project is already talking to it, since when, how much, and by how many people. |
|
internal/mcpapproval/identity
Package identity resolves an observed MCP server reference into a stable artifact identity.
|
Package identity resolves an observed MCP server reference into a stable artifact identity. |
|
internal/mcpapproval/packagemeta
Package packagemeta looks up what a package registry publishes about an MCP server distributed as a package.
|
Package packagemeta looks up what a package registry publishes about an MCP server distributed as a package. |
|
internal/mcpapproval/provenance
Package provenance reads the maturity and popularity signals an MCP registry publishes alongside a server entry.
|
Package provenance reads the maturity and popularity signals an MCP registry publishes alongside a server entry. |
|
internal/mcpapproval/remoteprobe
Package remoteprobe gathers what a remote MCP server publishes about itself, for the approval evidence document: its OAuth metadata through the standard well-known endpoints, and its tool declarations through an unauthenticated tools/list.
|
Package remoteprobe gathers what a remote MCP server publishes about itself, for the approval evidence document: its OAuth metadata through the standard well-known endpoints, and its tool declarations through an unauthenticated tools/list. |
|
internal/mcpapproval/repometa
Package repometa looks up what a code host publishes about an MCP server's declared source repository.
|
Package repometa looks up what a code host publishes about an MCP server's declared source repository. |
|
internal/mcpapproval/researchagent
Package researchagent runs the MCP approval workflow's research agent: a bounded tool-calling loop over the research web tools, followed by a schema-held extraction pass that turns the agent's cited prose into the structured report stored on mcp_research_reports.
|
Package researchagent runs the MCP approval workflow's research agent: a bounded tool-calling loop over the research web tools, followed by a schema-held extraction pass that turns the agent's cited prose into the structured report stored on mcp_research_reports. |
|
internal/mcpidentity
Package mcpidentity carries trusted authentication provenance for MCP requests.
|
Package mcpidentity carries trusted authentication provenance for MCP requests. |
|
internal/mcpservers/visibility
Package visibility declares the mcp_servers.visibility enum values.
|
Package visibility declares the mcp_servers.visibility enum values. |
|
internal/metamcp/visibility
Package visibility declares the meta_mcp_servers.visibility enum values.
|
Package visibility declares the meta_mcp_servers.visibility enum values. |
|
internal/metering
Package metering owns workload meter definitions, readings, and publication.
|
Package metering owns workload meter definitions, readings, and publication. |
|
internal/metering/chrepo
Package chrepo writes immutable workload readings to ClickHouse.
|
Package chrepo writes immutable workload readings to ClickHouse. |
|
internal/mv
Package mv, short for "model views", provides functions for rendering views over database models that can be used by other services to produce consistent representations of API resources.
|
Package mv, short for "model views", provides functions for rendering views over database models that can be used by other services to produce consistent representations of API resources. |
|
internal/oauth/wellknown
Package wellknown resolves OAuth 2.1 well-known metadata for toolsets.
|
Package wellknown resolves OAuth 2.1 well-known metadata for toolsets. |
|
internal/oautherr
Package oautherr is the home for OAuth 2.0 error handling shared across the server including error codes, types, and logic for emitting OAuth 2.0 errors as an Authorization Server or interpreting them as a client.
|
Package oautherr is the home for OAuth 2.0 error handling shared across the server including error codes, types, and logic for emitting OAuth 2.0 errors as an Authorization Server or interpreting them as a client. |
|
internal/oauthtest
Package oauthtest provides helpers for creating OAuth-configured toolsets in tests.
|
Package oauthtest provides helpers for creating OAuth-configured toolsets in tests. |
|
internal/openapi
Workaround: Anti-Gravity rejects tool inputSchema properties that use integer enums (e.g.
|
Workaround: Anti-Gravity rejects tool inputSchema properties that use integer enums (e.g. |
|
internal/openrouterkeys
Package openrouterkeys implements the adminOpenRouterKeys service: the platform-admin surface over openrouter_api_keys, the per-(organization, key type) platform OpenRouter keys that pay for completions.
|
Package openrouterkeys implements the adminOpenRouterKeys service: the platform-admin surface over openrouter_api_keys, the per-(organization, key type) platform OpenRouter keys that pay for completions. |
|
internal/orderedmap
Package orderedmap provides a map implementation that maintains the order of keys as they are added.
|
Package orderedmap provides a map implementation that maintains the order of keys as they are added. |
|
internal/organizations/orgprovision
Package orgprovision holds the parts of creating an organization that every caller must do identically: validating the display name, and creating the WorkOS organization so that its Gram organization ID is derivable from its WorkOS ID.
|
Package orgprovision holds the parts of creating an organization that every caller must do identically: validating the display name, and creating the WorkOS organization so that its Gram organization ID is derivable from its WorkOS ID. |
|
internal/outbox
Package outbox provides the producer side of the transactional outbox.
|
Package outbox provides the producer side of the transactional outbox. |
|
internal/outbox/cataloggen
Package cataloggen generates server/internal/outbox/events/catalog_gen.go and server/internal/outbox/events/catalog_gen.yaml from the event definition files.
|
Package cataloggen generates server/internal/outbox/events/catalog_gen.go and server/internal/outbox/events/catalog_gen.yaml from the event definition files. |
|
internal/platformmcp/localfixture
Package localfixture owns the code-defined reviewed provider used only by the explicit local Platform MCP fixture composition.
|
Package localfixture owns the code-defined reviewed provider used only by the explicit local Platform MCP fixture composition. |
|
internal/platformmcp/oauth
Package oauth defines Platform MCP's organization-bound OAuth state contracts.
|
Package oauth defines Platform MCP's organization-bound OAuth state contracts. |
|
internal/platformmcp/remotesessionprovider
Package remotesessionprovider implements reviewed Platform MCP provider readiness over shared remote-session authorization.
|
Package remotesessionprovider implements reviewed Platform MCP provider readiness over shared remote-session authorization. |
|
internal/platformmcp/setupcorpus
Package setupcorpus builds the reviewed Platform MCP setup resource corpus from the pinned mcp-setup-docs export.
|
Package setupcorpus builds the reviewed Platform MCP setup resource corpus from the pinned mcp-setup-docs export. |
|
internal/platformtools/changelog
Package changelog exposes the public Speakeasy platform changelog as a read-only platform tool for the project's managed assistant.
|
Package changelog exposes the public Speakeasy platform changelog as a read-only platform tool for the project's managed assistant. |
|
internal/platformtools/docs
Package docs exposes the public Speakeasy AI control plane documentation (speakeasy.com/docs/ai-control-plane) as read-only platform tools for the project's managed assistant.
|
Package docs exposes the public Speakeasy AI control plane documentation (speakeasy.com/docs/ai-control-plane) as read-only platform tools for the project's managed assistant. |
|
internal/platformtools/memory
Package memory implements the gram://memory/* platform tools that wrap the MemoryService for use by assistant agents at runtime.
|
Package memory implements the gram://memory/* platform tools that wrap the MemoryService for use by assistant agents at runtime. |
|
internal/platformtools/platform
Package platform re-serves the Platform MCP read tools (server/internal/platformmcp) as platform tools on the assistant runtime channel.
|
Package platform re-serves the Platform MCP read tools (server/internal/platformmcp) as platform tools on the assistant runtime channel. |
|
internal/platformtools/research
Package research provides the MCP research agent's web tools: search and page fetch.
|
Package research provides the MCP research agent's web tools: search and page fetch. |
|
internal/plugins/naming
Package naming holds the marketplace + observability-plugin name formulas shared between the plugin publish path (server/internal/plugins) and the device-agent endpoint (server/internal/agent + mv).
|
Package naming holds the marketplace + observability-plugin name formulas shared between the plugin publish path (server/internal/plugins) and the device-agent endpoint (server/internal/agent + mv). |
|
internal/productfeatures/productfeaturestest
Package productfeaturestest provides helpers for toggling organization-level product feature entitlements in tests, for the packages whose service is gated on one.
|
Package productfeaturestest provides helpers for toggling organization-level product feature entitlements in tests, for the packages whose service is gated on one. |
|
internal/ratelimit
Package ratelimit is Gram's shared token-bucket rate limiter.
|
Package ratelimit is Gram's shared token-bucket rate limiter. |
|
internal/remotemcp/interceptors
Package interceptors holds per-vendor policies applied to remote-MCP proxy traffic.
|
Package interceptors holds per-vendor policies applied to remote-MCP proxy traffic. |
|
internal/remotemcp/proxy
Package proxy forwards MCP client requests to an upstream Remote MCP Server and relays its responses back to the client.
|
Package proxy forwards MCP client requests to an upstream Remote MCP Server and relays its responses back to the client. |
|
internal/remotemcp/remotemcptest
Package remotemcptest provides helpers for seeding remote_mcp_servers rows in tests across packages that depend on a remote MCP server FK.
|
Package remotemcptest provides helpers for seeding remote_mcp_servers rows in tests across packages that depend on a remote MCP server FK. |
|
internal/remotesessions
Package remotesessions implements the management API services that surface remote_session_issuer / remote_session_client / remote_session resources — Gram-as-OAuth-Client configuration and the upstream sessions Gram is holding on a principal's behalf.
|
Package remotesessions implements the management API services that surface remote_session_issuer / remote_session_client / remote_session resources — Gram-as-OAuth-Client configuration and the upstream sessions Gram is holding on a principal's behalf. |
|
internal/remotesessions/interceptors
Package interceptors adapts the outgoing upstream authorize request to a provider's non-standard requirements before the user is redirected to it.
|
Package interceptors adapts the outgoing upstream authorize request to a provider's non-standard requirements before the user is redirected to it. |
|
internal/remotesessions/remotesessionmetrics
Package remotesessionmetrics holds the metric instruments for the remote sessions subsystem — the outbound OAuth legs where Gram acts as an OAuth client against a customer's upstream identity provider.
|
Package remotesessionmetrics holds the metric instruments for the remote sessions subsystem — the outbound OAuth legs where Gram acts as an OAuth client against a customer's upstream identity provider. |
|
internal/risk/categories
Package categories is the single source of truth for the (source, rule_id) → risk category mapping shown across the dashboard.
|
Package categories is the single source of truth for the (source, rule_id) → risk category mapping shown across the dashboard. |
|
internal/risk/celenv
Package celenv defines the single CEL environment for risk rule expressions.
|
Package celenv defines the single CEL environment for risk rule expressions. |
|
internal/risk/maskdisplay
Package maskdisplay produces the partial-mask display form of a risk finding's matched value — the string stored in the ClickHouse risk_findings.match_redacted column and rendered as the match by default in listings.
|
Package maskdisplay produces the partial-mask display form of a risk finding's matched value — the string stored in the ClickHouse risk_findings.match_redacted column and rendered as the match by default in listings. |
|
internal/risk/policycatalog
Package policycatalog owns the release-pinned detector values that Platform policy administration may expose.
|
Package policycatalog owns the release-pinned detector values that Platform policy administration may expose. |
|
internal/risk/presetlib
Package presetlib classifies risk findings from ANY detection source against a git-versioned catalog of known-benign values (test credit cards, example API keys/tokens, module hashes, placeholder emails).
|
Package presetlib classifies risk findings from ANY detection source against a git-versioned catalog of known-benign values (test credit cards, example API keys/tokens, module hashes, placeholder emails). |
|
internal/risk/presidiofp
Package presidiofp classifies Presidio PII findings as false positives.
|
Package presidiofp classifies Presidio PII findings as false positives. |
|
internal/risk/recommendedscopes
Package recommendedscopes contains the centrally-maintained detection scope registry for built-in risk categories.
|
Package recommendedscopes contains the centrally-maintained detection scope registry for built-in risk categories. |
|
internal/scanners/accountidentity
Package accountidentity is the single home for the account-identity scanner.
|
Package accountidentity is the single home for the account-identity scanner. |
|
internal/scanners/clidestructive
Package clidestructive is the single home for the destructive-CLI-command scanner.
|
Package clidestructive is the single home for the destructive-CLI-command scanner. |
|
internal/scanners/destructivetool
Package destructivetool is the single home for the destructive-tool-annotation scanner.
|
Package destructivetool is the single home for the destructive-tool-annotation scanner. |
|
internal/scanners/gitleaks
Package gitleaks is the single home for gitleaks-based secret scanning.
|
Package gitleaks is the single home for gitleaks-based secret scanning. |
|
internal/scanners/promptinjection/openrouter
Package openrouter holds the OpenRouter-backed prompt-injection judge.
|
Package openrouter holds the OpenRouter-backed prompt-injection judge. |
|
internal/scanners/promptpolicy/openrouter
Package openrouter holds the OpenRouter-backed prompt policy evaluator.
|
Package openrouter holds the OpenRouter-backed prompt policy evaluator. |
|
internal/scanners/shadowmcpscan
Package shadowmcpscan is the single home for the shadow-MCP scanner.
|
Package shadowmcpscan is the single home for the shadow-MCP scanner. |
|
internal/sessionhandoff
Package sessionhandoff renders a captured Gram chat transcript into a deterministic markdown handoff digest — the document served to a harness that wants to continue a previous session's work.
|
Package sessionhandoff renders a captured Gram chat transcript into a deterministic markdown handoff digest — the document served to a harness that wants to continue a previous session's work. |
|
internal/sessiontokens
Package sessiontokens implements the product-neutral JWT and revocation primitives used by Gram-issued session tokens.
|
Package sessiontokens implements the product-neutral JWT and revocation primitives used by Gram-issued session tokens. |
|
internal/skills/efficacy
Package efficacy scores how well a skill served an agent session: it renders the session transcript, asks an LLM judge for a structured verdict, and normalizes that verdict for the skill_efficacy_scores ClickHouse sink.
|
Package efficacy scores how well a skill served an agent session: it renders the session transcript, asks an LLM judge for a structured verdict, and normalizes that verdict for the skill_efficacy_scores ClickHouse sink. |
|
internal/skills/skilldiff
Package skilldiff represents a proposed SKILL.md edit as a unified diff so a suggestion outlives the exact version it was generated against.
|
Package skilldiff represents a proposed SKILL.md edit as a unified diff so a suggestion outlives the exact version it was generated against. |
|
internal/skills/suggest
Package suggest generates evidence-backed edits to recently active skills.
|
Package suggest generates evidence-backed edits to recently active skills. |
|
internal/spendrules/celenv
Package celenv defines the single CEL environment for spend rule expressions.
|
Package celenv defines the single CEL environment for spend rule expressions. |
|
internal/spendrules/money
Package money defines Cents, the native Go type the spend-rules tables map their *_usd_cents BIGINT columns to (via sqlc go_type overrides).
|
Package money defines Cents, the native Go type the spend-rules tables map their *_usd_cents BIGINT columns to (via sqlc go_type overrides). |
|
internal/telemetry/overview
Package overview is the neutral read path for project overview analytics.
|
Package overview is the neutral read path for project overview analytics. |
|
internal/telemetry/telemetryerrs
Package telemetryerrs holds telemetry errors that non-telemetry packages need to recognize (e.g.
|
Package telemetryerrs holds telemetry errors that non-telemetry packages need to recognize (e.g. |
|
internal/testmcp
Package testmcp provides an in-process mock MCP server backed by the official MCP Go SDK.
|
Package testmcp provides an in-process mock MCP server backed by the official MCP Go SDK. |
|
internal/thirdparty/gcp/gcpauth
Package gcpauth turns a GCP IAM external credential into the two things callers need from it.
|
Package gcpauth turns a GCP IAM external credential into the two things callers need from it. |
|
internal/thirdparty/gcp/gcpkms
Package gcpkms signs with GCP Cloud KMS asymmetric keys whose private half never leaves the provider.
|
Package gcpkms signs with GCP Cloud KMS asymmetric keys whose private half never leaves the provider. |
|
internal/thirdparty/loops
Package loops is a thin transport wrapper around the Loops transactional email API (https://loops.so).
|
Package loops is a thin transport wrapper around the Loops transactional email API (https://loops.so). |
|
internal/thirdparty/slack/api
Package api provides the shared low-level Slack Web API client used across Gram.
|
Package api provides the shared low-level Slack Web API client used across Gram. |
|
internal/thirdparty/stripe
Package stripe provides the narrow Stripe boundary used by PAYG billing.
|
Package stripe provides the narrow Stripe boundary used by PAYG billing. |
|
internal/tokenexchange
Package tokenexchange implements the device-agent token surface (DNO-383).
|
Package tokenexchange implements the device-agent token surface (DNO-383). |
|
internal/toolcallobserver
Package toolcallobserver defines a narrow, content-free tool-success signal shared by runtime adapters and product-specific recorders.
|
Package toolcallobserver defines a narrow, content-free tool-success signal shared by runtime adapters and product-specific recorders. |
|
internal/toolconfig
Package toolconfig provides configuration types for tool execution.
|
Package toolconfig provides configuration types for tool execution. |
|
internal/toolref
Package toolref parses and attributes the namespaced tool-call names that agent hosts emit.
|
Package toolref parses and attributes the namespaced tool-call names that agent hosts emit. |
|
internal/trialemails
Package trialemails synchronizes enterprise trial lifecycle state to Loops.
|
Package trialemails synchronizes enterprise trial lifecycle state to Loops. |
|
internal/urls
Package urls holds validation helpers for URLs that arrive from outside Gram — request payloads, upstream metadata documents, and other untrusted sources — and that Gram stores, dials, or renders as a link.
|
Package urls holds validation helpers for URLs that arrive from outside Gram — request payloads, upstream metadata documents, and other untrusted sources — and that Gram stores, dials, or renders as a link. |
|
internal/usersessions
Package usersessions implements the management API services that surface user_session_issuer / user_session_client / user_session_consent / user_session resources.
|
Package usersessions implements the management API services that surface user_session_issuer / user_session_client / user_session_consent / user_session resources. |
|
internal/usersessions/cimd
Package cimd implements the inbound side of OAuth Client ID Metadata Documents (draft-ietf-oauth-client-id-metadata-document-02): resolving a URL-shaped client_id presented to the user-session authorization server by fetching the document it names, parsing it, and validating it against the spec's rules plus this server's own policy rules.
|
Package cimd implements the inbound side of OAuth Client ID Metadata Documents (draft-ietf-oauth-client-id-metadata-document-02): resolving a URL-shaped client_id presented to the user-session authorization server by fetching the document it names, parsing it, and validating it against the spec's rules plus this server's own policy rules. |
|
internal/usersessions/cimd/admission
Package admission implements CIMD admission control: the per-issuer policy deciding WHICH Client ID Metadata Document URLs a Gram user-session authorization server will accept, evaluated before any document is fetched.
|
Package admission implements CIMD admission control: the per-issuer policy deciding WHICH Client ID Metadata Document URLs a Gram user-session authorization server will accept, evaluated before any document is fetched. |
|
internal/usersessions/clientauth
Package clientauth verifies RFC 7523 §2.2 client assertions, the evidence a private_key_jwt client presents in place of a shared secret.
|
Package clientauth verifies RFC 7523 §2.2 client assertions, the evidence a private_key_jwt client presents in place of a shared secret. |
|
internal/usersessions/clientcred
Package clientcred derives what credential a user_session_client row requires from the columns persisted on it.
|
Package clientcred derives what credential a user_session_client row requires from the columns persisted on it. |
|
internal/usersessions/jwks
Package jwks resolves third-party JSON Web Key Sets into verification keys.
|
Package jwks resolves third-party JSON Web Key Sets into verification keys. |
|
internal/usersessions/oauthwire
Package oauthwire holds the pieces of the issuer-gated OAuth surface that both the usersessions management API and its cimd subpackages need: the wire-error shape and the redirect-URI scheme rules.
|
Package oauthwire holds the pieces of the issuer-gated OAuth surface that both the usersessions management API and its cimd subpackages need: the wire-error shape and the redirect-URI scheme rules. |
|
internal/usersessions/replay
Package replay enforces single use of assertion identifiers.
|
Package replay enforces single use of assertion identifiers. |
|
internal/uuidv7
Package uuidv7 holds helpers for working with time-ordered UUIDv7 values, chiefly deriving id bounds from timestamps so a (project_id, id) index can double as a time-range filter without a separate created_at index.
|
Package uuidv7 holds helpers for working with time-ordered UUIDv7 values, chiefly deriving id bounds from timestamps so a (project_id, id) index can double as a time-range filter without a separate created_at index. |
|
internal/webhooks/svixrelay
Package svixrelay delivers webhook events from the gram.webhooks.v1.Event topic to Svix.
|
Package svixrelay delivers webhook events from the gram.webhooks.v1.Event topic to Svix. |
|
internal/xmcp
Package xmcp implements the experimental MCP runtime endpoint at /x/mcp/{slug}.
|
Package xmcp implements the experimental MCP runtime endpoint at /x/mcp/{slug}. |
|
cmd/cli/gram
module
|
|
|
tunnel
|
|
|
agent
Package agent reverse-proxies a pinned local MCP server over one outbound yamux/WebSocket tunnel.
|
Package agent reverse-proxies a pinned local MCP server over one outbound yamux/WebSocket tunnel. |
|
cmd/tunnel-agent
command
Command tunnel-agent runs the customer-side outbound tunnel agent.
|
Command tunnel-agent runs the customer-side outbound tunnel agent. |
|
cmd/tunnel-gateway
command
Command tunnel-gateway serves public agent connects and internal tunnel forwards.
|
Command tunnel-gateway serves public agent connects and internal tunnel forwards. |
|
route
Package route stores live tunnel gateway owners and connection snapshots.
|
Package route stores live tunnel gateway owners and connection snapshots. |
Click to show internal directories.
Click to hide internal directories.