Commit Graph

551 Commits

Author SHA1 Message Date
matevip
bff57924d6 fix(agent): repair head-side orphan tool responses on the pagination cut 2026-05-13 09:03:10 +08:00
matevip
af56763156 fix(context): keep the latest summary even when its row sits outside the recent window; include summaryId in compact_status 2026-05-13 08:50:42 +08:00
matevip
faf7f98358 feat(context): consume compact_status on the frontend; load history from latest boundary; backfill summaryId 2026-05-13 08:50:35 +08:00
matevip
51b5eceb7d feat(context): preserve spill markers across compaction phases, persist enriched boundary, broadcast compact_status SSE (#110) 2026-05-13 08:50:28 +08:00
matevip
86a6829102 feat(executor): retention sweep and per-conversation purge for tool-result spill files 2026-05-13 08:50:22 +08:00
matevip
7015d1513c feat(context): anchor the first user message after compaction so long tasks remember the original goal 2026-05-13 08:50:15 +08:00
matevip
37894a6978 fix(context): never compact across a split tool_call ↔ tool_response pair 2026-05-13 08:50:08 +08:00
matevip
ae3d27922d fix(context): preserve raw older tool results instead of rewriting them to a lossy summary 2026-05-13 08:50:02 +08:00
matevip
8f49b0ec92 fix(executor): spill raw tool result before falling back to inline truncate 2026-05-13 08:49:56 +08:00
matevip
2ef806aa64 chore(deps): bump Spring AI 1.1.5 -> 1.1.6 and Spring AI Alibaba 1.1.2.2 -> 1.1.2.3 2026-05-13 07:39:27 +08:00
matevip
cc5d7d5ad0 fix(agent): auto-include enabled MCP tools in effective allowlist (#108) 2026-05-12 21:24:36 +08:00
matevip
0ffc224623 chore(test): backfill mateclaw-server/src/test/ that earlier PRIVATE_ITEMS pattern accidentally excluded
The PRIVATE_ITEMS list contained the bare 'test' entry, which rsync
interprets as 'any directory named test at any depth' — so it caught
the root-level /test/ scratch directory (intended) AND every src/test/
under each module (not intended).

Pattern is already anchored to /test (root-only). This commit rsyncs
the accumulated src/test/ tree forward so opensource has the unit tests
that have been written / updated against existing src/main/ code since
the pattern regression. Going forward each per-commit sync will carry
src/test/ files along with the main change.
2026-05-12 17:38:08 +08:00
matevip
aded30bbb1 feat(agent): auto-redirect skill-as-tool calls to readSkillFile 2026-05-12 17:20:19 +08:00
matevip
5789a28e19 feat(skill): boost newly installed skills + teach LLM to widen the catalog search 2026-05-12 17:20:09 +08:00
matevip
0b321dc903 fix(skill): repair zip install losses + persist scripts/refs to canonical store (#104) 2026-05-12 17:20:00 +08:00
matevip
691d2b867b fix(agent): hide disabled agents from the chat picker and reject chat calls against them (#105) 2026-05-12 14:53:14 +08:00
matevip
026afa2ba5 feat(wiki): optional JSON Schema on json-format transformations 2026-05-12 14:35:31 +08:00
matevip
465a727be2 feat(wiki): record per-run token usage so operators can see what each template burns 2026-05-12 14:35:17 +08:00
matevip
e911af2192 feat(wiki): JSON output mode — structured transformation output for programmatic downstream 2026-05-12 14:11:02 +08:00
matevip
90936dba4f feat(wiki): cross-material transformation aggregator — map-reduce all runs of a template into one KB page 2026-05-12 14:10:54 +08:00
matevip
a5b952050c feat(wiki): reverse-citation extractor — bind synthesis pages to the exact source chunks they cite 2026-05-12 14:10:47 +08:00
matevip
e1759e0e3c feat(wiki): page-input transformations — run a template against an existing page 2026-05-12 14:10:40 +08:00
matevip
4c8a42b0e2 feat(wiki): seed 7 workspace-wide transformation templates aligned with enterprise scenarios 2026-05-12 14:10:32 +08:00
matevip
bee39cc420 feat(wiki): page-level embedding so synthesis pages enter semantic search 2026-05-12 14:10:23 +08:00
matevip
8d01efbbb1 fix(agent): sanitize streamed tool-call arguments to valid JSON 2026-05-12 11:25:58 +08:00
matevip
62c9776b01 feat(wiki): clean conversational preamble and code fences from transformation output 2026-05-12 11:25:50 +08:00
matevip
f04ea58c8d feat(wiki): cancel a running transformation and re-run any past run 2026-05-12 11:25:44 +08:00
matevip
ef6ad1b91a feat(wiki): expose per-template model picker in the transformations modal 2026-05-12 11:25:38 +08:00
matevip
4098346fb7 fix(wiki): strip file extensions when deriving transformation page slugs 2026-05-12 11:25:32 +08:00
matevip
bae9f68261 feat(wiki): user-defined transformation templates with optional auto-save to synthesis pages 2026-05-12 10:49:58 +08:00
srant1
5f77434953
fix(llm): activate default model after OpenAI OAuth and gate provider checks by enabled
OAuth token save now promotes the first available chat model when no usable default exists. Default-model resolution and provider availability checks require Provider.enabled=true alongside credentials, so disabled Providers no longer return stale defaults. /models/enabled drops the single-Provider hard-code so OpenAI OAuth and other enabled chat models surface in selectors. Docker exposes the 1455 PKCE callback via MATECLAW_OAUTH_OPENAI_CALLBACK_BIND_HOST (default 127.0.0.1) and a port mapping; deployment mode stays Host-driven.
2026-05-12 09:58:30 +08:00
matevip
27f614d48a feat(wiki): enrich chunk embedding input with raw title and structural metadata 2026-05-12 08:44:26 +08:00
matevip
dac3f5be20 fix(extract): trigger OCR when text extraction returns unreadable bytes 2026-05-12 08:44:20 +08:00
matevip
071ccff9bf feat(tool): add render_html_image to deliver HTML artifacts as native IM images 2026-05-12 07:11:35 +08:00
matevip
b74176ef66 refactor(agent): tighten template pre-binding contract and prune product-assistant skills 2026-05-12 07:11:29 +08:00
matevip
201e510b17 feat(agent): pre-bind skills and tools when applying an agent template 2026-05-12 07:11:19 +08:00
matevip
f0d6755469 chore(seed): rename three default digital employees to role-titled names 2026-05-11 21:45:39 +08:00
matevip
08fcab12d1 fix(deploy): drop DASHSCOPE_API_KEY requirement so Docker boots with no LLM key configured (#99) 2026-05-11 20:44:31 +08:00
matevip
a1ca7ab534 chore(skill): mark 5 heavyweight bundled skills as optional 2026-05-11 17:40:30 +08:00
matevip
e6fd39f6ba fix(agent): raise parallel delegation timeout to 300s for thinking models 2026-05-11 17:23:26 +08:00
matevip
f25f910a82 feat(skill): support optional: true frontmatter for off-by-default bundled skills 2026-05-11 17:22:30 +08:00
matevip
6d5fb595d3 fix(agent): harden digital-employee isolation across creation, skill binding and prompt catalog 2026-05-11 16:10:28 +08:00
matevip
9fd5843dda fix(llm): pin OpenAI-compatible HTTP client to HTTP/1.1 (#89) 2026-05-11 11:22:23 +08:00
matevip
3f1f83bbfe fix(channel): gate WS/long-polling channels on a distributed leader lease (#85) 2026-05-11 10:50:00 +08:00
matevip
b7f69dbefe fix(skill): merge partial PUT into existing row so SKILL.md saves stop 500ing (#93) 2026-05-11 07:59:49 +08:00
matevip
9cac7a31d1 refactor(skill-mcp): expose tool display names via ResolvedSkill instead of Map view 2026-05-10 23:46:37 +08:00
czhcc
18148aa724
feat(skill-mcp): expose readable display name alongside prefixed MCP tool names
Add a parallel effectiveAllowedToolsDisplay field on the runtime status payload so the SkillMarket detail drawer can render mcp_<server>_<slug>_<hash> with the raw tool name appended in parentheses, while leaving the original prefixed list unchanged for any caller that needs the machine name. McpSkillBridge#decorateToolNameForDisplay reverses a prefixed name via the per-server cached tool list; the frontend prefers the new display field and falls back to effectiveAllowedTools when the field is absent.
2026-05-10 23:30:22 +08:00
matevip
f71f49bda1 fix(agent): dedup repetition output + mark INCOMPLETE instead of NORMAL 2026-05-10 19:16:16 +08:00
matevip
fb0ae2b6cc fix(agent): break out of self-arguing reasoning loops via content-repetition cap 2026-05-10 19:16:10 +08:00
matevip
a886447a39 fix(channel): drop stray 'group:' infix in wecom inbound media path 2026-05-10 19:16:04 +08:00