mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* feat(sessions): import Claude Code and Codex transcripts into OpenClaw Add sessions.catalog.import, which preserves a native catalog transcript (Claude Code, Codex, OpenCode, Pi, or shared OpenClaw sessions) as an ordinary OpenClaw session so it survives the source tool's cleanup or the loss of the source computer. It reads through the existing catalog read path, so Gateway-local, headless node, macOS app, and Linux app sources all work without app changes. Re-importing the same source reuses a deterministic agent-scoped session key and appends only items not yet imported, so repeated imports act as an explicit sync. Imports keep up to 50,000 items or 64 MiB (newest first) and report complete: false when older history is cut. Continuation keeps its 200-item / 512 KiB seed; adoption, continue, and fork are unchanged. Surfaces: the sessions.catalog.import Gateway RPC (operator.write, same row visibility as sessions.catalog.read), `openclaw sessions import` (single transcript or --all with paging, --dry-run, --json), and an "Import to OpenClaw" item in the Control UI catalog row menu. The shared catalog history reader now pages at 50 items, the Claude and Codex transcript read cap. * chore: merge main into transcript import branch * fix(sessions): fence catalog import source access through commit Retain the catalog visibility owner's matched source and require current read authority for destination creation, transcript appends, and state events. Compare access facts without rejecting ordinary transcript generations. Cover forbidden readers, pre-write sharing revocation, and mid-append revocation through real Gateway owners. Share the integration state fixture. Use typed CLI options and local paging state to satisfy assertion and lint gates. * fix(sessions): default catalog imports to drafts Preserve published copies on re-import and honor the Gateway no-drafts policy. Split cheap import authorization checks from retained release-tier owner integration proof. Refresh the Workboard asset manifest required by the generation gate. * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 * test(ui): expect the import action in adopted catalog session menus * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 * Merge remote-tracking branch 'origin/main' into steipete/transcript-import-mode-a262c5 # Conflicts: # docs/nodes/session-catalogs.md Co-authored-by: Peter Steinberger <steipete@gmail.com> |
||
|---|---|---|
| .. | ||
| acp-core | ||
| agent-core | ||
| ai | ||
| gateway-client | ||
| gateway-protocol | ||
| llm-core | ||
| markdown-core | ||
| media-core | ||
| media-generation-core | ||
| media-understanding-common | ||
| memory-host-sdk | ||
| mermaid-renderer | ||
| model-catalog-core | ||
| net-policy | ||
| normalization-core | ||
| plugin-package-contract | ||
| plugin-sdk | ||
| retry | ||
| sdk | ||
| session-url-contract | ||
| terminal-core | ||
| tool-call-repair | ||
| workboard-contract | ||
| tsconfig.json | ||