@arbidocs/sdk 0.4.2 → 0.4.4

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.
@@ -9,6 +9,10 @@ import { SessionStorageProvider, ArbiClient, LoginResult, components, WebSocketS
9
9
  declare class ArbiError extends Error {
10
10
  constructor(message: string);
11
11
  }
12
+ /** The session cannot be recovered (token and workspace re-open both refused): sign in again. */
13
+ declare class ArbiSessionExpiredError extends ArbiError {
14
+ constructor(message?: string);
15
+ }
12
16
  declare class ArbiApiError extends ArbiError {
13
17
  readonly apiError?: unknown;
14
18
  constructor(message: string, apiError?: unknown);
@@ -1877,6 +1881,7 @@ declare namespace files {
1877
1881
  type TaskResponse = components['schemas']['TaskResponse'];
1878
1882
  type CreateTaskRequest = components['schemas']['CreateTaskRequest'];
1879
1883
  type UpdateTaskRequest = components['schemas']['UpdateTaskRequest'];
1884
+ type TaskRunResponse = components['schemas']['TaskRunResponse'];
1880
1885
  /** List the caller's scheduled tasks (newest first). */
1881
1886
  declare function listTasks(arbi: ArbiClient): Promise<TaskResponse[]>;
1882
1887
  /** Create a scheduled task. `name` is required; supply trigger + action fields. */
@@ -1887,18 +1892,22 @@ declare function updateTask(arbi: ArbiClient, taskId: string, body: UpdateTaskRe
1887
1892
  declare function deleteTask(arbi: ArbiClient, taskId: string): Promise<void>;
1888
1893
  /** Fire a task immediately without advancing its schedule. */
1889
1894
  declare function runTask(arbi: ArbiClient, taskId: string): Promise<TaskResponse>;
1895
+ /** A task's run history, newest first. Each run links to its conversation. */
1896
+ declare function listTaskRuns(arbi: ArbiClient, taskId: string): Promise<TaskRunResponse[]>;
1890
1897
 
1891
1898
  type tasks_CreateTaskRequest = CreateTaskRequest;
1892
1899
  type tasks_TaskResponse = TaskResponse;
1900
+ type tasks_TaskRunResponse = TaskRunResponse;
1893
1901
  type tasks_UpdateTaskRequest = UpdateTaskRequest;
1894
1902
  declare const tasks_createTask: typeof createTask;
1895
1903
  declare const tasks_deleteTask: typeof deleteTask;
1896
1904
  declare const tasks_getTask: typeof getTask;
1905
+ declare const tasks_listTaskRuns: typeof listTaskRuns;
1897
1906
  declare const tasks_listTasks: typeof listTasks;
1898
1907
  declare const tasks_runTask: typeof runTask;
1899
1908
  declare const tasks_updateTask: typeof updateTask;
1900
1909
  declare namespace tasks {
1901
- export { type tasks_CreateTaskRequest as CreateTaskRequest, type tasks_TaskResponse as TaskResponse, type tasks_UpdateTaskRequest as UpdateTaskRequest, tasks_createTask as createTask, tasks_deleteTask as deleteTask, tasks_getTask as getTask, tasks_listTasks as listTasks, tasks_runTask as runTask, tasks_updateTask as updateTask };
1910
+ export { type tasks_CreateTaskRequest as CreateTaskRequest, type tasks_TaskResponse as TaskResponse, type tasks_TaskRunResponse as TaskRunResponse, type tasks_UpdateTaskRequest as UpdateTaskRequest, tasks_createTask as createTask, tasks_deleteTask as deleteTask, tasks_getTask as getTask, tasks_listTaskRuns as listTaskRuns, tasks_listTasks as listTasks, tasks_runTask as runTask, tasks_updateTask as updateTask };
1902
1911
  }
1903
1912
 
1904
1913
  /**
@@ -2034,6 +2043,7 @@ declare class Arbi {
2034
2043
  private loginResult;
2035
2044
  private currentWorkspaceId;
2036
2045
  private dmCryptoContext;
2046
+ private readonly sessionExpiredListeners;
2037
2047
  private readonly options;
2038
2048
  constructor(options: ArbiOptions);
2039
2049
  /** Initialize the SDK client and sodium crypto. Called automatically by login(). */
@@ -2063,11 +2073,27 @@ declare class Arbi {
2063
2073
  * Useful for session recovery without re-entering the password.
2064
2074
  */
2065
2075
  loginWithKey(email: string, signingPrivateKeyBase64: string): Promise<void>;
2076
+ /** A workspace's key, sealed to the caller's own session (what `/open` and `POST /workspace/users` take). */
2077
+ private sealWorkspaceKey;
2066
2078
  /**
2067
2079
  * Select a workspace by ID. Fetches the workspace list, finds the matching
2068
2080
  * workspace, decrypts the wrapped key, and sets up auth headers.
2069
2081
  */
2070
2082
  selectWorkspace(workspaceId: string): Promise<void>;
2083
+ /**
2084
+ * Subscribe to "the session cannot be recovered". Fires when a request failed with 401 or
2085
+ * "No active workspace" and neither a workspace re-open nor a silent re-login was possible
2086
+ * (the server refused; an unreachable server does not fire). The local session is already
2087
+ * cleared when it fires: show "Your session expired, sign in again". Returns an unsubscribe.
2088
+ */
2089
+ onSessionExpired(listener: () => void): () => void;
2090
+ private expireSession;
2091
+ /**
2092
+ * Run a raw-fetch operation (streaming, multipart: no middleware) and, when it fails because
2093
+ * the token expired or the server lost the open workspace, recover once and run it again.
2094
+ * `run` must read the auth headers itself so the retry carries the fresh token.
2095
+ */
2096
+ private recovering;
2071
2097
  /** Log out and clear internal state. */
2072
2098
  logout(): Promise<void>;
2073
2099
  /** Get the underlying ArbiClient (throws if not initialized). */
@@ -2399,6 +2425,63 @@ declare class Arbi {
2399
2425
  agent_ext_id?: string | null | undefined;
2400
2426
  is_temporary: boolean;
2401
2427
  }[]>;
2428
+ /**
2429
+ * Grant users a temporary key scoped to ONE session (identified by its public key), for
2430
+ * example an agent's run session minted by `agents.authorize()`. Nothing standing is created:
2431
+ * the grant expires with that session. Works for any workspace the caller holds a key for;
2432
+ * it does not need to be the open one.
2433
+ */
2434
+ grantTemporaryAccess: (params: {
2435
+ workspaceId: string;
2436
+ emails: string[];
2437
+ sessionPubkeyB64: string;
2438
+ role?: "owner" | "collaborator" | "guest";
2439
+ }) => Promise<{
2440
+ user: {
2441
+ external_id: string;
2442
+ parent_ext_id?: string | null | undefined;
2443
+ email: string;
2444
+ given_name: string;
2445
+ family_name?: string | null | undefined;
2446
+ picture?: string | null | undefined;
2447
+ encryption_public_key: string;
2448
+ is_sso: boolean;
2449
+ };
2450
+ role: components["schemas"]["WorkspaceRole"];
2451
+ joined_at: string;
2452
+ conversation_count: number;
2453
+ document_count: number;
2454
+ files_mb: number;
2455
+ agent_ext_id?: string | null | undefined;
2456
+ is_temporary: boolean;
2457
+ }[]>;
2458
+ /**
2459
+ * Add users (standing, permanent membership) to ANY workspace the caller holds a key for,
2460
+ * without opening it. `addUsers` does the same for the currently open workspace.
2461
+ */
2462
+ grantAccess: (params: {
2463
+ workspaceId: string;
2464
+ emails: string[];
2465
+ role?: "owner" | "collaborator" | "guest";
2466
+ }) => Promise<{
2467
+ user: {
2468
+ external_id: string;
2469
+ parent_ext_id?: string | null | undefined;
2470
+ email: string;
2471
+ given_name: string;
2472
+ family_name?: string | null | undefined;
2473
+ picture?: string | null | undefined;
2474
+ encryption_public_key: string;
2475
+ is_sso: boolean;
2476
+ };
2477
+ role: components["schemas"]["WorkspaceRole"];
2478
+ joined_at: string;
2479
+ conversation_count: number;
2480
+ document_count: number;
2481
+ files_mb: number;
2482
+ agent_ext_id?: string | null | undefined;
2483
+ is_temporary: boolean;
2484
+ }[]>;
2402
2485
  removeUsers: (userIds: string[]) => Promise<void>;
2403
2486
  setUserRole: (userIds: string[], role: "owner" | "collaborator" | "guest") => Promise<{
2404
2487
  user: {
@@ -3100,6 +3183,22 @@ declare class Arbi {
3100
3183
  * Respond to an agent's question during a human-in-the-loop workflow.
3101
3184
  */
3102
3185
  respond: (assistantMessageExtId: string, answer: string) => Promise<unknown>;
3186
+ /** The skills the caller can run (own + shared marketplace), metadata only. */
3187
+ listSkills: (options?: {
3188
+ includeHidden?: boolean;
3189
+ }) => Promise<{
3190
+ name: string;
3191
+ slug: string;
3192
+ description: string;
3193
+ user_invocable: boolean;
3194
+ arg_hint: string;
3195
+ skill_type: string;
3196
+ workspace_ext_id: string;
3197
+ doc_ext_id: string;
3198
+ updated_at: string;
3199
+ visibility: string;
3200
+ is_owner: boolean;
3201
+ }[]>;
3103
3202
  /**
3104
3203
  * Search documents without LLM generation (retrieval only).
3105
3204
  */
@@ -4206,6 +4305,25 @@ declare class Arbi {
4206
4305
  delete: (agentExtIds: string[]) => Promise<{
4207
4306
  [x: string]: unknown;
4208
4307
  }>;
4308
+ /** Mint a TTL'd run session for an agent; see `grantTemporaryAccess` to also deposit a key. */
4309
+ authorize: (agentExtId: string, workspaceId: string, ttlSeconds?: number) => Promise<{
4310
+ session_pubkey_b64: string;
4311
+ agent_email: string;
4312
+ ttl: number;
4313
+ }>;
4314
+ authorizeLimits: () => Promise<{
4315
+ default_ttl_seconds: number;
4316
+ max_ttl_seconds: number;
4317
+ }>;
4318
+ /**
4319
+ * Give an agent temporary, session-scoped access to a workspace: mint its run session, then
4320
+ * deposit the workspace key on it. Returns the session details (`ttl` in seconds).
4321
+ */
4322
+ grantTemporaryAccess: (agentExtId: string, workspaceId: string, ttlSeconds?: number) => Promise<{
4323
+ session_pubkey_b64: string;
4324
+ agent_email: string;
4325
+ ttl: number;
4326
+ }>;
4209
4327
  };
4210
4328
  readonly tasks: {
4211
4329
  list: () => Promise<{
@@ -4394,6 +4512,56 @@ declare class Arbi {
4394
4512
  created_at: string;
4395
4513
  updated_at: string;
4396
4514
  }>;
4515
+ listRuns: (taskId: string) => Promise<{
4516
+ run_id?: string | null;
4517
+ conversation_ext_id?: string | null;
4518
+ status: string;
4519
+ error?: string | null;
4520
+ started_at?: string | null;
4521
+ finished_at?: string | null;
4522
+ }[]>;
4523
+ /**
4524
+ * Run a task and, when the run is parked waiting for workspace access (a temporary
4525
+ * authorization tier), grant the agent's run session a temporary key and run it again.
4526
+ * A task that needs no approval returns from the first call already running.
4527
+ */
4528
+ runWithAuth: (taskId: string) => Promise<{
4529
+ external_id: string;
4530
+ name: string;
4531
+ trigger_type: string;
4532
+ rrule: string | null;
4533
+ run_at: string | null;
4534
+ timezone: string;
4535
+ event_kind: string | null;
4536
+ action_type: string;
4537
+ prompt: string;
4538
+ skill_ref: string | null;
4539
+ status: string;
4540
+ next_run_at: string | null;
4541
+ last_run_at: string | null;
4542
+ last_error: string | null;
4543
+ in_progress: boolean;
4544
+ active_run_id: string | null;
4545
+ agent_session: string | null;
4546
+ active_response_id?: string | null;
4547
+ active_conversation_ext_id?: string | null;
4548
+ run_started_at: string | null;
4549
+ notify_on_complete: boolean;
4550
+ auth_mode: components["schemas"]["AuthMode"];
4551
+ pending_auth_request_id?: string | null;
4552
+ pending_auth_session_pubkey?: string | null;
4553
+ pending_auth_agent_email?: string | null;
4554
+ created_by_kind: string;
4555
+ workspace_ext_id?: string | null;
4556
+ agent_ext_id?: string | null;
4557
+ task_plan?: components["schemas"]["TaskPlan"] | null;
4558
+ is_goal_task: boolean;
4559
+ goal_state?: {
4560
+ [key: string]: unknown;
4561
+ } | null;
4562
+ created_at: string;
4563
+ updated_at: string;
4564
+ }>;
4397
4565
  };
4398
4566
  readonly facts: {
4399
4567
  create: (body: CreateFactRequest) => Promise<{
@@ -4667,7 +4835,46 @@ declare function listWorkspaceUsers(arbi: ArbiClient): Promise<{
4667
4835
  agent_ext_id?: string | null | undefined;
4668
4836
  is_temporary: boolean;
4669
4837
  }[]>;
4670
- declare function addWorkspaceUsers(arbi: ArbiClient, emails: string[], role?: 'owner' | 'collaborator' | 'guest'): Promise<{
4838
+ declare function addWorkspaceUsers(arbi: ArbiClient, emails: string[], role?: 'owner' | 'collaborator' | 'guest',
4839
+ /** Share a workspace other than the open one: its id and its key sealed to the caller's session. */
4840
+ target?: {
4841
+ workspaceExtId: string;
4842
+ workspaceKey: string;
4843
+ }): Promise<{
4844
+ user: {
4845
+ external_id: string;
4846
+ parent_ext_id?: string | null | undefined;
4847
+ email: string;
4848
+ given_name: string;
4849
+ family_name?: string | null | undefined;
4850
+ picture?: string | null | undefined;
4851
+ encryption_public_key: string;
4852
+ is_sso: boolean;
4853
+ };
4854
+ role: components["schemas"]["WorkspaceRole"];
4855
+ joined_at: string;
4856
+ conversation_count: number;
4857
+ document_count: number;
4858
+ files_mb: number;
4859
+ agent_ext_id?: string | null | undefined;
4860
+ is_temporary: boolean;
4861
+ }[]>;
4862
+ /**
4863
+ * Grant users a TEMPORARY, session-scoped workspace key (`session_pubkey_b64` path of
4864
+ * `POST /v1/workspace/users`). The key is deposited onto the recipient's session (typically an
4865
+ * agent run session) and the membership row expires with it; no standing membership is created.
4866
+ *
4867
+ * `workspaceKey` is the workspace key sealed to the CALLER's own session (what `/open` takes), so
4868
+ * the workspace need not be the open one. Use `Arbi.workspaces.grantTemporaryAccess()` to have the
4869
+ * key derived for you.
4870
+ */
4871
+ declare function grantTemporaryWorkspaceAccess(arbi: ArbiClient, params: {
4872
+ emails: string[];
4873
+ workspaceExtId: string;
4874
+ workspaceKey: string;
4875
+ sessionPubkeyB64: string;
4876
+ role?: 'owner' | 'collaborator' | 'guest';
4877
+ }): Promise<{
4671
4878
  user: {
4672
4879
  external_id: string;
4673
4880
  parent_ext_id?: string | null | undefined;
@@ -4727,13 +4934,14 @@ declare const workspaces_addWorkspaceUsers: typeof addWorkspaceUsers;
4727
4934
  declare const workspaces_copyDocuments: typeof copyDocuments;
4728
4935
  declare const workspaces_createWorkspace: typeof createWorkspace;
4729
4936
  declare const workspaces_deleteWorkspaces: typeof deleteWorkspaces;
4937
+ declare const workspaces_grantTemporaryWorkspaceAccess: typeof grantTemporaryWorkspaceAccess;
4730
4938
  declare const workspaces_listWorkspaceUsers: typeof listWorkspaceUsers;
4731
4939
  declare const workspaces_listWorkspaces: typeof listWorkspaces;
4732
4940
  declare const workspaces_removeWorkspaceUsers: typeof removeWorkspaceUsers;
4733
4941
  declare const workspaces_setUserRole: typeof setUserRole;
4734
4942
  declare const workspaces_updateWorkspace: typeof updateWorkspace;
4735
4943
  declare namespace workspaces {
4736
- export { workspaces_addWorkspaceUsers as addWorkspaceUsers, workspaces_copyDocuments as copyDocuments, workspaces_createWorkspace as createWorkspace, workspaces_deleteWorkspaces as deleteWorkspaces, workspaces_listWorkspaceUsers as listWorkspaceUsers, workspaces_listWorkspaces as listWorkspaces, workspaces_removeWorkspaceUsers as removeWorkspaceUsers, workspaces_setUserRole as setUserRole, workspaces_updateWorkspace as updateWorkspace };
4944
+ export { workspaces_addWorkspaceUsers as addWorkspaceUsers, workspaces_copyDocuments as copyDocuments, workspaces_createWorkspace as createWorkspace, workspaces_deleteWorkspaces as deleteWorkspaces, workspaces_grantTemporaryWorkspaceAccess as grantTemporaryWorkspaceAccess, workspaces_listWorkspaceUsers as listWorkspaceUsers, workspaces_listWorkspaces as listWorkspaces, workspaces_removeWorkspaceUsers as removeWorkspaceUsers, workspaces_setUserRole as setUserRole, workspaces_updateWorkspace as updateWorkspace };
4737
4945
  }
4738
4946
 
4739
4947
  /**
@@ -5978,4 +6186,4 @@ declare namespace projects {
5978
6186
  export { type projects_ProjectInvoicesResponse as ProjectInvoicesResponse, type projects_ProjectUpdateRequest as ProjectUpdateRequest, type projects_ProjectUsageResponse as ProjectUsageResponse, type projects_UserDailyUsageResponse as UserDailyUsageResponse, projects_createProject as createProject, projects_deleteProject as deleteProject, projects_getProjectInvoices as getProjectInvoices, projects_getProjectUsage as getProjectUsage, projects_getUserUsageToday as getUserUsageToday, projects_listProjects as listProjects, projects_refreshProject as refreshProject, projects_renameProject as renameProject, projects_updateProject as updateProject };
5979
6187
  }
5980
6188
 
5981
- export { type ResponseFailedEvent as $, type AgentControlStateEvent as A, type DocumentWaiterOptions as B, type ChatSession as C, DOC_TERMINAL_STATUSES as D, type FactSearchRequest as E, type FactResponse as F, type FactSearchResponse as G, type FormattedWsMessage as H, type ListFactsOptions as I, type ListPaginatedOptions as J, type MessageMetadataPayload$1 as K, type ListAllOptions as L, type MessageLevel as M, type MessageQueuedEvent as N, type OutputTokensDetails as O, type ParsedSlashCommand as P, type ProbeAnswerEvent as Q, type ProjectInvoicesResponse as R, type ProjectUsageResponse as S, type QueryOptions as T, type ReconnectOptions as U, type ReconnectableWsConnection as V, type ResolvedCitation as W, type ResolvedRecipient as X, type ResponseCompletedEvent as Y, type ResponseContentPartAddedEvent as Z, type ResponseCreatedEvent as _, type AgentStepDeltaEvent as a, parseSlashCommand as a$, type ResponseOutputItemAddedEvent as a0, type ResponseOutputItemDoneEvent as a1, type ResponseOutputTextDeltaEvent as a2, type ResponseOutputTextDoneEvent as a3, type ResponseUsage as a4, type SSEEvent as a5, type SSEStreamCallbacks as a6, type SSEStreamResult as a7, type SSEStreamStartData as a8, SUPPORTED_EXTENSIONS as a9, connectWithReconnect as aA, consumeSSEStream as aB, contacts as aC, conversations as aD, countCitations as aE, createAuthenticatedClient as aF, createDocumentWaiter as aG, dm as aH, doctags as aI, documents as aJ, facts as aK, files as aL, filterSkills as aM, formatAgentStepLabel as aN, formatFileSize as aO, formatItemLabel as aP, formatStreamSummary as aQ, formatUserName as aR, formatWorkspaceChoices as aS, formatWsMessage as aT, generateEncryptedWorkspaceKey as aU, generateNewWorkspaceKey as aV, getErrorCode as aW, getErrorMessage as aX, getRawWorkspaceKey as aY, health as aZ, parseSSEEvents as a_, type SkillSummary as aa, type SkippedFile as ab, type TaskResponse as ac, type TokenBudgetContext as ad, type UpdateFactRequest as ae, type UpdateTaskRequest as af, type UploadBatchResult as ag, type UploadDirectOptions as ah, type UploadDirectResult as ai, type UploadOptions as aj, type UploadResult as ak, type UserDailyUsageResponse as al, type UserInfo as am, type UserInputRequestEvent as an, type UserMessageEvent as ao, WebSocketAuthError as ap, type WorkspaceContext as aq, type WsConnection as ar, agentconfig as as, assistant as at, authenticatedFetch as au, buildDocNameMap as av, buildRetrievalChunkTool as aw, buildRetrievalFullContextTool as ax, buildRetrievalTocTool as ay, connectWebSocket as az, type AgentStepEvent as b, parseSlashTokenInProgress as b0, performPasswordLogin as b1, performSigningKeyLogin as b2, performSsoDeviceFlowLogin as b3, projects as b4, requireData as b5, requireOk as b6, resolveAuth as b7, resolveCitations as b8, resolveWorkspace as b9, responses as ba, selectWorkspace as bb, selectWorkspaceById as bc, settings as bd, streamSSE as be, stripCitationMarkdown as bf, summarizeCitations as bg, tags as bh, tasks as bi, workspaces as bj, Arbi as c, ArbiApiError as d, ArbiError as e, type ArbiErrorEvent as f, type ArbiOptions as g, type ArtifactEvent as h, type AuthContext as i, type AuthHeaders as j, type AuthenticatedClient as k, type CitationSummary as l, type CliConfig as m, type CliCredentials as n, type CommandDescriptor as o, type ConfigStore as p, type ConnectOptions as q, type CreateFactRequest as r, type CreateFactsRequest as s, type CreateTaskRequest as t, type DeferredInterjectionEvent as u, type DmCryptoContext as v, type DocNameMap as w, type DocumentListFields as x, type DocumentListOrder as y, type DocumentWaiter as z };
6189
+ export { type ResponseCreatedEvent as $, type AgentControlStateEvent as A, type DocumentWaiter as B, type ChatSession as C, DOC_TERMINAL_STATUSES as D, type DocumentWaiterOptions as E, type FactResponse as F, type FactSearchRequest as G, type FactSearchResponse as H, type FormattedWsMessage as I, type ListFactsOptions as J, type ListPaginatedOptions as K, type ListAllOptions as L, type MessageLevel as M, type MessageMetadataPayload$1 as N, type MessageQueuedEvent as O, type OutputTokensDetails as P, type ParsedSlashCommand as Q, type ProbeAnswerEvent as R, type ProjectInvoicesResponse as S, type ProjectUsageResponse as T, type QueryOptions as U, type ReconnectOptions as V, type ReconnectableWsConnection as W, type ResolvedCitation as X, type ResolvedRecipient as Y, type ResponseCompletedEvent as Z, type ResponseContentPartAddedEvent as _, type AgentStepDeltaEvent as a, parseSSEEvents as a$, type ResponseFailedEvent as a0, type ResponseOutputItemAddedEvent as a1, type ResponseOutputItemDoneEvent as a2, type ResponseOutputTextDeltaEvent as a3, type ResponseOutputTextDoneEvent as a4, type ResponseUsage as a5, type SSEEvent as a6, type SSEStreamCallbacks as a7, type SSEStreamResult as a8, type SSEStreamStartData as a9, connectWebSocket as aA, connectWithReconnect as aB, consumeSSEStream as aC, contacts as aD, conversations as aE, countCitations as aF, createAuthenticatedClient as aG, createDocumentWaiter as aH, dm as aI, doctags as aJ, documents as aK, facts as aL, files as aM, filterSkills as aN, formatAgentStepLabel as aO, formatFileSize as aP, formatItemLabel as aQ, formatStreamSummary as aR, formatUserName as aS, formatWorkspaceChoices as aT, formatWsMessage as aU, generateEncryptedWorkspaceKey as aV, generateNewWorkspaceKey as aW, getErrorCode as aX, getErrorMessage as aY, getRawWorkspaceKey as aZ, health as a_, SUPPORTED_EXTENSIONS as aa, type SkillSummary as ab, type SkippedFile as ac, type TaskResponse as ad, type TokenBudgetContext as ae, type UpdateFactRequest as af, type UpdateTaskRequest as ag, type UploadBatchResult as ah, type UploadDirectOptions as ai, type UploadDirectResult as aj, type UploadOptions as ak, type UploadResult as al, type UserDailyUsageResponse as am, type UserInfo as an, type UserInputRequestEvent as ao, type UserMessageEvent as ap, WebSocketAuthError as aq, type WorkspaceContext as ar, type WsConnection as as, agentconfig as at, assistant as au, authenticatedFetch as av, buildDocNameMap as aw, buildRetrievalChunkTool as ax, buildRetrievalFullContextTool as ay, buildRetrievalTocTool as az, type AgentStepEvent as b, parseSlashCommand as b0, parseSlashTokenInProgress as b1, performPasswordLogin as b2, performSigningKeyLogin as b3, performSsoDeviceFlowLogin as b4, projects as b5, requireData as b6, requireOk as b7, resolveAuth as b8, resolveCitations as b9, resolveWorkspace as ba, responses as bb, selectWorkspace as bc, selectWorkspaceById as bd, settings as be, streamSSE as bf, stripCitationMarkdown as bg, summarizeCitations as bh, tags as bi, tasks as bj, workspaces as bk, Arbi as c, ArbiApiError as d, ArbiError as e, type ArbiErrorEvent as f, type ArbiOptions as g, ArbiSessionExpiredError as h, type ArtifactEvent as i, type AuthContext as j, type AuthHeaders as k, type AuthenticatedClient as l, type CitationSummary as m, type CliConfig as n, type CliCredentials as o, type CommandDescriptor as p, type ConfigStore as q, type ConnectOptions as r, type CreateFactRequest as s, type CreateFactsRequest as t, type CreateTaskRequest as u, type DeferredInterjectionEvent as v, type DmCryptoContext as w, type DocNameMap as x, type DocumentListFields as y, type DocumentListOrder as z };