Documentation
¶
Overview ¶
Package clients holds the canonical ZAP-typed inter-subsystem clients used by cloud.Deps.
Per HIP-0106 "Inter-subsystem contract": ZAP (the Hanzo native binary protocol). Every subsystem ships its public interface as a .zap schema; zapc generates Go bindings; cloud wires the in-process ZAP-typed Go interfaces when subsystems are co-resident, falls back to ZAP RPC over the wire when split.
This package provides three factories per subsystem:
<Subsystem>InProcess(impl): wraps a co-resident implementation as a ZAP-typed client. Direct Go method calls. No marshalling, no network.
<Subsystem>RPC(addr): builds a ZAP-RPC client targeting a remote endpoint (used in split deployments).
Disabled<Subsystem>(): returns a typed nil that fails closed with a clear error message when called. Lets subsystem mount code defensively detect "the dep isn't wired" without nil dereferences.
cloud.BuildDeps picks the right one for each subsystem based on cfg.Enabled(name) and the configured RPC endpoint.
Note (zapc): the ZAP RPC wire format is exercised by hanzoai/zap (Rust impl) and hanzoai/zap-go (Go bindings). The current Go scaffolding here ships stubs sufficient to enforce the contract; the actual RPC dispatch sits behind a transport layer that subsystems will swap in as each subsystem ships its .zap schema + zapc-generated client. TODO(zapc-gen) markers identify the expansion points.
Index ¶
- func AIInProcess(impl types.AIClient) types.AIClient
- func AIRPCAt(addr string) types.AIClient
- func BaseInProcess(impl types.BaseClient) types.BaseClient
- func BaseRPCAt(addr string) types.BaseClient
- func CommerceInProcess(impl types.CommerceClient) types.CommerceClient
- func CommerceRPCAt(addr string) types.CommerceClient
- func DisabledAI() types.AIClient
- func DisabledBase() types.BaseClient
- func DisabledCommerce() types.CommerceClient
- func DisabledIAM() types.IAMClient
- func DisabledKMS() types.KMSClient
- func DisabledMQ() types.MQClient
- func DisabledO11y() types.O11yClient
- func DisabledPayments() types.PaymentsClient
- func DisabledVFS() types.VFSClient
- func DisabledVault() types.VaultClient
- func IAMInProcess(impl types.IAMClient) types.IAMClient
- func IAMRPCAt(addr string) types.IAMClient
- func IsDisabled(err error) bool
- func KMSInProcess(impl types.KMSClient) types.KMSClient
- func KMSRPCAt(addr string) types.KMSClient
- func MQInProcess(impl types.MQClient) types.MQClient
- func MQRPCAt(addr string) types.MQClient
- func O11yInProcess(impl types.O11yClient) types.O11yClient
- func O11yRPCAt(addr string) types.O11yClient
- func PaymentsRPCAt(addr string) types.PaymentsClient
- func VFSInProcess(impl types.VFSClient) types.VFSClient
- func VFSRPCAt(addr string) types.VFSClient
- func VaultRPCAt(addr string) types.VaultClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AIInProcess ¶
AIInProcess wraps a co-resident AI implementation.
func BaseInProcess ¶
func BaseInProcess(impl types.BaseClient) types.BaseClient
BaseInProcess wraps a co-resident Base implementation.
func BaseRPCAt ¶
func BaseRPCAt(addr string) types.BaseClient
BaseRPCAt returns a ZAP-RPC Base client targeting addr.
func CommerceInProcess ¶
func CommerceInProcess(impl types.CommerceClient) types.CommerceClient
CommerceInProcess wraps a co-resident Commerce implementation.
func CommerceRPCAt ¶
func CommerceRPCAt(addr string) types.CommerceClient
CommerceRPCAt returns a ZAP-RPC Commerce client targeting addr.
func DisabledBase ¶
func DisabledBase() types.BaseClient
DisabledBase returns a fail-closed Base client.
func DisabledCommerce ¶
func DisabledCommerce() types.CommerceClient
DisabledCommerce returns a fail-closed Commerce client.
func DisabledO11y ¶
func DisabledO11y() types.O11yClient
DisabledO11y returns an O11y client that emits to /dev/null. Used when o11y isn't mounted; subsystems get no-op metrics rather than nil deref or error spam.
func DisabledPayments ¶
func DisabledPayments() types.PaymentsClient
DisabledPayments returns a fail-closed Payments client.
func DisabledVault ¶
func DisabledVault() types.VaultClient
DisabledVault returns a fail-closed Vault client.
func IAMInProcess ¶
IAMInProcess wraps a co-resident IAM implementation. Subsystems call deps.IAM.VerifyJWT(...) etc. without knowing whether IAM is in-process or remote.
func IsDisabled ¶
IsDisabled reports whether err originated from a disabled client. Subsystem mount code can use this to log a friendly warning instead of cascading a 500.
func KMSInProcess ¶
KMSInProcess wraps a co-resident KMS implementation.
func MQInProcess ¶
MQInProcess wraps a co-resident MQ implementation.
func O11yInProcess ¶
func O11yInProcess(impl types.O11yClient) types.O11yClient
O11yInProcess wraps a co-resident O11y implementation.
func O11yRPCAt ¶
func O11yRPCAt(addr string) types.O11yClient
O11yRPCAt returns a ZAP-RPC O11y client targeting addr.
func PaymentsRPCAt ¶
func PaymentsRPCAt(addr string) types.PaymentsClient
PaymentsRPCAt returns a ZAP-RPC Payments client targeting addr. Payments is ALWAYS split-deployed (PCI scope isolation per HIP-0106 solo-vault CDE), so there is no in-process variant.
func VFSInProcess ¶
VFSInProcess wraps a co-resident VFS implementation.
func VaultRPCAt ¶
func VaultRPCAt(addr string) types.VaultClient
VaultRPCAt returns a ZAP-RPC Vault client targeting addr. Vault is ALWAYS split-deployed (PCI-CDE, the only system that touches PAN), so there is no in-process variant.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package admin mounts the god-mode admin surface (/v1/admin/*) the Hanzo Admin Console (admin.hanzo.ai, apps/operator) calls, per the api.ts contract.
|
Package admin mounts the god-mode admin surface (/v1/admin/*) the Hanzo Admin Console (admin.hanzo.ai, apps/operator) calls, per the api.ts contract. |
|
Package agents mounts the Hanzo Cloud /v1/agents surface: per-org autonomous agent definitions and their runs.
|
Package agents mounts the Hanzo Cloud /v1/agents surface: per-org autonomous agent definitions and their runs. |
|
Package botsvc mounts /v1/bot/* — a reverse proxy to the in-cluster bot-gateway (the OpenAI-compatible agent gateway that owns channels, skills, and the agent API).
|
Package botsvc mounts /v1/bot/* — a reverse proxy to the in-cluster bot-gateway (the OpenAI-compatible agent gateway that owns channels, skills, and the agent API). |
|
Package eval mounts the Hanzo Cloud /v1/evals/* surface: a NATIVE, org-scoped evaluation system that replaces the Langfuse v3 fork (the crash-looping console proxy this file used to be).
|
Package eval mounts the Hanzo Cloud /v1/evals/* surface: a NATIVE, org-scoped evaluation system that replaces the Langfuse v3 fork (the crash-looping console proxy this file used to be). |
|
Package execsvc exposes the Code Interpreter ("Run Code") surface on the unified cloud-api /v1 plane, per HIP-0106.
|
Package execsvc exposes the Code Interpreter ("Run Code") surface on the unified cloud-api /v1 plane, per HIP-0106. |
|
Package functions mounts the Hanzo Cloud /v1/functions surface: a per-org serverless function registry.
|
Package functions mounts the Hanzo Cloud /v1/functions surface: a per-org serverless function registry. |
|
Package gojahost runs a Hanzo Node service's goja bundle (a self-contained, ESM-free JS file exposing globalThis.handle(req)) inside the unified cloud binary, per HIP-0106.
|
Package gojahost runs a Hanzo Node service's goja bundle (a self-contained, ESM-free JS file exposing globalThis.handle(req)) inside the unified cloud binary, per HIP-0106. |
|
Package kms is the Fiber-facing subsystem that exposes the embedded luxfi/kms secrets-manager as /v1/kms/* on the unified Hanzo Cloud binary (HIP-0106).
|
Package kms is the Fiber-facing subsystem that exposes the embedded luxfi/kms secrets-manager as /v1/kms/* on the unified Hanzo Cloud binary (HIP-0106). |
|
Package kms embeds luxfi/kms in-process inside the unified Hanzo Cloud binary per HIP-0106 ("all Go embeds in cloud"), replacing the legacy Infisical fork.
|
Package kms embeds luxfi/kms in-process inside the unified Hanzo Cloud binary per HIP-0106 ("all Go embeds in cloud"), replacing the legacy Infisical fork. |
|
Package mlsvc mounts the Hanzo Cloud /v1/ml/* and /v1/train/* surfaces: a thin, tenant-scoped bridge that turns three Kubeflow-family CustomResources into a small REST API.
|
Package mlsvc mounts the Hanzo Cloud /v1/ml/* and /v1/train/* surfaces: a thin, tenant-scoped bridge that turns three Kubeflow-family CustomResources into a small REST API. |
|
Package o11y initializes the o11y subsystem's runtime handler in the unified cloud binary.
|
Package o11y initializes the o11y subsystem's runtime handler in the unified cloud binary. |
|
Package paassvc mounts the native, in-process Hanzo PaaS control plane at /v1/paas/*: the "one and only one way to deploy" made native to the cloud binary.
|
Package paassvc mounts the native, in-process Hanzo PaaS control plane at /v1/paas/*: the "one and only one way to deploy" made native to the cloud binary. |
|
Package plansvc mounts the @hanzo/plans catalog into the unified cloud binary under /v1/plans/*, per HIP-0106.
|
Package plansvc mounts the @hanzo/plans catalog into the unified cloud binary under /v1/plans/*, per HIP-0106. |
|
Package pluginsvc is the runtime plugin loader for the unified cloud binary.
|
Package pluginsvc is the runtime plugin loader for the unified cloud binary. |
|
Admin surface for the catalog enablement overlay (global-admin only).
|
Admin surface for the catalog enablement overlay (global-admin only). |
|
Package productsvc exposes the read-only Search and Vector product surfaces the Hanzo console panels call at api.cloud.hanzo.ai, per HIP-0106.
|
Package productsvc exposes the read-only Search and Vector product surfaces the Hanzo console panels call at api.cloud.hanzo.ai, per HIP-0106. |
|
Package projectsvc is the Hanzo Cloud projects control plane: the ONE org-scoped store of buildable/deployable sites, shared by every surface that shows a user's projects.
|
Package projectsvc is the Hanzo Cloud projects control plane: the ONE org-scoped store of buildable/deployable sites, shared by every surface that shows a user's projects. |
|
Package prompts mounts the Hanzo Cloud /v1/prompts surface: a per-org, versioned prompt library.
|
Package prompts mounts the Hanzo Cloud /v1/prompts surface: a per-org, versioned prompt library. |
|
Package provisioningsvc is the Hanzo Cloud provisioning control plane.
|
Package provisioningsvc is the Hanzo Cloud provisioning control plane. |
|
Package s3 is the Fiber-facing subsystem that exposes an org-scoped S3 object-storage file manager as /v1/s3/* on the unified Hanzo Cloud binary (HIP-0106).
|
Package s3 is the Fiber-facing subsystem that exposes an org-scoped S3 object-storage file manager as /v1/s3/* on the unified Hanzo Cloud binary (HIP-0106). |
|
Package s3admin is the ONE shared S3 access path for the unified cloud binary.
|
Package s3admin is the ONE shared S3 access path for the unified cloud binary. |
|
Package templates mounts /v1/templates — the read-only Hanzo starter-kit gallery: deployable app/site scaffolds (source of truth: hanzoai/gallery), vendored so the unified `cloud` binary ships the catalog with no external dependency.
|
Package templates mounts /v1/templates — the read-only Hanzo starter-kit gallery: deployable app/site scaffolds (source of truth: hanzoai/gallery), vendored so the unified `cloud` binary ships the catalog with no external dependency. |
|
Package websearch exposes Hanzo-native Web Search + Scrape on the unified cloud-api /v1 plane, so hanzo.chat's web_search agent tool runs entirely on Hanzo infrastructure with NO external SaaS provider, per HIP-0106.
|
Package websearch exposes Hanzo-native Web Search + Scrape on the unified cloud-api /v1 plane, so hanzo.chat's web_search agent tool runs entirely on Hanzo infrastructure with NO external SaaS provider, per HIP-0106. |