Skip to main content
Alpha

@netscript/sdk

Service discovery, oRPC clients, and cache-backed query factories for NetScript. This page is generated from the package's public surface with deno doc (US-2). For the full index of packages and plugins return to the reference overview.

The root entrypoint (@netscript/sdk) is the high-level composition preset for service-aware applications: it re-exports the client, query, query-client, discovery, cache, telemetry, and OpenAPI surfaces and adds the defineServices() preset. Focused sub-path exports carry the same values for narrow imports - see Sub-path exports.

Composition preset (defineServices)

These symbols are available only from the root export.

Symbol Kind Description
defineServices function Create SDK clients, query factories, and query utils from one service map.
DefineServiceConfig interface Service definition consumed by defineServices().
DefineServicesConfigMap type alias Input map accepted by defineServices().
DefinedServices interface Result object returned by defineServices().
DefinedServiceClients type alias Service clients produced by defineServices().
DefinedServiceQueries type alias Query factories produced by defineServices().
DefinedServiceQueryUtils type alias Service query utils produced by defineServices().

Service clients (@netscript/sdk/client)

Symbol Kind Signature / Description
createServiceClient function Type-safe service client using Aspire service discovery and oRPC. Signature: createServiceClient<TContract>(options): ServiceClient<TContract>.
safe function Resolve a promise into a tuple/object result mirroring the oRPC safe-call ergonomics.
isDefinedError function Narrow an unknown error to an oRPC defined error.
ServiceClient type alias Typed service client derived from a contract router.
ServiceClientShape type alias Recursive callable/router shape for a typed service client.
ServiceClientMethod type alias Typed service-client method derived from a contract procedure.
ServiceClientContext interface Per-call service client context.
ServiceClientContract interface Compile-time marker that preserves the source contract for inference.
ServiceRequestOptions interface Optional second argument passed to service-client methods.
CreateServiceClientOptions interface Options for creating a discovered service client.
ContractLike type alias Recursive structural representation of an oRPC contract router.
ContractProcedureLike interface Minimal structural representation of an oRPC contract procedure.
ContractProcedureMetadata interface Public oRPC metadata used to derive client typing.
ContractProcedureNames type alias Procedure names available on a contract router.
ContractSchema interface Minimal structural representation of a standard-schema-compatible type.
ContractSchemaInput type alias Infer the input type from a standard schema.
ContractSchemaOutput type alias Infer the output type from a standard schema.
ProcedureInputFromNode type alias Input payload for a contract procedure node.
ProcedureOutputFromNode type alias Output payload for a contract procedure node.
DefinedError interface Public shape of an oRPC defined error.
SafeResult type alias Tuple/object result returned by safe.
SafeSuccess type alias Success branch returned by safe.
SafeFailure type alias Failure branch returned by safe.

Server-side query factories (@netscript/sdk/query)

Symbol Kind Signature / Description
createQueryFactory function Query factory for an oRPC contract. Signature: createQueryFactory<TContract>(resource, contract, client, defaultOptions): QueryFactory<TContract>.
createQueryFactories function Create multiple query factories at once from a resource-to-config map.
createCompositeQuery function Combine multiple endpoints under one cache key.
setCacheProvider function Register the cache engine (server bootstrap).
hasCacheProvider function Check whether a cache provider has been registered.
QueryFactory type alias Generated query helpers for a contract resource.
ActionMethod interface Query helper bound to a specific resource action.
CompositeQuery interface Composite query helper contract for multi-endpoint aggregations.
FactoryConfig interface Configuration for a single query factory.
CacheProvider interface Minimal interface the query-factory layer needs from the cache engine.
ProcedureInput type alias Input payload for a contract procedure.
ProcedureOutput type alias Output payload for a contract procedure.

Cache engine (@netscript/sdk/cache)

Server-side only. Importing this subpath auto-registers the shared KV-backed cache provider.

Symbol Kind Description
cacheQuery variable Shared cache-query singleton.
CacheQuery class Query cache engine with stale-while-revalidate semantics.
KvCacheStore class SDK cache store backed by the shared @netscript/kv singleton.
setCacheProvider function Register the cache engine (call once during server bootstrap).
getCacheProvider function Retrieve the registered cache provider.
hasCacheProvider function Check whether a cache provider has been registered.
resetCacheProvider function Reset the cache provider (primarily for testing).
createActionQueryKey function Build a canonical resource/action/input query key.
serializeQueryKeyInput function Serialize structured query input into the canonical cache-key segment.
isCacheEntryStale function Determine whether a cached entry is stale for a freshness window.
toCachedEntry function Convert a persisted cache entry into the public cached-entry shape.
CacheEntry interface Persisted cache payload stored by the SDK cache engine.
CachedEntry interface Public cache entry shape returned to framework consumers.
CacheProvider interface Minimal interface the query-factory layer needs from the cache engine.
CacheQueryOptions interface Full cache-query execution options.
QueryParams interface Cache policy overrides for a query execution.
QueryKey type alias Serializable query key used to address cached entries.
QueryKeyPart type alias Primitive query-key segment supported by the SDK cache layer.

