@covia/covia-sdk 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -525,6 +525,14 @@ declare class AssetManager {
525
525
  * a mutable lattice path the venue resolves (`w/my-assets/foo`, `o/my-op`,
526
526
  * `<DID>/w/...`). Only content-addressed (immutable) refs are cached;
527
527
  * mutable paths are always re-fetched, so a changed value is never served stale.
528
+ *
529
+ * **Content-addressed refs are caller-relative, not global** (covia#502). A
530
+ * bare hash or `a/<hash>` names the asset in *your own* `a/` namespace, so it
531
+ * 404s for a hash someone else registered, and for an anonymous request.
532
+ * Address another owner's asset explicitly as `<ownerDID>/a/<hash>`, and the
533
+ * venue's own catalog as `<venueDID>/a/<hash>`. Only the DID-qualified form
534
+ * is portable, so only it is eligible for the cross-session metadata store;
535
+ * caller-relative refs are cached in memory on this manager alone.
528
536
  * @param assetId - Asset identifier or lattice address
529
537
  * @returns Returns either an Operation or DataAsset based on the asset's metadata
530
538
  */
@@ -651,6 +659,7 @@ declare class WorkspaceManager {
651
659
  private venue;
652
660
  private valuesSupported;
653
661
  private scopeExpansionSupported;
662
+ private fieldsSupported;
654
663
  constructor(venue: WorkspaceManagerVenue);
655
664
  /** GET a job-free `/api/v1/values/{op}` read; omit undefined params. */
656
665
  private _values;
@@ -695,6 +704,48 @@ declare class WorkspaceManager {
695
704
  _scopedRead<T>(op: string, params: Record<string, string | number | boolean | undefined>, scope: ExecutionScope): Promise<T>;
696
705
  read(path: string, maxSize?: number, ucans?: string[]): Promise<WorkspaceReadResult>;
697
706
  list(path?: string, limit?: number, offset?: number, ucans?: string[]): Promise<WorkspaceListResult>;
707
+ /**
708
+ * List a node's children *and* read named subpaths of each one, in a single
709
+ * round trip (covia#191) — the standard partial-response / sparse-fieldset
710
+ * pattern, and the cure for the collection-view N+1 that list-then-read-each
711
+ * forces on every page.
712
+ *
713
+ * ```ts
714
+ * const page = await venue.workspace.listFields('j', ['status', 'meta/updated'], { limit: 50 });
715
+ * page.values['<jobid>']['status']; // → { exists: true, value: 'COMPLETE' }
716
+ * ```
717
+ *
718
+ * Each field is defined as a `read` of `<path>/<key>/<field>` and carries
719
+ * single-read semantics verbatim: stored null is present, absent is
720
+ * `{exists:false}`, and a value past `maxSize` withholds `value` and sets
721
+ * `truncated`. Projection applies *after* the `limit`/`offset` key page, so
722
+ * work is bounded by `limit × fields.length`.
723
+ *
724
+ * Output shape only — no filtering, no ordering. Filter the projected
725
+ * records locally; for a recency subset use key design plus `slice`.
726
+ *
727
+ * On a venue that predates projection this falls back to `list()` plus a
728
+ * bounded `read()` per (key, field), returning the identical shape, and
729
+ * remembers not to ask that venue again.
730
+ *
731
+ * @param path Parent node. Must be a keyed node (map/Index) — a sequence or
732
+ * scalar is a venue 400.
733
+ * @param fields Subpaths to project per key; may be nested (`meta/updated`).
734
+ * At most 16, the venue's cap.
735
+ */
736
+ listFields(path: string, fields: string[], opts?: {
737
+ limit?: number;
738
+ offset?: number;
739
+ maxSize?: number;
740
+ }): Promise<WorkspaceProjectedList>;
741
+ /**
742
+ * The pre-covia#191 fallback: one `list`, then a `read` per (key, field).
743
+ * Fan-out is bounded by the page the list already returned, so this costs
744
+ * `keys.length × fields.length` reads for the page — exactly the N+1 the
745
+ * server-side projection exists to remove, which is why it is the fallback
746
+ * and not the default.
747
+ */
748
+ private projectClientSide;
698
749
  slice(path: string, offset?: number, limit?: number, ucans?: string[]): Promise<WorkspaceSliceResult>;
699
750
  inspect(paths: string | string[], budget?: number, compact?: boolean, ucans?: string[]): Promise<WorkspaceInspectResult>;
700
751
  /**
@@ -974,6 +1025,123 @@ declare class A2AManager {
974
1025
  }): Promise<Job>;
975
1026
  }
976
1027
 
1028
+ interface MCPOps {
1029
+ invoke(assetId: string, input?: unknown, options?: InvokeOptions): Promise<Job>;
1030
+ }
1031
+ interface MCPManagerVenue extends VenueRequestContext {
1032
+ operations: MCPOps;
1033
+ mcpDiscovery(): Promise<MCPDiscovery>;
1034
+ }
1035
+ /**
1036
+ * MCP client for a venue's native `/mcp` endpoint.
1037
+ *
1038
+ * The venue speaks Streamable HTTP MCP: JSON-RPC over POST, answering either
1039
+ * `application/json` or `text/event-stream` at its discretion. Everything that
1040
+ * implies — request-id correlation, reading a response that may arrive as SSE
1041
+ * frames, applying the venue's auth with the venue DID as audience, turning
1042
+ * JSON-RPC error objects into typed errors — is protocol plumbing every
1043
+ * TypeScript consumer would otherwise rebuild (covia-sdk#23).
1044
+ *
1045
+ * ```ts
1046
+ * const page = await venue.mcp.listTools();
1047
+ * const out = await venue.mcp.callTool(page.tools[0].name, { text: 'hi' });
1048
+ * ```
1049
+ *
1050
+ * **`listTools()` is job-free.** It reads the native endpoint, never the
1051
+ * `v/ops/mcp/tools-list` operation — discovery and display must not persist a
1052
+ * job per page (covia#177).
1053
+ */
1054
+ declare class MCPManager {
1055
+ private venue;
1056
+ private nextId;
1057
+ private sessionId?;
1058
+ private endpointPromise?;
1059
+ constructor(venue: MCPManagerVenue);
1060
+ /** The venue's MCP discovery document (`GET /.well-known/mcp`). */
1061
+ discovery(): Promise<MCPDiscovery>;
1062
+ /**
1063
+ * List the tools this venue bridges, job-free.
1064
+ *
1065
+ * @param options.cursor Continue a previous page. MCP pagination is opaque:
1066
+ * pass back the `nextCursor` a page returned, and stop when it is absent.
1067
+ */
1068
+ listTools(options?: {
1069
+ cursor?: string;
1070
+ signal?: AbortSignal;
1071
+ }): Promise<MCPToolPage>;
1072
+ /**
1073
+ * Every tool the venue bridges, draining the cursor.
1074
+ *
1075
+ * A server that never stops handing back a cursor would loop forever, so a
1076
+ * repeated cursor is treated as the end rather than trusted.
1077
+ */
1078
+ listAllTools(options?: {
1079
+ signal?: AbortSignal;
1080
+ }): Promise<MCPToolPage['tools']>;
1081
+ /**
1082
+ * Call a bridged tool natively and return its MCP result.
1083
+ *
1084
+ * This is the direct protocol call: the answer comes back in the response,
1085
+ * and the caller never holds a Job. The venue still runs the tool through
1086
+ * its job machinery and records it — "direct" describes what *this* call
1087
+ * hands back, not whether the venue keeps a record.
1088
+ *
1089
+ * Use {@link callToolTracked} when you want the `Job` itself: to stream it,
1090
+ * inspect its steps, link to its receipt, or continue it when it pauses.
1091
+ *
1092
+ * An MCP tool that fails *its own* execution answers with `isError: true`
1093
+ * and the failure in `content` — a successful protocol call reporting a
1094
+ * failed tool, which is not thrown. Only a protocol-level error throws.
1095
+ */
1096
+ callTool(name: string, args?: Record<string, unknown>, options?: {
1097
+ signal?: AbortSignal;
1098
+ }): Promise<MCPToolResult>;
1099
+ /**
1100
+ * Call a tool through the `v/ops/mcp/tools-call` operation, returning the
1101
+ * `Job` so the run is an inspectable, linkable record.
1102
+ *
1103
+ * The operation is the venue's bridge to *any* MCP server, so `server`
1104
+ * defaults to this venue's own base URL — pointing the bridge back at the
1105
+ * venue, which is how a local tool gets called with a Job in hand. Name a
1106
+ * different `server` (with a `token` if it needs one) to reach a third-party
1107
+ * MCP server through the venue instead, which the native endpoint cannot do.
1108
+ *
1109
+ * Unlike {@link callTool} this always persists a job, so it belongs to a
1110
+ * user-driven execution, never a page load.
1111
+ */
1112
+ callToolTracked(name: string, args?: Record<string, unknown>, options?: {
1113
+ server?: string;
1114
+ token?: string;
1115
+ } & InvokeOptions): Promise<Job>;
1116
+ /**
1117
+ * Send an arbitrary JSON-RPC method to the venue's MCP endpoint — the escape
1118
+ * hatch for methods this manager does not wrap (`resources/list`,
1119
+ * `prompts/list`, …).
1120
+ *
1121
+ * Request ids are minted and correlated here, so callers never supply one.
1122
+ */
1123
+ request<T = unknown>(method: string, params?: Record<string, unknown>, options?: {
1124
+ signal?: AbortSignal;
1125
+ }): Promise<T>;
1126
+ /** The resolved MCP endpoint path, from discovery, probed once. */
1127
+ private endpoint;
1128
+ /**
1129
+ * Discovery names the endpoint; `${baseUrl}/mcp` is the compatibility
1130
+ * default. Discovery failing is not fatal — a venue that serves `/mcp`
1131
+ * without advertising it still works, so a failed probe falls through to the
1132
+ * default rather than failing the call that triggered it.
1133
+ */
1134
+ private resolveEndpoint;
1135
+ /**
1136
+ * Read the response frame from an SSE-framed answer: the first event whose
1137
+ * JSON-RPC id matches the request. Notifications and unrelated frames are
1138
+ * skipped rather than mistaken for the answer.
1139
+ */
1140
+ private readSSEFrame;
1141
+ /** JSON-RPC envelope → result, or a typed error. */
1142
+ private unwrap;
1143
+ }
1144
+
977
1145
  /**
978
1146
  * Resolve a non-DID venue id into the ordered list of base URLs that
979
1147
  * {@link Venue.connect} will try in turn. Explicit `http(s)://` inputs are
@@ -1031,6 +1199,7 @@ declare class Venue implements VenueInterface {
1031
1199
  private _dlfs?;
1032
1200
  private _users?;
1033
1201
  private _a2a?;
1202
+ private _mcp?;
1034
1203
  get adapters(): AdapterManager;
1035
1204
  get agents(): AgentManager;
1036
1205
  get jobs(): JobManager;
@@ -1043,6 +1212,7 @@ declare class Venue implements VenueInterface {
1043
1212
  get memory(): MemoryManager;
1044
1213
  get dlfs(): DLFSManager;
1045
1214
  get users(): UserManager;
1215
+ get mcp(): MCPManager;
1046
1216
  get a2a(): A2AManager;
1047
1217
  constructor(options?: VenueOptions);
1048
1218
  /**
@@ -1383,6 +1553,36 @@ interface MCPDiscovery {
1383
1553
  endpoint?: Record<string, any> | string;
1384
1554
  [key: string]: any;
1385
1555
  }
1556
+ /** One tool as MCP describes it (`tools/list`). */
1557
+ interface MCPTool {
1558
+ name: string;
1559
+ description?: string;
1560
+ inputSchema: Record<string, unknown>;
1561
+ outputSchema?: Record<string, unknown>;
1562
+ [key: string]: any;
1563
+ }
1564
+ /** One page of `tools/list`. `nextCursor` absent = the last page. */
1565
+ interface MCPToolPage {
1566
+ tools: MCPTool[];
1567
+ nextCursor?: string;
1568
+ }
1569
+ /** One content block of a tool result. */
1570
+ interface MCPContent {
1571
+ type: string;
1572
+ text?: string;
1573
+ [key: string]: any;
1574
+ }
1575
+ /**
1576
+ * The result of `tools/call`. `isError` marks a tool that ran and failed —
1577
+ * a successful protocol call reporting a failed tool — as distinct from a
1578
+ * protocol error, which throws `MCPError` instead.
1579
+ */
1580
+ interface MCPToolResult {
1581
+ content?: MCPContent[];
1582
+ structuredContent?: Record<string, unknown>;
1583
+ isError?: boolean;
1584
+ [key: string]: any;
1585
+ }
1386
1586
  /**
1387
1587
  * A2A agent card from `GET /.well-known/agent-card.json`.
1388
1588
  * Field names mirror the A2A v1.0 wire format the venue serves (via the
@@ -1860,6 +2060,26 @@ interface WorkspaceListResult {
1860
2060
  keys?: string[];
1861
2061
  offset?: number;
1862
2062
  }
2063
+ /**
2064
+ * One projected field of one listed record (covia#191).
2065
+ *
2066
+ * Exactly what a `values/read` of `<parent>/<key>/<field>` returns, down to
2067
+ * `valueBytes` — projection is pure composition of reads, not new semantics.
2068
+ * So: a stored null is present (`{exists: true, value: null}`), an absent
2069
+ * field is `{exists: false}`, and a value past the per-field byte guard
2070
+ * withholds `value` and sets `truncated` alongside its `type`.
2071
+ */
2072
+ type WorkspaceFieldValue = WorkspaceReadResult;
2073
+ /**
2074
+ * A `list` carrying a field projection: the ordinary list result plus, per
2075
+ * listed key, the read result of each requested subpath of that key's child.
2076
+ *
2077
+ * `values` is keyed by the same keys `keys` reports, in the same page —
2078
+ * projection applies after `limit`/`offset`.
2079
+ */
2080
+ interface WorkspaceProjectedList extends WorkspaceListResult {
2081
+ values: Record<string, Record<string, WorkspaceFieldValue>>;
2082
+ }
1863
2083
  interface WorkspaceSliceInput {
1864
2084
  path: string;
1865
2085
  offset?: number;
@@ -2037,6 +2257,15 @@ declare class CoviaError extends Error {
2037
2257
  code: number | null;
2038
2258
  constructor(message: string, code?: number | null);
2039
2259
  }
2260
+ /**
2261
+ * A JSON-RPC error from an MCP endpoint. `code` is the JSON-RPC code (e.g.
2262
+ * -32602 invalid params), not an HTTP status — a JSON-RPC error arrives in a
2263
+ * 200 response, so it would otherwise read as success.
2264
+ */
2265
+ declare class MCPError extends CoviaError {
2266
+ data?: unknown;
2267
+ constructor(message: string, code: number, data?: unknown);
2268
+ }
2040
2269
  /** Raised when the Covia API returns an error response (4xx/5xx). */
2041
2270
  declare class GridError extends CoviaError {
2042
2271
  statusCode: number;
@@ -2266,7 +2495,11 @@ declare function parseSSEStream(response: Response, options?: {
2266
2495
  * Which DID belongs in a lattice address:
2267
2496
  * - `w`/`o`/`g`/`j`/`s` are per-user: the `<DID>` is the resource *owner's* DID
2268
2497
  * (yours is your auth DID, e.g. `Ed25519Auth.getDID()`) — NOT the venue's.
2269
- * - `a` (assets) is venue-global and content-addressed.
2498
+ * - `a` (assets) is content-addressed, and **caller-relative**: a bare hash or
2499
+ * `a/<hash>` names the asset in the requesting caller's own `a/` namespace,
2500
+ * not a global one (covia#502). Name another owner's copy explicitly as
2501
+ * `<ownerDID>/a/<hash>` — the only portable form — and the venue's own
2502
+ * catalog as `<venueDID>/a/<hash>`.
2270
2503
  * - A namespace-relative path (no `<DID>`) resolves to the authenticated caller.
2271
2504
  */
2272
2505
  /** Lattice namespace identifiers. */
@@ -2319,23 +2552,30 @@ declare function assetHash(ref: string): string | null;
2319
2552
  /**
2320
2553
  * Pluggable persistent store for content-addressed asset metadata.
2321
2554
  *
2322
- * An asset id is the Convex value hash of its metadata (`AMap.getHash()`
2323
- * venue-side), so hash → metadata is immutable: entries never go stale and are
2324
- * safe to cache indefinitely, across sessions and across venues. Keys are the
2325
- * normalised bare hash (lowercase, no `0x`), so `<hash>`, `0x<hash>` and
2326
- * `<DID>/a/<hash>` refs all share one entry.
2555
+ * Keys are the **fully qualified** `<ownerDID>/a/<hash>` form, and only that
2556
+ * form is admitted. A bare hash or `a/<hash>` is *caller-relative*: it names
2557
+ * the asset in the requesting caller's own `a/` namespace, so the same bytes
2558
+ * registered by two principals are two records, each readable only under its
2559
+ * owner's authority (covia#502, `venue/docs/OPERATIONS.md` §"Content-addressed
2560
+ * forms are caller-relative, not global"). Covia has no global lookup by hash.
2561
+ * Keying this store on a bare hash would therefore let an entry populated
2562
+ * under one identity be served back to another that may have no right to read
2563
+ * it — and this store is cross-session by design, outliving the auth that
2564
+ * filled it. `persistentCacheKey` returns null for those refs, and
2565
+ * `AssetManager` keeps them in its own venue-local memory cache instead.
2327
2566
  *
2328
2567
  * Trust model: entries are cached as returned by the venue that served them.
2329
2568
  * Provable verification — recomputing the Convex value hash of the metadata
2330
2569
  * and rejecting mismatches — requires a canonical CVM cell encoder in
2331
- * TypeScript, which does not exist yet; when it lands, verification will gate
2332
- * admission to this cache so entries are correct by construction rather than
2333
- * by trust. Until then this is a availability/performance cache with the same
2334
- * trust as an uncached fetch from the same venue.
2570
+ * TypeScript, which does not exist yet (covia-sdk#18); when it lands,
2571
+ * verification will gate admission to this cache so entries are correct by
2572
+ * construction rather than by trust. Until then this is an
2573
+ * availability/performance cache with the same trust as an uncached fetch
2574
+ * from the same venue.
2335
2575
  */
2336
2576
  interface AssetMetadataStore {
2337
- get(hash: string): AssetMetadata | undefined;
2338
- put(hash: string, metadata: AssetMetadata): void;
2577
+ get(key: string): AssetMetadata | undefined;
2578
+ put(key: string, metadata: AssetMetadata): void;
2339
2579
  clear(): void;
2340
2580
  }
2341
2581
  /** Replace the persistent metadata store (e.g. a file-backed store in Node),
@@ -2485,4 +2725,4 @@ declare function grant(ownerPrivateKey: Uint8Array, audienceDID: string, withRes
2485
2725
  */
2486
2726
  declare function relayDelegation(privateKey: Uint8Array, venueDID: string, lifetimeSeconds: number, caps?: UCANCapability[]): string;
2487
2727
 
2488
- export { type A2AAuthRef, type A2AImportAgentInput, type A2AImportAgentResult, A2AManager, type A2AMessage, type A2APart, type A2ATask, type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompactedSegment, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMessage, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, type AgentSessionRole, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExecutionScope, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, type JobHistoryOptions, type JobHistoryPage, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPDiscovery, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, ScopedWorkspace, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
2728
+ export { type A2AAuthRef, type A2AImportAgentInput, type A2AImportAgentResult, A2AManager, type A2AMessage, type A2APart, type A2ATask, type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompactedSegment, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMessage, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, type AgentSessionRole, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExecutionScope, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, type JobHistoryOptions, type JobHistoryPage, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPContent, type MCPDiscovery, MCPError, MCPManager, type MCPTool, type MCPToolPage, type MCPToolResult, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, ScopedWorkspace, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceFieldValue, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceProjectedList, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };