Peter Steinberger
adf6b08ab4
refactor: consolidate duration parsing and formatting ( #105988 )
...
* refactor: consolidate duration handling
* docs: leave release notes to release workflow
* fix: preserve build timing precision
* ci: align plugin sdk surface budgets
2026-07-12 23:38:22 -07:00
Peter Steinberger
218dcd815a
feat(tooling): enforce noUncheckedIndexedAccess in the extensions lane (NUIA phase 4) ( #105132 )
...
* fix(extensions): make indexed access explicit across channel plugins
Transport-payload-safe burn-down: malformed Telegram/Discord/QQ/LINE
and sibling channel input keeps existing skip paths; no synthesized
fields, no new throws in delivery loops. Zalo escape sentinels preserve
literal matches instead of undefined replacements.
* fix(extensions): make indexed access explicit across provider and memory plugins
Stream and model iteration, tool-block guards, capture guards, and
sparse accumulators; singleton model reads carry named invariants.
* fix(extensions): make indexed access explicit across tooling plugins, flip the extensions lane
Remaining plugins (oc-path, qa-lab, browser, logbook, and siblings) plus
the tsconfig.extensions.json flag flip. Cleanup: logbook sampleFrames
NaN index at max=1, QA retry clamp at non-positive attempts, dead Canvas
probe and OpenShell no-op slice removed, twitch test setup leak excluded
from the prod lane.
* refactor(plugin-sdk): expose expectDefined via a focused SDK subpath
Extensions imported @openclaw/normalization-core directly, crossing the
external-plugin packaging boundary (it only worked because the runtime
builder bundles undeclared workspace helpers). expect-runtime joins the
canonical entrypoints JSON, generated exports, API baseline, docs, and
subpath contract test; all 78 extension imports now use the SDK seam.
Two scanner-shaped locals renamed for review-bundle hygiene.
* chore(plugin-sdk): raise surface budgets for the expect-runtime subpath
One new entrypoint with one callable export, added intentionally as the
packaging-honest seam for extension invariant helpers.
2026-07-12 09:17:31 +01:00
Peter Steinberger
fa77fe10d5
chore: migrate active GPT-5.5 references to GPT-5.6 ( #104452 )
...
* chore(models): migrate active GPT-5.5 references
* test(workboard): expect GPT-5.6 Sol default
* chore: keep release notes in PR body
* test(models): align picker fixtures with Sol default
* test: update PDF default model expectation
* test(qa): migrate thinking smoke to Luna
* test(gateway): align mock catalog with Sol default
* ci: retrigger exact-head PR checks
* test(gateway): document default catalog invariant
2026-07-11 06:30:57 -07:00
xingzhou
4257875448
fix(qa-lab): keep saved view text truncation UTF-16 safe ( #103789 )
...
* fix(qa-lab): keep saved view text truncation UTF-16 safe
* refactor(qa-lab): use semantic truncation helper
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 23:10:53 +01:00
Peter Steinberger
5ef269c2bb
fix: keep bounded Unicode text valid across UTF-16 boundaries ( #102823 )
...
* fix(text): keep bounded output UTF-16 safe
Co-authored-by: 黄剑雄0668001315 <huang.jianxiong@xydigit.com >
Co-authored-by: 0668000539 <shu.zongyu@xydigit.com >
Co-authored-by: 张鹊平0668001085 <zhang.queping@xydigit.com >
Co-authored-by: 赵旺0668001248 <zhao.wang1@xydigit.com >
Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com >
Co-authored-by: lizeyu-xydt <li.zeyu@xydigit.com >
* chore(changelog): defer release note to automation
* refactor(qa-lab): keep text helper behind SDK
---------
Co-authored-by: 黄剑雄0668001315 <huang.jianxiong@xydigit.com >
Co-authored-by: 0668000539 <shu.zongyu@xydigit.com >
Co-authored-by: 张鹊平0668001085 <zhang.queping@xydigit.com >
Co-authored-by: 赵旺0668001248 <zhao.wang1@xydigit.com >
Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com >
Co-authored-by: lizeyu-xydt <li.zeyu@xydigit.com >
2026-07-09 15:21:23 +01:00
Vincent Koc
78d1b4a9b3
fix(qa): remove personal capture CA path
2026-06-20 05:27:21 +02:00
Vincent Koc
33a4845555
fix(qa): redact capture payload previews
2026-06-20 05:24:09 +02:00
Dallin Romney
e12cf72b17
Standardize QA coverage IDs on dotted names ( #94702 )
...
* fix: standardize qa coverage ids
* test: avoid qa coverage id assertion spread
2026-06-18 17:25:26 -07:00
Colin Johnson
c677424edb
qa-lab: add evidence artifact gallery ( #94283 )
...
* qa-lab: add evidence artifact gallery
* qa-lab: harden evidence gallery artifacts
* qa-lab: share evidence gallery view types
* qa-lab: disable evidence preview caching
* refactor(qa-lab): resolve evidence artifacts once and trim gallery render/test duplication
* fix(qa-lab): build evidence model before sending /api/evidence success headers
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-06-18 12:17:46 -07:00
Peter Steinberger
58912f8fd8
docs: document channel extension sources
2026-06-04 21:59:00 -04:00
Peter Steinberger
2df95c0b10
chore(lint): enable no-misused-promises
2026-05-31 20:42:13 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Peter Steinberger
deb7bc6539
chore(lint): enable readability lint rules
2026-05-31 07:17:57 +01:00
Vincent Koc
81a578fd6b
fix(qa-lab): validate capture saved views
2026-05-17 06:28:57 +08:00
Peter Steinberger
fd4bee9c05
refactor: trim qa lab helper exports
2026-05-01 18:37:30 +01:00
Peter Steinberger
6b3e4b88d6
test: update QA parity fixtures for GPT-5.5
2026-04-25 18:05:28 +01:00
Vincent Koc
01bf61fcfd
fix(media): remove express from media host ( #71436 )
...
* fix(media): remove express from media host
* fix(media): harden media host responses
* fix(msteams): stage express runtime dependency
* fix(browser): align profile facade exports
* fix(msteams): keep setup entry narrow
* fix(types): satisfy extension setup gates
* fix(msteams): use generic setup config type
2026-04-25 01:39:42 -07:00
Peter Steinberger
0b0662b1c9
chore: apply extension lint cleanups
2026-04-23 05:30:49 +01:00
Peter Steinberger
057fe786bd
style: apply formatter drift
2026-04-11 21:25:24 +01:00
HDYA
26f633b604
feat(msteams): add federated credential support (certificate + managed identity) ( #53615 )
...
* feat(msteams): add federated authentication support (certificate + managed identity + workload identity)
* msteams: fix vitest 4.1.2 compat, type errors, and regenerate config baseline
* msteams: fix lint errors, update fetch allowlist, regenerate protocol Swift
* fix(msteams): gate secret-only delegated auth flows
* fix(ci): unblock gateway watch and install smoke
* fix(ci): restore mergeability for pr 53615
* fix(ci): restore channel registry helper typing
* fix(ci): refresh raw fetch guard allowlist
---------
Co-authored-by: Chudi Huang <Chudi.Huang@microsoft.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-04-11 13:29:22 -05:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Peter Steinberger
c0aed59fca
refactor: move qa suite definitions into markdown
2026-04-07 23:39:50 +01:00
Vincent Koc
18fb171179
feat(qa): add frontier harness bakeoff loop
2026-04-07 20:32:41 +01:00
Peter Steinberger
524951e124
fix(ci): route qa-lab web imports through package barrels
2026-04-07 10:24:02 +01:00
Peter Steinberger
f2494aa33f
feat: streamline qa lab live runs
2026-04-07 10:05:49 +01:00
Peter Steinberger
124cd5e307
feat: auto-reload qa lab fast refresh
2026-04-07 09:54:59 +01:00
Peter Steinberger
36aeef30c2
style: add padding to qa lab scenario list
2026-04-07 09:45:11 +01:00
Peter Steinberger
1baf5533aa
feat(qa-lab): add Clawfather/Claw avatars and live-watch mode for scenario runs
2026-04-07 09:24:26 +01:00
Peter Steinberger
282188a326
fix(qa-lab): widen sidebar to 360px and allow scenario titles to wrap
2026-04-07 09:21:25 +01:00
Peter Steinberger
0e51f2f2ab
fix(qa-lab): set themed background on app-shell so light mode covers dark body
2026-04-07 09:04:37 +01:00
Peter Steinberger
7a2abb1c50
fix: stabilize qa lab docker builds
2026-04-07 06:06:29 +01:00
Peter Steinberger
a03e430248
refactor: dedupe core error helpers
2026-04-07 05:06:54 +01:00
Peter Steinberger
9f4c2caf06
fix(qa-lab): skip render when poll data unchanged and use dropdown model selectors
2026-04-06 19:25:51 +01:00
Peter Steinberger
0cebe9d593
fix(qa-lab): add Slack-style chat sidebar and fix light mode theming
2026-04-06 19:21:24 +01:00
Peter Steinberger
a47c49bbf3
feat(qa-lab): redesign UI with sidebar layout, Slack-like chat, and light/dark mode
2026-04-06 18:21:33 +01:00
Peter Steinberger
350238d402
feat: add interactive qa lab suite runner
2026-04-06 17:23:35 +01:00
Peter Steinberger
514328a9ad
style(repo): format touched helpers and tests
2026-04-06 16:16:10 +01:00
Peter Steinberger
af62a2c2e4
style: fix extension lint violations
2026-04-06 14:53:55 +01:00
Peter Steinberger
20c84a2090
fix(qa): stop embedded control ui reload loop
2026-04-06 01:10:34 +01:00
Peter Steinberger
a79984eacf
feat(qa): improve qa lab debugger ui
2026-04-06 01:03:21 +01:00
Peter Steinberger
8e1c81e707
feat(qa): recreate qa lab docker stack
2026-04-05 23:21:56 +01:00
Peter Steinberger
bb60b53124
feat: add qa lab extension
2026-04-05 23:21:56 +01:00