Commit Graph

1278 Commits

Author SHA1 Message Date
mateaix
7d26eaf528 fix(artifacts): isolate registered file bytes from caller mutations 2026-09-13 20:53:41 +08:00
mateaix
35a241a62d test(evaluation): add offline goal task replay and baseline 2026-09-13 20:48:02 +08:00
mateaix
88cd78af5e fix(goal): reject checklist passes without evidence 2026-09-13 20:38:19 +08:00
mateaix
00d774fb85 test(webchat): align stream assertions with delta batching 2026-09-12 18:15:52 +08:00
mateaix
bfc5417508 feat(memory): harden recall and provider resilience 2026-09-12 13:03:39 +08:00
matevip
7e36ac7749 perf(execution): batch evidence attempt queries 2026-09-11 04:39:40 -04:00
mateaix
dfae7edbe0 fix(memory): isolate recall ledger by owner 2026-09-08 22:23:45 +08:00
matevip
7406fc99bf feat(execution): add persistent execution evidence in observe mode 2026-09-07 06:38:58 -04:00
matevip
26150b68e8 feat(team): add controlled worker intervention 2026-09-04 04:18:41 -04:00
matevip
bd41a71826 fix(cron): harden long-task reliability 2026-09-02 05:56:06 -04:00
matevip
b706f9a610 fix(memory): prevent transient constraints from becoming durable (#625) 2026-09-01 05:52:41 -04:00
matevip
d8976ddf1e docs(runtime): document restart-safe long tasks 2026-08-31 03:03:51 -04:00
matevip
dd4db18ed8 fix(runtime): harden long-task recovery and checkpoint writes 2026-08-30 23:13:42 -04:00
mateaix
97125b991e docs(delegation): clarify long-task acceptance 2026-08-30 14:47:40 +08:00
mateaix
701b99b3e9 fix(delegation): bound and cancel async agent tasks 2026-08-30 13:32:22 +08:00
mateaix
08a5bf6996 release: v2.2.0 2026-08-29 13:53:11 +08:00
matevip
7eb44731e7 fix(chat): stabilize long-task input recovery 2026-08-27 05:21:59 -04:00
matevip
01ed4a4fcd feat(goal): make long tasks recoverable and pace continuation dispatch 2026-08-27 03:49:15 -04:00
taobig
2090d09704 fix(goal): preserve continuation instructions and verified progress
Keep autonomous prompts separate from persisted user messages while retaining
conversation history and queued user attachment routing. Carry verified
checklist evidence across segments and evaluate only changed criteria.

Cancel model streams without interrupting checkpoint database writes. Fence
late worker admission during shutdown, persist accepted queued messages and
attachments, and leave interrupted execution leases recoverable.

Add regressions for prompt selection, cumulative evidence, cancellation I/O,
queued input durability and shutdown recovery. Verify 250 focused tests,
200 real General Assistant conversation rounds, 12 checkpoints across 13
autonomous segments, and pause/resume/disconnect/restart boundaries.
2026-08-26 06:17:05 -04:00
taobig
2fa2e60170 feat(goal): persist continuous execution across bounded turns
- Add a database-backed supervisor with durable scheduling, fenced leases,
  cooldowns, bounded worker concurrency and expired-lease restart recovery.
- Default new goals to persistent execution with zero meaning unlimited
  cumulative budget; preserve legacy goals and explicit positive limits.
- Yield bounded graph segments to the supervisor instead of ending unfinished
  goals at graph-local continuation limits. Require persisted checklist
  evidence before accepting completion, including concurrent criterion edits.
- Share conversation admission across interactive and background execution;
  preserve partial replies, usage and queued user input during interruption.
- Persist Stop and missing-input pauses, respect approval boundaries, and
  commit resume and approval-denial transitions with correct transactions.
- Retry identifiable transient failures with backoff; retain visible pauses
  for budget limits and errors that require review instead of replaying tools.
- Expose owner-authorized execution status and reconnectable scheduling events;
  add H2, MySQL and Kingbase migrations, API types and bilingual documentation.

Validation: 298 focused backend tests passed, including persistence, restart
scheduling, approval races, cancellation, admission and existing runtime tests.
Frontend type checking, bundled-doc parity and ID precision checks passed.
V188 is registered and all three dialects have unique migration versions;
the migration-map audit still reports 95 pre-existing missing registrations.

Scope: single-backend native runtime. Recovery checks existing state before
repeating effects; this does not promise exactly-once external tool execution.
2026-08-26 05:46:15 -04:00
matevip
fb94027038 fix(dsh): isolate runtime child environment 2026-08-26 05:13:55 -04:00
matevip
987bc2001a fix(agent): complete long-form responses reliably 2026-08-24 04:16:57 -04:00
matevip
e88be95cd2 fix: pass workspace context to tool guard (#617) 2026-08-24 02:43:57 -04:00
mateaix
dd7e561e48 fix(agent): harden tool completion and team retries (#606) 2026-08-23 21:43:35 +08:00
matevip
14df331ce6 fix: resolve workspace context for file mutations (#617) 2026-08-21 22:05:26 -04:00
matevip
8d32a60fdb fix(files): restrict generated downloads by workspace (#611) 2026-08-21 06:06:59 -04:00
matevip
bdd51e7b44 fix(conversation): isolate shared conversations (#616) 2026-08-21 05:49:28 -04:00
matevip
c1ba390f25 fix(runtime): scope live admin view to workspace (#615) 2026-08-21 05:03:44 -04:00
matevip
37ddcf185f fix(team): pass lead attachments to workers (#612) 2026-08-21 04:47:03 -04:00
matevip
9ba188b4cb fix(wiki): reject reserved page types (#601) 2026-08-21 02:49:47 -04:00
matevip
770198ba69 fix(team): reject clarifying worker results (#610) 2026-08-20 23:09:22 -04:00
matevip
1eabbb68ac fix(team): allow admins to read completed worker runs (#596) 2026-08-20 03:26:15 -04:00
matevip
656a0b0436 fix(acp): support configurable prompt timeout (#608) 2026-08-20 02:58:09 -04:00
matevip
5b3285c78f fix: expose plugin tools in agent picker (#604) 2026-08-20 02:22:35 -04:00
matevip
e9b3c1697f fix(team): attach generated deliverables from worker replies (#606) 2026-08-20 02:11:48 -04:00
matevip
d1a553ed77 fix(agent): stop repeated plan skill loads (#606) 2026-08-20 01:51:56 -04:00
matevip
281ea53551 fix(models): restore disabled custom providers 2026-08-19 23:16:28 -04:00
matevip
1159dcdbf3 feat(a2a): add agent interoperability protocol support
Add an A2A JSON-RPC endpoint with authenticated message/send, message/stream, tasks/get, and tasks/cancel handling. Expose anonymous minimal Agent Cards while keeping the enabled-agent skills list behind existing Bearer authentication.

Bridge inbound calls into the existing agent runtime, add an in-memory task store with duplicate task rejection, JSON-RPC idempotency snapshots, terminal TTL cleanup, and SSE status/artifact event streaming with heartbeat comments.

Add the call_a2a_agent tool and peer adapter with Agent Card discovery fallback, blocking task polling through tasks/get, event-boundary SSE parsing, response caps, timeout limits, redirect refusal, and private-network SSRF protection.

Wire mateclaw.a2a configuration, document deployment settings in English and Chinese, mirror bundled docs, and cover task storage, JSON-RPC validation, card privacy, lifecycle/cancel behavior, SSE parsing, and outbound guardrails with focused tests.
2026-08-19 05:36:51 -04:00
matevip
a8a0b75bfa fix(dsh): complete cancellable runtime stream lifecycle; make JSON-RPC streaming asynchronous; terminate process trees and inherited pipes; handle cancellation races; propagate usage telemetry; add regression coverage 2026-08-19 04:30:06 -04:00
matevip
5660c72e1a fix(agent): isolate DSH prompt sessions 2026-08-18 05:47:48 -04:00
matevip
98d0bb7780 docs: add DeepSeek Harness integration guides 2026-08-18 05:35:37 -04:00
matevip
473ed5786e feat(agent): integrate DeepSeek Harness runtime 2026-08-18 05:25:22 -04:00
mateaix
d2df5c2797 feat(office): add optional OfficeCLI engine (#583) 2026-08-17 20:28:40 +08:00
mateaix
81c6f4aece fix(chat): gracefully terminate active tool runs
Stopping a conversation previously disposed the outer reactive stream without reliably cancelling synchronous tool callbacks running on worker threads. Shell commands, skill scripts, and Playwright sessions could therefore outlive the visible chat turn.

Propagate cancellation through run-scoped hooks, interrupt active tool execution and parallel batches, terminate subprocess trees, close per-conversation browser sessions, and wait briefly for final stream persistence before acknowledging Stop.

Expose an explicit interrupting state in the chat input to block duplicate stop clicks and show progress, with regression coverage for cancelling an in-flight synchronous tool callback.
2026-08-16 16:26:10 +08:00
mateaix
6e8e7db31e fix(team): make checkpoint evidence idempotent 2026-08-16 15:59:26 +08:00
mateaix
fb7cb6c04a fix: enforce team deliverable completion gates 2026-08-16 15:10:56 +08:00
mateaix
cc0661c07c fix(team): harden checkpoint loops and board recovery 2026-08-16 14:42:39 +08:00
mateaix
3424efc6a7 fix(team): harden long-running collaboration 2026-08-16 13:14:16 +08:00
mateaix
03b6e9d2d8 release: v2.1.0 2026-08-15 17:17:51 +08:00
matevip
0e534476a3 fix: align generateKwargs reserved key readers 2026-08-15 01:37:32 -04:00
NhaNT
265728bab7
fix: forward generateKwargs passthrough keys
Forward unrecognized OpenAI-compatible generateKwargs keys through extraBody while reserving documented provider control keys such as modelsPath.\n\nVerification:\n- cd mateclaw-server && mvn -pl . test -Dtest=OpenAiCompatibleChatModelBuilderTest,ModelDiscoveryServiceTestPromptTest\n- cd mateclaw-ui && node --max-old-space-size=6144 ./node_modules/vue-tsc/bin/vue-tsc.js --noEmit
2026-08-15 01:32:03 -04:00
matevip
9a3b95df53 fix(team): unify Team Run delivery experience (#596) 2026-08-15 00:37:08 -04:00
matevip
f629b04f2a fix(agent): cache runtime tool name lookups 2026-08-14 04:50:13 -04:00
matevip
50c6eb92f9 fix(agent): refresh context previews without MCP hot-path scan 2026-08-14 04:34:51 -04:00
matevip
d1592cc922 fix(team): stabilize runs and compact markdown delivery 2026-08-14 03:25:47 -04:00
matevip
dc3506f748 feat(team): unify team run experience (#596) 2026-08-13 07:00:24 -04:00
matevip
bd35f28dad fix(wiki): preserve knowledge base ids in tool inputs 2026-08-13 04:04:30 -04:00
matevip
c4751ea69c fix(tools): preserve cron job id tool inputs 2026-08-13 04:01:32 -04:00
matevip
7a34f3a502 fix(tools): preserve datasource id tool inputs 2026-08-13 03:58:05 -04:00
matevip
7bf18e6af8 fix(wiki): preserve agent id tool inputs 2026-08-13 03:56:03 -04:00
matevip
b1f3332ae1 fix(memory): preserve remaining agent id tool inputs 2026-08-13 03:53:27 -04:00
matevip
cabff7e498 fix(memory): preserve session search agent id 2026-08-13 03:51:42 -04:00
matevip
06105faa4d fix(memory): preserve agent id in tool inputs 2026-08-13 03:45:57 -04:00
matevip
b8a8aac7f9 fix: preserve agent id precision in memory tools 2026-08-13 03:08:44 -04:00
matevip
ba0e4506b7 feat(browser): harden browser automation reliability 2026-08-12 06:02:36 -04:00
倪程伟
0ae8552f5a
fix(webchat): harden stream cleanup and timeout handling
Normalize stream idle timeout overrides, make WebChat orphan cleanup use exact run handles so stale callbacks cannot mutate replacement runs, and preserve approval replay usage metadata with regression coverage.
2026-08-12 02:08:59 -04:00
matevip
438d8d26ae fix(team): keep task runs in team workspace (#596) 2026-08-11 06:00:00 -04:00
matevip
071fff76ab fix(agent): enforce tool-backed action completion 2026-08-11 05:31:44 -04:00
倪程伟
a11c7ccb52
log(webchat): raise SSE timeout and error lifecycle logs
Raise WebChat SSE timeout and non-benign error lifecycle logs to INFO while keeping routine client disconnects at DEBUG, preserving detach-based subscriber lifecycle semantics.
2026-08-11 03:45:24 -04:00
倪程伟
55cf53b9b4
fix(webchat): detach SSE subscribers and reclaim orphan runs
Use detach rather than complete for WebChat SSE disconnect callbacks, add an orphan-run grace policy for subscriberless active runs, and emergency-save partial assistant output when reclaimed.
2026-08-11 03:42:43 -04:00
倪程伟
e9c08edb3a
fix(webchat): close SSE streams on done or error
Close WebChat subscriber SSE connections when the logical stream reaches done/error, make the emitter timeout configurable, and ensure stale-run eviction closes subscribers instead of leaving clients waiting.
2026-08-11 03:39:56 -04:00
倪程伟
ddb6a837ea
fix(llm): add stream body idle timeout
Apply a Reactor inter-frame idle timeout at the streaming chat chokepoint so half-open provider body streams surface through the normal retry/failover path. Also keep the HTTP timeout documentation accurate and cover the behavior with focused tests.
2026-08-11 03:38:46 -04:00
matevip
7563d2dd19 fix(tts): surface provider response diagnostics (#555) 2026-08-10 22:40:38 -04:00
mateaix
b196dc73fd feat(sessions): add batch deletion (#581) 2026-08-10 22:13:29 +08:00
mateaix
197e697173 fix(stt): repair DashScope audio decoding (#580) 2026-08-10 21:43:02 +08:00
matevip
ce7f0847fb fix(agent): preserve tool use after compaction 2026-08-10 05:39:08 -04:00
mateaix
5e96dade9c fix(llm): preserve numeric tool schemas (#594) 2026-08-09 21:31:42 +08:00
mateaix
763fb554da fix(team): enforce workspace isolation (#593) 2026-08-09 21:00:29 +08:00
mateaix
54eb77d7c7 feat(feishu): show streaming execution progress 2026-08-09 20:34:54 +08:00
mateaix
8dc6c64683 perf(agent): add progressive tool bridge 2026-08-09 19:39:45 +08:00
mateaix
a204e8eec8 fix(self-evolution): harden lifecycle and plan loops 2026-08-09 18:13:24 +08:00
matevip
c72c8b48e4 fix(skill,agent): curation observation anchor, per-skill adoption, and empty plan-summary fallback 2026-08-07 05:12:33 -04:00
matevip
99c18b968a fix(chat): persist planning reasoning, dedupe the plan summary, normalize metadata reads 2026-08-06 07:09:32 -04:00
matevip
e8d5e73825 fix(cron): persist the delivery channel and target when a job is edited 2026-08-06 06:35:26 -04:00
matevip
ed7f6f5c19 feat(chat): add reasoning retention controls and a linear trajectory export 2026-08-06 05:48:28 -04:00
matevip
22c49f3a07 fix(chat): keep every iteration reasoning and render the timeline in emission order 2026-08-06 05:13:09 -04:00
matevip
30560eb7cf fix(chat): classify pre-tool narration by observation count, not iteration budget 2026-08-06 02:39:03 -04:00
matevip
48a7b979df test(skill): use placeholder bodies in credential-redaction fixtures 2026-08-06 01:55:48 -04:00
matevip
e22173a476 feat(skill): close the self-evolution loop — auto-bind, routine mining, curation provenance and restore points 2026-08-06 01:51:22 -04:00
matevip
9dd58053c0 feat(channel): proactive channel-session message push + cron delivery target picker 2026-08-05 05:51:59 -04:00
matevip
4c9394a86f fix(stt): surface endpoint, status and body diagnostics on STT failures (#580) 2026-08-05 04:26:30 -04:00
matevip
fefb3b25b8 feat(chat): live pre-tool narration collapse via segment_kind SSE event 2026-08-04 22:51:12 -04:00
matevip
32dd6e7911 fix(channel): sync-path IM channels stop relaying pre-tool rehearsals verbatim 2026-08-04 22:50:42 -04:00
matevip
8a7a04ee1f refactor(channel): shared provisional-narration tracker as the single supersede authority 2026-08-04 22:50:12 -04:00
matevip
547adb30ee feat(agent): producer-assigned content-kind tag on stream deltas 2026-08-04 22:49:34 -04:00
mateaix
a578c8ef0e fix(stt): replace DashScope realtime WS replay with synchronous Qwen3-ASR HTTP recognition (#580) 2026-08-04 21:53:25 +08:00
matevip
54a2c3c0a3 fix(wecom): drop pre-tool rehearsal narrations from permanent bubbles 2026-08-04 06:14:55 -04:00
matevip
77dd866243 feat(agent): stale-status guard appended to every reasoning system prompt 2026-08-04 03:47:05 -04:00
matevip
29a1edc3b1 fix(chat): supersede pre-tool content segments by structure, not text patterns 2026-08-04 03:46:32 -04:00
matevip
046080d6aa feat: thinking display overhaul — live think-tag extraction, real durations, default visibility, reconnect and team-note fixes 2026-08-03 05:56:16 -04:00