Samuel Judson
6ccc57b331
fix: add ssrf protection to Beam fetches ( #123848 )
...
* Add ssrf protection to Beam fetches.
* Additional robustness following initial comments.
* fix(beam): make redirect failures terminal
* chore(plugin-sdk): refresh surface budget
* docs(beam): define redirect restart behavior
* docs(beam): align redirect config help
* test(beam): cover warning before redirect block
* fix(beam): always report terminal redirect blocks
---------
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-08-18 18:00:58 -07:00
WhatsSkiLL
632581477f
fix(session-catalog): preserve explicit agent ownership across UI and CLI ( #123899 )
...
* fix(session-catalog): preserve explicit agent ownership across UI and CLI
* fix(session-catalog): repair owner routing regressions
* Fix-session-catalog-CI-checks
* test(ui): split chat catalog pane coverage
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* refactor(session-catalog): bind Codex homes per request
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* refactor(session-catalog): centralize owner resolution
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* fix(codex): resolve session fork against the adopted home
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
* refactor(ui): extract chat session discussion
* test(sessions): stabilize archive worker responsiveness check
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-15 04:47:28 -07:00
Peter Steinberger
b54034d5c2
fix: isolated gateways list and open the operator's HOME Claude/Codex/OpenCode/Pi sessions ( #122983 )
...
* fix(sessions): isolated gateways no longer inherit HOME external session catalogs
A gateway on isolated state (custom OPENCLAW_STATE_DIR/CONFIG_PATH/OPENCLAW_HOME,
relocated home, or any named profile) listed, read, continued, archived, and
reopened the operator's real Claude Code/Codex/OpenCode/Pi sessions from the
process HOME. External catalogs now require the default install identity for
process-HOME scans: every catalog verb receives the isolation policy and rejects
HOME-fallback local targets, unknown providers fail closed unless they declare
supportsProcessHomeIsolation, and one structured warning records the skip.
Paired-node hosts and explicitly rooted stores (CLAUDE_CONFIG_DIR, CODEX_HOME,
OPENCODE_DB, Pi session dirs) keep working; default-identity gateways are
unchanged.
* fix(sessions): inject catalog HOME-isolation fact at registry construction
* chore(sdk): regenerate plugin API baselines after rebase
* chore(sdk): regenerate plugin API baselines after rebase
2026-08-13 01:12:03 -07:00
Peter Steinberger
cad77fb39c
refactor: consolidate remaining coercion helpers ( #122020 )
2026-08-11 10:22:01 -07:00
Peter Steinberger
fa03d9b913
refactor: consolidate coercion helpers ( #121366 )
...
* refactor: consolidate coercion helpers
* fix: remove duplicate coercion imports
* fix: preserve serialized coercion guard
* chore: ratchet coercion helper carve-outs
* fix(test): keep gauntlet subprocess startup lean
* fix: preserve imported session timestamp semantics
* fix: preserve catalog timestamp string semantics
* chore: align plugin SDK surface ratchet
* fix: preserve trajectory and SDK string contracts
* fix(test): preserve QA record assertion semantics
* fix: complete standalone record guard rename
* refactor(cron): use canonical string coercion
* fix(acpx): preserve Pi timestamp parsing
* test(channels): adapt custody test harnesses
* test(telegram): classify media harness as test support
* test(acpx): split timestamp contract coverage
* test(channels): support generated custody contracts
* chore: ban the full coercion helper name set
Extends the declaration guard to all eleven consolidated helper names and
renames the cron schedule-identity readNumber wrapper to readScheduleInteger
so the banned generic name cannot regrow.
* fix(scripts): repair release-validation guard drift and lint cause
Restores the renamed isJsonRecord guard in assertTrustedWorkflowHarness after
main added isRecord call sites in parallel, and attaches the caught YAML error
as the thrown error cause (preserve-caught-error was red on main).
* fix: preserve Claude timestamp string semantics
* fix: preserve persisted timestamp string semantics
* fix: preserve date-first timestamp contracts
* fix(openai): harden delegation failure formatting
* chore: close coercion helper guard gaps
* test(openai): model non-error delegation rejection
* chore: refresh plugin SDK API contract
* fix(tasks): use canonical string field reader
* fix(ai): use canonical provider error field coercion
* fix(browser): migrate native bootstrap coercion
* docs(plugin-sdk): clarify text record export compatibility
* fix(gateway): normalize approval execution identity
* test(outbound): isolate message action poll harness
2026-08-11 00:02:18 -07:00
Peter Steinberger
c708b41af4
fix(beam): open uploads at canonical catalog URLs ( #120927 )
...
* fix(beam): emit canonical catalog URLs
* fix(beam): type readonly runtime config
* fix(gateway): keep minimal metadata startup lazy
* chore(plugin-sdk): refresh API baseline
2026-08-09 02:09:01 -07:00
zengLingbiao
846a454d92
fix(beam): clip mirrored session text without splitting surrogate pairs ( #117671 )
2026-08-01 18:29:16 -07:00
xingzhou
cc48aef143
fix(beam): prevent mirror retries from stalling on slow responses ( #116174 )
...
* fix(beam): release mirror upload responses
* test(beam): cover response cancellation failures
* fix(buzz): repair typing indicator contracts
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-30 11:33:22 +08:00
Peter Steinberger
7e8afba703
feat(plugins): mirror local coding sessions to a remote Beam receiver ( #114735 )
...
* feat(plugins): mirror local coding sessions to a remote Beam receiver
* fix(plugins): satisfy static gates for the Beam mirror seam
* fix(plugins): import the config type from the narrow contracts subpath
* fix(plugins): require catalog consent and loopback-only plaintext for the Beam mirror
2026-07-27 17:31:34 -04:00
Peter Steinberger
bbc73c36bd
feat(plugins): beam local coding sessions into a read-only catalog ( #112323 )
...
* feat(plugins): add read-only session beam
* test(plugins): tighten Beam HTTP fixtures
* docs(plugins): refresh Beam inventory counts
* fix(plugins): keep Beam wire types private
* fix(plugins): stabilize Beam transcript paging
* fix(plugins): honor Beam Control UI base paths
2026-07-27 15:37:36 -04:00