Files
openclaw-zero-token/commands/sandbox-formatters.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

38 lines
908 B
TypeScript

/**
* Formatting utilities for sandbox CLI output
*/
export function formatStatus(running: boolean): string {
return running ? "🟢 running" : "⚫ stopped";
}
export function formatSimpleStatus(running: boolean): string {
return running ? "running" : "stopped";
}
export function formatImageMatch(matches: boolean): string {
return matches ? "✓" : "⚠️ mismatch";
}
/**
* Type guard and counter utilities
*/
export type ContainerItem = {
running: boolean;
imageMatch: boolean;
containerName: string;
sessionKey: string;
image: string;
createdAtMs: number;
lastUsedAtMs: number;
};
export function countRunning<T extends { running: boolean }>(items: T[]): number {
return items.filter((item) => item.running).length;
}
export function countMismatches<T extends { imageMatch: boolean }>(items: T[]): number {
return items.filter((item) => !item.imageMatch).length;
}