agent-nuvira 2.7.3 → 3.0.0
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/dist/agents/agents/writer-tool-calling.d.ts +14 -0
- package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
- package/dist/agents/agents/writer-tool-calling.js +20 -0
- package/dist/agents/agents/writer-tool-calling.js.map +1 -1
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +15 -4
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/edit-module.d.ts +7 -0
- package/dist/agents/edit-module.d.ts.map +1 -1
- package/dist/agents/edit-module.js +21 -6
- package/dist/agents/edit-module.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +40 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +116 -27
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/tool-calling-agent.d.ts +19 -0
- package/dist/agents/tool-calling-agent.d.ts.map +1 -1
- package/dist/agents/tool-calling-agent.js +42 -2
- package/dist/agents/tool-calling-agent.js.map +1 -1
- package/dist/cli/chat.d.ts +55 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +239 -63
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts +6 -0
- package/dist/cli/cli-program.d.ts.map +1 -0
- package/dist/cli/cli-program.js +222 -0
- package/dist/cli/cli-program.js.map +1 -0
- package/dist/cli/edit.d.ts.map +1 -1
- package/dist/cli/edit.js +18 -3
- package/dist/cli/edit.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +29 -5
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.d.ts +13 -0
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +11 -0
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/gateway.d.ts +16 -0
- package/dist/cli/gateway.d.ts.map +1 -1
- package/dist/cli/gateway.js +108 -2
- package/dist/cli/gateway.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +245 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +20 -6
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/process-control.d.ts +10 -0
- package/dist/cli/process-control.d.ts.map +1 -1
- package/dist/cli/process-control.js +73 -7
- package/dist/cli/process-control.js.map +1 -1
- package/dist/cli/router.d.ts +16 -5
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +31 -206
- package/dist/cli/router.js.map +1 -1
- package/dist/config/paths.d.ts +23 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +30 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/provider-env.d.ts +37 -0
- package/dist/config/provider-env.d.ts.map +1 -0
- package/dist/config/provider-env.js +86 -0
- package/dist/config/provider-env.js.map +1 -0
- package/dist/context/history.d.ts.map +1 -1
- package/dist/context/history.js +24 -8
- package/dist/context/history.js.map +1 -1
- package/dist/context/session-recall.d.ts +30 -0
- package/dist/context/session-recall.d.ts.map +1 -1
- package/dist/context/session-recall.js +61 -0
- package/dist/context/session-recall.js.map +1 -1
- package/dist/file.js +0 -1
- package/dist/file.js.map +1 -1
- package/dist/gateway/adapters.d.ts +10 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +4 -1
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/dedup.d.ts +105 -0
- package/dist/gateway/dedup.d.ts.map +1 -0
- package/dist/gateway/dedup.js +160 -0
- package/dist/gateway/dedup.js.map +1 -0
- package/dist/gateway/heartbeat.d.ts +99 -0
- package/dist/gateway/heartbeat.d.ts.map +1 -0
- package/dist/gateway/heartbeat.js +122 -0
- package/dist/gateway/heartbeat.js.map +1 -0
- package/dist/gateway/inbox.d.ts +14 -1
- package/dist/gateway/inbox.d.ts.map +1 -1
- package/dist/gateway/inbox.js.map +1 -1
- package/dist/gateway/platform-config.d.ts +5 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +8 -13
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/registry.d.ts +47 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +227 -21
- package/dist/gateway/registry.js.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +4 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +16 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +42 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +3 -0
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +12 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/local-adapter.d.ts +2 -0
- package/dist/inference/local-adapter.d.ts.map +1 -1
- package/dist/inference/local-adapter.js +36 -5
- package/dist/inference/local-adapter.js.map +1 -1
- package/dist/inference/native-tools.d.ts +8 -0
- package/dist/inference/native-tools.d.ts.map +1 -1
- package/dist/inference/native-tools.js +14 -3
- package/dist/inference/native-tools.js.map +1 -1
- package/dist/inference/tool-call-utils.d.ts +66 -7
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +134 -13
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +90 -5
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/context-budget.d.ts +133 -0
- package/dist/learning/context-budget.d.ts.map +1 -0
- package/dist/learning/context-budget.js +196 -0
- package/dist/learning/context-budget.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +20 -8
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +6 -2
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/failure-bookkeeping.d.ts +19 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +67 -2
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/feedback.d.ts.map +1 -1
- package/dist/learning/feedback.js +19 -8
- package/dist/learning/feedback.js.map +1 -1
- package/dist/learning/model-harness.d.ts +76 -0
- package/dist/learning/model-harness.d.ts.map +1 -0
- package/dist/learning/model-harness.js +119 -0
- package/dist/learning/model-harness.js.map +1 -0
- package/dist/learning/model-selection.d.ts +15 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +27 -1
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/provider-fallback.d.ts +12 -0
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +74 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/provider-revival.d.ts +106 -0
- package/dist/learning/provider-revival.d.ts.map +1 -0
- package/dist/learning/provider-revival.js +154 -0
- package/dist/learning/provider-revival.js.map +1 -0
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +48 -3
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/nlu/conversation-gate.d.ts +37 -0
- package/dist/nlu/conversation-gate.d.ts.map +1 -1
- package/dist/nlu/conversation-gate.js +49 -0
- package/dist/nlu/conversation-gate.js.map +1 -1
- package/dist/nlu/schema.d.ts +2 -2
- package/dist/observability/dag-bridge.d.ts +69 -0
- package/dist/observability/dag-bridge.d.ts.map +1 -0
- package/dist/observability/dag-bridge.js +56 -0
- package/dist/observability/dag-bridge.js.map +1 -0
- package/dist/observability/event-bus.d.ts +5 -10
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +10 -42
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/skills/execution-audit.d.ts.map +1 -1
- package/dist/skills/execution-audit.js +17 -5
- package/dist/skills/execution-audit.js.map +1 -1
- package/dist/skills/sandbox-executor.d.ts +12 -1
- package/dist/skills/sandbox-executor.d.ts.map +1 -1
- package/dist/skills/sandbox-executor.js +28 -6
- package/dist/skills/sandbox-executor.js.map +1 -1
- package/dist/skills/secret-capture.d.ts +45 -1
- package/dist/skills/secret-capture.d.ts.map +1 -1
- package/dist/skills/secret-capture.js +82 -19
- package/dist/skills/secret-capture.js.map +1 -1
- package/dist/skills/skill-env-inventory.d.ts +79 -0
- package/dist/skills/skill-env-inventory.d.ts.map +1 -0
- package/dist/skills/skill-env-inventory.js +167 -0
- package/dist/skills/skill-env-inventory.js.map +1 -0
- package/dist/skills/skill-executor.d.ts +2 -0
- package/dist/skills/skill-executor.d.ts.map +1 -1
- package/dist/skills/skill-executor.js +19 -24
- package/dist/skills/skill-executor.js.map +1 -1
- package/dist/tools/ask-user.d.ts +14 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +25 -1
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/followup-utils.d.ts +64 -0
- package/dist/tools/followup-utils.d.ts.map +1 -0
- package/dist/tools/followup-utils.js +158 -0
- package/dist/tools/followup-utils.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +35 -0
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +76 -0
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +8 -3
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +25 -12
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +31 -6
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/skill-tool.d.ts.map +1 -1
- package/dist/tools/skill-tool.js +52 -5
- package/dist/tools/skill-tool.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +63 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +305 -66
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/toolsets.d.ts +19 -3
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +21 -5
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +9 -13
- package/dist/utils/env.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +13 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +16 -2
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +2 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +4 -0
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +6 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +192 -3
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +31 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +11 -1
- package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
- package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
- package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/example.d.ts +0 -1
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -3
- package/dist/example.js.map +0 -1
- package/dist/fresh.d.ts +0 -2
- package/dist/fresh.d.ts.map +0 -1
- package/dist/fresh.js +0 -2
- package/dist/fresh.js.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
- package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.js +0 -140
- package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
- package/dist/memory/background-sync.d.ts +0 -107
- package/dist/memory/background-sync.d.ts.map +0 -1
- package/dist/memory/background-sync.js +0 -242
- package/dist/memory/background-sync.js.map +0 -1
- package/dist/memory/cross-session.d.ts +0 -68
- package/dist/memory/cross-session.d.ts.map +0 -1
- package/dist/memory/cross-session.js +0 -153
- package/dist/memory/cross-session.js.map +0 -1
- package/dist/memory/drift-detector.d.ts +0 -76
- package/dist/memory/drift-detector.d.ts.map +0 -1
- package/dist/memory/drift-detector.js +0 -216
- package/dist/memory/drift-detector.js.map +0 -1
- package/dist/memory/enhanced-manager.d.ts +0 -105
- package/dist/memory/enhanced-manager.d.ts.map +0 -1
- package/dist/memory/enhanced-manager.js +0 -280
- package/dist/memory/enhanced-manager.js.map +0 -1
- package/dist/memory/session-extraction.d.ts +0 -93
- package/dist/memory/session-extraction.d.ts.map +0 -1
- package/dist/memory/session-extraction.js +0 -290
- package/dist/memory/session-extraction.js.map +0 -1
- package/dist/memory/sqlite-store.d.ts +0 -208
- package/dist/memory/sqlite-store.d.ts.map +0 -1
- package/dist/memory/sqlite-store.js +0 -556
- package/dist/memory/sqlite-store.js.map +0 -1
- package/dist/skills/daytona-executor.d.ts +0 -78
- package/dist/skills/daytona-executor.d.ts.map +0 -1
- package/dist/skills/daytona-executor.js +0 -256
- package/dist/skills/daytona-executor.js.map +0 -1
- package/dist/skills/modal-executor.d.ts +0 -81
- package/dist/skills/modal-executor.d.ts.map +0 -1
- package/dist/skills/modal-executor.js +0 -285
- package/dist/skills/modal-executor.js.map +0 -1
- package/dist/sync/inventory.d.ts +0 -1
- package/dist/sync/inventory.d.ts.map +0 -1
- package/dist/sync/inventory.js +0 -3
- package/dist/sync/inventory.js.map +0 -1
- package/dist/sync/validate.d.ts +0 -1
- package/dist/sync/validate.d.ts.map +0 -1
- package/dist/sync/validate.js +0 -3
- package/dist/sync/validate.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -3
- package/dist/test.js.map +0 -1
- package/dist/tools/browser-tool.d.ts +0 -206
- package/dist/tools/browser-tool.d.ts.map +0 -1
- package/dist/tools/browser-tool.js +0 -726
- package/dist/tools/browser-tool.js.map +0 -1
- package/dist/tools/delegate-tool.d.ts +0 -109
- package/dist/tools/delegate-tool.d.ts.map +0 -1
- package/dist/tools/delegate-tool.js +0 -185
- package/dist/tools/delegate-tool.js.map +0 -1
- package/dist/tools/delegation-state.d.ts +0 -87
- package/dist/tools/delegation-state.d.ts.map +0 -1
- package/dist/tools/delegation-state.js +0 -278
- package/dist/tools/delegation-state.js.map +0 -1
- package/dist/tools/desktop-ui.d.ts +0 -148
- package/dist/tools/desktop-ui.d.ts.map +0 -1
- package/dist/tools/desktop-ui.js +0 -486
- package/dist/tools/desktop-ui.js.map +0 -1
- package/dist/tools/image-video-tool.d.ts +0 -88
- package/dist/tools/image-video-tool.d.ts.map +0 -1
- package/dist/tools/image-video-tool.js +0 -276
- package/dist/tools/image-video-tool.js.map +0 -1
- package/dist/tools/kanban-cron-tools.d.ts +0 -92
- package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
- package/dist/tools/kanban-cron-tools.js +0 -197
- package/dist/tools/kanban-cron-tools.js.map +0 -1
- package/dist/tools/messaging-tool.d.ts +0 -127
- package/dist/tools/messaging-tool.d.ts.map +0 -1
- package/dist/tools/messaging-tool.js +0 -314
- package/dist/tools/messaging-tool.js.map +0 -1
- package/dist/tools/modality/generic-caller.d.ts +0 -43
- package/dist/tools/modality/generic-caller.d.ts.map +0 -1
- package/dist/tools/modality/generic-caller.js +0 -254
- package/dist/tools/modality/generic-caller.js.map +0 -1
- package/dist/tools/modality/modality-catalog.d.ts +0 -134
- package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
- package/dist/tools/modality/modality-catalog.js +0 -445
- package/dist/tools/modality/modality-catalog.js.map +0 -1
- package/dist/tools/modality/tool-router.d.ts +0 -81
- package/dist/tools/modality/tool-router.d.ts.map +0 -1
- package/dist/tools/modality/tool-router.js +0 -84
- package/dist/tools/modality/tool-router.js.map +0 -1
- package/dist/tools/security-tools.d.ts +0 -107
- package/dist/tools/security-tools.d.ts.map +0 -1
- package/dist/tools/security-tools.js +0 -264
- package/dist/tools/security-tools.js.map +0 -1
- package/dist/tools/ssh-tool.d.ts +0 -130
- package/dist/tools/ssh-tool.d.ts.map +0 -1
- package/dist/tools/ssh-tool.js +0 -328
- package/dist/tools/ssh-tool.js.map +0 -1
- package/dist/tools/tts-tool.d.ts +0 -91
- package/dist/tools/tts-tool.d.ts.map +0 -1
- package/dist/tools/tts-tool.js +0 -406
- package/dist/tools/tts-tool.js.map +0 -1
- package/dist/utils/shell-detection.d.ts +0 -124
- package/dist/utils/shell-detection.d.ts.map +0 -1
- package/dist/utils/shell-detection.js +0 -305
- package/dist/utils/shell-detection.js.map +0 -1
- package/dist/utils/windows-paths.d.ts +0 -185
- package/dist/utils/windows-paths.d.ts.map +0 -1
- package/dist/utils/windows-paths.js +0 -472
- package/dist/utils/windows-paths.js.map +0 -1
- package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
- package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Delegation State — SQLite-backed state for crash recovery.
|
|
3
|
-
*
|
|
4
|
-
* Unlike in-memory state, this survives process restarts.
|
|
5
|
-
* Uses better-sqlite3 for synchronous, fast operations.
|
|
6
|
-
*
|
|
7
|
-
* Hermes equivalent: async_delegation.py's SQLite persistence
|
|
8
|
-
*/
|
|
9
|
-
import { existsSync, mkdirSync } from 'node:fs';
|
|
10
|
-
import { resolveNuviraHome } from '../config/paths.js';
|
|
11
|
-
import { join } from 'node:path';
|
|
12
|
-
import { randomUUID } from 'node:crypto';
|
|
13
|
-
import { logger } from '../utils/logger.js';
|
|
14
|
-
// ─── SQLite State Store ───────────────────────────────────────────────────
|
|
15
|
-
const STATE_DIR = join(resolveNuviraHome(), 'cache', 'delegation');
|
|
16
|
-
const DB_PATH = join(STATE_DIR, 'delegation.db');
|
|
17
|
-
export class DelegationStateStore {
|
|
18
|
-
db = null;
|
|
19
|
-
constructor() {
|
|
20
|
-
this.ensureDirectory();
|
|
21
|
-
this.initDatabase();
|
|
22
|
-
}
|
|
23
|
-
ensureDirectory() {
|
|
24
|
-
if (!existsSync(STATE_DIR)) {
|
|
25
|
-
mkdirSync(STATE_DIR, { recursive: true });
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
initDatabase() {
|
|
29
|
-
try {
|
|
30
|
-
// Try to use better-sqlite3 if available
|
|
31
|
-
const Database = require('better-sqlite3');
|
|
32
|
-
this.db = new Database(DB_PATH);
|
|
33
|
-
// Create tables
|
|
34
|
-
this.db.exec(`
|
|
35
|
-
CREATE TABLE IF NOT EXISTS delegations (
|
|
36
|
-
id TEXT PRIMARY KEY,
|
|
37
|
-
delegation_id TEXT NOT NULL,
|
|
38
|
-
goal TEXT NOT NULL,
|
|
39
|
-
status TEXT NOT NULL DEFAULT 'pending',
|
|
40
|
-
result TEXT,
|
|
41
|
-
error TEXT,
|
|
42
|
-
pid INTEGER,
|
|
43
|
-
created_at INTEGER NOT NULL,
|
|
44
|
-
started_at INTEGER,
|
|
45
|
-
completed_at INTEGER,
|
|
46
|
-
retry_count INTEGER DEFAULT 0,
|
|
47
|
-
max_retries INTEGER DEFAULT 3
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
CREATE TABLE IF NOT EXISTS completions (
|
|
51
|
-
id TEXT PRIMARY KEY,
|
|
52
|
-
delegation_id TEXT NOT NULL,
|
|
53
|
-
success INTEGER NOT NULL,
|
|
54
|
-
result TEXT,
|
|
55
|
-
error TEXT,
|
|
56
|
-
duration_ms INTEGER,
|
|
57
|
-
acknowledged INTEGER DEFAULT 0,
|
|
58
|
-
created_at INTEGER NOT NULL
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
CREATE INDEX IF NOT EXISTS idx_delegations_status ON delegations(status);
|
|
62
|
-
CREATE INDEX IF NOT EXISTS idx_delegations_delegation_id ON delegations(delegation_id);
|
|
63
|
-
CREATE INDEX IF NOT EXISTS idx_completions_acknowledged ON completions(acknowledged);
|
|
64
|
-
`);
|
|
65
|
-
logger.debug('DelegationState: SQLite database initialized');
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
logger.warn(`DelegationState: SQLite not available, falling back to JSON: ${err}`);
|
|
69
|
-
this.db = null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// ─── Delegation Operations ─────────────────────────────────────────
|
|
73
|
-
/**
|
|
74
|
-
* Create a new delegation record.
|
|
75
|
-
*/
|
|
76
|
-
createDelegation(goal, delegationId) {
|
|
77
|
-
const id = randomUUID();
|
|
78
|
-
const record = {
|
|
79
|
-
id,
|
|
80
|
-
delegationId: delegationId || id,
|
|
81
|
-
goal,
|
|
82
|
-
status: 'pending',
|
|
83
|
-
createdAt: Date.now(),
|
|
84
|
-
retryCount: 0,
|
|
85
|
-
maxRetries: 3,
|
|
86
|
-
};
|
|
87
|
-
if (this.db) {
|
|
88
|
-
this.db.prepare(`
|
|
89
|
-
INSERT INTO delegations (id, delegation_id, goal, status, created_at, retry_count, max_retries)
|
|
90
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
91
|
-
`).run(id, record.delegationId, goal, 'pending', record.createdAt, 0, 3);
|
|
92
|
-
}
|
|
93
|
-
return record;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Update delegation status.
|
|
97
|
-
*/
|
|
98
|
-
updateDelegation(id, updates) {
|
|
99
|
-
if (this.db) {
|
|
100
|
-
const setClauses = [];
|
|
101
|
-
const values = [];
|
|
102
|
-
if (updates.status !== undefined) {
|
|
103
|
-
setClauses.push('status = ?');
|
|
104
|
-
values.push(updates.status);
|
|
105
|
-
}
|
|
106
|
-
if (updates.result !== undefined) {
|
|
107
|
-
setClauses.push('result = ?');
|
|
108
|
-
values.push(updates.result);
|
|
109
|
-
}
|
|
110
|
-
if (updates.error !== undefined) {
|
|
111
|
-
setClauses.push('error = ?');
|
|
112
|
-
values.push(updates.error);
|
|
113
|
-
}
|
|
114
|
-
if (updates.pid !== undefined) {
|
|
115
|
-
setClauses.push('pid = ?');
|
|
116
|
-
values.push(updates.pid);
|
|
117
|
-
}
|
|
118
|
-
if (updates.startedAt !== undefined) {
|
|
119
|
-
setClauses.push('started_at = ?');
|
|
120
|
-
values.push(updates.startedAt);
|
|
121
|
-
}
|
|
122
|
-
if (updates.completedAt !== undefined) {
|
|
123
|
-
setClauses.push('completed_at = ?');
|
|
124
|
-
values.push(updates.completedAt);
|
|
125
|
-
}
|
|
126
|
-
if (updates.retryCount !== undefined) {
|
|
127
|
-
setClauses.push('retry_count = ?');
|
|
128
|
-
values.push(updates.retryCount);
|
|
129
|
-
}
|
|
130
|
-
if (setClauses.length === 0)
|
|
131
|
-
return false;
|
|
132
|
-
values.push(id);
|
|
133
|
-
this.db.prepare(`UPDATE delegations SET ${setClauses.join(', ')} WHERE id = ?`).run(...values);
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Get a delegation by ID.
|
|
140
|
-
*/
|
|
141
|
-
getDelegation(id) {
|
|
142
|
-
if (this.db) {
|
|
143
|
-
const row = this.db.prepare('SELECT * FROM delegations WHERE id = ?').get(id);
|
|
144
|
-
if (row)
|
|
145
|
-
return this.rowToDelegation(row);
|
|
146
|
-
}
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Get pending delegations (for recovery).
|
|
151
|
-
*/
|
|
152
|
-
getPendingDelegations() {
|
|
153
|
-
if (this.db) {
|
|
154
|
-
const rows = this.db.prepare("SELECT * FROM delegations WHERE status IN ('pending', 'running')").all();
|
|
155
|
-
return rows.map((row) => this.rowToDelegation(row));
|
|
156
|
-
}
|
|
157
|
-
return [];
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get delegations by delegation_id.
|
|
161
|
-
*/
|
|
162
|
-
getDelegationsByGroup(delegationId) {
|
|
163
|
-
if (this.db) {
|
|
164
|
-
const rows = this.db.prepare('SELECT * FROM delegations WHERE delegation_id = ? ORDER BY created_at').all(delegationId);
|
|
165
|
-
return rows.map((row) => this.rowToDelegation(row));
|
|
166
|
-
}
|
|
167
|
-
return [];
|
|
168
|
-
}
|
|
169
|
-
// ─── Completion Operations ─────────────────────────────────────────
|
|
170
|
-
/**
|
|
171
|
-
* Add a completion to the queue.
|
|
172
|
-
*/
|
|
173
|
-
addCompletion(record) {
|
|
174
|
-
if (this.db) {
|
|
175
|
-
this.db.prepare(`
|
|
176
|
-
INSERT INTO completions (id, delegation_id, success, result, error, duration_ms, acknowledged, created_at)
|
|
177
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
178
|
-
`).run(record.id, record.delegationId, record.success ? 1 : 0, record.result, record.error, record.durationMs, 0, record.createdAt);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Get unacknowledged completions.
|
|
183
|
-
*/
|
|
184
|
-
getUnacknowledgedCompletions() {
|
|
185
|
-
if (this.db) {
|
|
186
|
-
const rows = this.db.prepare('SELECT * FROM completions WHERE acknowledged = 0 ORDER BY created_at').all();
|
|
187
|
-
return rows.map((row) => this.rowToCompletion(row));
|
|
188
|
-
}
|
|
189
|
-
return [];
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Acknowledge a completion.
|
|
193
|
-
*/
|
|
194
|
-
acknowledgeCompletion(id) {
|
|
195
|
-
if (this.db) {
|
|
196
|
-
this.db.prepare('UPDATE completions SET acknowledged = 1 WHERE id = ?').run(id);
|
|
197
|
-
return true;
|
|
198
|
-
}
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Drain all unacknowledged completions.
|
|
203
|
-
*/
|
|
204
|
-
drainCompletions() {
|
|
205
|
-
const completions = this.getUnacknowledgedCompletions();
|
|
206
|
-
for (const c of completions) {
|
|
207
|
-
this.acknowledgeCompletion(c.id);
|
|
208
|
-
}
|
|
209
|
-
return completions;
|
|
210
|
-
}
|
|
211
|
-
// ─── Recovery ──────────────────────────────────────────────────────
|
|
212
|
-
/**
|
|
213
|
-
* Recover pending delegations after crash.
|
|
214
|
-
*/
|
|
215
|
-
recoverPendingDelegations() {
|
|
216
|
-
const pending = this.getPendingDelegations();
|
|
217
|
-
for (const record of pending) {
|
|
218
|
-
// Mark as failed (process was lost)
|
|
219
|
-
this.updateDelegation(record.id, {
|
|
220
|
-
status: 'failed',
|
|
221
|
-
error: 'Process lost during recovery',
|
|
222
|
-
completedAt: Date.now(),
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
return pending;
|
|
226
|
-
}
|
|
227
|
-
// ─── Internal ──────────────────────────────────────────────────────
|
|
228
|
-
rowToDelegation(row) {
|
|
229
|
-
return {
|
|
230
|
-
id: row.id,
|
|
231
|
-
delegationId: row.delegation_id,
|
|
232
|
-
goal: row.goal,
|
|
233
|
-
status: row.status,
|
|
234
|
-
result: row.result,
|
|
235
|
-
error: row.error,
|
|
236
|
-
pid: row.pid,
|
|
237
|
-
createdAt: row.created_at,
|
|
238
|
-
startedAt: row.started_at,
|
|
239
|
-
completedAt: row.completed_at,
|
|
240
|
-
retryCount: row.retry_count,
|
|
241
|
-
maxRetries: row.max_retries,
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
rowToCompletion(row) {
|
|
245
|
-
return {
|
|
246
|
-
id: row.id,
|
|
247
|
-
delegationId: row.delegation_id,
|
|
248
|
-
success: row.success === 1,
|
|
249
|
-
result: row.result,
|
|
250
|
-
error: row.error,
|
|
251
|
-
durationMs: row.duration_ms,
|
|
252
|
-
acknowledged: row.acknowledged === 1,
|
|
253
|
-
createdAt: row.created_at,
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Close the database.
|
|
258
|
-
*/
|
|
259
|
-
close() {
|
|
260
|
-
if (this.db) {
|
|
261
|
-
this.db.close();
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
// ─── Singleton ────────────────────────────────────────────────────────────
|
|
266
|
-
let _instance = null;
|
|
267
|
-
export function getDelegationStateStore() {
|
|
268
|
-
if (!_instance)
|
|
269
|
-
_instance = new DelegationStateStore();
|
|
270
|
-
return _instance;
|
|
271
|
-
}
|
|
272
|
-
export function resetDelegationStateStore() {
|
|
273
|
-
if (_instance) {
|
|
274
|
-
_instance.close();
|
|
275
|
-
_instance = null;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
//# sourceMappingURL=delegation-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-state.js","sourceRoot":"","sources":["../../src/tools/delegation-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA8B5C,6EAA6E;AAE7E,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAEjD,MAAM,OAAO,oBAAoB;IACvB,EAAE,GAAQ,IAAI,CAAC;IAEvB;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,yCAAyC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEhC,gBAAgB;YAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BZ,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,gEAAgE,GAAG,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,sEAAsE;IAEtE;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,YAAqB;QAClD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,MAAM,GAAqB;YAC/B,EAAE;YACF,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGf,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU,EAAE,OAAkC;QAC7D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,MAAM,MAAM,GAAU,EAAE,CAAC;YAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE1C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAU;QACtB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,EAAE,CAAC;YACvG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,YAAoB;QACxC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uEAAuE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sEAAsE;IAEtE;;OAEG;IACH,aAAa,CAAC,MAAwB;QACpC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGf,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACtI,CAAC;IACH,CAAC;IAED;;OAEG;IACH,4BAA4B;QAC1B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3G,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,EAAU;QAC9B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,sEAAsE;IAEtE;;OAEG;IACH,yBAAyB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC/B,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,8BAA8B;gBACrC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sEAAsE;IAE9D,eAAe,CAAC,GAAQ;QAC9B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,GAAQ;QAC9B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED,6EAA6E;AAE7E,IAAI,SAAS,GAAgC,IAAI,CAAC;AAElD,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Desktop UI — Screen capture, mouse/keyboard control.
|
|
3
|
-
*
|
|
4
|
-
* This provides desktop automation:
|
|
5
|
-
* - Screen capture (full screen or region)
|
|
6
|
-
* - Mouse control (click, move, drag, scroll)
|
|
7
|
-
* - Keyboard control (type, hotkeys, shortcuts)
|
|
8
|
-
* - Window management (focus, resize, move, close)
|
|
9
|
-
* - Application launch
|
|
10
|
-
* - OCR integration
|
|
11
|
-
* - Clipboard access
|
|
12
|
-
* - Multi-monitor support
|
|
13
|
-
*
|
|
14
|
-
* Better than Hermes:
|
|
15
|
-
* - Cross-platform support
|
|
16
|
-
* - Built-in OCR
|
|
17
|
-
* - Multi-monitor support
|
|
18
|
-
* - Integration with skill system
|
|
19
|
-
*/
|
|
20
|
-
export type MouseButton = 'left' | 'right' | 'middle';
|
|
21
|
-
export interface ScreenCaptureOptions {
|
|
22
|
-
/** Output file path */
|
|
23
|
-
path?: string;
|
|
24
|
-
/** Capture region */
|
|
25
|
-
region?: {
|
|
26
|
-
x: number;
|
|
27
|
-
y: number;
|
|
28
|
-
width: number;
|
|
29
|
-
height: number;
|
|
30
|
-
};
|
|
31
|
-
/** Monitor index (for multi-monitor) */
|
|
32
|
-
monitor?: number;
|
|
33
|
-
/** Image quality (1-100) */
|
|
34
|
-
quality?: number;
|
|
35
|
-
/** Image format */
|
|
36
|
-
format?: 'png' | 'jpg' | 'bmp';
|
|
37
|
-
}
|
|
38
|
-
export interface MouseClickOptions {
|
|
39
|
-
/** X coordinate */
|
|
40
|
-
x: number;
|
|
41
|
-
/** Y coordinate */
|
|
42
|
-
y: number;
|
|
43
|
-
/** Mouse button */
|
|
44
|
-
button?: MouseButton;
|
|
45
|
-
/** Number of clicks */
|
|
46
|
-
clickCount?: number;
|
|
47
|
-
/** Delay between clicks (ms) */
|
|
48
|
-
delay?: number;
|
|
49
|
-
}
|
|
50
|
-
export interface MouseMoveOptions {
|
|
51
|
-
/** Target X coordinate */
|
|
52
|
-
x: number;
|
|
53
|
-
/** Target Y coordinate */
|
|
54
|
-
y: number;
|
|
55
|
-
/** Movement duration (ms) */
|
|
56
|
-
duration?: number;
|
|
57
|
-
/** Steps for smooth movement */
|
|
58
|
-
steps?: number;
|
|
59
|
-
}
|
|
60
|
-
export interface TypeTextOptions {
|
|
61
|
-
/** Text to type */
|
|
62
|
-
text: string;
|
|
63
|
-
/** Delay between keystrokes (ms) */
|
|
64
|
-
delay?: number;
|
|
65
|
-
/** Modifier keys to hold */
|
|
66
|
-
modifiers?: ('ctrl' | 'alt' | 'shift' | 'meta')[];
|
|
67
|
-
}
|
|
68
|
-
export interface HotkeyOptions {
|
|
69
|
-
/** Keys to press */
|
|
70
|
-
keys: string[];
|
|
71
|
-
/** Delay between keys (ms) */
|
|
72
|
-
delay?: number;
|
|
73
|
-
}
|
|
74
|
-
export interface WindowInfo {
|
|
75
|
-
/** Window title */
|
|
76
|
-
title: string;
|
|
77
|
-
/** Window process name */
|
|
78
|
-
process: string;
|
|
79
|
-
/** Window bounds */
|
|
80
|
-
bounds: {
|
|
81
|
-
x: number;
|
|
82
|
-
y: number;
|
|
83
|
-
width: number;
|
|
84
|
-
height: number;
|
|
85
|
-
};
|
|
86
|
-
/** Is window focused */
|
|
87
|
-
focused: boolean;
|
|
88
|
-
}
|
|
89
|
-
export interface DesktopResult {
|
|
90
|
-
success: boolean;
|
|
91
|
-
data?: any;
|
|
92
|
-
error?: string;
|
|
93
|
-
durationMs: number;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Capture the screen.
|
|
97
|
-
*/
|
|
98
|
-
export declare function captureScreen(options?: ScreenCaptureOptions): Promise<DesktopResult>;
|
|
99
|
-
/**
|
|
100
|
-
* Click at coordinates.
|
|
101
|
-
*/
|
|
102
|
-
export declare function mouseClick(options: MouseClickOptions): Promise<DesktopResult>;
|
|
103
|
-
/**
|
|
104
|
-
* Move mouse to coordinates.
|
|
105
|
-
*/
|
|
106
|
-
export declare function mouseMove(options: MouseMoveOptions): Promise<DesktopResult>;
|
|
107
|
-
/**
|
|
108
|
-
* Scroll at coordinates.
|
|
109
|
-
*/
|
|
110
|
-
export declare function mouseScroll(x: number, y: number, deltaX: number, deltaY: number): Promise<DesktopResult>;
|
|
111
|
-
/**
|
|
112
|
-
* Type text.
|
|
113
|
-
*/
|
|
114
|
-
export declare function typeText(options: TypeTextOptions): Promise<DesktopResult>;
|
|
115
|
-
/**
|
|
116
|
-
* Press hotkey combination.
|
|
117
|
-
*/
|
|
118
|
-
export declare function pressHotkey(options: HotkeyOptions): Promise<DesktopResult>;
|
|
119
|
-
/**
|
|
120
|
-
* Get list of open windows.
|
|
121
|
-
*/
|
|
122
|
-
export declare function listWindows(): Promise<DesktopResult>;
|
|
123
|
-
/**
|
|
124
|
-
* Focus a window by title.
|
|
125
|
-
*/
|
|
126
|
-
export declare function focusWindow(title: string): Promise<DesktopResult>;
|
|
127
|
-
/**
|
|
128
|
-
* Get clipboard content.
|
|
129
|
-
*/
|
|
130
|
-
export declare function getClipboard(): Promise<DesktopResult>;
|
|
131
|
-
/**
|
|
132
|
-
* Set clipboard content.
|
|
133
|
-
*/
|
|
134
|
-
export declare function setClipboard(text: string): Promise<DesktopResult>;
|
|
135
|
-
declare const _default: {
|
|
136
|
-
captureScreen: typeof captureScreen;
|
|
137
|
-
mouseClick: typeof mouseClick;
|
|
138
|
-
mouseMove: typeof mouseMove;
|
|
139
|
-
mouseScroll: typeof mouseScroll;
|
|
140
|
-
typeText: typeof typeText;
|
|
141
|
-
pressHotkey: typeof pressHotkey;
|
|
142
|
-
listWindows: typeof listWindows;
|
|
143
|
-
focusWindow: typeof focusWindow;
|
|
144
|
-
getClipboard: typeof getClipboard;
|
|
145
|
-
setClipboard: typeof setClipboard;
|
|
146
|
-
};
|
|
147
|
-
export default _default;
|
|
148
|
-
//# sourceMappingURL=desktop-ui.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desktop-ui.d.ts","sourceRoot":"","sources":["../../src/tools/desktop-ui.ts"],"names":[],"mappings":"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"}
|