Skip to main content

Crate gestalt

Crate gestalt 

Source
Expand description

§Gestalt Rust SDK

Use the Rust SDK to build compiled Gestalt providers with typed routers, serde input and output types, and schema-derived catalog metadata.

The package is published to crates.io as gestalt-sdk, while Rust code imports the crate as gestalt.

cargo add gestalt-sdk --rename gestalt
cargo add serde --features derive
cargo add schemars --features derive

§API sections

The docs.rs reference is organized around the provider-authoring workflow. Most provider code imports from the crate root after renaming gestalt-sdk to gestalt.

SectionStart withUse it for
Provider authoringProvider, Operation, Router, Request, HTTPSubjectRequest, Response, okExecutable app providers, typed request handlers, hosted HTTP subject hooks, and operation results.
Catalog metadataCatalog, CatalogOperation, Router::registerSchema-derived operation catalogs from serde and schemars types.
Provider runtimesIdentityProvider, CacheProvider, S3Provider, SecretsProvider, WorkflowProvider, AgentProvider, RuntimeProviderHost-service backends implemented as Rust providers.
Workflow and agent modelsnew_bound_workflow_target, new_workflow_definition, new_workflow_run, new_workflow_signal, new_agent_message, new_agent_tool_refNative workflow values, agent messages, tool refs, and copy helpers.
Host-service clientsCache, S3, Workflow, Agent, AppCalling sibling services exposed to a provider process by gestaltd.
Runtime and telemetryruntime, telemetry, RuntimeMetadataProvider process entrypoints and provider-authored GenAI spans and metrics.

§Quick start

Register typed operations on a router. The router dispatches requests and emits catalog metadata for gestaltd.

use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use std::sync::Arc;

#[derive(Default)]
struct SearchProvider;

#[gestalt::async_trait]
impl gestalt::Provider for SearchProvider {}

#[derive(Deserialize, JsonSchema)]
struct SearchInput {
    #[schemars(description = "Search query")]
    query: String,
}

#[derive(Serialize, JsonSchema)]
struct SearchOutput {
    results: Vec<String>,
}

fn router() -> gestalt::Result<gestalt::Router<SearchProvider>> {
    gestalt::Router::new().register(
        gestalt::Operation::<SearchInput, SearchOutput>::new("search")
            .method("GET")
            .title("Search"),
        |_: Arc<SearchProvider>, input, _request| async move {
            Ok::<_, gestalt::Error>(gestalt::ok(SearchOutput {
                results: vec![input.query],
            }))
        },
    )
}

gestalt::export_provider!(constructor = SearchProvider::default, router = router);

Fields are required unless they are modeled as Option<T> or have a serde default. Use schemars attributes for catalog descriptions.

§Provider surfaces

Use Provider, Operation, Router, and export_provider! for integration providers. Use the other provider traits and export macros when you are serving a host-service backend.

TraitExport macroUse it when you want to serve
IdentityProviderexport_identity_provider!Login flows.
CacheProviderexport_cache_provider!App-bound cache storage.
S3Providerexport_s3_provider!S3-compatible object storage.
SecretsProviderexport_secrets_provider!Secret resolution.
WorkflowProviderexport_workflow_provider!Workflow definitions, activations, runs, events, and run output.
AgentProviderexport_agent_provider!Agent sessions, turns, events, interactions, and capabilities.
RuntimeProviderexport_runtime_provider!Hosted app execution backends.

The crate also exposes clients for sibling host services, including Cache, S3, Workflow, Agent, and App.

§Calling sibling host services

Each host-service client connects from the environment with connect()/connect_named(name) and exposes one method per RPC with flattened parameters, plus a _raw sibling that takes the full request message. Optional parameters ride in a per-method options struct (for example AppInvokeOptions) whose default value leaves every option unset. Contextful clients (App, Agent, Workflow) accept a default request context through with_context(...); outgoing requests that leave the context unset get the default injected. Every client accepts a per-call deadline through with_timeout(...); unary calls that run past it fail with DEADLINE_EXCEEDED.

