@covia/covia-sdk 1.16.0 → 1.18.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
@@ -24,6 +24,13 @@ declare class Agent {
24
24
  listSessions(options?: AgentSessionListOptions): Promise<AgentSessionPage>;
25
25
  /** Read one session through the job-free workspace Values API. */
26
26
  getSession(sessionId: string): Promise<AgentSession>;
27
+ /**
28
+ * One session's transcript — its turns in order, with compacted segments
29
+ * expanded back into the turns they archived.
30
+ *
31
+ * Shorthand for `getSession(sessionId)` when only the conversation is wanted.
32
+ */
33
+ transcript(sessionId: string): Promise<AgentSessionMessage[]>;
27
34
  /** Stream this agent's run-loop events. See `AgentManager.events`. */
28
35
  events(options?: {
29
36
  sessionId?: string;
@@ -369,6 +376,9 @@ interface AgentManagerVenue extends VenueRequestContext {
369
376
  workspace: {
370
377
  read(path: string, maxSize?: number): Promise<WorkspaceReadResult>;
371
378
  slice(path: string, offset?: number, limit?: number): Promise<WorkspaceSliceResult>;
379
+ count(path: string, opts?: {
380
+ depth?: number;
381
+ }): Promise<WorkspaceCountResult>;
372
382
  };
373
383
  }
374
384
  declare class AgentManager {
@@ -446,6 +456,8 @@ declare class AgentManager {
446
456
  * available on each record's `value` while common runtime fields are typed.
447
457
  */
448
458
  listSessions(agentId: string, options?: AgentSessionListOptions): Promise<AgentSessionPage>;
459
+ /** Shape a `{key, value}` session slice into a page. */
460
+ private _sessionPage;
449
461
  /** Read one agent session directly from the workspace Values surface. */
450
462
  getSession(agentId: string, sessionId: string): Promise<AgentSession>;
451
463
  private _readLargeSession;
@@ -455,11 +467,39 @@ declare class AgentManager {
455
467
  failTask(error: string): Promise<AgentFailTaskResult>;
456
468
  }
457
469
 
458
- type JobManagerVenue = VenueRequestContext;
470
+ interface JobManagerVenue extends VenueRequestContext {
471
+ workspace: {
472
+ count(path: string, opts?: {
473
+ depth?: number;
474
+ }): Promise<WorkspaceCountResult>;
475
+ slice(path: string, offset?: number, limit?: number): Promise<WorkspaceSliceResult>;
476
+ };
477
+ }
459
478
  declare class JobManager {
460
479
  private venue;
461
480
  constructor(venue: JobManagerVenue);
462
481
  list(): Promise<string[]>;
482
+ /**
483
+ * A page of job history: `JobMetadata` rows, newest-first by default, with an
484
+ * authoritative total.
485
+ *
486
+ * `list()` answers "which jobs exist" as ids; a history view needs a bounded
487
+ * window of *records* and a count to page against. This reads the job index
488
+ * directly, so each row arrives with its metadata already attached — the
489
+ * alternative, listing ids and then fetching each one, is an N+1 fan-out per
490
+ * page. Reads stay job-free (covia#177): paging job history must not itself
491
+ * write a job record per page.
492
+ *
493
+ * The total is read before a `desc` window can be placed, so the index may
494
+ * grow in between; the page self-corrects once against the count the slice
495
+ * itself reports, which is authoritative for the rows returned with it.
496
+ */
497
+ history(options?: JobHistoryOptions): Promise<JobHistoryPage>;
498
+ /**
499
+ * Read index ranks `[start, end)` in cap-aware chunks, halving on an oversize
500
+ * response and skipping a record that is individually oversize.
501
+ */
502
+ private _readJobRange;
463
503
  get(jobId: string): Promise<Job>;
464
504
  cancel(jobId: string): Promise<JobMetadata>;
465
505
  delete(jobId: string): Promise<void>;
@@ -610,6 +650,7 @@ interface WorkspaceManagerVenue extends VenueRequestContext {
610
650
  declare class WorkspaceManager {
611
651
  private venue;
612
652
  private valuesSupported;
653
+ private scopeExpansionSupported;
613
654
  constructor(venue: WorkspaceManagerVenue);
614
655
  /** GET a job-free `/api/v1/values/{op}` read; omit undefined params. */
615
656
  private _values;
@@ -624,6 +665,34 @@ declare class WorkspaceManager {
624
665
  private unsupported;
625
666
  /** A job-free Values read that rejects when the endpoint is unavailable. */
626
667
  private valuesRead;
668
+ /**
669
+ * A job-free Values read of an execution-scoped path, preferring the venue's
670
+ * own selector expansion and falling back to the client-side one.
671
+ *
672
+ * The venue is preferred because it expands *before* the capability check, so
673
+ * authorisation applies to the same canonical resource that is ultimately
674
+ * read — a caller cannot substitute a sibling or foreign agent's scratch.
675
+ * The fallback reaches the same resource but re-derives the layout here.
676
+ */
677
+ private scopedRead;
678
+ /**
679
+ * Bind an execution scope, giving job-free reads of the `t/`, `n/` and `c/`
680
+ * scratch shorthands that a bare GET cannot otherwise resolve (covia#177
681
+ * forbids minting a Job for a read; the shorthands need context a GET lacks).
682
+ *
683
+ * ```ts
684
+ * const scratch = venue.workspace.scoped({ agent: 'alice', task: taskId });
685
+ * await scratch.read('t/snapshot');
686
+ * await scratch.list('t/');
687
+ * ```
688
+ *
689
+ * Ordinary paths still work through the handle, so a caller rendering a task
690
+ * inspector can use one reader for both scratch and workspace. Capability
691
+ * behaviour is unchanged: the caller needs read caps on the agent's subtree.
692
+ */
693
+ scoped(scope: ExecutionScope): ScopedWorkspace;
694
+ /** @internal — the scoped read used by {@link ScopedWorkspace}. */
695
+ _scopedRead<T>(op: string, params: Record<string, string | number | boolean | undefined>, scope: ExecutionScope): Promise<T>;
627
696
  read(path: string, maxSize?: number, ucans?: string[]): Promise<WorkspaceReadResult>;
628
697
  list(path?: string, limit?: number, offset?: number, ucans?: string[]): Promise<WorkspaceListResult>;
629
698
  slice(path: string, offset?: number, limit?: number, ucans?: string[]): Promise<WorkspaceSliceResult>;
@@ -658,6 +727,35 @@ declare class WorkspaceManager {
658
727
  append(path: string, value: unknown, ucans?: string[]): Promise<WorkspaceAppendResult>;
659
728
  copy(from: string, to: string, ucans?: string[]): Promise<WorkspaceCopyResult>;
660
729
  }
730
+ /**
731
+ * A {@link WorkspaceManager} bound to one execution scope, so `t/`, `n/` and
732
+ * `c/` scratch resolve without the caller hand-building the physical paths
733
+ * (`g/<agent>/sessions/<sid>/c/...` and friends). Reads only — scoped scratch
734
+ * is written from inside the execution that owns it, where the shorthands
735
+ * already resolve from the request's own context.
736
+ *
737
+ * Obtained from {@link WorkspaceManager.scoped}; every method mirrors the
738
+ * job-free read of the same name.
739
+ */
740
+ declare class ScopedWorkspace {
741
+ private workspace;
742
+ /** The scope every read on this handle resolves against. */
743
+ readonly scope: ExecutionScope;
744
+ constructor(workspace: WorkspaceManager,
745
+ /** The scope every read on this handle resolves against. */
746
+ scope: ExecutionScope);
747
+ read(path: string, maxSize?: number): Promise<WorkspaceReadResult>;
748
+ list(path: string, limit?: number, offset?: number): Promise<WorkspaceListResult>;
749
+ slice(path: string, offset?: number, limit?: number): Promise<WorkspaceSliceResult>;
750
+ inspect(path: string, budget?: number, compact?: boolean): Promise<WorkspaceInspectResult>;
751
+ count(path: string, opts?: {
752
+ depth?: number;
753
+ }): Promise<WorkspaceCountResult>;
754
+ aggregate(path: string, opts?: {
755
+ depth?: number;
756
+ groupBy?: string;
757
+ }): Promise<WorkspaceAggregateResult>;
758
+ }
661
759
 
662
760
  interface UCANManagerVenue {
663
761
  operations: OperationRunner;
@@ -1149,6 +1247,23 @@ interface OperationPayload {
1149
1247
  interface ContentHashResult {
1150
1248
  hash: string;
1151
1249
  }
1250
+ /** Paging/ordering for {@link JobManager.history}. */
1251
+ interface JobHistoryOptions {
1252
+ /** Rows to skip from the ordered start (default 0). */
1253
+ offset?: number;
1254
+ /** Maximum rows to return (default 50). */
1255
+ limit?: number;
1256
+ /** `desc` (default) is newest-first, the order a history view wants. */
1257
+ order?: 'asc' | 'desc';
1258
+ }
1259
+ /** One page of job history: the rows plus the window they were drawn from. */
1260
+ interface JobHistoryPage {
1261
+ items: JobMetadata[];
1262
+ /** Authoritative total at the moment the page was read. */
1263
+ total: number;
1264
+ offset: number;
1265
+ limit: number;
1266
+ }
1152
1267
  interface JobMetadata {
1153
1268
  id?: string;
1154
1269
  name?: string;
@@ -1157,7 +1272,31 @@ interface JobMetadata {
1157
1272
  updated?: string;
1158
1273
  input?: unknown;
1159
1274
  output?: unknown;
1160
- operation?: string;
1275
+ /** The operation reference that was invoked, verbatim: a venue path
1276
+ * (`v/ops/json/merge`), a caller-namespace path (`o/my-tool`), a DID URL, or
1277
+ * a bare hash when the caller pinned a definition explicitly. An inline
1278
+ * definition has no reference, so its own metadata hash stands in. Records
1279
+ * written by venues before 0.9.9 always carry the resolved hash, so readers
1280
+ * must accept both forms (covia#499).
1281
+ *
1282
+ * A path is a mutable binding: re-invoking this reference runs whatever
1283
+ * definition sits at that path now, which is not necessarily the one that
1284
+ * ran for this job. Invoke by hash when the record must pin the exact
1285
+ * definition.
1286
+ *
1287
+ * Replaces the never-populated `operation` field — the venue has always
1288
+ * emitted this as `op`. */
1289
+ op?: string;
1290
+ /** Id (hex) of the nearest *recorded* job inside whose execution this job was
1291
+ * dispatched; absent on top-level jobs (covia#500). Transient wrappers never
1292
+ * appear in a record, so a recorded grandchild dispatched through a
1293
+ * transient layer links straight to its recorded ancestor.
1294
+ *
1295
+ * Only the up-link is stored: there is no `root`, no children list and no
1296
+ * children query. Reconstruct a tree by tracing `parent` across the jobs you
1297
+ * hold. Links are venue- and user-local — a job run on another venue through
1298
+ * the grid adapter carries none. */
1299
+ parent?: string;
1161
1300
  caller?: string;
1162
1301
  error?: string;
1163
1302
  [key: string]: unknown;
@@ -1414,17 +1553,78 @@ interface AgentSessionMetadata {
1414
1553
  turnCount?: number;
1415
1554
  [key: string]: unknown;
1416
1555
  }
1556
+ /** The four roles a stored conversation turn may carry. */
1557
+ type AgentSessionRole = 'system' | 'user' | 'assistant' | 'tool';
1558
+ /**
1559
+ * One persisted conversation turn (AGENT_CONTEXT.md §1.1 `Turn`).
1560
+ *
1561
+ * Most turns carry text in `content`; a tool result may instead carry its typed
1562
+ * map or vector in `structuredContent`. Provider-specific continuation state
1563
+ * (`providerState`) is deliberately absent — it is opaque, is omitted from
1564
+ * retrospective session projections, and is not part of a readable transcript.
1565
+ */
1566
+ interface AgentSessionMessage {
1567
+ role: AgentSessionRole;
1568
+ content?: unknown;
1569
+ /** A typed tool result, in place of textual `content`. */
1570
+ structuredContent?: unknown;
1571
+ /** Present on an assistant turn that called tools. */
1572
+ toolCalls?: unknown[];
1573
+ /** A `tool` turn's matching call id. */
1574
+ id?: string;
1575
+ name?: string;
1576
+ isError?: boolean;
1577
+ ts?: number;
1578
+ source?: string;
1579
+ caller?: string;
1580
+ /** The job that delivered this turn — links it back to the calling job. */
1581
+ jobId?: string;
1582
+ tokens?: number;
1583
+ }
1584
+ /**
1585
+ * An archived run of turns that compaction replaced with a summary
1586
+ * (AGENT_CONTEXT.md §1.1 `CompactedSegment`). `items` is the exact recursively
1587
+ * archived vector, so no history is lost — {@link AgentSession.conversation}
1588
+ * expands it back into the transcript.
1589
+ */
1590
+ interface AgentCompactedSegment {
1591
+ summary: string;
1592
+ /** How many turns the summary stands in for. */
1593
+ turns?: number;
1594
+ items: unknown[];
1595
+ }
1417
1596
  /** A session record read directly from `g/<agentId>/sessions`. */
1418
1597
  interface AgentSession {
1419
1598
  id: string;
1420
1599
  metadata: AgentSessionMetadata;
1421
1600
  pending: unknown[];
1601
+ /**
1602
+ * Raw goal-tree frames, newest last. `frames[0]` is the root frame and a flat
1603
+ * `llmagent` session has only that one. Kept verbatim for callers that need
1604
+ * frame-level state; for the readable transcript use {@link conversation}.
1605
+ */
1422
1606
  frames: unknown[];
1607
+ /**
1608
+ * The session transcript: every frame's turns, in order, with compacted
1609
+ * segments expanded back into the turns they archived.
1610
+ *
1611
+ * This is the field a chat UI renders. Assembling it from `frames` means
1612
+ * knowing that turns live at `frames[].conversation`, that an entry there may
1613
+ * be an archived segment rather than a turn, and that segments nest — layout
1614
+ * knowledge that belongs here rather than in every consumer.
1615
+ */
1616
+ conversation: AgentSessionMessage[];
1423
1617
  wakeTime?: number;
1424
1618
  }
1425
1619
  interface AgentSessionListOptions {
1426
1620
  offset?: number;
1427
1621
  limit?: number;
1622
+ /**
1623
+ * `desc` is newest-first. Session ids are timestamp-prefixed, so the index is
1624
+ * already chronological and the window is taken from its end — the order
1625
+ * holds across pages, unlike sorting one page after the fact.
1626
+ */
1627
+ order?: 'asc' | 'desc';
1428
1628
  }
1429
1629
  interface AgentSessionPage {
1430
1630
  items: AgentSession[];
@@ -1616,6 +1816,33 @@ interface WorkspaceAppendResult {
1616
1816
  /** 0.3.0: true iff a new parent path was built. */
1617
1817
  pathCreated?: boolean;
1618
1818
  }
1819
+ /**
1820
+ * The execution context a `t/`, `n/` or `c/` scratch read resolves against.
1821
+ *
1822
+ * A GET carries no execution context of its own, so the venue cannot know which
1823
+ * job, agent or session a bare shorthand means. These selectors supply it
1824
+ * explicitly (covia#230) and are the only way to read scoped scratch job-free.
1825
+ *
1826
+ * Each namespace consumes a different part of the scope, and the venue rejects
1827
+ * a selector its namespace does not use:
1828
+ *
1829
+ * | Path | Needs | Resolves to |
1830
+ * |------|------------------|----------------------------------------------|
1831
+ * | `n/` | `agent` | `g/<agent>/n/...` |
1832
+ * | `c/` | `agent`+`session`| `g/<agent>/sessions/<session>/c/...` |
1833
+ * | `t/` | `agent`+`task` | `j/<task>/temp/...` |
1834
+ *
1835
+ * A bound scope may therefore carry all three; each read sends only what its
1836
+ * own namespace needs.
1837
+ */
1838
+ interface ExecutionScope {
1839
+ /** Agent id (`alice`) or a full agent DID. Required for every scoped read. */
1840
+ agent: string;
1841
+ /** Task id — the `agent:request` Job whose record holds `t/` scratch. */
1842
+ task?: string;
1843
+ /** Session id, for `c/` session scratch. */
1844
+ session?: string;
1845
+ }
1619
1846
  interface WorkspaceListInput {
1620
1847
  path?: string;
1621
1848
  limit?: number;
@@ -2258,4 +2485,4 @@ declare function grant(ownerPrivateKey: Uint8Array, audienceDID: string, withRes
2258
2485
  */
2259
2486
  declare function relayDelegation(privateKey: Uint8Array, venueDID: string, lifetimeSeconds: number, caps?: UCANCapability[]): string;
2260
2487
 
2261
- 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 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 AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, 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 ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, 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, 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 };
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 };