@arbidocs/client 0.3.138 → 0.3.140

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.
Files changed (3) hide show
  1. package/dist/index.d.cts +282 -199
  2. package/dist/index.d.ts +282 -199
  3. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1942,7 +1942,7 @@ interface paths {
1942
1942
  patch: operations['update_tag'];
1943
1943
  trace?: never;
1944
1944
  };
1945
- '/v1/memory/': {
1945
+ '/v1/notes/': {
1946
1946
  parameters: {
1947
1947
  query?: never;
1948
1948
  header?: never;
@@ -1952,17 +1952,17 @@ interface paths {
1952
1952
  get?: never;
1953
1953
  put?: never;
1954
1954
  /**
1955
- * Create Memory Endpoint
1956
- * @description Create a memory in the active workspace.
1955
+ * Create Note Endpoint
1956
+ * @description Create a note in the active workspace.
1957
1957
  */
1958
- post: operations['create_memory'];
1958
+ post: operations['create_note'];
1959
1959
  delete?: never;
1960
1960
  options?: never;
1961
1961
  head?: never;
1962
1962
  patch?: never;
1963
1963
  trace?: never;
1964
1964
  };
1965
- '/v1/memory/list': {
1965
+ '/v1/notes/list': {
1966
1966
  parameters: {
1967
1967
  query?: never;
1968
1968
  header?: never;
@@ -1970,10 +1970,10 @@ interface paths {
1970
1970
  cookie?: never;
1971
1971
  };
1972
1972
  /**
1973
- * List Memories Endpoint
1974
- * @description List memories visible in the active workspace (newest first).
1973
+ * List Notes Endpoint
1974
+ * @description List notes visible in the active workspace (newest first).
1975
1975
  */
1976
- get: operations['list_memories'];
1976
+ get: operations['list_notes'];
1977
1977
  put?: never;
1978
1978
  post?: never;
1979
1979
  delete?: never;
@@ -1982,7 +1982,7 @@ interface paths {
1982
1982
  patch?: never;
1983
1983
  trace?: never;
1984
1984
  };
1985
- '/v1/memory/search': {
1985
+ '/v1/notes/search': {
1986
1986
  parameters: {
1987
1987
  query?: never;
1988
1988
  header?: never;
@@ -1992,17 +1992,17 @@ interface paths {
1992
1992
  get?: never;
1993
1993
  put?: never;
1994
1994
  /**
1995
- * Search Memories Endpoint
1996
- * @description Hybrid recall over the workspace's memories.
1995
+ * Search Notes Endpoint
1996
+ * @description Hybrid recall over the workspace's notes.
1997
1997
  */
1998
- post: operations['search_memories'];
1998
+ post: operations['search_notes'];
1999
1999
  delete?: never;
2000
2000
  options?: never;
2001
2001
  head?: never;
2002
2002
  patch?: never;
2003
2003
  trace?: never;
2004
2004
  };
2005
- '/v1/memory/{memory_ext_id}': {
2005
+ '/v1/notes/{note_ext_id}': {
2006
2006
  parameters: {
2007
2007
  query?: never;
2008
2008
  header?: never;
@@ -2013,17 +2013,17 @@ interface paths {
2013
2013
  put?: never;
2014
2014
  post?: never;
2015
2015
  /**
2016
- * Delete Memory Endpoint
2017
- * @description Soft-delete a memory. RLS governs permission; a blocked delete returns 403.
2016
+ * Delete Note Endpoint
2017
+ * @description Soft-delete a note. RLS governs permission; a blocked delete returns 403.
2018
2018
  */
2019
- delete: operations['delete_memory'];
2019
+ delete: operations['delete_note'];
2020
2020
  options?: never;
2021
2021
  head?: never;
2022
2022
  /**
2023
- * Update Memory Endpoint
2024
- * @description Patch a memory. A content edit replaces it (append + soft-delete); pin/share toggle in place.
2023
+ * Update Note Endpoint
2024
+ * @description Patch a note. A content edit replaces it (append + soft-delete); pin/share toggle in place.
2025
2025
  */
2026
- patch: operations['update_memory'];
2026
+ patch: operations['update_note'];
2027
2027
  trace?: never;
2028
2028
  };
2029
2029
  '/v1/notifications/ws-schemas': {
@@ -3376,6 +3376,11 @@ interface components {
3376
3376
  * @description Per-step token cost (input + output + reasoning) for the LLM call that produced this step.
3377
3377
  */
3378
3378
  step_tokens?: number | null;
3379
+ /**
3380
+ * Step Credits
3381
+ * @description This step's own AI-credit cost, priced from cached model pricing — an estimate, not the authoritative LiteLLM cost (which is captured once per call into the turn-level ledger total, not correlated back to a specific step).
3382
+ */
3383
+ step_credits?: number | null;
3379
3384
  /** @description Token budget context snapshot. Present when retrieval counts change. */
3380
3385
  context?: components['schemas']['TokenBudgetContext'] | null;
3381
3386
  /**
@@ -3500,14 +3505,14 @@ interface components {
3500
3505
  */
3501
3506
  PERSONAL_AGENT: boolean;
3502
3507
  /**
3503
- * Memory Enabled
3504
- * @description Workspace memory is readable AND writable by the agent: pinned core memories are injected into the prompt, and the agent gets the memory_search (recall) and memory_update (write) tools.
3508
+ * Notes Enabled
3509
+ * @description Workspace memory is readable AND writable by the agent: pinned core memories are injected into the prompt, and the agent gets the note_search (recall) and note_update (write) tools.
3505
3510
  * @default false
3506
3511
  */
3507
- MEMORY_ENABLED: boolean;
3512
+ NOTES_ENABLED: boolean;
3508
3513
  /**
3509
3514
  * Persist Learnings
3510
- * @description After each turn, the curator consolidates this turn's learnings into durable memories (dedupe + supersede). Independent of MEMORY_ENABLED.
3515
+ * @description After each turn, the curator consolidates this turn's learnings into durable memories (dedupe + supersede). Independent of NOTES_ENABLED.
3511
3516
  * @default false
3512
3517
  */
3513
3518
  PERSIST_LEARNINGS: boolean;
@@ -3536,7 +3541,7 @@ interface components {
3536
3541
  ENABLED_SKILLS?: string[] | null;
3537
3542
  /**
3538
3543
  * Memory Creation
3539
- * @description Transient flag set by /setup command to enable the save_memory agent tool (authors the per-workspace practice-profile memory document).
3544
+ * @description Transient flag set by /setup command to enable the save_profile agent tool (authors the per-workspace practice-profile memory document).
3540
3545
  * @default false
3541
3546
  */
3542
3547
  MEMORY_CREATION: boolean;
@@ -3601,6 +3606,12 @@ interface components {
3601
3606
  * @default 20
3602
3607
  */
3603
3608
  AGENT_MAX_ITERATIONS: number;
3609
+ /**
3610
+ * Agent Turn Credit Budget
3611
+ * @description Maximum AI credits (1 credit = $0.01) a turn may spend, shared across the main agent and every deep_research/run_code/sub_agent child it spawns — priced per call using each call's own model, since different stages run different models. Agents get a heads-up in their own scratchpad at 50% and 90% so they can wrap up before being forced to answer with what they have. Default is half FREE_AI_CREDITS (100) — a free account's entire grant, so one turn can't consume it all. 0 = uncapped.
3612
+ * @default 50
3613
+ */
3614
+ AGENT_TURN_CREDIT_BUDGET: number;
3604
3615
  /**
3605
3616
  * Agent Max Parallel Tool Calls
3606
3617
  * @description Maximum number of tool calls the agent can make in a single iteration. Extra calls beyond this limit are silently dropped.
@@ -3737,14 +3748,14 @@ interface components {
3737
3748
  */
3738
3749
  CONVERSATION_SEARCH_ENABLED: boolean;
3739
3750
  /**
3740
- * Memory Enabled
3741
- * @description Workspace memory is readable AND writable by the agent: pinned core memories are injected into the prompt, and the agent gets the memory_search (recall) and memory_update (write) tools.
3751
+ * Notes Enabled
3752
+ * @description Workspace memory is readable AND writable by the agent: pinned core memories are injected into the prompt, and the agent gets the note_search (recall) and note_update (write) tools.
3742
3753
  * @default false
3743
3754
  */
3744
- MEMORY_ENABLED: boolean;
3755
+ NOTES_ENABLED: boolean;
3745
3756
  /**
3746
3757
  * Persist Learnings
3747
- * @description After each turn, the curator consolidates this turn's learnings into durable memories (dedupe + supersede). Independent of MEMORY_ENABLED.
3758
+ * @description After each turn, the curator consolidates this turn's learnings into durable memories (dedupe + supersede). Independent of NOTES_ENABLED.
3748
3759
  * @default false
3749
3760
  */
3750
3761
  PERSIST_LEARNINGS: boolean;
@@ -3801,6 +3812,12 @@ interface components {
3801
3812
  * @default 20
3802
3813
  */
3803
3814
  AGENT_MAX_ITERATIONS: number;
3815
+ /**
3816
+ * Agent Turn Credit Budget
3817
+ * @description Maximum AI credits (1 credit = $0.01) a turn may spend, shared across the main agent and every deep_research/run_code/sub_agent child it spawns — priced per call using each call's own model, since different stages run different models. Agents get a heads-up in their own scratchpad at 50% and 90% so they can wrap up before being forced to answer with what they have. Default is half FREE_AI_CREDITS (100) — a free account's entire grant, so one turn can't consume it all. 0 = uncapped.
3818
+ * @default 50
3819
+ */
3820
+ AGENT_TURN_CREDIT_BUDGET: number;
3804
3821
  };
3805
3822
  /** AllConfigs */
3806
3823
  AllConfigs: {
@@ -3820,7 +3837,7 @@ interface components {
3820
3837
  * "VISION_ENABLED": false,
3821
3838
  * "CONVERSATION_SEARCH_ENABLED": false,
3822
3839
  * "PERSONAL_AGENT": false,
3823
- * "MEMORY_ENABLED": false,
3840
+ * "NOTES_ENABLED": false,
3824
3841
  * "PERSIST_LEARNINGS": false,
3825
3842
  * "SKILLS_ENABLED": false,
3826
3843
  * "SKILL_CREATION": false,
@@ -3836,6 +3853,7 @@ interface components {
3836
3853
  * "ENABLE_THINKING": false,
3837
3854
  * "AGENT_STRICT_TOOL_CALLS": true,
3838
3855
  * "AGENT_MAX_ITERATIONS": 20,
3856
+ * "AGENT_TURN_CREDIT_BUDGET": 50,
3839
3857
  * "AGENT_MAX_PARALLEL_TOOL_CALLS": 10,
3840
3858
  * "AGENT_HISTORY_CHAR_THRESHOLD": 8000,
3841
3859
  * "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\nIMPORTANT: Never say \"I don't have information in the available documents\" or refuse to answer. If documents are not relevant, just answer the question directly from your own knowledge. If the user asks about a specific workspace document, call read_document or get_table_of_contents — never answer from memory.\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\nDOCUMENT STRATEGY:\n- For listing/cataloguing documents: use the document index already in your prompt — no tool calls needed.\n- For overview/summary requests: use get_table_of_contents first, then read key sections with read_document.\n- For specific questions: use search_inside_documents to find relevant sections, then read those sections with read_document.\n- For translation, deep analysis, or detailed summaries of a single document: use read_document with no ranges to load the complete text.\n- For extracting structured findings from passages: use read_document with digest=true or search_inside_documents with digest=true.\n- For 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.\n- 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 — never open with a description of what you searched for or read (e.g. never write \"Searching for X\", \"Reading Y\", \"I found Z documents\" as the first lines of an answer).\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 context by calling tools, then answer only once every reasonable tool call has been made. Do not give a final answer while there is still relevant context you could retrieve.\n- Always invoke tools using the tool-calling mechanism. NEVER write text that describes or simulates a tool call (e.g. never write \"Searching for X...\", \"Reading document Y...\", \"Calling search_inside_documents\" as prose — actually call the tool).\n- If you intend to search or read, issue the tool call immediately. Do not narrate your intent first.\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.\n4. Use targeted queries and narrow page ranges per retrieval call.\n5. Stop when you have sufficient evidence — do not over-research."
@@ -3973,7 +3991,6 @@ interface components {
3973
3991
  * "API_TYPE": "remote",
3974
3992
  * "ENABLE_THINKING": false,
3975
3993
  * "MODEL_NAME": "Wise",
3976
- * "SYSTEM_INSTRUCTION": "You are a knowledge synthesizer. You receive the full agent scratchpad from a completed conversation and decide what, if anything, is worth saving.\n\n## Work Product Types\n- **\"memory\"**: Facts, findings, reference data — for *looking up* information.\n- **\"skill\"**: Procedures, workflows, step-by-step instructions — for *doing* something.\n\nWhen ambiguous, default to memory.\n\n## Rules\n- Return an empty work_products array if the conversation is trivial or produced nothing substantive.\n- Each work product must cover ONE coherent topic. Never combine disparate subjects into a single document — create separate documents for each distinct topic.\n- Ground everything in the provided context. Do not invent information.\n- Be concise. These are reference documents, not essays.\n\n## Output Format\nJSON with a `work_products` array. Each item has `wp_type`, `title`, and `content` (markdown).\n\nMemory content: `# Title`, date, source, key findings as bullets, source documents.\nSkill content: `# Title`, prerequisites, numbered steps, when to apply.",
3977
3994
  * "TEMPERATURE": 0.3,
3978
3995
  * "MAX_TOKENS": 0,
3979
3996
  * "MAX_TOKEN_CONTEXT": 200000,
@@ -4033,8 +4050,7 @@ interface components {
4033
4050
  * "MODEL_NAME": "Premium",
4034
4051
  * "SYSTEM_INSTRUCTION": "You are a code execution agent. You write and run code to accomplish tasks.\n\nYou have access to an execute_code tool that runs code in a sandboxed Docker container.\n\nThe sandbox has:\n- Python 3.12 with numpy, pandas, matplotlib, requests, beautifulsoup4,\n httpx, pillow, sympy, pyyaml (plus uv for installing more)\n- Node.js 22 with TypeScript (ts-node) and npm\n- Bash with git, curl, wget, jq, sqlite3, build-essential\n- Network access (can pip/npm install additional packages)\n\nInstructions:\n1. Write clean, correct code to accomplish the user's task\n2. Always call execute_code to run your code — never guess the output\n3. If execution errors, analyze the traceback, fix the code, and retry\n4. Once you have the correct output, respond with ONLY the final result\n\nKeep code simple and direct. Prefer Python unless the task specifically requires another language.",
4035
4052
  * "TEMPERATURE": 0.2,
4036
- * "MAX_TOKENS": 0,
4037
- * "MAX_ITERATIONS": 3
4053
+ * "MAX_TOKENS": 0
4038
4054
  * }
4039
4055
  */
4040
4056
  CodeAgent: components['schemas']['CodeAgentConfig'];
@@ -4101,7 +4117,7 @@ interface components {
4101
4117
  * },
4102
4118
  * "MAX_CONCURRENT_REQUESTS": 256,
4103
4119
  * "MODEL_NAME": "Qwen/Qwen3-Reranker-0.6B",
4104
- * "API_TYPE": "local",
4120
+ * "API_TYPE": "remote",
4105
4121
  * "RETRIEVAL_INSTRUCTION": "Judge whether the passage contains the specific facts, figures, names, or references mentioned in the query. Only answer yes if the passage directly contains these details"
4106
4122
  * }
4107
4123
  */
@@ -4122,7 +4138,7 @@ interface components {
4122
4138
  /**
4123
4139
  * @default {
4124
4140
  * "MODEL_NAME": "Qwen/Qwen3-Embedding-0.6B",
4125
- * "API_TYPE": "local",
4141
+ * "API_TYPE": "remote",
4126
4142
  * "BATCH_SIZE": 128,
4127
4143
  * "MAX_CONCURRENT_REQUESTS": 256,
4128
4144
  * "DOCUMENT_PREFIX": "",
@@ -4242,6 +4258,11 @@ interface components {
4242
4258
  * @description The agent's own words for what this item is doing.
4243
4259
  */
4244
4260
  focus?: string | null;
4261
+ /**
4262
+ * Content
4263
+ * @description Extended text a one-line focus can't carry — e.g. a sub-agent spawn marker's own task description, or a planning step's checklist.
4264
+ */
4265
+ content?: string | null;
4245
4266
  /**
4246
4267
  * Detail
4247
4268
  * @description Enriched tool-call display shape (resolved summary, page ranges, digest flags) — richer than the raw `arguments` JSON, for the trace UI. One entry per call on a function_call item.
@@ -4261,6 +4282,11 @@ interface components {
4261
4282
  * @description Per-item token cost.
4262
4283
  */
4263
4284
  step_tokens?: number | null;
4285
+ /**
4286
+ * Step Credits
4287
+ * @description This item's own AI-credit cost, priced from cached model pricing for its usage — not the authoritative LiteLLM cost (that's captured once per call into the turn-level ledger, not correlated back to a specific step). An estimate for relative step-to-step cost while streaming.
4288
+ */
4289
+ step_credits?: number | null;
4264
4290
  /**
4265
4291
  * Total Tokens
4266
4292
  * @description Cumulative tokens across the response so far.
@@ -4647,7 +4673,14 @@ interface components {
4647
4673
  };
4648
4674
  /**
4649
4675
  * CitationData
4650
- * @description Data for a single citation - shared by DocTags and ModelCitationTool.
4676
+ * @description Data for a single citation — one statement anchored inside a longer text.
4677
+ *
4678
+ * Used by ModelCitationTool for assistant answers, where a multi-paragraph
4679
+ * reply makes many separate claims and each needs its own span + sources so
4680
+ * the client can render inline, per-claim citation markers.
4681
+ *
4682
+ * Grounded *notes* (memories, DocTags) do NOT use this — see
4683
+ * :class:`CitationSources`.
4651
4684
  */
4652
4685
  CitationData: {
4653
4686
  /** Chunk Ids */
@@ -4664,6 +4697,51 @@ interface components {
4664
4697
  /** Offset End */
4665
4698
  offset_end: number;
4666
4699
  };
4700
+ /**
4701
+ * CitationSources
4702
+ * @description Flat provenance for a grounded note: the passages that back it.
4703
+ *
4704
+ * A note or a DocTag answers ONE question, so the per-statement
4705
+ * :class:`CitationData` map it used to carry was almost entirely redundant —
4706
+ * the ``statement`` duplicated the note text and the offsets spanned it end to
4707
+ * end. All a reader needs is *which passages support this*, best-first.
4708
+ *
4709
+ * One object per passage, deliberately, rather than parallel arrays: document
4710
+ * and page belong to a specific chunk, and keeping them together removes any
4711
+ * alignment invariant to maintain. Everything a client renders derives from
4712
+ * this single list — document pills by deduping ``doc_ext_id``, page ranges by
4713
+ * grouping on it — so there is exactly one way to express provenance.
4714
+ *
4715
+ * Rerank scores are NOT stored. Nothing ever read them back, and a score is
4716
+ * not comparable across reranker versions, so persisting one would imply a
4717
+ * precision it does not have. Order carries the only durable signal.
4718
+ *
4719
+ * Holds no document text, so it is **plaintext at rest** — chunk and doc ext
4720
+ * ids are opaque identifiers, and the passage content behind them stays
4721
+ * SecretBox-encrypted in Qdrant.
4722
+ */
4723
+ CitationSources: {
4724
+ /** Passages */
4725
+ passages: components['schemas']['CitedPassage'][];
4726
+ };
4727
+ /**
4728
+ * CitedPassage
4729
+ * @description One passage backing a grounded note, with enough to render it.
4730
+ *
4731
+ * ``doc_ext_id`` is captured at grounding time from the chunk's metadata so a
4732
+ * client can show the source as a document pill without resolving every chunk
4733
+ * against Qdrant first. It is optional only because citations written before
4734
+ * that capture existed carry the chunk alone — a missing value means "not
4735
+ * recorded", never "no document" (every chunk belongs to exactly one).
4736
+ */
4737
+ CitedPassage: {
4738
+ /** Chunk Id */
4739
+ chunk_id: string;
4740
+ /** Doc Ext Id */
4741
+ doc_ext_id?: string | null;
4742
+ /** Page */
4743
+ page?: number | null;
4744
+ };
4667
4745
  /**
4668
4746
  * CodeAgentConfig
4669
4747
  * @description Configuration for CodeAgent — sub-agent that writes and executes code via sandbox.
@@ -4722,12 +4800,6 @@ interface components {
4722
4800
  * @default 0
4723
4801
  */
4724
4802
  MAX_TOKENS: number;
4725
- /**
4726
- * Max Iterations
4727
- * @description Maximum code-execute-fix retry cycles.
4728
- * @default 3
4729
- */
4730
- MAX_ITERATIONS: number;
4731
4803
  };
4732
4804
  /**
4733
4805
  * CommandDescriptorResponse
@@ -5389,18 +5461,15 @@ interface components {
5389
5461
  doc_ext_ids: string[];
5390
5462
  /** Note */
5391
5463
  note?: string | null;
5392
- /** Citations */
5393
- citations?: {
5394
- [key: string]: components['schemas']['CitationData'];
5395
- } | null;
5464
+ citations?: components['schemas']['CitationSources'] | null;
5396
5465
  };
5397
5466
  /**
5398
- * CreateMemoryRequest
5399
- * @description Create a memory in the active workspace.
5467
+ * CreateNoteRequest
5468
+ * @description Create a note in the active workspace.
5400
5469
  */
5401
- CreateMemoryRequest: {
5402
- /** Note */
5403
- note: string;
5470
+ CreateNoteRequest: {
5471
+ /** Text */
5472
+ text: string;
5404
5473
  /**
5405
5474
  * Pinned
5406
5475
  * @default false
@@ -5417,6 +5486,14 @@ interface components {
5417
5486
  * @enum {string}
5418
5487
  */
5419
5488
  source: 'manual' | 'learning' | 'curator';
5489
+ /** Note Date */
5490
+ note_date?: string | null;
5491
+ /**
5492
+ * Tag Ext Ids
5493
+ * @default []
5494
+ */
5495
+ tag_ext_ids: string[];
5496
+ citations?: components['schemas']['CitationSources'] | null;
5420
5497
  };
5421
5498
  /**
5422
5499
  * CreatePlanDetail
@@ -5752,15 +5829,13 @@ interface components {
5752
5829
  * @description Response for doctag operations - the link between a document and a tag.
5753
5830
  *
5754
5831
  * ``note`` + ``citations`` are inherited from :class:`GroundedText` (the shared
5755
- * grounded-text payload a DocTag note and a memory both carry).
5832
+ * grounded-text payload a DocTag note and a memory both carry) — free text plus
5833
+ * the source passages backing it.
5756
5834
  */
5757
5835
  DocTagResponse: {
5758
5836
  /** Note */
5759
5837
  note?: string | null;
5760
- /** Citations */
5761
- citations?: {
5762
- [key: string]: components['schemas']['CitationData'];
5763
- } | null;
5838
+ citations?: components['schemas']['CitationSources'] | null;
5764
5839
  /** Doc Ext Id */
5765
5840
  doc_ext_id: string;
5766
5841
  /** Tag Ext Id */
@@ -6082,7 +6157,7 @@ interface components {
6082
6157
  /**
6083
6158
  * Api Type
6084
6159
  * @description The inference type (local or remote).
6085
- * @default local
6160
+ * @default remote
6086
6161
  * @enum {string}
6087
6162
  */
6088
6163
  API_TYPE: 'local' | 'remote';
@@ -6882,21 +6957,19 @@ interface components {
6882
6957
  /** Tools */
6883
6958
  tools: components['schemas']['McpToolInfo'][];
6884
6959
  };
6885
- /** MemoryDeleteResponse */
6886
- MemoryDeleteResponse: {
6887
- /**
6888
- * Detail
6889
- * @default Memory deleted successfully
6890
- */
6891
- detail: string;
6892
- };
6893
6960
  /**
6894
6961
  * MemoryLLMConfig
6895
- * @description Configuration for MemoryLLM - synthesizes memory documents (skills, memories, reports).
6962
+ * @description Configuration for MemoryLLM — the post-turn curator.
6896
6963
  *
6897
- * Produces markdown documents from gathered context (learnings, retrieval results,
6898
- * conversation history). Output is saved as a document through the standard
6899
- * upload pipeline with wp_type indicating the document category.
6964
+ * Judges which of a turn's learnings are worth keeping as durable Notes and
6965
+ * reconciles them against existing ones (dedupe + supersede). It never
6966
+ * re-authors text: each kept learning is stored verbatim.
6967
+ *
6968
+ * It used to also synthesize whole markdown *documents* (a "memory" or a
6969
+ * "skill") from the scratchpad after every turn. That path is gone — its
6970
+ * "memory" output was discarded by the caller, and skills are authored
6971
+ * deliberately via ``save_skill`` / ``/skill``. Hence no SYSTEM_INSTRUCTION
6972
+ * here: the consolidation prompts are rendered per-call.
6900
6973
  */
6901
6974
  MemoryLLMConfig: {
6902
6975
  /**
@@ -6914,43 +6987,19 @@ interface components {
6914
6987
  ENABLE_THINKING: boolean;
6915
6988
  /**
6916
6989
  * Model Name
6917
- * @description The model for memory synthesis. Defaults to reasoning model.
6990
+ * @description The model for note consolidation. Defaults to reasoning model.
6918
6991
  * @default Wise
6919
6992
  */
6920
6993
  MODEL_NAME: string;
6921
- /**
6922
- * System Instruction
6923
- * @description System instruction for memory classification and synthesis.
6924
- * @default You are a knowledge synthesizer. You receive the full agent scratchpad from a completed conversation and decide what, if anything, is worth saving.
6925
- *
6926
- * ## Work Product Types
6927
- * - **"memory"**: Facts, findings, reference data — for *looking up* information.
6928
- * - **"skill"**: Procedures, workflows, step-by-step instructions — for *doing* something.
6929
- *
6930
- * When ambiguous, default to memory.
6931
- *
6932
- * ## Rules
6933
- * - Return an empty work_products array if the conversation is trivial or produced nothing substantive.
6934
- * - Each work product must cover ONE coherent topic. Never combine disparate subjects into a single document — create separate documents for each distinct topic.
6935
- * - Ground everything in the provided context. Do not invent information.
6936
- * - Be concise. These are reference documents, not essays.
6937
- *
6938
- * ## Output Format
6939
- * JSON with a `work_products` array. Each item has `wp_type`, `title`, and `content` (markdown).
6940
- *
6941
- * Memory content: `# Title`, date, source, key findings as bullets, source documents.
6942
- * Skill content: `# Title`, prerequisites, numbered steps, when to apply.
6943
- */
6944
- SYSTEM_INSTRUCTION: string;
6945
6994
  /**
6946
6995
  * Temperature
6947
- * @description Temperature for synthesis.
6996
+ * @description Temperature for consolidation.
6948
6997
  * @default 0.3
6949
6998
  */
6950
6999
  TEMPERATURE: number;
6951
7000
  /**
6952
7001
  * Max Tokens
6953
- * @description Max output tokens for memory content; 0 = uncapped (run to EOS).
7002
+ * @description Max output tokens; 0 = uncapped (run to EOS).
6954
7003
  * @default 0
6955
7004
  */
6956
7005
  MAX_TOKENS: number;
@@ -6962,87 +7011,11 @@ interface components {
6962
7011
  MAX_TOKEN_CONTEXT: number;
6963
7012
  /**
6964
7013
  * Max Concurrent
6965
- * @description Maximum concurrent synthesis operations.
7014
+ * @description Maximum concurrent consolidation operations.
6966
7015
  * @default 5
6967
7016
  */
6968
7017
  MAX_CONCURRENT: number;
6969
7018
  };
6970
- /** MemoryResponse */
6971
- MemoryResponse: {
6972
- /** Note */
6973
- note?: string | null;
6974
- /** Citations */
6975
- citations?: {
6976
- [key: string]: components['schemas']['CitationData'];
6977
- } | null;
6978
- /** External Id */
6979
- external_id: string;
6980
- /** Workspace Ext Id */
6981
- workspace_ext_id: string;
6982
- /** Pinned */
6983
- pinned: boolean;
6984
- /** Shared */
6985
- shared: boolean;
6986
- /** Source */
6987
- source: string;
6988
- /** Created By Ext Id */
6989
- created_by_ext_id: string;
6990
- /**
6991
- * Created At
6992
- * Format: date-time
6993
- */
6994
- created_at: string;
6995
- /**
6996
- * Updated At
6997
- * Format: date-time
6998
- */
6999
- updated_at: string;
7000
- };
7001
- /** MemorySearchHit */
7002
- MemorySearchHit: {
7003
- /** External Id */
7004
- external_id: string;
7005
- /** Note */
7006
- note: string;
7007
- /** Pinned */
7008
- pinned: boolean;
7009
- /** Source */
7010
- source: string;
7011
- /** Score */
7012
- score: number;
7013
- };
7014
- /**
7015
- * MemorySearchRequest
7016
- * @description Hybrid recall over the workspace's memories.
7017
- */
7018
- MemorySearchRequest: {
7019
- /**
7020
- * Query
7021
- * @description Search query text
7022
- */
7023
- query: string;
7024
- /**
7025
- * Search Mode
7026
- * @description Retrieval mode
7027
- * @default hybrid
7028
- * @enum {string}
7029
- */
7030
- search_mode: 'semantic' | 'keyword' | 'hybrid';
7031
- /**
7032
- * Limit
7033
- * @description Maximum number of memories to return
7034
- * @default 10
7035
- */
7036
- limit: number;
7037
- };
7038
- /** MemorySearchResponse */
7039
- MemorySearchResponse: {
7040
- /**
7041
- * Memories
7042
- * @default []
7043
- */
7044
- memories: components['schemas']['MemorySearchHit'][];
7045
- };
7046
7019
  /** MemoryTool */
7047
7020
  MemoryTool: {
7048
7021
  /**
@@ -7489,6 +7462,104 @@ interface components {
7489
7462
  DoctagLLM: components['schemas']['DoctagLLMUserConfig'];
7490
7463
  Parser: components['schemas']['ParserUserConfig'];
7491
7464
  };
7465
+ /** NoteDeleteResponse */
7466
+ NoteDeleteResponse: {
7467
+ /**
7468
+ * Detail
7469
+ * @default Note deleted successfully
7470
+ */
7471
+ detail: string;
7472
+ };
7473
+ /** NoteResponse */
7474
+ NoteResponse: {
7475
+ /** Text */
7476
+ text: string;
7477
+ citations?: components['schemas']['CitationSources'] | null;
7478
+ /** External Id */
7479
+ external_id: string;
7480
+ /** Workspace Ext Id */
7481
+ workspace_ext_id: string;
7482
+ /** Pinned */
7483
+ pinned: boolean;
7484
+ /** Shared */
7485
+ shared: boolean;
7486
+ /** Source */
7487
+ source: string;
7488
+ /** Note Date */
7489
+ note_date?: string | null;
7490
+ /**
7491
+ * Tags
7492
+ * @default []
7493
+ */
7494
+ tags: components['schemas']['NoteTagResponse'][];
7495
+ /** Created By Ext Id */
7496
+ created_by_ext_id: string;
7497
+ /**
7498
+ * Created At
7499
+ * Format: date-time
7500
+ */
7501
+ created_at: string;
7502
+ /**
7503
+ * Updated At
7504
+ * Format: date-time
7505
+ */
7506
+ updated_at: string;
7507
+ };
7508
+ /** NoteSearchHit */
7509
+ NoteSearchHit: {
7510
+ /** External Id */
7511
+ external_id: string;
7512
+ /** Text */
7513
+ text: string;
7514
+ /** Pinned */
7515
+ pinned: boolean;
7516
+ /** Source */
7517
+ source: string;
7518
+ /** Score */
7519
+ score: number;
7520
+ };
7521
+ /**
7522
+ * NoteSearchRequest
7523
+ * @description Hybrid recall over the workspace's notes.
7524
+ */
7525
+ NoteSearchRequest: {
7526
+ /**
7527
+ * Query
7528
+ * @description Search query text
7529
+ */
7530
+ query: string;
7531
+ /**
7532
+ * Search Mode
7533
+ * @description Retrieval mode
7534
+ * @default hybrid
7535
+ * @enum {string}
7536
+ */
7537
+ search_mode: 'semantic' | 'keyword' | 'hybrid';
7538
+ /**
7539
+ * Limit
7540
+ * @description Maximum number of notes to return
7541
+ * @default 10
7542
+ */
7543
+ limit: number;
7544
+ };
7545
+ /** NoteSearchResponse */
7546
+ NoteSearchResponse: {
7547
+ /**
7548
+ * Notes
7549
+ * @default []
7550
+ */
7551
+ notes: components['schemas']['NoteSearchHit'][];
7552
+ };
7553
+ /**
7554
+ * NoteTagResponse
7555
+ * @description A tag attached to a note — the tag's identity, decrypted name included.
7556
+ */
7557
+ NoteTagResponse: {
7558
+ /** Tag Ext Id */
7559
+ tag_ext_id: string;
7560
+ /** Name */
7561
+ name: string;
7562
+ };
7492
7563
  /**
7493
7564
  * NotificationResponse
7494
7565
  * @description Notification response model for API and WebSocket.
@@ -8423,7 +8494,7 @@ interface components {
8423
8494
  /**
8424
8495
  * Api Type
8425
8496
  * @description The inference type (local or remote).
8426
- * @default local
8497
+ * @default remote
8427
8498
  * @enum {string}
8428
8499
  */
8429
8500
  API_TYPE: 'local' | 'remote';
@@ -10316,6 +10387,16 @@ interface components {
10316
10387
  * @description Total cost: input_cost + output_cost (USD)
10317
10388
  */
10318
10389
  total_cost?: number | null;
10390
+ /**
10391
+ * Credits Spent
10392
+ * @description AI credits spent so far this turn (1 credit = $0.01), priced per LLM call using each call's own model — unlike total_cost above (single-rate, main query LLM only), this is correct across a turn that mixes models (agent LLM, deep_research/run_code child LLMs, evaluator, judge). Updates live as the turn progresses, not just a final total.
10393
+ */
10394
+ credits_spent?: number | null;
10395
+ /**
10396
+ * Credit Budget
10397
+ * @description This turn's shared credit budget (AGENT_TURN_CREDIT_BUDGET) — same value across the parent and every child it spawns. Absent when uncapped (budget=0).
10398
+ */
10399
+ credit_budget?: number | null;
10319
10400
  /**
10320
10401
  * Elapsed Seconds
10321
10402
  * @description Wall-clock time for the LLM call(s)
@@ -10409,10 +10490,7 @@ interface components {
10409
10490
  doc_ext_id: string;
10410
10491
  /** Note */
10411
10492
  note?: string | null;
10412
- /** Citations */
10413
- citations?: {
10414
- [key: string]: components['schemas']['CitationData'];
10415
- } | null;
10493
+ citations?: components['schemas']['CitationSources'] | null;
10416
10494
  };
10417
10495
  /**
10418
10496
  * UpdateDocumentsRequest
@@ -10423,18 +10501,23 @@ interface components {
10423
10501
  documents: components['schemas']['DocUpdateRequest'][];
10424
10502
  };
10425
10503
  /**
10426
- * UpdateMemoryRequest
10427
- * @description Patch a memory. An edit to ``note`` soft-deletes the old row and
10428
- * inserts a replacement (append + soft-delete lifecycle); ``pinned``/``shared``
10429
- * toggles update in place.
10504
+ * UpdateNoteRequest
10505
+ * @description Patch a note. An edit to ``text`` soft-deletes the old row and
10506
+ * inserts a replacement (append + soft-delete lifecycle); ``pinned``/``shared``/
10507
+ * ``note_date``/``tag_ext_ids`` update in place.
10430
10508
  */
10431
- UpdateMemoryRequest: {
10432
- /** Note */
10433
- note?: string | null;
10509
+ UpdateNoteRequest: {
10510
+ /** Text */
10511
+ text?: string | null;
10434
10512
  /** Pinned */
10435
10513
  pinned?: boolean | null;
10436
10514
  /** Shared */
10437
10515
  shared?: boolean | null;
10516
+ /** Note Date */
10517
+ note_date?: string | null;
10518
+ /** Tag Ext Ids */
10519
+ tag_ext_ids?: string[] | null;
10520
+ citations?: components['schemas']['CitationSources'] | null;
10438
10521
  };
10439
10522
  /**
10440
10523
  * UpdateNotificationsRequest
@@ -14154,7 +14237,7 @@ interface operations {
14154
14237
  };
14155
14238
  };
14156
14239
  };
14157
- create_memory: {
14240
+ create_note: {
14158
14241
  parameters: {
14159
14242
  query?: never;
14160
14243
  header?: never;
@@ -14163,7 +14246,7 @@ interface operations {
14163
14246
  };
14164
14247
  requestBody: {
14165
14248
  content: {
14166
- 'application/json': components['schemas']['CreateMemoryRequest'];
14249
+ 'application/json': components['schemas']['CreateNoteRequest'];
14167
14250
  };
14168
14251
  };
14169
14252
  responses: {
@@ -14173,7 +14256,7 @@ interface operations {
14173
14256
  [name: string]: unknown;
14174
14257
  };
14175
14258
  content: {
14176
- 'application/json': components['schemas']['MemoryResponse'];
14259
+ 'application/json': components['schemas']['NoteResponse'];
14177
14260
  };
14178
14261
  };
14179
14262
  /** @description Validation Error */
@@ -14187,7 +14270,7 @@ interface operations {
14187
14270
  };
14188
14271
  };
14189
14272
  };
14190
- list_memories: {
14273
+ list_notes: {
14191
14274
  parameters: {
14192
14275
  query?: {
14193
14276
  pinned_only?: boolean;
@@ -14204,7 +14287,7 @@ interface operations {
14204
14287
  [name: string]: unknown;
14205
14288
  };
14206
14289
  content: {
14207
- 'application/json': components['schemas']['MemoryResponse'][];
14290
+ 'application/json': components['schemas']['NoteResponse'][];
14208
14291
  };
14209
14292
  };
14210
14293
  /** @description Validation Error */
@@ -14218,7 +14301,7 @@ interface operations {
14218
14301
  };
14219
14302
  };
14220
14303
  };
14221
- search_memories: {
14304
+ search_notes: {
14222
14305
  parameters: {
14223
14306
  query?: never;
14224
14307
  header?: never;
@@ -14227,7 +14310,7 @@ interface operations {
14227
14310
  };
14228
14311
  requestBody: {
14229
14312
  content: {
14230
- 'application/json': components['schemas']['MemorySearchRequest'];
14313
+ 'application/json': components['schemas']['NoteSearchRequest'];
14231
14314
  };
14232
14315
  };
14233
14316
  responses: {
@@ -14237,7 +14320,7 @@ interface operations {
14237
14320
  [name: string]: unknown;
14238
14321
  };
14239
14322
  content: {
14240
- 'application/json': components['schemas']['MemorySearchResponse'];
14323
+ 'application/json': components['schemas']['NoteSearchResponse'];
14241
14324
  };
14242
14325
  };
14243
14326
  /** @description Validation Error */
@@ -14251,12 +14334,12 @@ interface operations {
14251
14334
  };
14252
14335
  };
14253
14336
  };
14254
- delete_memory: {
14337
+ delete_note: {
14255
14338
  parameters: {
14256
14339
  query?: never;
14257
14340
  header?: never;
14258
14341
  path: {
14259
- memory_ext_id: string;
14342
+ note_ext_id: string;
14260
14343
  };
14261
14344
  cookie?: never;
14262
14345
  };
@@ -14268,7 +14351,7 @@ interface operations {
14268
14351
  [name: string]: unknown;
14269
14352
  };
14270
14353
  content: {
14271
- 'application/json': components['schemas']['MemoryDeleteResponse'];
14354
+ 'application/json': components['schemas']['NoteDeleteResponse'];
14272
14355
  };
14273
14356
  };
14274
14357
  /** @description Validation Error */
@@ -14282,18 +14365,18 @@ interface operations {
14282
14365
  };
14283
14366
  };
14284
14367
  };
14285
- update_memory: {
14368
+ update_note: {
14286
14369
  parameters: {
14287
14370
  query?: never;
14288
14371
  header?: never;
14289
14372
  path: {
14290
- memory_ext_id: string;
14373
+ note_ext_id: string;
14291
14374
  };
14292
14375
  cookie?: never;
14293
14376
  };
14294
14377
  requestBody: {
14295
14378
  content: {
14296
- 'application/json': components['schemas']['UpdateMemoryRequest'];
14379
+ 'application/json': components['schemas']['UpdateNoteRequest'];
14297
14380
  };
14298
14381
  };
14299
14382
  responses: {
@@ -14303,7 +14386,7 @@ interface operations {
14303
14386
  [name: string]: unknown;
14304
14387
  };
14305
14388
  content: {
14306
- 'application/json': components['schemas']['MemoryResponse'];
14389
+ 'application/json': components['schemas']['NoteResponse'];
14307
14390
  };
14308
14391
  };
14309
14392
  /** @description Validation Error */