Query client / TanStack integration (@netscript/sdk/query-client)

Browser- and island-facing TanStack Query integration.

Symbol Kind Signature / Description
createNetScriptQueryClient function TanStack QueryClient with server-first defaults. Signature: createNetScriptQueryClient(options): QueryClientPort.
createServiceQueryUtils function TanStack Query utils from an oRPC service client. Signature: createServiceQueryUtils<TContract>(client, options?): ServiceQueryUtils<TContract>.
createKvCachePersister function KV-backed async storage adapter for TanStack Query persistence.
bridgeInvalidation function Build a client-side invalidation filter from a resource and optional action.
toClientKeyPrefix function Convert an SDK resource/action pair to a client-side TanStack key prefix.
DEFAULT_STALE_TIME variable Default stale time (30 s) matching the server-first philosophy.
DEFAULT_GC_TIME variable Default garbage-collection time (5 min) matching the server KV cache TTL.
QueryClientPort interface Structural query-client port used by SDK factories and collection adapters.
QueryClientFilters interface Cache selector for invalidation and lookup operations.
QueryClientFetchOptions interface Options accepted by query fetch operations.
QueryClientSetOptions interface Options accepted by cache write operations.
QueryClientPredicate type alias Predicate filtering query cache operations by key or metadata.
QueryOptionsWithInitialData interface TanStack-compatible options produced by the query-options helper.
ActionQueryOptions interface Configuration for the action query-options helper.
ActionMutationOptions interface Configuration for the action mutation-options helper.
MutationOptionsResult interface TanStack-compatible mutation options produced by the SDK.
CreateServiceQueryUtilsOptions interface Options for creating TanStack Query utils from an SDK service client.
NetScriptQueryClientOptions interface Options for createNetScriptQueryClient.
KvCachePersisterOptions interface Options for createKvCachePersister.
KvCachePersisterStorage interface Async storage adapter shape used by the persister.
ServiceQueryUtils type alias TanStack Query utilities derived from a service contract.
ServiceProcedureQueryUtils interface TanStack Query utilities for one service procedure.
ServiceProcedureQueryOptions type alias Query options accepted by a service procedure utility.
ServiceProcedureQueryResult interface Query options returned by a service procedure utility.
ServiceProcedureMutationOptions interface Mutation options accepted by a service procedure utility.
ServiceProcedureMutationResult interface Mutation options returned by a service procedure utility.
ServiceProcedureInfiniteOptions interface Infinite-query options accepted by a service procedure utility.
ServiceProcedureInfiniteResult interface Infinite-query options returned by a service procedure utility.
ServiceProcedureStreamedOptions type alias Streamed-query options accepted by a service procedure utility.
ServiceProcedureStreamedResult type alias Streamed-query options returned by a service procedure utility.
ServiceProcedureLiveResult type alias Live-query options returned by a service procedure utility.
ServiceOperationKey type alias Partial matching key generated by service query utilities.
ServiceOperationKeyOptions interface Partial matching-key options at router or procedure level.
ServiceOperationType type alias Operation kinds accepted by service query utility keys.
ServiceOptionalInputRest type alias Optional/required single-option tuple based on input optionality.
ServicePartialInput type alias Deep partial input used by matching-key helpers.
ServiceQueryKeyOptions type alias Query-key options for a single service procedure.
ServiceStreamedKeyOptions interface Serializable streamed-query key options.
ServiceQueryClientContext type alias Empty oRPC client context used by SDK-created service clients.

Collections (@netscript/sdk/collections)

Symbol Kind Description
createQueryCollection function Create a TanStack DB collection backed by TanStack Query for data fetching.
QueryCollection interface Structural collection returned by createQueryCollection().
QueryCollectionOptions interface Options for createQueryCollection.
QueryCollectionStatus type alias Collection status values exposed by the SDK collection port.
QueryCollectionTransaction interface Opaque transaction returned by collection mutation operations.
QueryCollectionUpdate type alias Callback used to update one collection item.
QueryCollectionUpdateMany type alias Callback used to update multiple collection items.

Service discovery (@netscript/sdk/discovery)

Resolves Aspire-managed service URLs and database/KV connections from environment variables.

Symbol Kind Description
getServiceUrl function Get a service URL from Aspire browser or server environment variables.
getServiceInfo function Get all endpoints for a service.
getAllServices function Get all available server-side Aspire service names.
isServiceAvailable function Check whether a service endpoint is available.
getKvConnection function Get KV connection from SQLite or remote Deno KV environment variables.
getPostgresConnection function Get PostgreSQL connection settings from environment variables.
getPostgresUri function Get the PostgreSQL connection URI.
getMysqlConnection function Get MySQL connection settings from environment variables.
getMysqlUri function Get the MySQL connection URI.
getMssqlConnection function Get SQL Server connection settings from environment variables.
getMssqlUri function Get the SQL Server connection URI.
ServiceInfo interface Resolved service endpoint metadata discovered from Aspire env vars.
ServiceProtocol type alias Supported protocols for Aspire service discovery endpoints.
PostgresConnectionInfo interface PostgreSQL connection details discovered from Aspire env vars.
MysqlConnectionInfo interface MySQL connection details discovered from Aspire env vars.
MssqlConnectionInfo interface SQL Server connection details discovered from Aspire env vars.

