Help us shape the future of Go! Take the 2026 Go Developer Survey

internal/

directory
v4.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: Apache-2.0

Directories

Path Synopsis
Package app is the startup assembly every entry point shares: open the profile, settle the OAuth application, build the HTTP transport, the token source and the GitLab client, refuse a mode the sign-in cannot serve, and wire the MCP server.
Package app is the startup assembly every entry point shares: open the profile, settle the OAuth application, build the HTTP transport, the token source and the GitLab client, refuse a mode the sign-in cannot serve, and wire the MCP server.
Package auth is the family's sign-in on GitLab's OAuth provider: the person's own OAuth application, a loopback redirect on 127.0.0.1 with a random port, PKCE S256, and a refreshing token source that survives GitLab's immediate rotation (docs/architecture.md §10).
Package auth is the family's sign-in on GitLab's OAuth provider: the person's own OAuth application, a loopback redirect on 127.0.0.1 with a random port, PKCE S256, and a refreshing token source that survives GitLab's immediate rotation (docs/architecture.md §10).
Package config loads and validates the runtime configuration.
Package config loads and validates the runtime configuration.
Package credentials stores and resolves the OAuth token of one profile: access token, refresh token, expiry and type.
Package credentials stores and resolves the OAuth token of one profile: access token, refresh token, expiry and type.
Package diffpos computes where an inline comment lands: GitLab's diff position for a line of a merge request's diff, from the file's unified diff and the diff version's refs (docs/architecture.md §7.4).
Package diffpos computes where an inline comment lands: GitLab's diff position for a line of a merge request's diff, from the file's unified diff and the diff version's refs (docs/architecture.md §7.4).
Package fileperm restricts a file to the account that wrote it: mode 0600 on Unix, an explicit access list on Windows, where a mode only sets the read-only attribute and protects nothing.
Package fileperm restricts a file to the account that wrote it: mode 0600 on Unix, an explicit access list on Windows, where a mode only sets the read-only attribute and protects nothing.
Package gapi is the raw REST client for GitLab's API v4.
Package gapi is the raw REST client for GitLab's API v4.
gitlabtest
Package gitlabtest is an in-memory GitLab behind httptest, for tests.
Package gitlabtest is an in-memory GitLab behind httptest, for tests.
Package gitlab holds the wire types of GitLab's REST API v4.
Package gitlab holds the wire types of GitLab's REST API v4.
Package instance normalizes the GitLab base URL (gitlab.com, or the loopback test instance), checks URLs against it, reads the instance's version and edition, and turns GitLab web URLs into tool arguments.
Package instance normalizes the GitLab base URL (gitlab.com, or the loopback test instance), checks URLs against it, reads the instance's version and edition, and turns GitLab web URLs into tool arguments.
Package localimage reads an image from a directory the person allowed in GITLAB_MCP_UPLOAD_DIRS, for upload_file to send (docs/architecture.md §7.10).
Package localimage reads an image from a directory the person allowed in GITLAB_MCP_UPLOAD_DIRS, for upload_file to send (docs/architecture.md §7.10).
Package model is the server's view of what GitLab returns: the shapes every tool result carries as structuredContent, under its output schema.
Package model is the server's view of what GitLab returns: the shapes every tool result carries as structuredContent, under its output schema.
Package quickaction finds and neutralizes the lines of a Markdown body that GitLab would run as quick actions.
Package quickaction finds and neutralizes the lines of a Markdown body that GitLab would run as quick actions.
Package redact masks what this server prints for a person and must not survive being pasted somewhere else, and the secrets a job log can carry.
Package redact masks what this server prints for a person and must not survive being pasted somewhere else, and the secrets a job log can carry.
Package render turns the server's model into the readable half of a tool result, and prepares text other people wrote before anything shows it (docs/architecture.md §4.1, §4.8).
Package render turns the server's model into the readable half of a tool result, and prepares text other people wrote before anything shows it (docs/architecture.md §4.1, §4.8).
Package scopes is the one source of truth for the OAuth scopes this server requests in each mode, the scope each kind of tool needs, and the text people paste when they register their OAuth application.
Package scopes is the one source of truth for the OAuth scopes this server requests in each mode, the scope each kind of tool needs, and the text people paste when they register their OAuth application.
Package server wires the tools onto the MCP SDK and dumps the tool surface.
Package server wires the tools onto the MCP SDK and dumps the tool surface.
Package service is the orchestration between the tools and the REST client: resolving a project once per call, the reads that take more than one request, and turning wire types into the model a result carries, with every piece of other people's text prepared by render on the way (docs/architecture.md §4.1, §4.8).
Package service is the orchestration between the tools and the REST client: resolving a project once per call, the reads that take more than one request, and turning wire types into the model a result carries, with every piece of other people's text prepared by render on the way (docs/architecture.md §4.1, §4.8).
Package tools registers the MCP tools.
Package tools registers the MCP tools.
Package userconfig stores non-secret, per-profile state between runs: which instance a profile signs in to, which OAuth application it uses, who signed in, where the token went and which scopes GitLab granted.
Package userconfig stores non-secret, per-profile state between runs: which instance a profile signs in to, which OAuth application it uses, who signed in, where the token went and which scopes GitLab granted.
Package version reports the binary's version.
Package version reports the binary's version.

Jump to

Keyboard shortcuts

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