mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-16 19:01:42 +00:00
* feat(gateway): add generic sessions.catalog surface with plugin SDK registration seam
* feat(agents): support one-shot forked CLI session resume with successor rebinding
* feat(anthropic): adopt local Claude CLI sessions into native chats via catalog continue
* feat(codex): register the session catalog provider independently of supervision
* refactor(ui): delete the retired custom Claude/Codex session tab views
* feat(ui): render external session catalogs as native sidebar sessions and chat panes
* docs: describe the unified native session catalog
* fix: harden forked CLI resume and catalog transcript mapping after review
* fix: satisfy strict typecheck for catalog source guard and imported message cast
* chore(i18n): regenerate session catalog locales
* fix(codex): simplify session source guard type
* fix(ui): paginate sidebar session catalogs
* chore(i18n): refresh catalog metadata after main merge
* fix(ui): harden session catalog pagination refresh
* test(agents): use sqlite session accessor in fork tests
* fix(ci): refresh session catalog generated surfaces
* fix(ui): align session catalog locales
* fix: address session catalog review findings
* fix(sessions): roll back failed plugin catalog adoption
* test(sessions): preserve CLI binding literals
* fix(ui): restore native session pagination label
* docs: note external session catalogs
* Revert "docs: note external session catalogs"
This reverts commit cfb503f160.
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import type {
|
|
SessionCatalogHost,
|
|
SessionsCatalogArchiveParams,
|
|
SessionsCatalogContinueParams,
|
|
SessionsCatalogReadParams,
|
|
SessionsCatalogReadResult,
|
|
} from "../../packages/gateway-protocol/src/schema/sessions-catalog.js";
|
|
|
|
export type SessionCatalogListProviderParams = {
|
|
search?: string;
|
|
limitPerHost?: number;
|
|
hostIds?: string[];
|
|
cursors?: Record<string, string>;
|
|
};
|
|
export type SessionCatalogReadProviderParams = Omit<SessionsCatalogReadParams, "catalogId">;
|
|
export type SessionCatalogContinueProviderParams = Omit<SessionsCatalogContinueParams, "catalogId">;
|
|
export type SessionCatalogArchiveProviderParams = Omit<SessionsCatalogArchiveParams, "catalogId">;
|
|
|
|
export type SessionCatalogProvider = {
|
|
id: string;
|
|
label: string;
|
|
list: (params: SessionCatalogListProviderParams) => Promise<SessionCatalogHost[]>;
|
|
read: (params: SessionCatalogReadProviderParams) => Promise<SessionsCatalogReadResult>;
|
|
continueSession?: (
|
|
params: SessionCatalogContinueProviderParams,
|
|
) => Promise<{ sessionKey: string }>;
|
|
archive?: (params: SessionCatalogArchiveProviderParams) => Promise<{ ok: true }>;
|
|
};
|