Durable streams (@netscript/sdk/streams)

Server-side writers and schema helpers for NetScript durable streams (State Protocol).

Symbol Kind Description
createStreamProducer function Create or reuse a durable stream producer for a stream path.
createDurableStream reference Re-export alias for the durable stream producer factory.
defineStreamSchema function Define a type-safe durable stream schema.
inspectStreamTopic function Inspect a stream schema and optional producer metadata.
buildStreamUrl function Build the full stream URL for a NetScript stream path.
getStreamsUrl function Resolve the base URL of the durable streams server.
getStreamsAuth function Resolve authentication headers for the durable streams server.
DurableStreamProducer class Server-side writer for a named durable stream.
DurableStreamProducerOptions interface Options accepted by DurableStreamProducer.
StreamProducerPort interface Port implemented by stream producers that publish State Protocol changes.
StateSchema type alias Schema map returned by defineStreamSchema.
StreamStateDefinition type alias Input map accepted by defineStreamSchema.
CollectionDefinition interface A single collection definition inside a durable stream schema.
CollectionEventHelpers interface Helper methods attached to collections by the durable-streams state layer.
CollectionWithHelpers type alias Collection definition after durable-streams helpers are attached.
ChangeEvent interface Entity change event emitted by durable stream producers.
ControlEvent interface Control event emitted for non-entity lifecycle changes.
StateEvent type alias Durable stream event union.
Operation type alias State Protocol operation names supported by durable streams.
StreamTopicInspectionInput interface Input accepted by inspectStreamTopic.
StreamTopicInspectionReport interface Diagnostic report returned by inspectStreamTopic.

Telemetry (@netscript/sdk/telemetry)

Symbol Kind Description
otelMiddleware function Create a typed passthrough OpenTelemetry middleware for oRPC composition.
MiddlewareHandler type alias Minimal async middleware signature used by the SDK.
MiddlewareNext type alias Next-handler signature for the SDK middleware chain.

Ports (@netscript/sdk/ports)

Package-owned, upstream-type-free structural ports shared with other NetScript packages. The port surface re-exports the structural contracts documented in the sections above (QueryClientPort, CacheStore, ServiceMetadata, ServiceQueryUtils, HealthCheckResponse, PaginatedResponse, the service operation/key types, and the cache/contract structural aliases). Import from @netscript/sdk/ports when implementing or consuming these contracts without pulling in the concrete client, query, or cache engines.

Representative symbol Kind Description
QueryClientPort interface Structural query-client port used by SDK factories and collection adapters.
CacheStore interface Structural cache store contract.
CacheStoreEntry interface Entry shape stored by a CacheStore.
CacheKey type alias Structural cache key contract.
ServiceMetadata interface Service metadata port.
ServiceTransport interface Transport port for service clients.
HealthCheckResponse interface Standard health-check response contract.
PaginatedResponse interface Standard paginated response contract.
ServiceQueryUtils type alias Query-utility port derived from a service contract.

OpenAPI helpers

Available from the root export.

Symbol Kind Description
createOpenAPIGenerator function Create an OpenAPI generator configured for Zod-backed oRPC contracts.
generateOpenAPISpec function Generate an OpenAPI document from a contract router.
OpenAPIConfig interface Shared OpenAPI configuration contract used by higher-level packages.
OpenAPIDocument type alias Public OpenAPI document shape returned by the SDK.
OpenAPIGeneratorLike interface Minimal generator contract exposed by the SDK.

Sub-path exports

The following entrypoints are published alongside the root export. Each carries the same values exposed by the root for narrow imports.

Export Entrypoint Purpose
@netscript/sdk ./mod.ts High-level composition preset (defineServices) plus all surfaces below.
@netscript/sdk/client ./src/client/mod.ts createServiceClient and the contract algebra.
@netscript/sdk/query ./src/query/mod.ts Server-side cache-aware query factories.
@netscript/sdk/query-client ./src/query-client/mod.ts TanStack Query integration for browser/island code.
@netscript/sdk/cache ./src/cache/mod.ts Server-side KV-backed cache engine (auto-registers the provider).
@netscript/sdk/collections ./src/collections/mod.ts TanStack DB collection backed by TanStack Query.
@netscript/sdk/discovery ./src/discovery/mod.ts Aspire service URL and database/KV connection discovery.
@netscript/sdk/ports ./src/ports/mod.ts Package-owned structural ports (upstream-type-free).
@netscript/sdk/streams ./src/streams.ts Durable stream producers and schema helpers.
@netscript/sdk/telemetry ./src/telemetry/mod.ts OpenTelemetry middleware for oRPC.

Back to the reference overview.