#[derive(serde::Deserialize)]
struct Issue {
    id: u64,
}

let mut app = gestalt::App::connect().await?;
let data = app
    .invoke(
        "github".to_string(),
        "get_issue".to_string(),
        Some(params),
        gestalt::app::AppInvokeOptions::default(),
    )
    .await?;
let issue: Issue = serde_json::from_value(data)?;

AgentProvider implementations receive and return native structs such as CreateAgentProviderTurnRequest, AgentSession, AgentTurn, and AgentTurnEvent. Structured payload fields use serde_json::Value and timestamp fields use SystemTime; the SDK runtime owns transport serialization at the transport boundary. Workflow builders such as new_bound_workflow_target, new_workflow_definition, new_workflow_run, and new_workflow_signal accept SDK-owned input structs and preserve request shape without asking provider code to assemble transport objects.

§Public surface

The crate exposes higher-level authoring APIs:

  • Provider, Request, Response, and ok(...) model integration providers.
  • HTTPSubjectRequest and Provider::resolve_http_subject let executable apps map verified hosted HTTP requests to concrete subjects.
  • Router and Operation register typed operations and derive catalog metadata from serde and schemars.
  • IdentityProvider, CacheProvider, S3Provider, SecretsProvider, WorkflowProvider, AgentProvider, and RuntimeProvider model executable provider runtimes.
  • Cache, S3, Workflow, Agent, and App call sibling host services.
  • RuntimeMetadata lets provider runtimes describe their display metadata and version.
  • Workflow builder inputs such as BoundWorkflowTarget, WorkflowStep, WorkflowActivation, WorkflowDefinition, WorkflowSignal, and WorkflowRun model provider-owned workflow state.

§Package layout

This package intentionally lives outside the existing gestalt/ Cargo workspace so the SDK can evolve independently of the CLI crate graph.

Re-exports§

