# @pleach/transport-vertex (/docs/transport-vertex)



<Callout type="warn">
  **Not yet published.** `@pleach/transport-vertex` is marked `private`
  in this monorepo and is not on npm — `npm install @pleach/transport-vertex`
  will not resolve today. This page documents the planned surface; the
  package publishes in a later cut.
</Callout>

`@pleach/transport-vertex` is the Google Vertex AI route for a
Pleach session whose buyer reaches Anthropic, Google, or other
Vertex-hosted families through their GCP project. It implements
the `AgentProvider` interface from `@pleach/core` against the
Vertex AI API, so cascade behavior and audit shape stay
consistent with every other provider — only the transport and
the credential binding change.

## What it provides [#what-it-provides]

* An `AgentProvider` implementation against the Vertex AI API
  per the `cloud-routed-agent.mdx` transport-vs-family split.
* Workload-identity credential resolution — pod-bound,
  short-lived tokens from the GCP identity layer, per the
  IAM-federated credentials section of `cloud-routed-agent.mdx`.
* Region pinning at the endpoint URL, enforced by Vertex rather
  than the runtime (`cloud-routed-agent.mdx`: region as a hard
  constraint).
* Vertex-specific cost-event emission so the
  `harness_auditable_calls` row carries the cloud, region, and
  model dimensions GCP billing rolls up by — same reconciliation
  shape as the Bedrock route, against a different invoice.

## Where it fits [#where-it-fits]

`@pleach/transport-vertex` plugs into the same `provider` slot
on `SessionRuntime` that the direct-API providers fill — it
satisfies the `AgentProvider` contract documented in
[Providers](/docs/providers). For the architectural shape of a
Vertex-routed deployment — transport vs family, IAM federation,
region as a hard constraint, cost reconciliation — see
[Cloud-routed agent](/docs/cloud-routed-agent).

## Install [#install]

```bash
npm install @pleach/transport-vertex
```

## API surface [#api-surface]

The provider factory signature, the workload-identity option
shape, the region and project fields, and the emitted cost-event
payload all live on the package's npm page:
[`@pleach/transport-vertex`](https://www.npmjs.com/package/@pleach/transport-vertex).
This page is placement orientation — what the SKU is for and
where it slots into the substrate. The npm README is the source
of truth for the constructor and option shapes; if a claim here
disagrees with the published README, the README wins.

## Where to go next [#where-to-go-next]

<Cards>
  <Card title="Cloud-routed agent" href="/docs/cloud-routed-agent" description="Transport-vs-family, IAM federation, region pinning, and cost reconciliation to the cloud invoice." />

  <Card title="Providers" href="/docs/providers" description="The AgentProvider contract this transport implements and the cascade rules it threads through." />

  <Card title="Region-pinned agent" href="/docs/region-pinned-agent" description="The sibling shape when family + region pinning is procurement-driven rather than cloud-driven." />
</Cards>
