Commit Graph

21374 Commits

Author SHA1 Message Date
Vincent Koc 828afd39ec docs(config): refresh generated baseline 2026-03-22 20:04:28 -07:00
Vincent Koc 28f48a2dfd style(docs): format sdk entrypoints doc 2026-03-22 20:03:17 -07:00
Vincent Koc 59105fd614 fix(ci): restore plugin manifests and boundary tests 2026-03-22 20:01:25 -07:00
Vincent Koc afb4b1173b fix(docs): remove duplicate '### Options' headings (MD024) 2026-03-22 19:58:35 -07:00
Vincent Koc ac0fd26e16 fix(ci): resync generated baselines and line runtime seam 2026-03-22 19:53:26 -07:00
Vincent Koc dbeac0763c test(voice-call): cover utility and tailscale helpers 2026-03-22 19:52:17 -07:00
Vincent Koc af333f3a2c docs(changelog): note ACP hidden thought replay fix 2026-03-22 19:50:42 -07:00
Vincent Koc f1bff0b9d6 test(voice-call): cover twilio and reaper helpers 2026-03-22 19:49:22 -07:00
Vincent Koc 32fdd21c80 fix(acp): preserve hidden thought replay on session load 2026-03-22 19:48:19 -07:00
Vincent Koc feea4763fb test(voice-call): cover manager and api helpers 2026-03-22 19:47:34 -07:00
Vincent Koc bbd4b39afb test(voice-call): cover helper utilities 2026-03-22 19:44:48 -07:00
Vincent Koc ac7b7f5536 fix(line): narrow plugin-sdk seams after refactor 2026-03-22 19:44:30 -07:00
Vincent Koc a9f4cb7544 fix(docs): rename 'Channel Options' to 'Options' in sdk-entrypoints
This heading labels definePluginEntry options (generic, not channel-specific).
Another agent reverted the previous fix during a merge.
2026-03-22 19:44:07 -07:00
Vincent Koc 742c005ac8 fix(acp): preserve hidden thought chunks from gateway chat 2026-03-22 19:43:19 -07:00
Vincent Koc a83b7bca15 refactor(plugin-sdk): route core provider and telegram seams through sdk barrels 2026-03-22 19:43:19 -07:00
Vincent Koc 02f8a86e5c refactor(kilocode): route shared model constants through core seam 2026-03-22 19:43:19 -07:00
Vincent Koc 3ad652fa9e fix(build): restore plugin-sdk and line compat after refactor 2026-03-22 19:37:27 -07:00
Vincent Koc c0933e2fc8 perf(reply): lazy-load session store writes 2026-03-22 19:32:24 -07:00
Vincent Koc 009980465f fix(openshell): bundle upstream cli fallback 2026-03-22 19:20:33 -07:00
Peter Steinberger f8731b3d9d fix: finish exec tool failure landing (#52508) (thanks @martingarramon) 2026-03-22 19:19:07 -07:00
Martin Garramon 22c75a55b0 fix(exec): return plain-text tool result on failure instead of raw JSON
When an exec command fails (e.g. timeout), the tool previously rejected
with an Error, which the tool adapter caught and wrapped in a JSON object
({ status, tool, error }). The model then received this raw JSON as the
tool result and could parrot it verbatim to the user.

Now exec failures resolve with a proper tool result containing the error
as human-readable text in content[], matching the success path structure.
The model sees plain text it can naturally incorporate into its reply.

Also fixes a pre-existing format issue in update-cli.test.ts.

Fixes #52484

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:19:07 -07:00
Peter Steinberger 339a67262d test: clear msteams gate drift for gateway probe auth landing (#52513) (thanks @CodeForgeNet) 2026-03-22 19:14:44 -07:00
Peter Steinberger 24f77d7457 fix: finish gateway probe auth landing (#52513) (thanks @CodeForgeNet) 2026-03-22 19:14:44 -07:00
Peter Steinberger a02499b335 fix: finish gateway probe auth landing (#52513) (thanks @CodeForgeNet) 2026-03-22 19:14:44 -07:00
CodeForgeNet b2107d3503 fix(status): await resolveGatewayProbeAuthResolution in scan.shared
Function is now async after switching to resolveGatewayProbeAuthSafeWithSecretInputs.
Missing await caused TS error: Property 'auth' does not exist on type 'Promise<...>'.
2026-03-22 19:14:44 -07:00
CodeForgeNet 52acc57a61 fix(status): resolve only selected probe-auth branch and fix plain status path
Address two Codex P1/P2 issues:

1. (P1) Plain 'openclaw status' and 'openclaw status --json' still went
   through the sync resolveGatewayProbeAuthSafe path in
   status.gateway-probe.ts, which cannot expand SecretRef objects.
   Switched to async resolveGatewayProbeAuthSafeWithSecretInputs.

2. (P2) status-all.ts was eagerly resolving both local and remote probe
   auth before deciding which to use. A stale SecretRef in the unused
   branch could abort the command. Collapsed to a single resolution
   call using the correct mode upfront.

Updated status.scan.test.ts to use mockResolvedValue since
resolveGatewayProbeAuthResolution is now async.
2026-03-22 19:14:44 -07:00
CodeForgeNet 3595ecba45 fix(gateway): pass process.env in status command probe auth to resolve SecretRef
Fixes #52360

resolveGatewayProbeAuthSafe was called from status-all.ts without an
env argument, causing the credential resolution chain to fall back to
an empty object instead of process.env. This made env-backed SecretRef
tokens (gateway.auth.token, Telegram botToken, etc.) appear unresolved
in the status command path even when the runtime was healthy.

Added process.env as default fallback in buildGatewayProbeCredentialPolicy
and passed env explicitly from status-all.ts callers.

Related: #33070, #38973, #39415, #46014, #49730
2026-03-22 19:14:44 -07:00
Vincent Koc 042669d8c8 refactor(plugins): finish provider and whatsapp cleanup 2026-03-22 19:13:25 -07:00
Vincent Koc 2131981230 refactor(plugins): move remaining channel and provider ownership out of src 2026-03-22 19:13:25 -07:00
Vincent Koc 9ffde8efb2 style(format): fix msteams test drift 2026-03-22 19:13:01 -07:00
Vincent Koc 7bfa261c42 perf(reply): lazy-load media path normalization 2026-03-22 19:12:44 -07:00
Peter Steinberger 462d7ad9c0
perf: default channel vitest lanes to threads 2026-03-22 19:10:43 -07:00
Peter Steinberger f04b49ee3e
test: fix provider config typing drift 2026-03-22 19:10:43 -07:00
Vincent Koc 8ff277d2a2 test(msteams): cover poll and file-card helpers 2026-03-22 19:09:59 -07:00
Peter Steinberger 3ccf1bee2c
test: default scoped vitest configs to no-isolate 2026-03-22 19:09:32 -07:00
Peter Steinberger 74cb08bede fix(plugins): accept media-understanding id hints 2026-03-23 02:08:49 +00:00
Peter Steinberger 9aafff7378
fix: restore main gate after type updates 2026-03-22 19:08:08 -07:00
Peter Steinberger 96d61aa50c
refactor: harden generated-file guards and provider ids 2026-03-22 19:08:08 -07:00
Vincent Koc 7d11f6cf69 test(msteams): cover upload and webhook helpers 2026-03-22 19:07:04 -07:00
Vincent Koc 1ea2593362 test(msteams): cover graph helpers 2026-03-22 19:06:02 -07:00
Vincent Koc 2fcd6507ec perf(reply): narrow queue imports 2026-03-22 19:05:12 -07:00
Vincent Koc 3392558b42 perf(reply): split usage line helpers 2026-03-22 19:00:35 -07:00
Vincent Koc 05055e200a fix(docs): remaining code audit fixes
- sdk-entrypoints.md: fix mislabeled 'Channel entry options' heading
  (should be 'Options' — these are definePluginEntry options, not
  channel-specific)
- sdk-overview.md: add 4 missing API object fields (version, description,
  source, rootDir) from OpenClawPluginApi type
2026-03-22 18:59:03 -07:00
Peter Steinberger 562e4a1791 refactor(outbound): split delivery queue storage and recovery 2026-03-23 01:57:56 +00:00
Peter Steinberger 103098513f
perf: remove stale unit isolated entry 2026-03-22 18:57:44 -07:00
Peter Steinberger 5051a37de4
test: fix googlechat security typing drift 2026-03-22 18:57:44 -07:00
Vincent Koc 16de5a7b41 fix(docs): code-verified fixes from deep reference audit
- sdk-runtime.md: add missing required params (runId, timeoutMs) to
  runEmbeddedPiAgent example
- sdk-provider-plugins.md: add missing onModelSelected hook (#22),
  clarify capabilities is data not callable, drop misleading '21' count
2026-03-22 18:56:51 -07:00
Peter Steinberger e5be5c1b99 style: format plugin sdk helper updates 2026-03-23 01:56:01 +00:00
Peter Steinberger f56edd62f0 fix: export provider-entry plugin sdk subpath 2026-03-23 01:56:01 +00:00
Peter Steinberger 5c8ea0a175 refactor: share channel setup status helpers 2026-03-23 01:56:01 +00:00