Peter Steinberger
fe261b0f59
chore(tooling): typecheck root test/** with a dedicated tsgo lane ( #104475 )
...
* chore(types): add declaration files for scripts/lib and scripts/e2e modules
* chore(types): add declaration files for top-level script modules (a-m)
* chore(types): add declaration files for top-level script modules (n-z)
* test: use a non-secret-shaped gateway token fixture
* test: type ci workflow guard helpers for the root test lane
* chore(tooling): typecheck root test/** with a dedicated tsgo lane
- test/tsconfig/tsconfig.test.root.json: root-test program (strict unused checks,
fixtures excluded; two Docker E2E clients that import built dist/** stay out,
same rationale as the scripts/e2e exclusion in tsconfig.scripts.json)
- tsgo:test:root wired into tsgo:test, check:test-types, scripts/check.mjs, and
the ci.yml test-types shard, mirroring the tsgo:scripts lane (#104348 )
- changed-lane routing: test/**/*.ts (excluding fixtures) and the lane tsconfig
now trigger 'typecheck test root' in check:changed; previously test/ paths ran
lint only, so harness type errors surfaced first in CI (#104287 envDir case)
- burn down all 1071 latent type errors in the program: precise param/local
types across test/scripts, test/vitest, test/e2e, and transitive scripts/e2e
program members; 205 sibling .d.mts declaration files for imported .mjs
modules (committed separately); zero any, zero ts-expect-error
- resolve the pre-existing testing star-export ambiguity in
scripts/e2e/parallels/common.ts with an explicit re-export
Closes #104388
* chore(types): correct declaration fidelity per structured review
- re-derive 51 .d.mts files from implementation data flow instead of
initializers: fix a wrong never return (runTestProjectsDelegation returns
the child), add encoding-sensitive exec/spawn overloads (plain-gh), restore
the full release profile union, make parsed paths string | null, add missing
parseArgs fields via help/non-help unions, add a missing sibling declaration
(budget-number-args), drop 15 unused lint directives
- precise install-record/tuple typing removes the type-aware oxlint
regressions the first declarations caused in scripts/e2e implementations
- route .mts declaration edits under test/ to the testRoot lane and reference
the test-root project from tsconfig.projects.json so tsgo:all covers it
(closes both review findings against the lane wiring)
* chore(scripts): keep telegram runner dist typing structural for the boundary guard
* chore(types): declare runtime pack and gateway readiness exports added on main
* test: pin the importTargetPlan form of the plugin-contract plan import
The guard expectation still referenced the raw await import( form that
7ae5996bb3 (#103975 ) replaced with the importTargetPlan fallback helper;
the assertion fails on current main.
2026-07-11 06:15:41 -07:00
Peter Steinberger
2e2366b6d3
chore(tooling): typecheck scripts/** with a dedicated tsgo lane ( #104348 )
...
* feat(tooling): add tsgo typecheck lane for scripts/**
* fix(scripts): burn down scripts type debt surfaced by the new lane
Typing-only except bugs the lane surfaced: gh-read timeout race,
Discord Headers spread dropping entries, undefined allowedHeadBranches
match, plugin-boundary matchAll crash. Deletes retired config keys from
fixtures/benches (prompt snapshots regenerated, config dump only) and
the orphaned non-runnable sync-moonshot-docs script. Adds full-surface
.d.mts declarations for existing .mjs boundaries.
2026-07-11 02:31:17 -07:00
Peter Steinberger
7bf80dc2c6
chore(tooling): enforce formatting and refresh TypeScript checks ( #104239 )
...
* chore(tooling): enforce current formatter and refresh checks
* chore(tooling): keep release changelog formatter-owned
* chore(tooling): retain compatible Node type surface
* ci: enforce formatting for docs-only changes
* ci: isolate docs formatter check
* chore(tooling): apply updated lint and format rules
* chore(tooling): satisfy updated switch lint
* style(ui): apply Linux formatter layout
* test(doctor): match quiet local audio contribution
* test(doctor): assert quiet output only
* test(doctor): follow restored information contract
2026-07-11 01:09:51 -07:00
Vincent Koc
d563101a82
refactor(deadcode): localize test and tooling helpers ( #101875 )
2026-07-07 13:45:26 -07:00
Huang Wanjia
8f2986290d
fix: silence heartbeat notify=false fallback replies ( #100735 )
...
* fix(heartbeat): consume trailing notify=false fallback marker
* fix(heartbeat): keep notify=false marker fully silent
---------
Co-authored-by: martin <huangtongxuedev@outlook.com >
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
2026-07-06 03:50:54 -07:00
Peter Steinberger
1b8d837674
fix(tui): preserve queued prompt lifecycle ( #100123 )
...
Allow busy TUI sessions to forward prompts into the configured queue while
keeping queued-turn admission, cancellation, restart, and transcript ownership
consistent across the TUI, Gateway, and followup queue.
Co-authored-by: Sebastien Tardif <sebtardif@ncf.ca >
2026-07-04 21:15:28 -04:00
Ayaan Zaidi
3706ebed33
fix(agents): keep mention state and group intro out of session-stable prompt hash
2026-07-03 17:58:36 -07:00
Vincent Koc
f53fdb688d
fix(qa): restore package docker gates
2026-07-04 01:56:21 +02:00
Ayaan Zaidi
59a6240dae
fix(auto-reply): default room events to silence
2026-07-02 09:12:35 -07:00
Mason Huang
5ff247b99e
test: prefer auto-cleaning temp dir helper ( #93209 )
...
Summary:
- The branch adds `useAutoCleanupTempDirTracker()`, broadens the temp-dir warning reporter to flag new manual helper imports/usages, updates docs, and migrates two script tests to the new helper.
- PR surface: Tests +301, Docs +1, Other +248. Total +550 across 8 files.
- Reproducibility: not applicable. this is test/tooling cleanup, and the changed behavior is exercised through helper/reporter tests and CI evidence rather than a user reproduction path.
Automerge notes:
- PR branch already contained follow-up commit before automerge: test: harden temp dir helper guard
- PR branch already contained follow-up commit before automerge: test: clarify auto cleanup temp dir helper name
- PR branch already contained follow-up commit before automerge: test: cover existing mkdtemp temp dir forms
- PR branch already contained follow-up commit before automerge: test: read staged temp helper source from index
Validation:
- ClawSweeper review passed for head 1fdd7d2a9a .
- Required merge gates passed before the squash merge.
Prepared head SHA: 1fdd7d2a9a
Review: https://github.com/openclaw/openclaw/pull/93209#issuecomment-4705653665
Co-authored-by: Mason Huang <masonxhuang@tencent.com >
Approved-by: hxy91819
2026-07-02 02:46:28 +00:00
Vincent Koc
89a73d08c8
test(deadcode): dedupe wizard prompter helpers
2026-06-21 19:49:46 +08:00
Vincent Koc
9caf4e1ae9
refactor(cron): dedupe cron test helpers
2026-06-18 19:27:44 +08:00
Vincent Koc
aef0e4d0b0
refactor(cron): remove unused regression fixture writer
2026-06-18 17:39:15 +08:00
Vincent Koc
eb17c0d635
refactor(test): delete unused media generation mocks
2026-06-18 17:19:59 +08:00
Vincent Koc
fae30318d1
refactor(test): remove unused shared helpers
2026-06-18 15:11:39 +08:00
Vincent Koc
912946ff94
fix(test): kill openclaw test process groups
2026-06-17 22:58:03 +02:00
Vincent Koc
ab1e5832d2
fix(codex): sync app-server dynamic tool protocol
2026-06-17 04:28:32 +02:00
Mason Huang
06431fd99b
test: add temp directory helper guidance ( #87298 )
...
Summary:
- Merged test: add temp directory helper guidance after ClawSweeper review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(scripts): honor temp report failure mode
- PR branch already contained follow-up commit before automerge: fix(scripts): reduce temp report noise
- PR branch already contained follow-up commit before automerge: fix(scripts): cover test support temp reports
- PR branch already contained follow-up commit before automerge: fix(scripts): report temp use in test helpers
- PR branch already contained follow-up commit before automerge: fix(scripts): broaden temp report test surface
- PR branch already contained follow-up commit before automerge: fix(scripts): cover nested test temp reports
Validation:
- ClawSweeper review passed for head 132f14a381 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 132f14a381
Review: https://github.com/openclaw/openclaw/pull/87298#issuecomment-4704338581
Co-authored-by: masonxhuang <masonxhuang@tencent.com >
Co-authored-by: Mason Huang <masonxhuang@tencent.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
2026-06-15 03:51:43 +00:00
Shakker
b8ed2c3280
fix: restore acp task env scope
2026-06-14 19:06:25 +01:00
Peter Steinberger
88038db3e5
fix(agent): dampen Discord stale thread replies ( #91962 )
...
* fix(agent): dampen Discord stale thread replies
* fix(agent): scope Discord quiet prompt by chat type
* fix(agent): forward queued chat type
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-06-10 18:02:58 -07:00
Vincent Koc
a1fb8cf304
test(image-generation): load live provider sources
2026-06-09 15:34:29 +09:00
Vincent Koc
8291cfc2f4
fix(test): bound child output buffers
2026-06-07 12:19:08 +02:00
Vincent Koc
a210a53c19
test(live): require Android node core commands
2026-06-06 16:12:56 +02:00
Vincent Koc
31c3e0c3f3
test(live): keep voice-note preflight inside plugins
2026-06-06 06:24:29 -07:00
Vincent Koc
74331f632b
test(live): tolerate ARM provider drift
2026-06-06 03:47:24 -07:00
Peter Steinberger
deff9ea180
docs: document cjs bridge headers
2026-06-04 23:26:24 -04:00
Peter Steinberger
29f5e9d35c
docs: document test helpers
2026-06-04 20:42:26 -04:00
Peter Steinberger
86150a3e51
docs: document shared test helpers
2026-06-04 01:48:32 -04:00
Peter Steinberger
fed7d1f385
test(release): stabilize beta validation regressions
2026-06-01 15:47:56 +01:00
Peter Steinberger
32113e38ab
perf(ci): speed up prompt snapshot checks
2026-06-01 04:44:41 -04:00
Peter Steinberger
22cb7fb6b7
chore(lint): enable no-promise-executor-return
2026-05-31 23:06:13 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Peter Steinberger
f80a1e9e85
refactor: clean up ACP translator and manager tests ( #88677 )
...
* test: split ACP translator bridge coverage
* refactor: extract ACP translator session helpers
* refactor: extract ACP manager backend failover helpers
* test: split ACP manager failover coverage
* test: split ACP manager runtime config coverage
* test: split ACP manager turn result coverage
* test: split ACP manager runtime handle coverage
* test: keep ACP manager helpers within task boundaries
* ci: split gateway runtime state test shard
2026-05-31 18:04:28 +01:00
Peter Steinberger
444562b3de
chore: remove stale dead code
2026-05-31 03:04:25 -04:00
Peter Steinberger
4c33aaa86c
refactor: unify OpenAI provider identity ( #88451 )
...
* refactor: unify OpenAI provider identity
* refactor: move legacy oauth sidecar doctor helpers
* test: align OpenAI fixtures after rebase
* test: clean OpenAI provider unification
* fix: finish OpenAI provider cleanup
* fix: finish OpenAI cleanup follow-through
* fix: finish OpenAI CI cleanup
2026-05-31 00:29:44 +01:00
Peter Steinberger
de1dfab03e
refactor: move terminal core into package ( #88279 )
...
* refactor: move terminal core into package
* refactor: move terminal module files
* fix: clean terminal package CI followups
* test: update lint suppression allowlist
* fix: ship terminal core runtime aliases
2026-05-30 11:07:45 +02:00
Vincent Koc
6835f05cd0
fix(test): detect signaled test gateway exits
2026-05-28 15:02:01 +02:00
Vincent Koc
1eb27da55d
fix(testing): bound openclaw instance logs
2026-05-27 22:29:36 +02:00
Peter Steinberger
bb46b79d3c
refactor: internalize OpenClaw agent runtime ( #85341 )
...
* refactor: extract agent core package
Introduce packages/agent-core as the OpenClaw-owned home for reusable agent loop, harness, session, prompt, and runtime dependency contracts.
* refactor: extract shared llm runtime
Move provider model registries, stream wrappers, OAuth helpers, and LLM utilities into src/llm with plugin-sdk barrels instead of depending on the old embedded runtime layout.
* refactor: remove pi runtime internals
Rename remaining Pi-shaped agent surfaces to OpenClaw agent runtime names, delete obsolete Pi docs and package graph checks, and add the third-party notice for incorporated code.
* refactor: tighten agent session runtime
Make agent-core/runtime dependencies explicit, consolidate compaction and session transcript helpers, and move model/session helpers behind OpenClaw-owned contracts.
* refactor: remove static model and pi auth paths
Drop static model catalogs and Pi auth bridges, move model/provider facts to manifest-owned runtime contracts, and harden internal embedded-agent utilities.
* refactor: remove legacy provider compat paths
* docs: remove agent parity notes
* fix: skip provider wildcard metadata parsing
* refactor: share session extension sdk loading
* refactor: inline acpx proxy error formatter
* refactor: fold edit recovery into edit tool
* fix: accept extension batch separator
* test: align startup provider plugin expectations
* fix: restore provider-scoped release discovery
* test: align static asset packaging expectations
* fix: run static provider catalogs during scoped discovery
* fix: add provider entry catalogs for scoped live discovery
* fix: load lightweight provider catalog entries
* fix: refresh provider-scoped plugin metadata
* fix: keep provider catalog entries on release live path
* fix: keep static manifest models in release live checks
* fix: harden release model discovery
* fix: reduce OpenAI live cache probe reasoning
* fix: disable OpenAI cache probe reasoning
* ci: extend OpenAI gateway live timeout
* fix: extend live gateway model budget
* fix: stabilize release validation regressions
* fix: honor provider aliases in model rows
* fix: stabilize release validation lanes
* fix: stabilize release memory qa
* ci: stabilize release validation lanes
* ci: prefer ipv4 for live docker node calls
* fix: restore shared tool-call stream wrapper
* ci: remove legacy pi test shard alias
* fix: clean up embedded agent test drift
* fix: stabilize runtime alias status
* fix: clean up embedded agent ci drift
* fix: restore release ci invariants
* fix: clean up post-rebase runtime drift
* fix: restore release ci checks
* fix: restore release ci after rebase
* fix: remove stale pi runtime path
* test: align compaction runtime expectations
* test: update plugin prerelease expectations
* fix: handle claude live tool approvals
* fix: stabilize release validation gates
* fix: finish agent runtime import
* test: finish post-rebase agent runtime mocks
* fix: keep codex compaction native
* fix: stabilize codex app-server hook tests
* test: isolate codex diagnostic active run
* test: remove codex diagnostic completion race
# Conflicts:
# extensions/codex/src/app-server/run-attempt.test.ts
* ci: fix full release manifest performance run id
* refactor: narrow llm plugin sdk boundary
* chore: drop generated google boundary stamps
* fix: repair rebase fallout
* fix: clean up rebased runtime references
* fix: decode codex jwt payloads as base64url
* fix: preserve shipped pi runtime alias
* fix: add scoped sdk virtual modules
* fix: decode llm codex oauth jwt as base64url
* fix: avoid stale vertex adc negative cache
* fix: harden tool arg decoding and codeql path
* fix: keep vertex adc negative checks live
* refactor: consolidate codex jwt and edit helpers
* fix: await codex oauth node runtime imports
* fix: preserve sdk tool and notice contracts
* fix: preserve shipped compat config boundaries
* fix: align codex oauth callback host
* fix: terminate agent-core loop streams on failure
* fix: keep codex oauth callback alive during fallback
* ci: include session tools in critical codeql scans
* fix: keep Cloudflare Anthropic provider auth header
* docs: redirect legacy pi runtime pages
* fix: honor bundled web provider compat discovery
* fix: protect session output spill files
* fix: keep legacy agent dir env blocked
* fix: contain auto-discovered skill symlinks
* fix: harden agent core sdk proxy surfaces
* fix: restore approval reaction sdk compat
* fix: keep live docker runs bounded
* fix: keep codex oauth redirect host aligned
* fix: resolve post-rebase agent runtime drift
* fix: redact anthropic oauth parse failures
* fix: preserve responses strict tool shaping
* fix: repair agent runtime rebase cleanup
* docs: redirect retired parity pages
* fix: bound auto-discovered resources to roots
* fix: repair post-rebase agent test drift
* fix: preserve bundled provider allowlist migration
* fix: preserve manifest-owned provider aliases
* fix: declare photon image dependency
* fix: keep provider headers out of proxy body
* fix: preserve shipped env aliases
* fix: refresh control ui i18n generated state
* fix: quote read fallback paths
* fix: preview edits through configured backend
* test: satisfy core test typecheck
* fix: preserve ZAI usage auth fallback
* test: repair codex diagnostic test
* fix: repair agent runtime rebase drift
* test: finish embedded runner import rename
* fix: repair agent runtime rebase integrations
* test: align compaction oauth fallback expectations
* fix: allow sdk-auth session models
* fix: update doctor tool schema import
* fix: preserve bedrock plugin region
* fix: stream harmony-like prose immediately
* ci: include session runtime in codeql shards
* fix: repair latest rebase integrations
* fix: honor explicit codex websocket transport
* fix: keep openai-compatible credentials provider-scoped
* fix: refresh sdk api baseline after rebase
* fix: route cli runtime aliases through openclaw harness
* test: rename stale harness mock expectation
* test: rename embedded agent overflow calls
* test: clean embedded auth test wording
* test: use openclaw stream types in deepinfra cache test
* fix: refresh sdk api baseline on latest main
* fix: honor bundled discovery compat allowlists
* fix: refresh sdk api baseline after latest rebase
* fix: remove stale rebase imports
* test: rename stale model catalog mock
* test: mock renamed doctor runtime modules
* fix: map canonical kimi env auth
* fix: use internal model registry in bench script
* fix: migrate deepinfra provider catalog entry
* fix: enforce builtin tool suppression
* fix: route compaction auth and proxy payloads safely
* refactor: prune unused llm registry leftovers
* test: update codex hooks session import
* test: fix model picker ci coverage
* test: align model picker auth mock types
2026-05-27 19:24:04 +01:00
Super Zheng
6790b0f792
perf(secrets): propagate snapshots and eliminate esm side-effects in auth env vars ( #86439 )
...
* perf(secrets): propagate snapshots and eliminate esm side-effects in auth env vars
* perf(secrets): reuse provider auth lookup maps
* test(auth): update provider env var mocks
* test(auth): cover rebased provider env mocks
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 08:19:07 +01:00
Vincent Koc
6509da7555
fix(gateway): bound e2e HTTP helper responses
2026-05-27 03:21:03 +02:00
Peter Steinberger
4f83cd6528
test(auto-reply): type manifest catalog harness mock
...
(cherry picked from commit 64e01ef97a )
2026-05-26 23:26:52 +01:00
Peter Steinberger
989d449404
test(auto-reply): mock manifest model catalog in trigger harness
...
(cherry picked from commit 7135e34520 )
2026-05-26 23:22:46 +01:00
Peter Steinberger
b9f975b64e
Replace Sharp image backend with Photon ( #86437 )
...
* refactor: replace sharp image backend with photon
* refactor: remove whatsapp jimp dependency
* chore: remove stale sharp install workarounds
* test: keep image fixtures off photon
* test: use valid prompt image fixtures
* test: account for optimized PNG fixtures
* test: use valid minimax image fixtures
2026-05-25 15:04:44 +01:00
Dmitry Golubev
7b3be04582
fix(codex): ensure codex subagent bootstrap parity with pi subagents - only inject AGENTS.md and TOOLS.md ( #85811 )
...
* fix: limit Codex native subagent bootstrap context
* fix: preserve Codex turn instructions accounting
* fix: split Codex workspace instruction renderers
* fix(codex): keep persona files turn-scoped
---------
Co-authored-by: Beru <beru@lastguru.lv >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-24 02:48:03 +01:00
Vincent Koc
b25a0d013b
test(gateway): relax e2e node status waits
2026-05-22 02:25:30 +08:00
pashpashpash
448eb36f75
Revert "fix: prompt Codex to send visible channel replies ( #84397 )" ( #84442 )
...
This reverts commit 47eb4ca14f .
2026-05-20 14:20:56 +09:00
Josh Avant
47eb4ca14f
fix: prompt Codex to send visible channel replies ( #84397 )
...
* fix: prompt codex to send visible channel replies
* chore: add codex reply changelog entry
* test: refresh codex prompt snapshots
2026-05-19 23:29:41 -05:00
pash-openai
e0d1a2a9b9
Move Codex soul context to developer instructions ( #84331 )
...
* Move Codex soul context to developer instructions
* Route Codex workspace context by lifetime
* Refresh Codex prompt snapshots
* Update prompt snapshot expectations
* Fix Codex workspace context diagnostics
2026-05-19 16:47:32 -07:00
Peter Steinberger
0b4fc26d4a
codex: surface deferred dynamic tool names ( #83813 )
...
* codex: surface deferred dynamic tool names
* codex: keep prompt snapshots source-backed
* style: wrap mac voice settings help text
* style: satisfy swiftformat for voice wake help text
* style: apply swiftformat to voice wake help text
* test: load codex prompt snapshots through plugin aliases
* test: type codex source surface loader
* test: avoid extra codex loader suppression
---------
Co-authored-by: pashpashpash <nik@vault77.ai >
2026-05-19 10:32:36 +09:00