pub use agent::Agent;
pub use app::App;
pub use cache::Cache;
pub use invoke_support::InvokeError;
pub use invoke_support::InvokeResultError;
pub use invoke_support::decode_app_result;
pub use invoke_support::decode_graphql_result;
pub use invoke_support::error_for_status;
pub use invoke_support::is_success;
pub use s3::S3;
pub use s3_provider::S3Provider;
pub use s3_provider::S3ReadObjectFrame;
pub use s3_provider::S3ReadObjectStream;
pub use s3_provider::S3WriteObjectFrame;
pub use s3_provider::S3WriteObjectStream;
pub use workflow::Workflow;
pub use workflow_provider::ApplyWorkflowProviderDefinitionRequest;
pub use workflow_provider::BoundWorkflowTarget;
pub use workflow_provider::CancelWorkflowProviderRunRequest;
pub use workflow_provider::DeleteWorkflowProviderDefinitionRequest;
pub use workflow_provider::DeliverWorkflowProviderEventRequest;
pub use workflow_provider::GetWorkflowProviderDefinitionRequest;
pub use workflow_provider::GetWorkflowProviderRunEventsRequest;
pub use workflow_provider::GetWorkflowProviderRunEventsResponse;
pub use workflow_provider::GetWorkflowProviderRunOutputRequest;
pub use workflow_provider::GetWorkflowProviderRunOutputResponse;
pub use workflow_provider::GetWorkflowProviderRunRequest;
pub use workflow_provider::ListWorkflowProviderDefinitionsRequest;
pub use workflow_provider::ListWorkflowProviderDefinitionsResponse;
pub use workflow_provider::ListWorkflowProviderRunsRequest;
pub use workflow_provider::ListWorkflowProviderRunsResponse;
pub use workflow_provider::SetWorkflowProviderActivationPausedRequest;
pub use workflow_provider::SetWorkflowProviderDefinitionPausedRequest;
pub use workflow_provider::SignalOrStartWorkflowProviderRunRequest;
pub use workflow_provider::SignalWorkflowProviderRunRequest;
pub use workflow_provider::SignalWorkflowRunResponse;
pub use workflow_provider::StartWorkflowProviderRunRequest;
pub use workflow_provider::WorkflowActivation;
pub use workflow_provider::WorkflowAgentMessage;
pub use workflow_provider::WorkflowArray;
pub use workflow_provider::WorkflowDefinition;
pub use workflow_provider::WorkflowDefinitionSpec;
pub use workflow_provider::WorkflowEvalContext;
pub use workflow_provider::WorkflowEvalResult;
pub use workflow_provider::WorkflowEvent;
pub use workflow_provider::WorkflowEventActivation;
pub use workflow_provider::WorkflowEventMatch;
pub use workflow_provider::WorkflowEventTriggerInvocation;
pub use workflow_provider::WorkflowExecutionRequest;
pub use workflow_provider::WorkflowJson;
pub use workflow_provider::WorkflowManualTrigger;
pub use workflow_provider::WorkflowObject;
pub use workflow_provider::WorkflowPathSource;
pub use workflow_provider::WorkflowProvider;
pub use workflow_provider::WorkflowRun;
pub use workflow_provider::WorkflowRunEvent;
pub use workflow_provider::WorkflowRunStatus;
pub use workflow_provider::WorkflowRunTrigger;
pub use workflow_provider::WorkflowScheduleActivation;
pub use workflow_provider::WorkflowScheduleTrigger;
pub use workflow_provider::WorkflowSignal;
pub use workflow_provider::WorkflowStep;
pub use workflow_provider::WorkflowStepAction;
pub use workflow_provider::WorkflowStepAgentTurn;
pub use workflow_provider::WorkflowStepAppCall;
pub use workflow_provider::WorkflowStepAttempt;
pub use workflow_provider::WorkflowStepExecution;
pub use workflow_provider::WorkflowStepInputSource;
pub use workflow_provider::WorkflowStepOutputSource;
pub use workflow_provider::WorkflowStepStatus;
pub use workflow_provider::WorkflowStepWhen;
pub use workflow_provider::WorkflowText;
pub use workflow_provider::WorkflowValue;
pub use workflow_provider::evaluate_workflow_value;
pub use workflow_provider::latest_workflow_signal;
pub use workflow_provider::new_bound_workflow_target;
pub use workflow_provider::new_bound_workflow_target_from_target;
pub use workflow_provider::new_workflow_agent_message;
pub use workflow_provider::new_workflow_definition;
pub use workflow_provider::new_workflow_definition_spec;
pub use workflow_provider::new_workflow_event;
pub use workflow_provider::new_workflow_event_from_event;
pub use workflow_provider::new_workflow_event_match;
pub use workflow_provider::new_workflow_run;
pub use workflow_provider::new_workflow_run_from_run;
pub use workflow_provider::new_workflow_signal;
pub use workflow_provider::new_workflow_signal_from_signal;
pub use workflow_provider::new_workflow_step;
pub use workflow_provider::new_workflow_step_agent_turn;
pub use workflow_provider::new_workflow_step_app_call;
pub use workflow_provider::new_workflow_step_when;
pub use workflow_provider::new_workflow_text;
pub use workflow_provider::new_workflow_value;
pub use workflow_provider::path_value;
pub use workflow_provider::render_workflow_template;
pub use workflow_provider::workflow_event_input_from_event;
pub use workflow_provider::workflow_event_match_input_from_match;
pub use workflow_provider::workflow_run_trigger_input_from_trigger;
pub use workflow_provider::workflow_signal_input_from_signal;
pub use workflow_provider::workflow_step_agent_turn_input_from_turn;
pub use workflow_provider::workflow_step_app_call_input_from_call;
pub use workflow_provider::workflow_step_input_from_step;
pub use workflow_provider::workflow_value_array;
pub use workflow_provider::workflow_value_input;
pub use workflow_provider::workflow_value_input_from_value;
pub use workflow_provider::workflow_value_literal;
pub use workflow_provider::workflow_value_object;
pub use workflow_provider::workflow_value_signal;
pub use workflow_provider::workflow_value_step_input;
pub use workflow_provider::workflow_value_step_output;
pub use workflow_provider::workflow_value_template;

