OptionalaliasName the model uses for this mount. Required when mounting on an agent, since the model needs a handle; optional for a direct B.git.repo.open. Must start with a letter and hold only letters, digits, _ and -, up to 32 characters.
OptionalcredentialCredential for an external repository, naming a Relate secret field: { field: entry.fields.githubPat }. The plaintext is read inside Java when a request header is built and never becomes a script value — do not read the secret yourself and pass token.
OptionalforgeForge dialect: "github", "gitlab", "forgejo", "gitea" or "bitbucket". Inferred from the host when omitted. It decides how a credential or token is presented — the same personal access token is a different header to each forge — so naming it is what makes a credential work rather than merely travel. Named forge rather than provider because provider already names the model vendor in the same options object.
OptionalonWhat becomes of a file that is not UTF-8 text, as far as the model's own tools are concerned: "include" (listed, not searched, not readable — the default), "skip" (absent from every listing and read the model can make), or "fail" (mount construction refuses, naming the first offender). It governs what the model may reach for; content the script itself attaches with a message block is the script's own choice and is read whatever this says.
OptionalpathExpose only this subtree, e.g. "published/". Every path argument is checked against it, and history operations are narrowed by it even when no path is given.
OptionalpreloadGlobs whose matching files enter the conversation as text before the model's first turn, e.g. ["*.md", "docs/**"]. An unanchored glob matches at every depth. Use it for the handful of files the model would otherwise spend its first several turns reading one git_read at a time; the tools stay available for everything else. The whole preload is bounded by bluestep.ai.preload.max-bytes and is refused, naming the matches, rather than silently trimmed — and a glob matching more files than one listing returns is refused too. Applies to a mount spec only: a repo already opened with B.git.repo is handed over as it is.
OptionalpurposeWhat an in-cluster repository is for: "script", "general", "component", or "marketplace". The organization is derived from the calling user's tenant and is never supplied. Omit for an external repository.
OptionalrefBranch, tag, or commit sha to mount. Resolved to a commit sha once, when the mount is built; every later read uses that sha, so results stay reproducible and a concurrent publish cannot shift the ground mid-run. Defaults to "master".
OptionalrepoRepository name within the derived organization, e.g. "100001___200002" for a script repo. Required with purpose.
OptionalschemaMount into another tenant's organization. Settable only by a global administrator holding the GIT_FULL endorsement; it widens which organization may be named and never which repositories within it, so each repo's own permission still applies.
OptionaltokenA literal token, for a fleet-level credential that is not a Relate secret field. Prefer credential: a token written as a string literal in script source is published into the tenant's script repository, which is the worst place for it.
OptionalurlURL of an external repository, e.g. "https://github.com/owner/repo". Omit for an in-cluster repository.
OptionalusernameUsername, where the forge expects a username and password pair rather than a bare token.
How a script names a repository to mount, for
B.git.repo.open(spec)and forB.ai.agent({repos: [...]}). An internal repo names apurposeand arepo; an external one names aurland acredential.