Files
openclaw/src/plugin-sdk/routing.ts
T
Peter Steinberger 09672312c4 feat(gateway): incognito sessions for the web Control UI (#113006)
* feat(gateway): add web-only incognito sessions held in process memory

* feat(ui): add incognito toggle and badges to the web new-session flow

* fix(sessions): classify incognito by key shape, fail closed on stale keys, and gate memory writes

* fix(codex): start harness threads ephemeral for incognito sessions

* fix(sessions): reshape internal-effects incognito keys and add doctor repair for reserved key collisions

* refactor(plugin-sdk): export canonical incognito key classifier and guard the sentinel path

* fix(state): classify incognito DB handles from the recorded open-time set

* fix(gateway): isolate incognito sessions from durable lineage and allocation on read-only misses

* docs(sessions): pin the reserved incognito namespace ownership decision

* feat(gateway): admin-scope incognito visibility and incognito-blind cross-session surfaces

* fix(ci): repair kysely guardrails, dead export, docs map, protocol bindings, and ACP reset rotation

* fix(gateway): remove non-admin observability side channels for incognito sessions

* fix(gateway): enforce admin-scope incognito access and cover all parent-reference creation paths
2026-07-23 09:04:36 -07:00

41 lines
1.3 KiB
TypeScript

/**
* Public SDK subpath for session keys, account bindings, and message-channel routing.
*/
export {
buildAgentSessionKey,
deriveLastRoutePolicy,
resolveAgentRoute,
resolveInboundLastRouteSessionKey,
type ResolvedAgentRoute,
type RoutePeer,
type RoutePeerKind,
} from "../routing/resolve-route.js";
export {
buildAgentMainSessionKey,
DEFAULT_ACCOUNT_ID,
DEFAULT_MAIN_KEY,
buildGroupHistoryKey,
isCronSessionKey,
isAcpSessionKey,
isIncognitoSessionKey,
isSubagentSessionKey,
normalizeAccountId,
normalizeAgentId,
normalizeMainKey,
normalizeOptionalAccountId,
parseAgentSessionKey,
parseThreadSessionSuffix,
resolveAgentIdFromSessionKey,
resolveThreadSessionKeys,
sanitizeAgentId,
} from "../routing/session-key.js";
export { resolveAccountEntry } from "../routing/account-lookup.js";
export { listBoundAccountIds, resolveDefaultAgentBoundAccountId } from "../routing/bindings.js";
export {
formatSetExplicitDefaultInstruction,
formatSetExplicitDefaultToConfiguredInstruction,
} from "../routing/default-account-warnings.js";
export { buildOutboundBaseSessionKey } from "../infra/outbound/base-session-key.js";
export { normalizeOutboundThreadId } from "../infra/outbound/thread-id.js";
export { normalizeMessageChannel, resolveGatewayMessageChannel } from "../utils/message-channel.js";