Modules§

agent
Generated Agent client and native types. Generated native types and clients for agent.proto.
app
Generated App and AppProvider client and native types. Generated native types and clients for app.proto.
authorization
Generated Authorization client and native types. Generated native types and clients for authorization.proto.
cache
Generated Cache client and native types. Generated native types and clients for cache.proto.
external_credential
Generated ExternalCredentials client and native types. Generated native types and clients for external_credential.proto.
identity
Generated Identity client and native types. Generated native types and clients for identity.proto.
indexeddb
Generated IndexedDB client and native types. Generated native types and clients for indexeddb.proto.
invoke_support
Decoded app invocation results and the canonical invoke error.
public
Public gestaltd transport client for external applications. Public gestaltd transport client for external applications.
remote
Generated RemoteManagement client and native types. Generated native types and clients for remote.proto.
rpc_support
Shared generated runtime for sdkgen clients: the canonical error model.
runtime
Generated ProviderLifecycle client and native types. Generated native types and clients for runtime.proto.
runtime_impl
Runtime entrypoints for serving Gestalt provider surfaces over Unix sockets.
runtime_provider
Generated Runtime client and native types. Generated native types and clients for runtime_provider.proto.
s3
Generated S3 client and native types. Generated native types and clients for s3.proto.
s3_provider
S3-compatible provider contract and native provider types.
secrets
Generated Secrets client and native types. Generated native types and clients for secrets.proto.
telemetry
OpenTelemetry helpers for provider-authored GenAI instrumentation. OpenTelemetry helpers for provider-authored GenAI instrumentation.
test
Generated Test client and native types. Generated native types and clients for test.proto.
workflow
Generated workflow clients and native types plus typed workflow authoring helpers.
workflow_provider
Workflow provider contract and native workflow types.

Macros§

export_agent_provider
Exports the agent-provider entrypoint expected by gestaltd.
export_cache_provider
Exports the cache-provider entrypoint expected by gestaltd.
export_identity_provider
Exports the identity-provider entrypoint expected by gestaltd.
export_provider
Exports the integration-provider entrypoints expected by gestaltd.
export_runtime_provider
Exports the runtime-provider entrypoint expected by gestaltd.
export_s3_provider
Exports the S3-provider entrypoint expected by gestaltd.
export_secrets_provider
Exports the secrets-provider entrypoint expected by gestaltd.
export_workflow_provider
Exports the workflow-provider entrypoint expected by gestaltd.

Structs§

