Files
openclaw-zero-token/bindings/records.ts
sjhu 571e14a236 feat: upgrade to upstream v2026.3.28
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
2026-03-30 17:58:12 +08:00

49 lines
1.5 KiB
TypeScript

import {
getSessionBindingService,
type ConversationRef,
type SessionBindingBindInput,
type SessionBindingCapabilities,
type SessionBindingRecord,
type SessionBindingUnbindInput,
} from "../infra/outbound/session-binding-service.js";
// Shared binding record helpers used by both configured bindings and
// runtime-created plugin conversation bindings.
export async function createConversationBindingRecord(
input: SessionBindingBindInput,
): Promise<SessionBindingRecord> {
return await getSessionBindingService().bind(input);
}
export function getConversationBindingCapabilities(params: {
channel: string;
accountId: string;
}): SessionBindingCapabilities {
return getSessionBindingService().getCapabilities(params);
}
export function listSessionBindingRecords(targetSessionKey: string): SessionBindingRecord[] {
return getSessionBindingService().listBySession(targetSessionKey);
}
export function resolveConversationBindingRecord(
conversation: ConversationRef,
): SessionBindingRecord | null {
return getSessionBindingService().resolveByConversation(conversation);
}
export function touchConversationBindingRecord(bindingId: string, at?: number): void {
const service = getSessionBindingService();
if (typeof at === "number") {
service.touch(bindingId, at);
return;
}
service.touch(bindingId);
}
export async function unbindConversationBindingRecord(
input: SessionBindingUnbindInput,
): Promise<SessionBindingRecord[]> {
return await getSessionBindingService().unbind(input);
}