dynamiccatalog

package
v3.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package dynamiccatalog builds the catalog the dynamic surface executes over, for every caller that needs one built the way the server builds it.

It is a package of its own because the two halves it joins cannot import each other: internal/tools owns the catalog and its filter, and its tests import internal/tools/dynamic, whose tests import internal/tools. A build function in either would be an import cycle in that package's tests. Here it is reachable from cmd/server and from the end-to-end suite alike, which is the point: the suite used to assemble its own catalog, in the other order and with no withheld bookkeeping, and its read-only session answered a withheld write with "unknown action" while the shipped binary answered "exists but is not available".

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Build

Build builds the executable catalog for low-token dynamic mode. Filters run before standalone tools are added so configured exclusions, token scopes, and read-only mode cannot leave hidden catalog actions behind, and safe-mode previews are applied last, over the complete catalog, so the standalone actions are previewed like every other write. The bookkeeping returned beside it is what RegisterCatalogFindExecuteTools needs through WithWithheldActions, so a withheld action is reported with its cause rather than as unknown.

The ordering of safe mode is the one thing here that is not a straight move out of cmd/server. There the previews were applied inside the filter, before the standalone actions joined, and the dynamic execute tool is exempt from the per-tool safe-mode wrapping the individual surface gets; so in safe mode the standalone writes, the interactive creation flows among them, kept their real handlers. Read-only mode never had that gap, because the standalone builder takes it as an option.

The catalog is assembled once per distinct configuration and shared (see gitlabtools.ShareCatalog); what is returned is that catalog bound to client. The standalone actions are built with the unbound client the shared copy is built with, and bound with everything else.

Types

This section is empty.

Jump to

Keyboard shortcuts

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