Access
Summarizes the host-side access decision attached to an operation.
AgentCatalogToolConfig
Native message type for gestalt.provider.v1.AgentCatalogToolConfig.
AgentInteraction
Native message type for gestalt.provider.v1.AgentInteraction.
AgentMessage
Native message type for gestalt.provider.v1.AgentMessage.
AgentMessagePart
Native message type for gestalt.provider.v1.AgentMessagePart.
AgentMessagePartImageRef
Native message type for gestalt.provider.v1.AgentMessagePartImageRef.
AgentMessagePartToolCall
Native message type for gestalt.provider.v1.AgentMessagePartToolCall.
AgentMessagePartToolResult
Native message type for gestalt.provider.v1.AgentMessagePartToolResult.
AgentPreparedWorkspace
Describes the workspace a provider prepared for a session.
AgentProviderCapabilities
Native message type for gestalt.provider.v1.AgentProviderCapabilities.
AgentSession
Native message type for gestalt.provider.v1.AgentSession.
AgentSessionStartConfig
Native message type for gestalt.provider.v1.AgentSessionStartConfig.
AgentSessionStartHook
Native message type for gestalt.provider.v1.AgentSessionStartHook.
AgentSessionStartHookOutput
Native message type for gestalt.provider.v1.AgentSessionStartHookOutput.
AgentStructuredOutput
Native message type for gestalt.provider.v1.AgentStructuredOutput.
AgentTextOutput
Native message type for gestalt.provider.v1.AgentTextOutput.
AgentToolAnnotations
MCP-style behavior hints of a tool.
AgentToolConfig
Native message type for gestalt.provider.v1.AgentToolConfig.
AgentToolRef
Native message type for gestalt.provider.v1.AgentToolRef.
AgentTurn
Native message type for gestalt.provider.v1.AgentTurn.
AgentTurnDisplay
Native message type for gestalt.provider.v1.AgentTurnDisplay.
AgentTurnEvent
Native message type for gestalt.provider.v1.AgentTurnEvent.
AgentTurnStructuredOutput
Native message type for gestalt.provider.v1.AgentTurnStructuredOutput.
AgentTurnTextOutput
Native message type for gestalt.provider.v1.AgentTurnTextOutput.
AgentWorkspace
Native agent workspace request data.
AgentWorkspaceGitCheckout
Native agent workspace git checkout data.
CacheEntry
One cache entry written through CacheProvider::set_many.
CacheSetOptions
Options applied to cache writes.
CancelAgentProviderTurnRequest
Native message type for gestalt.provider.v1.CancelAgentProviderTurnRequest.
Catalog
Catalog schema used by the provider runtime.
CatalogOperation
One operation exposed by a catalog.
CatalogParameter
One input parameter surfaced in a generated catalog operation.
CreateAgentProviderSessionRequest
Request passed to AgentProvider::create_session.
CreateAgentProviderTurnRequest
Native message type for gestalt.provider.v1.CreateAgentProviderTurnRequest.
Credential
Describes the resolved credential used to authorize an operation.
Cursor
Streaming cursor over object store or secondary index rows.
Error
Error returned by typed provider handlers and runtime helpers.
GetAgentProviderCapabilitiesRequest
Native message type for gestalt.provider.v1.GetAgentProviderCapabilitiesRequest.
GetAgentProviderInteractionRequest
Native message type for gestalt.provider.v1.GetAgentProviderInteractionRequest.
GetAgentProviderSessionRequest
Native message type for gestalt.provider.v1.GetAgentProviderSessionRequest.
GetAgentProviderTurnRequest
Native message type for gestalt.provider.v1.GetAgentProviderTurnRequest.
GetRuntimeSessionRequest
Native message type for gestalt.provider.v1.GetRuntimeSessionRequest.
HTTPSubjectRequest
Carries one verified hosted HTTP request into a provider subject resolver.
Host
Describes public host metadata attached to a request.
HostedApp
Native message type for gestalt.provider.v1.HostedApp.
IdentityCallContext
Caller-scoped identity metadata for grant-management RPCs.
Index
Lookup and cursor access through one secondary index.
IndexSchema
Describes one secondary index on an object store.
IndexedDB
Client for a running IndexedDB provider.
IndexedDBCursorSnapshot
Provider-side IndexedDB cursor snapshot.
IndexedDBCursorSnapshotEntry
One provider-side cursor row.
IndexedDBOpenCursorRequest
Native open-cursor request used by provider-side cursor helpers.
KeyRange
Constrains a query or cursor by lower and upper bounds.
ListAgentProviderInteractionsRequest
Native message type for gestalt.provider.v1.ListAgentProviderInteractionsRequest.
ListAgentProviderInteractionsResponse
Native message type for gestalt.provider.v1.ListAgentProviderInteractionsResponse.
ListAgentProviderSessionsRequest
Native message type for gestalt.provider.v1.ListAgentProviderSessionsRequest.
ListAgentProviderSessionsResponse
Native message type for gestalt.provider.v1.ListAgentProviderSessionsResponse.
ListAgentProviderTurnEventsRequest
Native message type for gestalt.provider.v1.ListAgentProviderTurnEventsRequest.
ListAgentProviderTurnEventsResponse
Native message type for gestalt.provider.v1.ListAgentProviderTurnEventsResponse.
ListAgentProviderTurnsRequest
Native message type for gestalt.provider.v1.ListAgentProviderTurnsRequest.
ListAgentProviderTurnsResponse
Native message type for gestalt.provider.v1.ListAgentProviderTurnsResponse.
ListRuntimeSessionsRequest
Native message type for gestalt.provider.v1.ListRuntimeSessionsRequest.
ListRuntimeSessionsResponse
Native message type for gestalt.provider.v1.ListRuntimeSessionsResponse.
ListedAgentTool
Native message type for gestalt.provider.v1.ListedAgentTool.
ObjectStore
CRUD, range-query, and cursor access for one object store.
ObjectStoreSchema
Describes the indexes attached to an object store.
Operation
Describes one statically declared executable operation.
OperationAnnotations
Optional host hints attached to a catalog operation.
OperationResponseSpec
OperationResponseSpec declares how an operation responds. Either unary or stream is set; both None means unary with no schema. When set on a CatalogOperation, it takes precedence over the legacy output_schema.
PrepareRuntimeWorkspaceRequest
Native message type for gestalt.provider.v1.PrepareRuntimeWorkspaceRequest.
PrepareRuntimeWorkspaceResponse
Native message type for gestalt.provider.v1.PrepareRuntimeWorkspaceResponse.
RemoveRuntimeWorkspaceRequest
Native message type for gestalt.provider.v1.RemoveRuntimeWorkspaceRequest.
Request
Carries execution-scoped metadata into typed operation handlers.
ResolveAgentProviderInteractionRequest
Native message type for gestalt.provider.v1.ResolveAgentProviderInteractionRequest.
Response
Wraps a typed handler response plus an optional explicit HTTP status code.
Router
Dispatches typed operations and exposes the corresponding static catalog.
RuntimeImagePullAuth
Native message type for gestalt.provider.v1.RuntimeImagePullAuth.
RuntimeMetadata
Describes provider metadata that should be surfaced by the runtime.
RuntimeSession
Native message type for gestalt.provider.v1.RuntimeSession.
RuntimeSessionLifecycle
Native message type for gestalt.provider.v1.RuntimeSessionLifecycle.
RuntimeSupport
Native message type for gestalt.provider.v1.RuntimeSupport.
StartHostedAppRequest
Native message type for gestalt.provider.v1.StartHostedAppRequest.
StartRuntimeSessionRequest
Native message type for gestalt.provider.v1.StartRuntimeSessionRequest.
StopRuntimeSessionRequest
Native message type for gestalt.provider.v1.StopRuntimeSessionRequest.
StreamResponseSpec
StreamResponseSpec describes a streaming operation response. media_type names the representation (for example application/x-ndjson); item_schema is an optional JSON-encoded schema describing one yielded item.
Subject
Identifies the caller that initiated an operation.
Transaction
Explicit transaction over one or more object stores.
TransactionIndex
Secondary-index operations scoped to an explicit transaction.
TransactionObjectStore
Object-store operations scoped to an explicit transaction.
TransactionOptions
Options for an explicit transaction.
UnaryResponseSpec
UnaryResponseSpec describes a unary (fully materialized) operation response. schema is a JSON-encoded schema object (JSON Schema shape).
UpdateAgentProviderSessionRequest
Native message type for gestalt.provider.v1.UpdateAgentProviderSessionRequest.

