Commit Graph

38 Commits

Author SHA1 Message Date
Masato Hoshino 1225aa822f fix(diffs): stop naming gated tools in model-visible guidance (#115919)
The Diffs plugin named the `message` tool from three model-visible surfaces:
the guidance it injects via before_prompt_build, the mode=file tool result,
and its SKILL.md. `disableMessageTool` removes that tool in eight production
paths (subagent spawn, system agent, worker runtime, both skills-workshop
reviews, companion-ask, restart sentinel, active-memory recall), so agents in
those sessions were told to call a tool absent from their tool list.

The same surfaces plus the `diffs` tool description named the separately
gated Canvas plugin — SKILL.md through `canvas present` / `canvas navigate`,
the others through "for canvas use".

All of them now describe the capability instead of naming the tool, per the
root AGENTS.md rule that descriptions never statically name tools from other
toolsets. The two pinned assertions keep their snapshots and now also assert
the invariant directly.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-30 04:22:10 +08:00
Peter Steinberger 334c182c27 refactor(diffs): move ephemeral artifacts to SQLite (#109328)
* refactor(diffs): move ephemeral artifacts to SQLite

* fix(plugin-state): satisfy SDK validation gates

* test(diffs): satisfy lint contracts

* fix(plugin-state): count expired blobs toward quotas

* fix(plugin-state): harden blob storage boundaries

* fix(plugins): replace stale install provenance
2026-07-16 16:47:19 -07:00
Peter Steinberger 21ec1546e5 refactor(extensions): trim internal plugin surfaces (#107796)
* refactor(diffs): privatize internal plugin surfaces

* refactor(file-transfer): privatize internal plugin surfaces

* refactor(nextcloud-talk): privatize internal plugin surfaces

* refactor(synology-chat): privatize internal plugin surfaces

* chore(deadcode): shrink extension export baseline
2026-07-14 15:02:56 -07:00
Peter Steinberger 81941f2d68 test: enable noUncheckedIndexedAccess for extension tests (#105343) 2026-07-12 12:48:22 +01:00
Peter Steinberger 2ded26a5d6 fix(diffs): share SSR preloads and repair language-pack hydration (#100487)
* fix(diffs): share SSR preloads and repair language-pack hydration

Render viewer and file documents from a single @pierre/diffs SSR preload
per file (mode=both previously ran the full diff+highlight pipeline
twice; 651ms -> 303ms on an 8-file patch), apply the file-mode font bump
as a document-level override, and keep hydration payloads
variant-faithful.

Fix the language-pack runtime downgrading pack-only languages to plain
text at hydration by defining a per-target build flag and forwarding it
to payload normalization.

Also: case-insensitive language hints, identical before/after
short-circuit with details.changed, patch input failures classified as
tool input errors, canonical config values now win over deprecated
aliases, hash-pinned viewer runtime served immutable, truthful
browser-vs-render errors, timing-safe artifact token compare, unref
idle browser timer.

* docs(changelog): link diffs rendering entry to PR

* test(diffs): narrow manifest validation results before value access

* test(tooling): allowlist diffs viewer-client define suppression
2026-07-06 00:34:17 +01:00
Peter Steinberger 4fa5092cdc docs: document small extension sources 2026-06-04 21:02:07 -04:00
Peter Steinberger 9b52daf595 test: dedupe diffs browser mock reads 2026-05-12 20:47:25 +01:00
Peter Steinberger 2ec1a27c9f test: guard extension channel mock calls 2026-05-12 11:19:53 +01:00
Shakker 3adaee7b86 test: tighten diffs prompt guidance assertion 2026-05-10 22:46:47 +01:00
Peter Steinberger f9c0dc2d2b fix(feishu): fall back from missing thread replies (#80306)
Summary:
- The branch adds an opt-in Feishu top-level group-send fallback for withdrawn or missing normal quoted thread replies, plus regression coverage, a changelog entry, and CI/lint typing and baseline refreshes.
- Reproducibility: yes. at source level. Current main hard-errors withdrawn/not-found Feishu reply targets when `replyInThread` is true, and the existing regression test asserts that no top-level create fallback occurs.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): fall back from missing thread replies
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8030…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-80306 with ma…
- PR branch already contained follow-up commit before automerge: fix(ci): satisfy stricter lint and test types
- PR branch already contained follow-up commit before automerge: fix(ci): align Node 24 test typing

Validation:
- ClawSweeper review passed for head 93146f9d13.
- Required merge gates passed before the squash merge.

Prepared head SHA: 93146f9d13
Review: https://github.com/openclaw/openclaw/pull/80306#issuecomment-4415604729

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-10 16:41:51 +00:00
Peter Steinberger a89634da59 test: clear rebased ci helper typing 2026-05-10 17:06:15 +01:00
Shakker 10431851f7 test: clear diffs browser broad matcher 2026-05-10 16:37:41 +01:00
Peter Steinberger 9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Peter Steinberger 1ef85c7d4c test: make suites safe without isolation (#78834)
* test: make suites safe without isolation

* fix: narrow auth profile credential types

* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger f34b41f198 refactor: split plugin sdk test helpers 2026-04-28 01:14:19 +01:00
Peter Steinberger 90b6665ded refactor: move plugin api test helper to sdk 2026-04-28 00:24:54 +01:00
Peter Steinberger 0df6e5a473 refactor: expose plugin test helpers via sdk 2026-04-27 23:45:26 +01:00
Peter Steinberger 7f3f108521 refactor(config): migrate plugin config access 2026-04-27 12:35:58 +01:00
Vincent Koc 44965bf63c fix(diffs): refresh live tool config 2026-04-22 16:14:23 -07:00
Vincent Koc f1372681a8 fix(diffs): refresh live viewer access policy 2026-04-22 14:14:30 -07:00
Peter Steinberger d236cb4680 chore: enable redundant type constituent checks 2026-04-10 21:23:40 +01:00
Peter Steinberger ee6ff1b8c2 test: speed up diffs browser tests 2026-04-07 14:38:59 +01:00
Vincent Koc ac6f696baa fix(check): repair typed test and cli drift 2026-04-06 15:14:37 +01:00
Peter Steinberger af62a2c2e4 style: fix extension lint violations 2026-04-06 14:53:55 +01:00
Peter Steinberger 847faa3d04 test: trim extension test import churn 2026-04-03 04:41:08 +01:00
Peter Steinberger 35c9372dc4 test: merge diffs registration smoke into config defaults 2026-04-01 03:05:46 +01:00
Gustavo Madeira Santana 66777e140e Diffs: return schema-shaped plugin config (#57904)
Merged via squash.

Prepared head SHA: df95f53aaa
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-30 16:27:11 -04:00
Peter Steinberger 8e0ab35b0e refactor(plugins): decouple bundled plugin runtime loading 2026-03-29 09:10:38 +01:00
Peter Steinberger ed9646516d test: collapse utility plugin suites 2026-03-25 04:25:02 +00:00
Peter Steinberger 83591fabfb test: consolidate plugin provider suites 2026-03-25 00:42:09 +00:00
Vincent Koc ff19ae1768 Plugins: internalize diffs SDK imports 2026-03-17 10:44:31 -07:00
Peter Steinberger 0976317f96 test: deduplicate diffs extension fixtures 2026-03-10 20:22:56 +00:00
Gustavo Madeira Santana ed85754722 Plugins/diffs: migrate to scoped plugin-sdk imports 2026-03-04 02:35:12 -05:00
Gustavo Madeira Santana 73de1d038e Extensions: migrate diffs plugin-sdk imports 2026-03-04 01:20:48 -05:00
Peter Steinberger d977af5853 refactor(diffs): share artifact detail and screenshot test helpers 2026-03-02 12:13:45 +00:00
Gustavo Madeira Santana 5f49a5da3c Diffs: extend image quality configs and add PDF as a format option (#31342)
Merged via squash.

Prepared head SHA: cc12097851
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-02 04:38:50 -05:00
Gustavo Madeira Santana 9257dfb5c0 fix(diffs): tighten rendering quality 2026-02-28 23:03:28 -05:00
Gustavo Madeira Santana 0abf47cfd5 plugin(diffs): optimize rendering for image/view modes 2026-02-28 20:19:15 -05:00