Commit Graph
22 Commits
Author SHA1 Message Date
t0saki e910c5feb0 fix(packaging): decouple langchain client from server (#3711) 2026-08-03 21:56:49 +08:00
Hao Zhe b2e1972610 refactor(langchain): extract standalone integration package (#3685)
* refactor(langchain): extract standalone integration package

* fix(langchain): preserve optional legacy imports

* fix(langchain): guard legacy submodule imports
2026-08-03 15:01:13 +08:00
Hao Zhe c1d38eb47f feat(langchain): support request-scoped actor peers (#3626) 2026-08-01 22:55:33 +08:00
Hao Zhe d2082ad2f7 fix(langchain): manage context wrapper resources (#3599)
Give with_openviking_context a deterministic lifecycle owner, reuse adapter clients without sharing invocation state, and preserve loop-scoped async behavior. Make component copies lifecycle-safe and reject post-close use before history access.
2026-07-30 14:30:02 +08:00
Hao Zhe e9701baa65 fix(langchain): preserve injected clients during deepcopy (#3603)
Copy connection and retriever configuration without cloning caller-owned live clients or carrying owned client caches into copied adapters. Guard optional Pydantic private state before resetting compatibility caches.
2026-07-30 12:23:59 +08:00
Eurakaxun 44c6df2622 perf: retrieval, import, LangChain, and session-context optimizations (#3569) 2026-07-30 10:10:11 +08:00
Hao Zhe 8db65ea9de fix(langchain): isolate async history and preserve cancellation semantics (#3575)
* fix(langchain): make async recording concurrency-safe

* fix(langchain): scope async state to each invocation

* fix(langchain): preserve cancellation progress on Python 3.10
2026-07-29 12:02:29 +08:00
Hao Zhe 8eb89a636b feat(langchain): add native async integration support (#3536)
* feat(langchain): add native async integration support

* fix(langchain): make async client lifecycle safe

* fix(langchain): make async lifecycle loop-safe

* docs(langchain): clarify async lifecycle invariants
2026-07-28 14:35:02 +08:00
Hao Zhe ea6e2dbb41 feat(integrations): unify LangChain and LangGraph session recording (#3530)
* feat(integrations): add reusable LangChain session recorder

* fix(integrations): harden session recorder retries
2026-07-27 18:27:56 +08:00
Hao Zheandzhiheng.liu 9d0b71f763 fix(integrations): batch LangGraph history writes to avoid duplicates and lost context (#3528)
* fix(integrations): batch LangGraph history writes to avoid duplicates and lost context

Sweep findings: B-08. Make middleware capture atomic and retain pending context until the batch succeeds.

* fix(review): chunk LangGraph history batches

Addresses blocking review finding on #3405.

* fix(review): preserve batch retry progress

Addresses blocking review finding on #3405.

* fix(integrations): type LangGraph capture batches

---------

Co-authored-by: zhiheng.liu <zhiheng.liu@bytedance.com>
2026-07-27 13:52:40 +08:00
Jiahui Zhou 5390bd5e54 fix: require all retrieval tags in search (#3097) 2026-07-21 11:54:01 +08:00
Qin Haojie 49e4d76913 feat(core): add actor peer filesystem view (#2594)
* feat(core): enforce actor scoped retrieval

* fix(core): narrow actor peer filtering to retrieval

* fix(core): enforce actor peer filesystem view
2026-06-13 15:49:34 +08:00
Qin Haojie e06671b351 feat(session): 将 session 存储到 user 命名空间 (#2556)
* feat(session): store sessions in user namespace

* fix(session): tolerate legacy commit body fields
2026-06-11 14:33:00 +08:00
Hao Zhe 33a70c9f4b fix(langchain): resolve local resource paths before ingestion (#2522) 2026-06-09 15:40:35 +08:00
Qin Haojie ff258768c2 feat(memory): 引入 User/Peer 记忆隔离模型 (#2236)
* feat(memory): introduce user and peer memory isolation

Unify agent-scoped memory behavior into user-owned memory spaces, add peer_id compatibility for session and retrieval paths, and wire memory_policy through session commit flows.

* feat(memory): align session identity around peer IDs

* feat(search): pass peer id through retrieval

* refactor(memory): remove agent identity from integrations

* fix(memory): isolate peer identity from self extraction

* fix(tau2): provision benchmark user configs

* fix(auth): allow admin keys to access data APIs

* fix(openclaw): enable peer memory policy for peer roles

* fix(openclaw): resolve sender for peer recall

* refactor(session): simplify memory extraction routing

* refactor(ov-cli): reduce formatting-only diff

* refactor(message): remove unused message helpers

* refactor(retrieval): simplify peer target resolution

* refactor(namespace): remove deprecated agent namespace policy

* fix(agent): propagate peer id through integrations

* fix(auth): align integration clients with api-key mode
2026-06-05 10:55:48 +08:00
EurakaxunandEurekaxun ab855a43b0 fix: add cjk-aware token estimation (#2348)
Co-authored-by: Eurekaxun <eurekaxun@163.com>
2026-06-01 14:12:27 +08:00
Hao Zhe 676654b7bb fix(langchain): improve tool schemas (#2300) 2026-05-29 20:26:11 +08:00
Hao Zhe c298f92de0 refactor(langchain): clarify session commit policy helper (#2283) 2026-05-28 19:27:00 +08:00
Hao Zhe 7bc69bbbd1 feat(langchain): implement local batch message writes (#2250)
* fix(langchain): implement local batch message writes

* fix(langchain): preserve in-memory message metadata

* test(client): cover batch message client consistency
2026-05-28 13:20:19 +08:00
Hao Zhe 7c0bf137aa fix(langchain): recover stale OpenViking clients (#2246)
* fix(langchain): recover stale OpenViking clients

Wrap lazily-created HTTP clients used by the LangChain integration so recoverable read calls can rebuild a stale client once, while mutating calls only evict the broken client and are not retried.

Keep local embedded clients direct, complete the batch_add_messages client contract for local and in-memory clients, and keep sync async bridge calls from foreign event loops on the shared background loop.

* fix(langchain): filter kwargs on recovered handle calls

* chore(langchain): split batch message contract fix

* style(langchain): format reconnect tests
2026-05-27 16:01:31 +08:00
zgy a62a752f3a feat: add batch add_messages API for faster message ingestion (#2213)
Previously, adding messages required one HTTP request per message,
making bulk operations (e.g. memory extraction, history migration)
very slow due to network round-trip overhead.

Changes:
- Add POST /api/v1/sessions/{id}/messages/batch endpoint
- Add BatchAddMessageRequest model with max_length=500 limit
- Extract _resolve_message_parts() helper to deduplicate part resolution
- Add _defer_meta_save parameter to Session.add_message() for batch optimization
- Add batch_add_messages method to Python SDK clients (base/http/sync)
- Add batch_add_messages to Session wrapper class
- Update LangChain integration to use batch API
- Update Rust CLI add_memory to use batch API
2026-05-25 15:14:29 +08:00
Hao Zhe 81d1b5afd7 feat(langchain): add LangChain and LangGraph context adapters (#1964)
* feat(langchain-langgraph): add adapter primitives

* feat(langchain-langgraph): add context backend lifecycle

* fix(langchain-langgraph): harden context backend integration

* fix(langchain-langgraph): accept canonical store result URIs

* docs(langchain): point users to runnable examples

* docs(langchain): add missing integration examples

* refactor(langchain): address integration review feedback

* fix(langchain): address review-blocking integration bugs

* fix(langchain): honor user ids and safe store filters

* fix(langchain): reject unsupported store TTL writes
2026-05-12 16:28:11 +08:00