Enums§

AgentExecutionStatus
Native enum for gestalt.provider.v1.AgentExecutionStatus.
AgentInteractionState
Native enum for gestalt.provider.v1.AgentInteractionState.
AgentInteractionType
Native enum for gestalt.provider.v1.AgentInteractionType.
AgentMessagePartType
Native enum for gestalt.provider.v1.AgentMessagePartType.
AgentOutput
Native enum for gestalt.provider.v1.AgentOutput.
AgentSessionState
Native enum for gestalt.provider.v1.AgentSessionState.
AgentToolConfigSource
Selects where a session’s tools come from.
AgentToolSourceMode
Native enum for gestalt.provider.v1.AgentToolSourceMode.
AgentTurnOutput
The structured-or-text output of a finished turn.
CursorDirection
Controls cursor traversal order.
IndexedDBError
Errors returned by the IndexedDB transport client.
Key
One IndexedDB key: number, date, string, binary, or array of keys.
Query
Describes one IndexedDB query: all records, one exact key, or a key range.
RuntimeEgressMode
Native enum for gestalt.provider.v1.RuntimeEgressMode.
TransactionDurabilityHint
Provider durability hint for explicit transactions.
TransactionMode
Controls whether an explicit transaction may mutate scoped stores.

Constants§

CURRENT_PROTOCOL_VERSION
Current Gestalt provider protocol version spoken by this SDK.
ENV_HOST_SERVICE_SOCKET
Unified host-service socket env var for app-side clients.
ENV_HOST_SERVICE_TOKEN
Unified host-service relay token env var for app-side clients.
ENV_PROVIDER_SOCKET
Unix socket path exposed by gestaltd for the main integration-provider surface.
GRANT_TYPE_AUTHORIZATION_CODE
OAuth 2.0 authorization code grant type.
GRANT_TYPE_TOKEN_EXCHANGE
OAuth 2.0 token exchange grant type (RFC 8693).
SUBJECT_TOKEN_TYPE_ACCESS_TOKEN
OAuth 2.0 access token subject token type (RFC 8693).

