@arbidocs/client 0.3.157 → 0.3.159

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.cts CHANGED
@@ -2372,6 +2372,43 @@ interface paths {
2372
2372
  patch?: never;
2373
2373
  trace?: never;
2374
2374
  };
2375
+ '/v1/agents/inbound-email': {
2376
+ parameters: {
2377
+ query?: never;
2378
+ header?: never;
2379
+ path?: never;
2380
+ cookie?: never;
2381
+ };
2382
+ get?: never;
2383
+ put?: never;
2384
+ /**
2385
+ * Inbound Email
2386
+ * @description Wake the sender's Assistant on a forwarded inbound email.
2387
+ *
2388
+ * The email gateway (a ``service_account`` user) posts a received email here; we
2389
+ * run the sender's own persistent agent against it natively and email the reply
2390
+ * back. This endpoint is the trust boundary — it wakes an arbitrary user's agent,
2391
+ * which the normal parent-only DM gate would otherwise forbid — so it is gated on
2392
+ * ``get_service_account_dependency`` (the gateway's bearer JWT).
2393
+ *
2394
+ * The gateway sends ``email_body.txt`` as one file (the email text, for prompt
2395
+ * building) and, from an updated gateway, ``original.eml`` — the original raw
2396
+ * RFC822 bytes exactly as received over SMTP, every header intact — which we
2397
+ * archive verbatim instead of reconstructing a lossier copy from parsed fields.
2398
+ * Any other file is a pre-extracted attachment, forwarded by an older gateway
2399
+ * that doesn't send ``original.eml`` yet; process_inbound_email falls back to
2400
+ * using those when there's no raw copy to let the parser explode instead. We
2401
+ * read every file's bytes here (``UploadFile`` objects do not survive past the
2402
+ * response), verify the sender is known, then hand the work to a background
2403
+ * task (assistant -> workspace -> upload -> wake -> reply).
2404
+ */
2405
+ post: operations['inbound_email'];
2406
+ delete?: never;
2407
+ options?: never;
2408
+ head?: never;
2409
+ patch?: never;
2410
+ trace?: never;
2411
+ };
2375
2412
  '/v1/tasks': {
2376
2413
  parameters: {
2377
2414
  query?: never;
@@ -3262,6 +3299,14 @@ interface components {
3262
3299
  * recipient's current session (identified by this X25519 public key). The workspace
3263
3300
  * key is stored in that session's Redis entry and the workspaceusers row expires when
3264
3301
  * the session expires. Omit for a permanent grant (default behaviour).
3302
+ *
3303
+ * confirm_invite (default False): an email that isn't a registered user is never
3304
+ * invited on a call with this unset — it's silently left out of the response (same
3305
+ * as any other not-found email), so the caller can diff the response against the
3306
+ * emails it sent and ask the owner to confirm before anything is emailed. Only a
3307
+ * follow-up call with this set to true for those specific emails actually sends the
3308
+ * invite and deposits the pending workspace-share grant. Without this gate, sharing
3309
+ * would email and grant future access to a typo'd address with no chance to back out.
3265
3310
  */
3266
3311
  AddWorkspaceUsersRequest: {
3267
3312
  /** Emails */
@@ -3274,6 +3319,8 @@ interface components {
3274
3319
  workspace_ext_id?: string | null;
3275
3320
  /** Session Pubkey B64 */
3276
3321
  session_pubkey_b64?: string | null;
3322
+ /** Confirm Invite */
3323
+ confirm_invite?: boolean | null;
3277
3324
  };
3278
3325
  /**
3279
3326
  * AgentControlStateEvent
@@ -3538,7 +3585,7 @@ interface components {
3538
3585
  /**
3539
3586
  * Planning Enabled
3540
3587
  * @description Include the create_plan tool so the agent can generate a research plan when it deems a task complex enough. Plan approval is configured on PlanningLLM.
3541
- * @default false
3588
+ * @default true
3542
3589
  */
3543
3590
  PLANNING_ENABLED: boolean;
3544
3591
  /**
@@ -3556,7 +3603,7 @@ interface components {
3556
3603
  /**
3557
3604
  * Suggested Queries
3558
3605
  * @description Generate a single suggested follow-up query after each response.
3559
- * @default false
3606
+ * @default true
3560
3607
  */
3561
3608
  SUGGESTED_QUERIES: boolean;
3562
3609
  /**
@@ -3568,7 +3615,7 @@ interface components {
3568
3615
  /**
3569
3616
  * Image Enabled
3570
3617
  * @description Enable the create_image tool for generating and editing images (text→image, or editing reference images from the workspace) via a chat image model, stored as an image artifact displayed in the panel.
3571
- * @default false
3618
+ * @default true
3572
3619
  */
3573
3620
  IMAGE_ENABLED: boolean;
3574
3621
  /**
@@ -3580,7 +3627,7 @@ interface components {
3580
3627
  /**
3581
3628
  * Conversation Search Enabled
3582
3629
  * @description Enable the search_conversations tool so the agent can semantically search past conversation messages in the workspace. Independent of the user-facing conversation search feature flag (show_conversation_search).
3583
- * @default false
3630
+ * @default true
3584
3631
  */
3585
3632
  CONVERSATION_SEARCH_ENABLED: boolean;
3586
3633
  /**
@@ -3592,7 +3639,7 @@ interface components {
3592
3639
  /**
3593
3640
  * Facts Enabled
3594
3641
  * @description Workspace facts are readable AND writable by the agent: pinned core facts are injected into the prompt, and the agent gets the search_facts (recall) and create_fact (write) tools.
3595
- * @default false
3642
+ * @default true
3596
3643
  */
3597
3644
  FACTS_ENABLED: boolean;
3598
3645
  /**
@@ -3758,7 +3805,7 @@ interface components {
3758
3805
  * - Bold text for critical conclusions or decision points
3759
3806
  *
3760
3807
  * TOOL CALLING:
3761
- * - Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress.
3808
+ * - Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress. If the question touches a workspace document, always check the source — never answer from a past turn's reply alone.
3762
3809
  * - Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.
3763
3810
  *
3764
3811
  * EFFICIENCY:
@@ -3805,7 +3852,7 @@ interface components {
3805
3852
  /**
3806
3853
  * Planning Enabled
3807
3854
  * @description Include the create_plan tool so the agent can generate a research plan when it deems a task complex enough. Plan approval is configured on PlanningLLM.
3808
- * @default false
3855
+ * @default true
3809
3856
  */
3810
3857
  PLANNING_ENABLED: boolean;
3811
3858
  /**
@@ -3823,7 +3870,7 @@ interface components {
3823
3870
  /**
3824
3871
  * Suggested Queries
3825
3872
  * @description Generate a single suggested follow-up query after each response.
3826
- * @default false
3873
+ * @default true
3827
3874
  */
3828
3875
  SUGGESTED_QUERIES: boolean;
3829
3876
  /**
@@ -3835,7 +3882,7 @@ interface components {
3835
3882
  /**
3836
3883
  * Image Enabled
3837
3884
  * @description Enable the create_image tool for generating and editing images (text→image, or editing reference images from the workspace) via a chat image model, stored as an image artifact displayed in the panel.
3838
- * @default false
3885
+ * @default true
3839
3886
  */
3840
3887
  IMAGE_ENABLED: boolean;
3841
3888
  /**
@@ -3847,13 +3894,13 @@ interface components {
3847
3894
  /**
3848
3895
  * Conversation Search Enabled
3849
3896
  * @description Enable the search_conversations tool so the agent can semantically search past conversation messages in the workspace. Independent of the user-facing conversation search feature flag (show_conversation_search).
3850
- * @default false
3897
+ * @default true
3851
3898
  */
3852
3899
  CONVERSATION_SEARCH_ENABLED: boolean;
3853
3900
  /**
3854
3901
  * Facts Enabled
3855
3902
  * @description Workspace facts are readable AND writable by the agent: pinned core facts are injected into the prompt, and the agent gets the search_facts (recall) and create_fact (write) tools.
3856
- * @default false
3903
+ * @default true
3857
3904
  */
3858
3905
  FACTS_ENABLED: boolean;
3859
3906
  /**
@@ -3931,16 +3978,16 @@ interface components {
3931
3978
  * "WEB_SEARCH_ENABLED": true,
3932
3979
  * "RUN_CODE_ENABLED": true,
3933
3980
  * "MCP_TOOLS": [],
3934
- * "PLANNING_ENABLED": false,
3981
+ * "PLANNING_ENABLED": true,
3935
3982
  * "DEEP_RESEARCH_ENABLED": true,
3936
3983
  * "SUBAGENTS_ENABLED": true,
3937
- * "SUGGESTED_QUERIES": false,
3984
+ * "SUGGESTED_QUERIES": true,
3938
3985
  * "ARTIFACTS_ENABLED": false,
3939
- * "IMAGE_ENABLED": false,
3986
+ * "IMAGE_ENABLED": true,
3940
3987
  * "VISION_ENABLED": false,
3941
- * "CONVERSATION_SEARCH_ENABLED": false,
3988
+ * "CONVERSATION_SEARCH_ENABLED": true,
3942
3989
  * "PERSONAL_AGENT": false,
3943
- * "FACTS_ENABLED": false,
3990
+ * "FACTS_ENABLED": true,
3944
3991
  * "PERSIST_LEARNINGS": false,
3945
3992
  * "SKILLS_ENABLED": false,
3946
3993
  * "SKILL_CREATION": false,
@@ -3962,7 +4009,7 @@ interface components {
3962
4009
  * "AGENT_MAX_RUN_TOKENS": 1500000,
3963
4010
  * "AGENT_MAX_SUBAGENT_SPAWNS": 4,
3964
4011
  * "AGENT_HISTORY_CHAR_THRESHOLD": 8000,
3965
- * "AGENT_SYSTEM_PROMPT": "Answer any question the user asks. You have access to workspace documents — use them when relevant. When no documents are relevant, answer from your own knowledge. Always provide a helpful answer.\n\nWhen using documents, retrieve actual document content — do not rely on metadata or headings alone. Cross-check information across sources. Not all assertions in sources are factual — some are arguments by a party. Attribute claims to their source where parties disagree.\n\nDOCUMENT INDEX:\nThe \"Workspace Documents\" table in your system prompt lists every document with its Id, Title, Date, and Pages. The Subject field is a brief navigation label only — it does not contain enough information to answer questions about a document's content. Use this table directly when the user asks to list, catalogue, or tabulate documents — do NOT call any tools for that. Only use tools when you need to read or search document content.\n\nREADING TOOL RESULTS:\nEvery retrieval result opens with a CAPTION line naming the call that produced it, what it contains, and what it does not (for example \"FULL CONTENT … complete verbatim text, all 10 pages\" or \"DIGEST … verbatim page text is NOT part of this result\"). The caption also tells you when you already retrieved that material earlier in this turn. Read it before choosing your next call — it is the record of what you already hold.\n\nDOCUMENT STRATEGY, in order:\n1. Listing or cataloguing documents: use the document index already in your prompt — no tool calls needed.\n2. Getting oriented in a document you have not read: call get_table_of_contents FIRST. It is cheap, returns the heading structure with page references, and tells you which pages actually matter. Do this before any read_document on a document longer than a few pages, rather than reading blind and then discovering the structure.\n3. Specific questions across several documents: search_inside_documents to locate the passages, then read_document on the pages it points to.\n4. Reading a document: read_document with page ranges for the sections you need, or with no ranges to load the complete text. A read with no ranges returns the WHOLE document — once you have it there is nothing further to retrieve from that document. Do not read it again, do not re-read ranges out of it, and do not ask for its outline afterwards.\n5. Prefer digest=true from the outset. It is the normal retrieval mode: findings with citations, compact context. Decide against it only when the task needs the exact words — translation, quotation, close reading of style or drafting. Choosing digest=false IS that decision, and it is final for that document: digest is a way of retrieving, not a way of processing text you already hold, so once you have loaded a document in full a digest of it is refused. Reason over the text you have.\n6. Open-ended investigative queries (\"find interesting things\", \"what's notable\", \"what stands out\", \"explore X\", \"what should I know about\", \"any findings\", \"anything unusual\", \"key insights\"): ALWAYS call search_inside_documents with multiple diverse queries covering different aspects of the documents before answering. The document index is never sufficient for investigative answers — you must retrieve actual content.\n7. Never search for meta-queries like \"summary\", \"overview\", or \"all documents\" — search for the actual subject matter.\n\nFORMATTING:\n- Start your answer directly with the content.\n- Use markdown: headings, bold, bullet points, numbered lists\n- Main conclusion first, followed by supporting points\n- Bullet points for lists of discrete items\n- Numbering for sequential steps or prioritized items\n- Bold text for critical conclusions or decision points\n\nTOOL CALLING:\n- Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress.\n- Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.\n\nEFFICIENCY:\n1. Before each step, review the results of prior steps. Adapt your approach based on what you learned — if a call was rejected or returned poor results, adjust your strategy.\n2. Call multiple tools in parallel when a query has several aspects.\n3. NEVER repeat a tool call with the same arguments, and never re-retrieve material you already hold — the caption on each result tells you what that is.\n4. Use targeted queries and narrow page ranges per retrieval call.\n5. Stop when you have sufficient evidence — do not over-research."
4012
+ * "AGENT_SYSTEM_PROMPT": "Answer any question the user asks. You have access to workspace documents — use them when relevant. When no documents are relevant, answer from your own knowledge. Always provide a helpful answer.\n\nWhen using documents, retrieve actual document content — do not rely on metadata or headings alone. Cross-check information across sources. Not all assertions in sources are factual — some are arguments by a party. Attribute claims to their source where parties disagree.\n\nDOCUMENT INDEX:\nThe \"Workspace Documents\" table in your system prompt lists every document with its Id, Title, Date, and Pages. The Subject field is a brief navigation label only — it does not contain enough information to answer questions about a document's content. Use this table directly when the user asks to list, catalogue, or tabulate documents — do NOT call any tools for that. Only use tools when you need to read or search document content.\n\nREADING TOOL RESULTS:\nEvery retrieval result opens with a CAPTION line naming the call that produced it, what it contains, and what it does not (for example \"FULL CONTENT … complete verbatim text, all 10 pages\" or \"DIGEST … verbatim page text is NOT part of this result\"). The caption also tells you when you already retrieved that material earlier in this turn. Read it before choosing your next call — it is the record of what you already hold.\n\nDOCUMENT STRATEGY, in order:\n1. Listing or cataloguing documents: use the document index already in your prompt — no tool calls needed.\n2. Getting oriented in a document you have not read: call get_table_of_contents FIRST. It is cheap, returns the heading structure with page references, and tells you which pages actually matter. Do this before any read_document on a document longer than a few pages, rather than reading blind and then discovering the structure.\n3. Specific questions across several documents: search_inside_documents to locate the passages, then read_document on the pages it points to.\n4. Reading a document: read_document with page ranges for the sections you need, or with no ranges to load the complete text. A read with no ranges returns the WHOLE document — once you have it there is nothing further to retrieve from that document. Do not read it again, do not re-read ranges out of it, and do not ask for its outline afterwards.\n5. Prefer digest=true from the outset. It is the normal retrieval mode: findings with citations, compact context. Decide against it only when the task needs the exact words — translation, quotation, close reading of style or drafting. Choosing digest=false IS that decision, and it is final for that document: digest is a way of retrieving, not a way of processing text you already hold, so once you have loaded a document in full a digest of it is refused. Reason over the text you have.\n6. Open-ended investigative queries (\"find interesting things\", \"what's notable\", \"what stands out\", \"explore X\", \"what should I know about\", \"any findings\", \"anything unusual\", \"key insights\"): ALWAYS call search_inside_documents with multiple diverse queries covering different aspects of the documents before answering. The document index is never sufficient for investigative answers — you must retrieve actual content.\n7. Never search for meta-queries like \"summary\", \"overview\", or \"all documents\" — search for the actual subject matter.\n\nFORMATTING:\n- Start your answer directly with the content.\n- Use markdown: headings, bold, bullet points, numbered lists\n- Main conclusion first, followed by supporting points\n- Bullet points for lists of discrete items\n- Numbering for sequential steps or prioritized items\n- Bold text for critical conclusions or decision points\n\nTOOL CALLING:\n- Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress. If the question touches a workspace document, always check the source — never answer from a past turn's reply alone.\n- Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.\n\nEFFICIENCY:\n1. Before each step, review the results of prior steps. Adapt your approach based on what you learned — if a call was rejected or returned poor results, adjust your strategy.\n2. Call multiple tools in parallel when a query has several aspects.\n3. NEVER repeat a tool call with the same arguments, and never re-retrieve material you already hold — the caption on each result tells you what that is.\n4. Use targeted queries and narrow page ranges per retrieval call.\n5. Stop when you have sufficient evidence — do not over-research."
3966
4013
  * }
3967
4014
  */
3968
4015
  Agents: components['schemas']['AgentsConfig'];
@@ -5307,6 +5354,8 @@ interface components {
5307
5354
  status: 'invitation_pending' | 'invitation_expired' | 'registered' | 'failed';
5308
5355
  /** Created At */
5309
5356
  created_at: string;
5357
+ /** Shared Workspace Ext Id */
5358
+ shared_workspace_ext_id?: string | null;
5310
5359
  /** Outcome */
5311
5360
  outcome?: ('invited' | 'reinvited' | 'not_resent_still_pending' | 'contact_added' | 'already_contact' | 'failed') | null;
5312
5361
  /** Outcome Detail */
@@ -7261,6 +7310,7 @@ interface components {
7261
7310
  workspaces: {
7262
7311
  [key: string]: unknown;
7263
7312
  }[];
7313
+ pending_workspace_share?: components['schemas']['PendingWorkspaceShare'] | null;
7264
7314
  };
7265
7315
  /** LogoutResponse */
7266
7316
  LogoutResponse: {
@@ -8046,6 +8096,21 @@ interface components {
8046
8096
  */
8047
8097
  SKIP_DUPLICATES: boolean;
8048
8098
  };
8099
+ /**
8100
+ * PendingWorkspaceShare
8101
+ * @description A workspace share from an invite whose Redis-deposited key expired
8102
+ * before this login, so the client must complete it itself by sending a
8103
+ * normal workspace_access_request to the inviter — the fields here are
8104
+ * exactly what that call needs (recipient + optional workspace lock).
8105
+ */
8106
+ PendingWorkspaceShare: {
8107
+ /** Workspace Ext Id */
8108
+ workspace_ext_id: string;
8109
+ /** Inviter Ext Id */
8110
+ inviter_ext_id: string;
8111
+ /** Inviter Encryption Public Key */
8112
+ inviter_encryption_public_key: string;
8113
+ };
8049
8114
  /**
8050
8115
  * PersonalAgentDetail
8051
8116
  * @description Detail for a personal_agent tool call.
@@ -15209,6 +15274,44 @@ interface operations {
15209
15274
  };
15210
15275
  };
15211
15276
  };
15277
+ inbound_email: {
15278
+ parameters: {
15279
+ query: {
15280
+ /** @description The sender (a registered human user) */
15281
+ user_email: string;
15282
+ /** @description Email subject */
15283
+ subject?: string;
15284
+ /** @description Set when the gateway received mail at a workspace-scoped address (wrk-xxxxxxxx@<deployment>) — act in that specific workspace, requesting access first if the agent isn't a member yet. */
15285
+ workspace_ext_id?: string | null;
15286
+ /** @description The inbound email's own Message-ID header, if any */
15287
+ message_id?: string;
15288
+ };
15289
+ header?: never;
15290
+ path?: never;
15291
+ cookie?: never;
15292
+ };
15293
+ requestBody?: never;
15294
+ responses: {
15295
+ /** @description Successful Response */
15296
+ 200: {
15297
+ headers: {
15298
+ [name: string]: unknown;
15299
+ };
15300
+ content: {
15301
+ 'application/json': unknown;
15302
+ };
15303
+ };
15304
+ /** @description Validation Error */
15305
+ 422: {
15306
+ headers: {
15307
+ [name: string]: unknown;
15308
+ };
15309
+ content: {
15310
+ 'application/json': components['schemas']['HTTPValidationError'];
15311
+ };
15312
+ };
15313
+ };
15314
+ };
15212
15315
  list_tasks: {
15213
15316
  parameters: {
15214
15317
  query?: never;
package/dist/index.d.ts CHANGED
@@ -2372,6 +2372,43 @@ interface paths {
2372
2372
  patch?: never;
2373
2373
  trace?: never;
2374
2374
  };
2375
+ '/v1/agents/inbound-email': {
2376
+ parameters: {
2377
+ query?: never;
2378
+ header?: never;
2379
+ path?: never;
2380
+ cookie?: never;
2381
+ };
2382
+ get?: never;
2383
+ put?: never;
2384
+ /**
2385
+ * Inbound Email
2386
+ * @description Wake the sender's Assistant on a forwarded inbound email.
2387
+ *
2388
+ * The email gateway (a ``service_account`` user) posts a received email here; we
2389
+ * run the sender's own persistent agent against it natively and email the reply
2390
+ * back. This endpoint is the trust boundary — it wakes an arbitrary user's agent,
2391
+ * which the normal parent-only DM gate would otherwise forbid — so it is gated on
2392
+ * ``get_service_account_dependency`` (the gateway's bearer JWT).
2393
+ *
2394
+ * The gateway sends ``email_body.txt`` as one file (the email text, for prompt
2395
+ * building) and, from an updated gateway, ``original.eml`` — the original raw
2396
+ * RFC822 bytes exactly as received over SMTP, every header intact — which we
2397
+ * archive verbatim instead of reconstructing a lossier copy from parsed fields.
2398
+ * Any other file is a pre-extracted attachment, forwarded by an older gateway
2399
+ * that doesn't send ``original.eml`` yet; process_inbound_email falls back to
2400
+ * using those when there's no raw copy to let the parser explode instead. We
2401
+ * read every file's bytes here (``UploadFile`` objects do not survive past the
2402
+ * response), verify the sender is known, then hand the work to a background
2403
+ * task (assistant -> workspace -> upload -> wake -> reply).
2404
+ */
2405
+ post: operations['inbound_email'];
2406
+ delete?: never;
2407
+ options?: never;
2408
+ head?: never;
2409
+ patch?: never;
2410
+ trace?: never;
2411
+ };
2375
2412
  '/v1/tasks': {
2376
2413
  parameters: {
2377
2414
  query?: never;
@@ -3262,6 +3299,14 @@ interface components {
3262
3299
  * recipient's current session (identified by this X25519 public key). The workspace
3263
3300
  * key is stored in that session's Redis entry and the workspaceusers row expires when
3264
3301
  * the session expires. Omit for a permanent grant (default behaviour).
3302
+ *
3303
+ * confirm_invite (default False): an email that isn't a registered user is never
3304
+ * invited on a call with this unset — it's silently left out of the response (same
3305
+ * as any other not-found email), so the caller can diff the response against the
3306
+ * emails it sent and ask the owner to confirm before anything is emailed. Only a
3307
+ * follow-up call with this set to true for those specific emails actually sends the
3308
+ * invite and deposits the pending workspace-share grant. Without this gate, sharing
3309
+ * would email and grant future access to a typo'd address with no chance to back out.
3265
3310
  */
3266
3311
  AddWorkspaceUsersRequest: {
3267
3312
  /** Emails */
@@ -3274,6 +3319,8 @@ interface components {
3274
3319
  workspace_ext_id?: string | null;
3275
3320
  /** Session Pubkey B64 */
3276
3321
  session_pubkey_b64?: string | null;
3322
+ /** Confirm Invite */
3323
+ confirm_invite?: boolean | null;
3277
3324
  };
3278
3325
  /**
3279
3326
  * AgentControlStateEvent
@@ -3538,7 +3585,7 @@ interface components {
3538
3585
  /**
3539
3586
  * Planning Enabled
3540
3587
  * @description Include the create_plan tool so the agent can generate a research plan when it deems a task complex enough. Plan approval is configured on PlanningLLM.
3541
- * @default false
3588
+ * @default true
3542
3589
  */
3543
3590
  PLANNING_ENABLED: boolean;
3544
3591
  /**
@@ -3556,7 +3603,7 @@ interface components {
3556
3603
  /**
3557
3604
  * Suggested Queries
3558
3605
  * @description Generate a single suggested follow-up query after each response.
3559
- * @default false
3606
+ * @default true
3560
3607
  */
3561
3608
  SUGGESTED_QUERIES: boolean;
3562
3609
  /**
@@ -3568,7 +3615,7 @@ interface components {
3568
3615
  /**
3569
3616
  * Image Enabled
3570
3617
  * @description Enable the create_image tool for generating and editing images (text→image, or editing reference images from the workspace) via a chat image model, stored as an image artifact displayed in the panel.
3571
- * @default false
3618
+ * @default true
3572
3619
  */
3573
3620
  IMAGE_ENABLED: boolean;
3574
3621
  /**
@@ -3580,7 +3627,7 @@ interface components {
3580
3627
  /**
3581
3628
  * Conversation Search Enabled
3582
3629
  * @description Enable the search_conversations tool so the agent can semantically search past conversation messages in the workspace. Independent of the user-facing conversation search feature flag (show_conversation_search).
3583
- * @default false
3630
+ * @default true
3584
3631
  */
3585
3632
  CONVERSATION_SEARCH_ENABLED: boolean;
3586
3633
  /**
@@ -3592,7 +3639,7 @@ interface components {
3592
3639
  /**
3593
3640
  * Facts Enabled
3594
3641
  * @description Workspace facts are readable AND writable by the agent: pinned core facts are injected into the prompt, and the agent gets the search_facts (recall) and create_fact (write) tools.
3595
- * @default false
3642
+ * @default true
3596
3643
  */
3597
3644
  FACTS_ENABLED: boolean;
3598
3645
  /**
@@ -3758,7 +3805,7 @@ interface components {
3758
3805
  * - Bold text for critical conclusions or decision points
3759
3806
  *
3760
3807
  * TOOL CALLING:
3761
- * - Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress.
3808
+ * - Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress. If the question touches a workspace document, always check the source — never answer from a past turn's reply alone.
3762
3809
  * - Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.
3763
3810
  *
3764
3811
  * EFFICIENCY:
@@ -3805,7 +3852,7 @@ interface components {
3805
3852
  /**
3806
3853
  * Planning Enabled
3807
3854
  * @description Include the create_plan tool so the agent can generate a research plan when it deems a task complex enough. Plan approval is configured on PlanningLLM.
3808
- * @default false
3855
+ * @default true
3809
3856
  */
3810
3857
  PLANNING_ENABLED: boolean;
3811
3858
  /**
@@ -3823,7 +3870,7 @@ interface components {
3823
3870
  /**
3824
3871
  * Suggested Queries
3825
3872
  * @description Generate a single suggested follow-up query after each response.
3826
- * @default false
3873
+ * @default true
3827
3874
  */
3828
3875
  SUGGESTED_QUERIES: boolean;
3829
3876
  /**
@@ -3835,7 +3882,7 @@ interface components {
3835
3882
  /**
3836
3883
  * Image Enabled
3837
3884
  * @description Enable the create_image tool for generating and editing images (text→image, or editing reference images from the workspace) via a chat image model, stored as an image artifact displayed in the panel.
3838
- * @default false
3885
+ * @default true
3839
3886
  */
3840
3887
  IMAGE_ENABLED: boolean;
3841
3888
  /**
@@ -3847,13 +3894,13 @@ interface components {
3847
3894
  /**
3848
3895
  * Conversation Search Enabled
3849
3896
  * @description Enable the search_conversations tool so the agent can semantically search past conversation messages in the workspace. Independent of the user-facing conversation search feature flag (show_conversation_search).
3850
- * @default false
3897
+ * @default true
3851
3898
  */
3852
3899
  CONVERSATION_SEARCH_ENABLED: boolean;
3853
3900
  /**
3854
3901
  * Facts Enabled
3855
3902
  * @description Workspace facts are readable AND writable by the agent: pinned core facts are injected into the prompt, and the agent gets the search_facts (recall) and create_fact (write) tools.
3856
- * @default false
3903
+ * @default true
3857
3904
  */
3858
3905
  FACTS_ENABLED: boolean;
3859
3906
  /**
@@ -3931,16 +3978,16 @@ interface components {
3931
3978
  * "WEB_SEARCH_ENABLED": true,
3932
3979
  * "RUN_CODE_ENABLED": true,
3933
3980
  * "MCP_TOOLS": [],
3934
- * "PLANNING_ENABLED": false,
3981
+ * "PLANNING_ENABLED": true,
3935
3982
  * "DEEP_RESEARCH_ENABLED": true,
3936
3983
  * "SUBAGENTS_ENABLED": true,
3937
- * "SUGGESTED_QUERIES": false,
3984
+ * "SUGGESTED_QUERIES": true,
3938
3985
  * "ARTIFACTS_ENABLED": false,
3939
- * "IMAGE_ENABLED": false,
3986
+ * "IMAGE_ENABLED": true,
3940
3987
  * "VISION_ENABLED": false,
3941
- * "CONVERSATION_SEARCH_ENABLED": false,
3988
+ * "CONVERSATION_SEARCH_ENABLED": true,
3942
3989
  * "PERSONAL_AGENT": false,
3943
- * "FACTS_ENABLED": false,
3990
+ * "FACTS_ENABLED": true,
3944
3991
  * "PERSIST_LEARNINGS": false,
3945
3992
  * "SKILLS_ENABLED": false,
3946
3993
  * "SKILL_CREATION": false,
@@ -3962,7 +4009,7 @@ interface components {
3962
4009
  * "AGENT_MAX_RUN_TOKENS": 1500000,
3963
4010
  * "AGENT_MAX_SUBAGENT_SPAWNS": 4,
3964
4011
  * "AGENT_HISTORY_CHAR_THRESHOLD": 8000,
3965
- * "AGENT_SYSTEM_PROMPT": "Answer any question the user asks. You have access to workspace documents — use them when relevant. When no documents are relevant, answer from your own knowledge. Always provide a helpful answer.\n\nWhen using documents, retrieve actual document content — do not rely on metadata or headings alone. Cross-check information across sources. Not all assertions in sources are factual — some are arguments by a party. Attribute claims to their source where parties disagree.\n\nDOCUMENT INDEX:\nThe \"Workspace Documents\" table in your system prompt lists every document with its Id, Title, Date, and Pages. The Subject field is a brief navigation label only — it does not contain enough information to answer questions about a document's content. Use this table directly when the user asks to list, catalogue, or tabulate documents — do NOT call any tools for that. Only use tools when you need to read or search document content.\n\nREADING TOOL RESULTS:\nEvery retrieval result opens with a CAPTION line naming the call that produced it, what it contains, and what it does not (for example \"FULL CONTENT … complete verbatim text, all 10 pages\" or \"DIGEST … verbatim page text is NOT part of this result\"). The caption also tells you when you already retrieved that material earlier in this turn. Read it before choosing your next call — it is the record of what you already hold.\n\nDOCUMENT STRATEGY, in order:\n1. Listing or cataloguing documents: use the document index already in your prompt — no tool calls needed.\n2. Getting oriented in a document you have not read: call get_table_of_contents FIRST. It is cheap, returns the heading structure with page references, and tells you which pages actually matter. Do this before any read_document on a document longer than a few pages, rather than reading blind and then discovering the structure.\n3. Specific questions across several documents: search_inside_documents to locate the passages, then read_document on the pages it points to.\n4. Reading a document: read_document with page ranges for the sections you need, or with no ranges to load the complete text. A read with no ranges returns the WHOLE document — once you have it there is nothing further to retrieve from that document. Do not read it again, do not re-read ranges out of it, and do not ask for its outline afterwards.\n5. Prefer digest=true from the outset. It is the normal retrieval mode: findings with citations, compact context. Decide against it only when the task needs the exact words — translation, quotation, close reading of style or drafting. Choosing digest=false IS that decision, and it is final for that document: digest is a way of retrieving, not a way of processing text you already hold, so once you have loaded a document in full a digest of it is refused. Reason over the text you have.\n6. Open-ended investigative queries (\"find interesting things\", \"what's notable\", \"what stands out\", \"explore X\", \"what should I know about\", \"any findings\", \"anything unusual\", \"key insights\"): ALWAYS call search_inside_documents with multiple diverse queries covering different aspects of the documents before answering. The document index is never sufficient for investigative answers — you must retrieve actual content.\n7. Never search for meta-queries like \"summary\", \"overview\", or \"all documents\" — search for the actual subject matter.\n\nFORMATTING:\n- Start your answer directly with the content.\n- Use markdown: headings, bold, bullet points, numbered lists\n- Main conclusion first, followed by supporting points\n- Bullet points for lists of discrete items\n- Numbering for sequential steps or prioritized items\n- Bold text for critical conclusions or decision points\n\nTOOL CALLING:\n- Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress.\n- Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.\n\nEFFICIENCY:\n1. Before each step, review the results of prior steps. Adapt your approach based on what you learned — if a call was rejected or returned poor results, adjust your strategy.\n2. Call multiple tools in parallel when a query has several aspects.\n3. NEVER repeat a tool call with the same arguments, and never re-retrieve material you already hold — the caption on each result tells you what that is.\n4. Use targeted queries and narrow page ranges per retrieval call.\n5. Stop when you have sufficient evidence — do not over-research."
4012
+ * "AGENT_SYSTEM_PROMPT": "Answer any question the user asks. You have access to workspace documents — use them when relevant. When no documents are relevant, answer from your own knowledge. Always provide a helpful answer.\n\nWhen using documents, retrieve actual document content — do not rely on metadata or headings alone. Cross-check information across sources. Not all assertions in sources are factual — some are arguments by a party. Attribute claims to their source where parties disagree.\n\nDOCUMENT INDEX:\nThe \"Workspace Documents\" table in your system prompt lists every document with its Id, Title, Date, and Pages. The Subject field is a brief navigation label only — it does not contain enough information to answer questions about a document's content. Use this table directly when the user asks to list, catalogue, or tabulate documents — do NOT call any tools for that. Only use tools when you need to read or search document content.\n\nREADING TOOL RESULTS:\nEvery retrieval result opens with a CAPTION line naming the call that produced it, what it contains, and what it does not (for example \"FULL CONTENT … complete verbatim text, all 10 pages\" or \"DIGEST … verbatim page text is NOT part of this result\"). The caption also tells you when you already retrieved that material earlier in this turn. Read it before choosing your next call — it is the record of what you already hold.\n\nDOCUMENT STRATEGY, in order:\n1. Listing or cataloguing documents: use the document index already in your prompt — no tool calls needed.\n2. Getting oriented in a document you have not read: call get_table_of_contents FIRST. It is cheap, returns the heading structure with page references, and tells you which pages actually matter. Do this before any read_document on a document longer than a few pages, rather than reading blind and then discovering the structure.\n3. Specific questions across several documents: search_inside_documents to locate the passages, then read_document on the pages it points to.\n4. Reading a document: read_document with page ranges for the sections you need, or with no ranges to load the complete text. A read with no ranges returns the WHOLE document — once you have it there is nothing further to retrieve from that document. Do not read it again, do not re-read ranges out of it, and do not ask for its outline afterwards.\n5. Prefer digest=true from the outset. It is the normal retrieval mode: findings with citations, compact context. Decide against it only when the task needs the exact words — translation, quotation, close reading of style or drafting. Choosing digest=false IS that decision, and it is final for that document: digest is a way of retrieving, not a way of processing text you already hold, so once you have loaded a document in full a digest of it is refused. Reason over the text you have.\n6. Open-ended investigative queries (\"find interesting things\", \"what's notable\", \"what stands out\", \"explore X\", \"what should I know about\", \"any findings\", \"anything unusual\", \"key insights\"): ALWAYS call search_inside_documents with multiple diverse queries covering different aspects of the documents before answering. The document index is never sufficient for investigative answers — you must retrieve actual content.\n7. Never search for meta-queries like \"summary\", \"overview\", or \"all documents\" — search for the actual subject matter.\n\nFORMATTING:\n- Start your answer directly with the content.\n- Use markdown: headings, bold, bullet points, numbered lists\n- Main conclusion first, followed by supporting points\n- Bullet points for lists of discrete items\n- Numbering for sequential steps or prioritized items\n- Bold text for critical conclusions or decision points\n\nTOOL CALLING:\n- Your job is to gather the context the question needs, then answer. Do not give a final answer while there is relevant context you have not yet retrieved — but material already in your context counts as retrieved, and fetching it a second time is not progress. If the question touches a workspace document, always check the source — never answer from a past turn's reply alone.\n- Always invoke tools using the tool-calling mechanism. Say what a call is doing in its `focus` argument.\n\nEFFICIENCY:\n1. Before each step, review the results of prior steps. Adapt your approach based on what you learned — if a call was rejected or returned poor results, adjust your strategy.\n2. Call multiple tools in parallel when a query has several aspects.\n3. NEVER repeat a tool call with the same arguments, and never re-retrieve material you already hold — the caption on each result tells you what that is.\n4. Use targeted queries and narrow page ranges per retrieval call.\n5. Stop when you have sufficient evidence — do not over-research."
3966
4013
  * }
3967
4014
  */
3968
4015
  Agents: components['schemas']['AgentsConfig'];
@@ -5307,6 +5354,8 @@ interface components {
5307
5354
  status: 'invitation_pending' | 'invitation_expired' | 'registered' | 'failed';
5308
5355
  /** Created At */
5309
5356
  created_at: string;
5357
+ /** Shared Workspace Ext Id */
5358
+ shared_workspace_ext_id?: string | null;
5310
5359
  /** Outcome */
5311
5360
  outcome?: ('invited' | 'reinvited' | 'not_resent_still_pending' | 'contact_added' | 'already_contact' | 'failed') | null;
5312
5361
  /** Outcome Detail */
@@ -7261,6 +7310,7 @@ interface components {
7261
7310
  workspaces: {
7262
7311
  [key: string]: unknown;
7263
7312
  }[];
7313
+ pending_workspace_share?: components['schemas']['PendingWorkspaceShare'] | null;
7264
7314
  };
7265
7315
  /** LogoutResponse */
7266
7316
  LogoutResponse: {
@@ -8046,6 +8096,21 @@ interface components {
8046
8096
  */
8047
8097
  SKIP_DUPLICATES: boolean;
8048
8098
  };
8099
+ /**
8100
+ * PendingWorkspaceShare
8101
+ * @description A workspace share from an invite whose Redis-deposited key expired
8102
+ * before this login, so the client must complete it itself by sending a
8103
+ * normal workspace_access_request to the inviter — the fields here are
8104
+ * exactly what that call needs (recipient + optional workspace lock).
8105
+ */
8106
+ PendingWorkspaceShare: {
8107
+ /** Workspace Ext Id */
8108
+ workspace_ext_id: string;
8109
+ /** Inviter Ext Id */
8110
+ inviter_ext_id: string;
8111
+ /** Inviter Encryption Public Key */
8112
+ inviter_encryption_public_key: string;
8113
+ };
8049
8114
  /**
8050
8115
  * PersonalAgentDetail
8051
8116
  * @description Detail for a personal_agent tool call.
@@ -15209,6 +15274,44 @@ interface operations {
15209
15274
  };
15210
15275
  };
15211
15276
  };
15277
+ inbound_email: {
15278
+ parameters: {
15279
+ query: {
15280
+ /** @description The sender (a registered human user) */
15281
+ user_email: string;
15282
+ /** @description Email subject */
15283
+ subject?: string;
15284
+ /** @description Set when the gateway received mail at a workspace-scoped address (wrk-xxxxxxxx@<deployment>) — act in that specific workspace, requesting access first if the agent isn't a member yet. */
15285
+ workspace_ext_id?: string | null;
15286
+ /** @description The inbound email's own Message-ID header, if any */
15287
+ message_id?: string;
15288
+ };
15289
+ header?: never;
15290
+ path?: never;
15291
+ cookie?: never;
15292
+ };
15293
+ requestBody?: never;
15294
+ responses: {
15295
+ /** @description Successful Response */
15296
+ 200: {
15297
+ headers: {
15298
+ [name: string]: unknown;
15299
+ };
15300
+ content: {
15301
+ 'application/json': unknown;
15302
+ };
15303
+ };
15304
+ /** @description Validation Error */
15305
+ 422: {
15306
+ headers: {
15307
+ [name: string]: unknown;
15308
+ };
15309
+ content: {
15310
+ 'application/json': components['schemas']['HTTPValidationError'];
15311
+ };
15312
+ };
15313
+ };
15314
+ };
15212
15315
  list_tasks: {
15213
15316
  parameters: {
15214
15317
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbidocs/client",
3
- "version": "0.3.157",
3
+ "version": "0.3.159",
4
4
  "description": "TypeScript SDK for the ARBI API — zero-knowledge auth, E2E encryption, and type-safe REST client",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",