@poolzin/pool-bot 2026.3.22 → 2026.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +111 -0
- package/dist/.buildstamp +1 -1
- package/dist/acp/bindings-store.js +209 -0
- package/dist/acp/control-plane/runtime-cache.js +54 -0
- package/dist/acp/control-plane/runtime-options.js +215 -0
- package/dist/acp/control-plane/session-actor-queue.js +36 -0
- package/dist/acp/policy.js +52 -0
- package/dist/acp/runtime/errors.js +47 -0
- package/dist/acp/runtime/registry.js +86 -0
- package/dist/acp/runtime/types.js +1 -0
- package/dist/acp/translator.js +97 -0
- package/dist/agents/btw.js +280 -0
- package/dist/agents/failover-error.js +145 -47
- package/dist/agents/fast-mode.js +24 -0
- package/dist/agents/live-model-errors.js +23 -0
- package/dist/agents/model-auth-env-vars.js +44 -0
- package/dist/agents/model-auth-markers.js +69 -0
- package/dist/agents/models-config.providers.discovery.js +180 -0
- package/dist/agents/models-config.providers.static.js +480 -0
- package/dist/auto-reply/reply/typing-policy.js +15 -0
- package/dist/browser/browser-profile-manager.js +319 -0
- package/dist/browser/cdp-proxy-bypass.js +129 -0
- package/dist/browser/cdp-timeouts.js +41 -0
- package/dist/browser/chrome-extension-validator.js +406 -0
- package/dist/browser/chrome-mcp-snapshot.js +222 -0
- package/dist/browser/chrome-mcp.js +421 -0
- package/dist/browser/chrome-mcp.snapshot.js +133 -0
- package/dist/browser/errors.js +67 -0
- package/dist/browser/form-fields.js +22 -0
- package/dist/browser/output-atomic.js +44 -0
- package/dist/browser/profile-capabilities.js +47 -0
- package/dist/browser/safe-filename.js +25 -0
- package/dist/browser/snapshot-roles.js +60 -0
- package/dist/build-info.json +3 -3
- package/dist/channels/account-snapshot-fields.js +176 -0
- package/dist/channels/draft-stream-controls.js +89 -0
- package/dist/channels/inbound-debounce-policy.js +28 -0
- package/dist/channels/typing-lifecycle.js +39 -0
- package/dist/cli/program/command-registry.js +52 -0
- package/dist/commands/agent-binding.js +123 -0
- package/dist/commands/agents.commands.bind.js +280 -0
- package/dist/commands/backup-shared.js +186 -0
- package/dist/commands/backup-verify.js +236 -0
- package/dist/commands/backup.js +166 -0
- package/dist/commands/channel-account-context.js +15 -0
- package/dist/commands/channel-account.js +190 -0
- package/dist/commands/gateway-install-token.js +117 -0
- package/dist/commands/oauth-tls-preflight.js +121 -0
- package/dist/commands/ollama-setup.js +402 -0
- package/dist/commands/security-owner-only.js +86 -0
- package/dist/commands/self-hosted-provider-setup.js +207 -0
- package/dist/commands/session-store-targets.js +12 -0
- package/dist/commands/sessions-cleanup.js +97 -0
- package/dist/control-ui/assets/{index-Dvkl4Xlx.js → index-D7shnQwQ.js} +404 -388
- package/dist/control-ui/assets/index-D7shnQwQ.js.map +1 -0
- package/dist/control-ui/index.html +1 -1
- package/dist/cron/cron-filters.js +150 -0
- package/dist/cron/heartbeat-policy.js +26 -0
- package/dist/gateway/device-pairing-security.js +197 -0
- package/dist/gateway/event-deduplication.js +167 -0
- package/dist/gateway/hooks-mapping.js +46 -7
- package/dist/gateway/run-tracker.js +253 -0
- package/dist/gateway/server-methods/nodes.js +14 -0
- package/dist/gateway/websocket-preauth-security.js +188 -0
- package/dist/hooks/module-loader.js +28 -0
- package/dist/infra/agent-command-binding.js +144 -0
- package/dist/infra/backup.js +328 -0
- package/dist/infra/channel-account-context.js +173 -0
- package/dist/infra/errors.js +53 -13
- package/dist/infra/exec-approvals-security.js +217 -0
- package/dist/infra/security/command-analyzer.js +257 -0
- package/dist/infra/session-cleanup.js +143 -0
- package/dist/plugins/loader.js +16 -8
- package/dist/security/external-content.js +51 -1
- package/dist/sessions/session-costs.js +228 -0
- package/dist/shared/param-key.js +16 -0
- package/dist/shared/poll-params.js +58 -0
- package/dist/shared/polls.js +55 -0
- package/docs/DASHBOARD-GAP-ANALYSIS-AND-PLAN.md +430 -0
- package/docs/FEATURES.md +523 -0
- package/docs/FINAL-IMPLEMENTATION-REVIEW.md +274 -0
- package/docs/FINAL-IMPLEMENTATION-SUMMARY.md +356 -0
- package/docs/FINAL-PROFESSIONAL-EVALUATION.md +312 -0
- package/docs/IMPLEMENTATION-PRIORITY-EVALUATION.md +298 -0
- package/docs/IMPLEMENTATION-PROGRESS.md +237 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE1-2.md +381 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE4.md +389 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE5.md +420 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE6.md +422 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE7-FINAL.md +184 -0
- package/docs/MIKRODASH-ANALYSIS.md +412 -0
- package/docs/OPENCLAW-GAP-ANALYSIS-FINAL.md +431 -0
- package/docs/OPENCLAW-VS-POOLBOT-ANALYSIS.md +351 -0
- package/docs/PHASE-7-SUMMARY.md +144 -0
- package/docs/POOLBOT-OFFICE-PLAN.md +697 -0
- package/docs/PROJECT-FINAL-STATUS.md +237 -0
- package/docs/README.md +116 -0
- package/docs/REAL-IMPROVEMENTS-EVALUATION.md +477 -0
- package/docs/SECURITY-HARDENING-IMPLEMENTATION.md +161 -0
- package/docs/channels/googlechat.md +235 -206
- package/docs/channels/irc.md +332 -0
- package/docs/channels/nostr.md +255 -168
- package/docs/components/command-palette.md +166 -0
- package/docs/components/login-gate.md +219 -0
- package/docs/getting-started/installation.md +191 -0
- package/docs/getting-started/introduction.md +120 -0
- package/docs/improvements/USAGE-GUIDE.md +359 -0
- package/docs/plans/2026-03-15-openclaw-features-implementation.md +1632 -0
- package/docs/reference/deadcode-detection.md +72 -0
- package/extensions/acpx/node_modules/.bin/acpx +21 -0
- package/extensions/agency-agents/node_modules/.bin/vite +4 -4
- package/extensions/agency-agents/node_modules/.bin/vitest +2 -2
- package/extensions/googlechat/node_modules/.bin/tsc +21 -0
- package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
- package/extensions/googlechat/node_modules/.bin/vitest +21 -0
- package/extensions/googlechat/package.json +11 -28
- package/extensions/googlechat/src/googlechat-channel.test.ts +60 -0
- package/extensions/googlechat/src/googlechat-channel.ts +120 -0
- package/extensions/googlechat/src/index.ts +14 -0
- package/extensions/irc/node_modules/.bin/tsc +21 -0
- package/extensions/irc/node_modules/.bin/tsserver +21 -0
- package/extensions/irc/node_modules/.bin/vitest +21 -0
- package/extensions/irc/package.json +16 -8
- package/extensions/irc/src/index.ts +14 -0
- package/extensions/irc/src/irc-channel.test.ts +43 -0
- package/extensions/irc/src/irc-channel.ts +191 -0
- package/extensions/keyed-async-queue/node_modules/.bin/tsc +21 -0
- package/extensions/keyed-async-queue/node_modules/.bin/tsserver +21 -0
- package/extensions/keyed-async-queue/node_modules/.bin/vitest +21 -0
- package/extensions/keyed-async-queue/package.json +20 -0
- package/extensions/keyed-async-queue/src/index.ts +14 -0
- package/extensions/keyed-async-queue/src/queue.test.ts +135 -0
- package/extensions/keyed-async-queue/src/queue.ts +200 -0
- package/extensions/memory-core/node_modules/.bin/tsc +21 -0
- package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-core/node_modules/.bin/vitest +21 -0
- package/extensions/memory-core/package.json +11 -8
- package/extensions/memory-core/src/index.ts +14 -0
- package/extensions/memory-core/src/memory-manager.test.ts +124 -0
- package/extensions/memory-core/src/memory-manager.ts +186 -0
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/nostr/node_modules/.bin/vitest +21 -0
- package/extensions/nostr/package.json +15 -24
- package/extensions/nostr/src/index.ts +14 -0
- package/extensions/nostr/src/nostr-channel.test.ts +55 -0
- package/extensions/nostr/src/nostr-channel.ts +228 -0
- package/extensions/page-agent/node_modules/.bin/vitest +2 -2
- package/extensions/test-utils/node_modules/.bin/jiti +21 -0
- package/extensions/test-utils/node_modules/.bin/playwright +21 -0
- package/extensions/test-utils/node_modules/.bin/tsx +21 -0
- package/extensions/test-utils/node_modules/.bin/vite +21 -0
- package/extensions/test-utils/node_modules/.bin/vitest +21 -0
- package/extensions/test-utils/node_modules/.bin/yaml +21 -0
- package/extensions/xyops/node_modules/.bin/vitest +2 -2
- package/package.json +2 -1
- package/dist/control-ui/assets/index-Dvkl4Xlx.js.map +0 -1
- package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
- package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { resolveSessionStoreTargets, } from "../config/sessions.js";
|
|
2
|
+
export { resolveSessionStoreTargets };
|
|
3
|
+
export function resolveSessionStoreTargetsOrExit(params) {
|
|
4
|
+
try {
|
|
5
|
+
return resolveSessionStoreTargets(params.cfg, params.opts);
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
params.runtime.error(error instanceof Error ? error.message : String(error));
|
|
9
|
+
params.runtime.exit(1);
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Cleanup Command
|
|
3
|
+
*
|
|
4
|
+
* Clean up old sessions to stay within disk budget.
|
|
5
|
+
*/
|
|
6
|
+
import { cleanupSessions, getSessionCleanupStatus } from "../infra/session-cleanup.js";
|
|
7
|
+
function formatBytes(bytes) {
|
|
8
|
+
if (bytes < 1024)
|
|
9
|
+
return `${bytes} B`;
|
|
10
|
+
if (bytes < 1024 * 1024)
|
|
11
|
+
return `${(bytes / 1024).toFixed(2)} KB`;
|
|
12
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
13
|
+
return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
14
|
+
return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
15
|
+
}
|
|
16
|
+
export function registerSessionCleanupCommand(program) {
|
|
17
|
+
const cleanupCmd = program
|
|
18
|
+
.command("sessions-cleanup")
|
|
19
|
+
.description("Clean up old sessions to stay within disk budget");
|
|
20
|
+
// Run cleanup
|
|
21
|
+
cleanupCmd
|
|
22
|
+
.command("run")
|
|
23
|
+
.description("Run session cleanup")
|
|
24
|
+
.option("--max-size <MB>", "Maximum disk usage in MB", "1000")
|
|
25
|
+
.option("--min-keep <count>", "Minimum sessions to keep", "5")
|
|
26
|
+
.option("--dry-run", "Show what would be deleted without actually deleting")
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
console.log("🎱 Pool Bot - Session Cleanup\n");
|
|
29
|
+
const maxDiskUsageMB = parseInt(options.maxSize);
|
|
30
|
+
const minSessionsToKeep = parseInt(options.minKeep);
|
|
31
|
+
// Show current status
|
|
32
|
+
const status = await getSessionCleanupStatus({
|
|
33
|
+
maxDiskUsageMB,
|
|
34
|
+
});
|
|
35
|
+
console.log("📊 Current Status:");
|
|
36
|
+
console.log(` Sessions: ${status.sessionCount}`);
|
|
37
|
+
console.log(` Disk Usage: ${formatBytes(status.currentUsageMB * 1024 * 1024)}`);
|
|
38
|
+
console.log(` Max Allowed: ${formatBytes(status.maxUsageMB * 1024 * 1024)}`);
|
|
39
|
+
console.log(` Usage: ${status.usagePercent.toFixed(1)}%`);
|
|
40
|
+
console.log(` Over Budget: ${status.overBudget ? "Yes ⚠️" : "No ✅"}\n`);
|
|
41
|
+
if (!status.overBudget) {
|
|
42
|
+
console.log("✅ No cleanup needed - under budget\n");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Run cleanup
|
|
46
|
+
const result = await cleanupSessions({
|
|
47
|
+
maxDiskUsageMB,
|
|
48
|
+
minSessionsToKeep,
|
|
49
|
+
dryRun: options.dryRun,
|
|
50
|
+
});
|
|
51
|
+
if (result.success) {
|
|
52
|
+
if (options.dryRun) {
|
|
53
|
+
console.log("🔍 Dry Run - No changes made\n");
|
|
54
|
+
console.log("📊 Would cleanup:");
|
|
55
|
+
console.log(` - Sessions to delete: ${result.sessionsDeleted}`);
|
|
56
|
+
console.log(` - Space to free: ${formatBytes(result.spaceFreedBytes)}`);
|
|
57
|
+
console.log(` - Sessions remaining: ${result.sessionsRemaining}`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
console.log("✅ Cleanup completed successfully!\n");
|
|
61
|
+
console.log("📊 Results:");
|
|
62
|
+
console.log(` - Sessions deleted: ${result.sessionsDeleted}`);
|
|
63
|
+
console.log(` - Space freed: ${formatBytes(result.spaceFreedBytes)}`);
|
|
64
|
+
console.log(` - Sessions remaining: ${result.sessionsRemaining}`);
|
|
65
|
+
console.log(` - Current usage: ${formatBytes(result.currentDiskUsageBytes)}`);
|
|
66
|
+
console.log(` - Duration: ${result.duration}ms`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.error("❌ Cleanup failed!\n");
|
|
71
|
+
console.error(`Error: ${result.error}`);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
// Show status
|
|
76
|
+
cleanupCmd
|
|
77
|
+
.command("status")
|
|
78
|
+
.description("Show session cleanup status")
|
|
79
|
+
.option("--max-size <MB>", "Maximum disk usage in MB", "1000")
|
|
80
|
+
.action(async (options) => {
|
|
81
|
+
console.log("🎱 Pool Bot - Session Status\n");
|
|
82
|
+
const maxDiskUsageMB = parseInt(options.maxSize);
|
|
83
|
+
const status = await getSessionCleanupStatus({
|
|
84
|
+
maxDiskUsageMB,
|
|
85
|
+
});
|
|
86
|
+
console.log("📊 Session Status:");
|
|
87
|
+
console.log(` Sessions: ${status.sessionCount}`);
|
|
88
|
+
console.log(` Disk Usage: ${formatBytes(status.currentUsageMB * 1024 * 1024)}`);
|
|
89
|
+
console.log(` Max Allowed: ${formatBytes(status.maxUsageMB * 1024 * 1024)}`);
|
|
90
|
+
console.log(` Usage: ${status.usagePercent.toFixed(1)}%`);
|
|
91
|
+
console.log(` Over Budget: ${status.overBudget ? "Yes ⚠️" : "No ✅"}\n`);
|
|
92
|
+
if (status.overBudget) {
|
|
93
|
+
console.log('💡 Run "poolbot sessions-cleanup run" to cleanup old sessions\n');
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
return cleanupCmd;
|
|
97
|
+
}
|