Traits§

AgentProvider
Provider trait for serving the Gestalt agent-provider protocol.
CacheProvider
Lifecycle and RPC contract for cache providers.
CursorApi
Fakeable IndexedDB cursor contract.
IdentityProvider
Lifecycle and identity contract for Gestalt identity providers.
IndexApi
Fakeable IndexedDB secondary-index contract.
IndexedDBApi
Fakeable client contract for IndexedDB-compatible storage.
ObjectStoreApi
Fakeable IndexedDB object-store contract.
Provider
Shared lifecycle contract for Gestalt integration providers.
RuntimeProvider
Provider trait for serving hosted runtime sessions.
SecretsProvider
Lifecycle and lookup contract for secrets providers.
TransactionApi
Fakeable explicit IndexedDB transaction contract.
TransactionIndexApi
Fakeable transaction-scoped secondary-index contract.
TransactionObjectStoreApi
Fakeable transaction-scoped object-store contract.

Functions§

compare_indexeddb_values
Compares native IndexedDB key values.
compare_keys
Compares native IndexedDB key values using W3C ordering.
current_native_request_context
Returns the current ambient request context in the generated clients’ native form, for with_context on contextful clients such as App, Agent, and Workflow.
current_request_context
Returns the host-supplied request context for the currently executing provider handler.
indexeddb_range_bounds
Normalizes object-store or index cursor range bounds.
key_in_range
Reports whether key satisfies range. A range with no bounds matches every key.
match_query
Reports whether key satisfies query.
new_agent_image_ref
Creates a native agent image-reference payload.
new_agent_message
Creates a native agent message.
new_agent_message_part
Creates a native agent message part.
new_agent_tool_call
Creates a native agent tool-call payload.
new_agent_tool_ref
Creates a native agent tool reference.
new_agent_tool_result
Creates a native agent tool-result payload.
new_indexeddb_cursor_snapshot
Creates an empty provider-side cursor snapshot from a native request.
ok
Returns a successful JSON response with status code 200.
parse_subject_id
Split a canonical subject ID such as user:ada into kind and id.
with_request_context
Runs an async operation with the supplied request context available to Gestalt clients.

Type Aliases§

AgentJson
Native JSON object used by authored agent providers.
Record
JSON-like value stored in an object store row.
Result
Convenient result alias for Gestalt SDK operations.

Attribute Macros§

async_trait