agent-nuvira 2.7.3 → 3.0.1
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 +278 -72
- 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 +242 -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 +92 -7
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +203 -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/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +22 -1
- package/dist/tools/loop-skill-hint.js.map +1 -1
- 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,556 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLiteStore — Enterprise-grade memory storage with SQLite.
|
|
3
|
-
*
|
|
4
|
-
* Provides ACID transactions, concurrent access, and cross-session persistence
|
|
5
|
-
* for all memory types (facts, trajectories, patterns, lessons).
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - ACID transactions for data integrity
|
|
9
|
-
* - Concurrent access with WAL mode
|
|
10
|
-
* - Full-text search (FTS5)
|
|
11
|
-
* - Automatic migrations
|
|
12
|
-
* - Backup support
|
|
13
|
-
* - Metrics and monitoring
|
|
14
|
-
*/
|
|
15
|
-
import * as fs from 'fs';
|
|
16
|
-
import { join } from 'node:path';
|
|
17
|
-
import { resolveNuviraHome } from '../config/paths.js';
|
|
18
|
-
import * as path from 'path';
|
|
19
|
-
// ─── Migrations ─────────────────────────────────────────────────────────────
|
|
20
|
-
const MIGRATIONS = [
|
|
21
|
-
{
|
|
22
|
-
version: 1,
|
|
23
|
-
name: 'create_memories',
|
|
24
|
-
up: `
|
|
25
|
-
CREATE TABLE IF NOT EXISTS memories (
|
|
26
|
-
id TEXT PRIMARY KEY,
|
|
27
|
-
content TEXT NOT NULL,
|
|
28
|
-
type TEXT NOT NULL CHECK(type IN ('fact', 'preference', 'lesson', 'observation', 'pattern')),
|
|
29
|
-
tags TEXT DEFAULT '[]',
|
|
30
|
-
source TEXT DEFAULT '',
|
|
31
|
-
embedding BLOB,
|
|
32
|
-
confidence REAL DEFAULT 0.5,
|
|
33
|
-
access_count INTEGER DEFAULT 0,
|
|
34
|
-
created_at INTEGER NOT NULL,
|
|
35
|
-
updated_at INTEGER NOT NULL,
|
|
36
|
-
last_accessed INTEGER,
|
|
37
|
-
session_id TEXT
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(type);
|
|
41
|
-
CREATE INDEX IF NOT EXISTS idx_memories_created ON memories(created_at);
|
|
42
|
-
CREATE INDEX IF NOT EXISTS idx_memories_session ON memories(session_id);
|
|
43
|
-
`,
|
|
44
|
-
down: 'DROP TABLE IF EXISTS memories;',
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
version: 2,
|
|
48
|
-
name: 'create_trajectories',
|
|
49
|
-
up: `
|
|
50
|
-
CREATE TABLE IF NOT EXISTS trajectories (
|
|
51
|
-
id TEXT PRIMARY KEY,
|
|
52
|
-
session_id TEXT NOT NULL,
|
|
53
|
-
user_text TEXT NOT NULL,
|
|
54
|
-
assistant_text TEXT NOT NULL,
|
|
55
|
-
tokens_used INTEGER DEFAULT 0,
|
|
56
|
-
duration_ms INTEGER DEFAULT 0,
|
|
57
|
-
success BOOLEAN DEFAULT 1,
|
|
58
|
-
created_at INTEGER NOT NULL
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
CREATE INDEX IF NOT EXISTS idx_trajectories_session ON trajectories(session_id);
|
|
62
|
-
CREATE INDEX IF NOT EXISTS idx_trajectories_created ON trajectories(created_at);
|
|
63
|
-
`,
|
|
64
|
-
down: 'DROP TABLE IF EXISTS trajectories;',
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
version: 3,
|
|
68
|
-
name: 'create_patterns',
|
|
69
|
-
up: `
|
|
70
|
-
CREATE TABLE IF NOT EXISTS patterns (
|
|
71
|
-
id TEXT PRIMARY KEY,
|
|
72
|
-
pattern TEXT NOT NULL,
|
|
73
|
-
frequency INTEGER DEFAULT 1,
|
|
74
|
-
examples TEXT DEFAULT '[]',
|
|
75
|
-
confidence REAL DEFAULT 0.5,
|
|
76
|
-
created_at INTEGER NOT NULL,
|
|
77
|
-
updated_at INTEGER NOT NULL
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
CREATE INDEX IF NOT EXISTS idx_patterns_frequency ON patterns(frequency DESC);
|
|
81
|
-
`,
|
|
82
|
-
down: 'DROP TABLE IF EXISTS patterns;',
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
version: 4,
|
|
86
|
-
name: 'create_lessons',
|
|
87
|
-
up: `
|
|
88
|
-
CREATE TABLE IF NOT EXISTS lessons (
|
|
89
|
-
id TEXT PRIMARY KEY,
|
|
90
|
-
lesson TEXT NOT NULL,
|
|
91
|
-
context TEXT DEFAULT '',
|
|
92
|
-
severity TEXT DEFAULT 'medium' CHECK(severity IN ('low', 'medium', 'high', 'critical')),
|
|
93
|
-
applied_count INTEGER DEFAULT 0,
|
|
94
|
-
created_at INTEGER NOT NULL,
|
|
95
|
-
updated_at INTEGER NOT NULL
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
CREATE INDEX IF NOT EXISTS idx_lessons_severity ON lessons(severity);
|
|
99
|
-
CREATE INDEX IF NOT EXISTS idx_lessons_applied ON lessons(applied_count DESC);
|
|
100
|
-
`,
|
|
101
|
-
down: 'DROP TABLE IF EXISTS lessons;',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
version: 5,
|
|
105
|
-
name: 'create_fts_memories',
|
|
106
|
-
up: `
|
|
107
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
|
|
108
|
-
content,
|
|
109
|
-
type,
|
|
110
|
-
tags,
|
|
111
|
-
content='memories',
|
|
112
|
-
content_rowid='rowid'
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
-- Triggers to keep FTS in sync
|
|
116
|
-
CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
|
|
117
|
-
INSERT INTO memories_fts(rowid, content, type, tags)
|
|
118
|
-
VALUES (new.rowid, new.content, new.type, new.tags);
|
|
119
|
-
END;
|
|
120
|
-
|
|
121
|
-
CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
|
|
122
|
-
INSERT INTO memories_fts(memories_fts, rowid, content, type, tags)
|
|
123
|
-
VALUES ('delete', old.rowid, old.content, old.type, old.tags);
|
|
124
|
-
END;
|
|
125
|
-
|
|
126
|
-
CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE ON memories BEGIN
|
|
127
|
-
INSERT INTO memories_fts(memories_fts, rowid, content, type, tags)
|
|
128
|
-
VALUES ('delete', old.rowid, old.content, old.type, old.tags);
|
|
129
|
-
INSERT INTO memories_fts(rowid, content, type, tags)
|
|
130
|
-
VALUES (new.rowid, new.content, new.type, new.tags);
|
|
131
|
-
END;
|
|
132
|
-
`,
|
|
133
|
-
down: 'DROP TABLE IF EXISTS memories_fts;',
|
|
134
|
-
},
|
|
135
|
-
];
|
|
136
|
-
// ─── SQLite Store ───────────────────────────────────────────────────────────
|
|
137
|
-
export class SQLiteStore {
|
|
138
|
-
dbPath;
|
|
139
|
-
config;
|
|
140
|
-
db = null;
|
|
141
|
-
currentVersion = 0;
|
|
142
|
-
constructor(config) {
|
|
143
|
-
this.config = {
|
|
144
|
-
dbPath: config?.dbPath || join(resolveNuviraHome(), 'memory', 'memory.db'),
|
|
145
|
-
walMode: config?.walMode ?? true,
|
|
146
|
-
busyTimeout: config?.busyTimeout ?? 5000,
|
|
147
|
-
journalSizeLimit: config?.journalSizeLimit ?? 67108864, // 64MB
|
|
148
|
-
};
|
|
149
|
-
this.dbPath = this.config.dbPath;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Initialize the database.
|
|
153
|
-
*/
|
|
154
|
-
async initialize() {
|
|
155
|
-
// Ensure directory exists
|
|
156
|
-
const dir = path.dirname(this.dbPath);
|
|
157
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
158
|
-
// Try to load better-sqlite3
|
|
159
|
-
let Database;
|
|
160
|
-
try {
|
|
161
|
-
Database = (await import('better-sqlite3')).default;
|
|
162
|
-
}
|
|
163
|
-
catch {
|
|
164
|
-
console.warn('SQLiteStore: better-sqlite3 not available, using in-memory fallback');
|
|
165
|
-
this.db = null;
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
try {
|
|
169
|
-
this.db = new Database(this.dbPath, {
|
|
170
|
-
verbose: process.env.DEBUG ? console.log : undefined,
|
|
171
|
-
});
|
|
172
|
-
// Configure SQLite
|
|
173
|
-
this.db.pragma('journal_mode = WAL');
|
|
174
|
-
this.db.pragma(`busy_timeout = ${this.config.busyTimeout}`);
|
|
175
|
-
this.db.pragma('synchronous = NORMAL');
|
|
176
|
-
this.db.pragma('cache_size = -64000'); // 64MB
|
|
177
|
-
this.db.pragma(`journal_size_limit = ${this.config.journalSizeLimit}`);
|
|
178
|
-
// Run migrations
|
|
179
|
-
await this.runMigrations();
|
|
180
|
-
console.log(`SQLiteStore: Initialized at ${this.dbPath}`);
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
console.warn('SQLiteStore: Failed to initialize, using in-memory fallback');
|
|
184
|
-
this.db = null;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Run database migrations.
|
|
189
|
-
*/
|
|
190
|
-
async runMigrations() {
|
|
191
|
-
if (!this.db)
|
|
192
|
-
return;
|
|
193
|
-
// Create migrations table
|
|
194
|
-
this.db.exec(`
|
|
195
|
-
CREATE TABLE IF NOT EXISTS migrations (
|
|
196
|
-
version INTEGER PRIMARY KEY,
|
|
197
|
-
name TEXT NOT NULL,
|
|
198
|
-
applied_at INTEGER NOT NULL
|
|
199
|
-
);
|
|
200
|
-
`);
|
|
201
|
-
// Get current version
|
|
202
|
-
const row = this.db.prepare('SELECT MAX(version) as version FROM migrations').get();
|
|
203
|
-
this.currentVersion = row?.version || 0;
|
|
204
|
-
// Apply pending migrations
|
|
205
|
-
for (const migration of MIGRATIONS) {
|
|
206
|
-
if (migration.version > this.currentVersion) {
|
|
207
|
-
console.log(`SQLiteStore: Applying migration ${migration.version}: ${migration.name}`);
|
|
208
|
-
this.db.exec(migration.up);
|
|
209
|
-
this.db.prepare('INSERT INTO migrations (version, name, applied_at) VALUES (?, ?, ?)')
|
|
210
|
-
.run(migration.version, migration.name, Date.now());
|
|
211
|
-
this.currentVersion = migration.version;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
// ─── Memory Operations ──────────────────────────────────────────────────
|
|
216
|
-
/**
|
|
217
|
-
* Add a memory.
|
|
218
|
-
*/
|
|
219
|
-
addMemory(memory) {
|
|
220
|
-
if (!this.db) {
|
|
221
|
-
this.addMemoryFallback(memory);
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
const stmt = this.db.prepare(`
|
|
225
|
-
INSERT OR REPLACE INTO memories (id, content, type, tags, source, confidence, access_count, created_at, updated_at, last_accessed, session_id)
|
|
226
|
-
VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?)
|
|
227
|
-
`);
|
|
228
|
-
const now = Date.now();
|
|
229
|
-
stmt.run(memory.id, memory.content, memory.type, JSON.stringify(memory.tags || []), memory.source || '', memory.confidence ?? 0.5, now, now, null, memory.sessionId || null);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Get a memory by ID.
|
|
233
|
-
*/
|
|
234
|
-
getMemory(id) {
|
|
235
|
-
if (!this.db) {
|
|
236
|
-
return this.getMemoryFallback(id);
|
|
237
|
-
}
|
|
238
|
-
const stmt = this.db.prepare('SELECT * FROM memories WHERE id = ?');
|
|
239
|
-
const row = stmt.get(id);
|
|
240
|
-
if (row) {
|
|
241
|
-
// Update access count
|
|
242
|
-
this.db.prepare('UPDATE memories SET access_count = access_count + 1, last_accessed = ? WHERE id = ?')
|
|
243
|
-
.run(Date.now(), id);
|
|
244
|
-
}
|
|
245
|
-
return row || null;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Search memories using FTS.
|
|
249
|
-
*/
|
|
250
|
-
searchMemories(query, limit = 10) {
|
|
251
|
-
if (!this.db) {
|
|
252
|
-
return this.searchMemoriesFallback(query, limit);
|
|
253
|
-
}
|
|
254
|
-
try {
|
|
255
|
-
const stmt = this.db.prepare(`
|
|
256
|
-
SELECT m.* FROM memories m
|
|
257
|
-
JOIN memories_fts fts ON m.rowid = fts.rowid
|
|
258
|
-
WHERE memories_fts MATCH ?
|
|
259
|
-
ORDER BY rank
|
|
260
|
-
LIMIT ?
|
|
261
|
-
`);
|
|
262
|
-
return stmt.all(query, limit);
|
|
263
|
-
}
|
|
264
|
-
catch {
|
|
265
|
-
// Fallback to LIKE search
|
|
266
|
-
const stmt = this.db.prepare(`
|
|
267
|
-
SELECT * FROM memories
|
|
268
|
-
WHERE content LIKE ?
|
|
269
|
-
ORDER BY created_at DESC
|
|
270
|
-
LIMIT ?
|
|
271
|
-
`);
|
|
272
|
-
return stmt.all(`%${query}%`, limit);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* List memories by type.
|
|
277
|
-
*/
|
|
278
|
-
listMemories(type, limit = 100) {
|
|
279
|
-
if (!this.db) {
|
|
280
|
-
return this.listMemoriesFallback(type, limit);
|
|
281
|
-
}
|
|
282
|
-
if (type) {
|
|
283
|
-
const stmt = this.db.prepare('SELECT * FROM memories WHERE type = ? ORDER BY created_at DESC LIMIT ?');
|
|
284
|
-
return stmt.all(type, limit);
|
|
285
|
-
}
|
|
286
|
-
const stmt = this.db.prepare('SELECT * FROM memories ORDER BY created_at DESC LIMIT ?');
|
|
287
|
-
return stmt.all(limit);
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Update a memory.
|
|
291
|
-
*/
|
|
292
|
-
updateMemory(id, updates) {
|
|
293
|
-
if (!this.db) {
|
|
294
|
-
return this.updateMemoryFallback(id, updates);
|
|
295
|
-
}
|
|
296
|
-
const fields = [];
|
|
297
|
-
const values = [];
|
|
298
|
-
if (updates.content !== undefined) {
|
|
299
|
-
fields.push('content = ?');
|
|
300
|
-
values.push(updates.content);
|
|
301
|
-
}
|
|
302
|
-
if (updates.type !== undefined) {
|
|
303
|
-
fields.push('type = ?');
|
|
304
|
-
values.push(updates.type);
|
|
305
|
-
}
|
|
306
|
-
if (updates.tags !== undefined) {
|
|
307
|
-
fields.push('tags = ?');
|
|
308
|
-
values.push(JSON.stringify(updates.tags));
|
|
309
|
-
}
|
|
310
|
-
if (updates.confidence !== undefined) {
|
|
311
|
-
fields.push('confidence = ?');
|
|
312
|
-
values.push(updates.confidence);
|
|
313
|
-
}
|
|
314
|
-
if (fields.length === 0)
|
|
315
|
-
return false;
|
|
316
|
-
fields.push('updated_at = ?');
|
|
317
|
-
values.push(Date.now());
|
|
318
|
-
values.push(id);
|
|
319
|
-
const stmt = this.db.prepare(`UPDATE memories SET ${fields.join(', ')} WHERE id = ?`);
|
|
320
|
-
const result = stmt.run(...values);
|
|
321
|
-
return result.changes > 0;
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Delete a memory.
|
|
325
|
-
*/
|
|
326
|
-
deleteMemory(id) {
|
|
327
|
-
if (!this.db) {
|
|
328
|
-
return this.deleteMemoryFallback(id);
|
|
329
|
-
}
|
|
330
|
-
const stmt = this.db.prepare('DELETE FROM memories WHERE id = ?');
|
|
331
|
-
const result = stmt.run(id);
|
|
332
|
-
return result.changes > 0;
|
|
333
|
-
}
|
|
334
|
-
// ─── Trajectory Operations ──────────────────────────────────────────────
|
|
335
|
-
/**
|
|
336
|
-
* Add a trajectory.
|
|
337
|
-
*/
|
|
338
|
-
addTrajectory(trajectory) {
|
|
339
|
-
if (!this.db)
|
|
340
|
-
return;
|
|
341
|
-
const stmt = this.db.prepare(`
|
|
342
|
-
INSERT INTO trajectories (id, session_id, user_text, assistant_text, tokens_used, duration_ms, success, created_at)
|
|
343
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
344
|
-
`);
|
|
345
|
-
stmt.run(trajectory.id, trajectory.sessionId, trajectory.userText, trajectory.assistantText, trajectory.tokensUsed ?? 0, trajectory.durationMs ?? 0, trajectory.success ?? true, Date.now());
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Get recent trajectories.
|
|
349
|
-
*/
|
|
350
|
-
getRecentTrajectories(limit = 50) {
|
|
351
|
-
if (!this.db)
|
|
352
|
-
return [];
|
|
353
|
-
const stmt = this.db.prepare('SELECT * FROM trajectories ORDER BY created_at DESC LIMIT ?');
|
|
354
|
-
return stmt.all(limit);
|
|
355
|
-
}
|
|
356
|
-
// ─── Pattern Operations ─────────────────────────────────────────────────
|
|
357
|
-
/**
|
|
358
|
-
* Add or update a pattern.
|
|
359
|
-
*/
|
|
360
|
-
upsertPattern(pattern) {
|
|
361
|
-
if (!this.db)
|
|
362
|
-
return;
|
|
363
|
-
const stmt = this.db.prepare(`
|
|
364
|
-
INSERT INTO patterns (id, pattern, frequency, examples, confidence, created_at, updated_at)
|
|
365
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
366
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
367
|
-
frequency = frequency + excluded.frequency,
|
|
368
|
-
examples = excluded.examples,
|
|
369
|
-
confidence = MAX(confidence, excluded.confidence),
|
|
370
|
-
updated_at = excluded.updated_at
|
|
371
|
-
`);
|
|
372
|
-
const now = Date.now();
|
|
373
|
-
stmt.run(pattern.id, pattern.pattern, pattern.frequency ?? 1, JSON.stringify(pattern.examples || []), pattern.confidence ?? 0.5, now, now);
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* Get top patterns.
|
|
377
|
-
*/
|
|
378
|
-
getTopPatterns(limit = 20) {
|
|
379
|
-
if (!this.db)
|
|
380
|
-
return [];
|
|
381
|
-
const stmt = this.db.prepare('SELECT * FROM patterns ORDER BY frequency DESC LIMIT ?');
|
|
382
|
-
return stmt.all(limit);
|
|
383
|
-
}
|
|
384
|
-
// ─── Lesson Operations ──────────────────────────────────────────────────
|
|
385
|
-
/**
|
|
386
|
-
* Add a lesson.
|
|
387
|
-
*/
|
|
388
|
-
addLesson(lesson) {
|
|
389
|
-
if (!this.db)
|
|
390
|
-
return;
|
|
391
|
-
const stmt = this.db.prepare(`
|
|
392
|
-
INSERT INTO lessons (id, lesson, context, severity, applied_count, created_at, updated_at)
|
|
393
|
-
VALUES (?, ?, ?, ?, 0, ?, ?)
|
|
394
|
-
`);
|
|
395
|
-
const now = Date.now();
|
|
396
|
-
stmt.run(lesson.id, lesson.lesson, lesson.context || '', lesson.severity || 'medium', now, now);
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* Get lessons by severity.
|
|
400
|
-
*/
|
|
401
|
-
getLessonsBySeverity(severity, limit = 20) {
|
|
402
|
-
if (!this.db)
|
|
403
|
-
return [];
|
|
404
|
-
const stmt = this.db.prepare('SELECT * FROM lessons WHERE severity = ? ORDER BY created_at DESC LIMIT ?');
|
|
405
|
-
return stmt.all(severity, limit);
|
|
406
|
-
}
|
|
407
|
-
/**
|
|
408
|
-
* Increment lesson applied count.
|
|
409
|
-
*/
|
|
410
|
-
incrementLessonApplied(id) {
|
|
411
|
-
if (!this.db)
|
|
412
|
-
return;
|
|
413
|
-
this.db.prepare('UPDATE lessons SET applied_count = applied_count + 1, updated_at = ? WHERE id = ?')
|
|
414
|
-
.run(Date.now(), id);
|
|
415
|
-
}
|
|
416
|
-
// ─── Statistics ─────────────────────────────────────────────────────────
|
|
417
|
-
/**
|
|
418
|
-
* Get database statistics.
|
|
419
|
-
*/
|
|
420
|
-
getStats() {
|
|
421
|
-
if (!this.db) {
|
|
422
|
-
return {
|
|
423
|
-
memories: { total: 0, byType: {} },
|
|
424
|
-
trajectories: { total: 0, sessions: 0 },
|
|
425
|
-
patterns: { total: 0, avgFrequency: 0 },
|
|
426
|
-
lessons: { total: 0, bySeverity: {} },
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
// Memory stats
|
|
430
|
-
const memoryCount = this.db.prepare('SELECT COUNT(*) as count FROM memories').get()?.count || 0;
|
|
431
|
-
const memoryByType = this.db.prepare('SELECT type, COUNT(*) as count FROM memories GROUP BY type').all();
|
|
432
|
-
const byType = {};
|
|
433
|
-
for (const row of memoryByType) {
|
|
434
|
-
byType[row.type] = row.count;
|
|
435
|
-
}
|
|
436
|
-
// Trajectory stats
|
|
437
|
-
const trajectoryCount = this.db.prepare('SELECT COUNT(*) as count FROM trajectories').get()?.count || 0;
|
|
438
|
-
const sessionCount = this.db.prepare('SELECT COUNT(DISTINCT session_id) as count FROM trajectories').get()?.count || 0;
|
|
439
|
-
// Pattern stats
|
|
440
|
-
const patternCount = this.db.prepare('SELECT COUNT(*) as count FROM patterns').get()?.count || 0;
|
|
441
|
-
const avgFrequency = this.db.prepare('SELECT AVG(frequency) as avg FROM patterns').get()?.avg || 0;
|
|
442
|
-
// Lesson stats
|
|
443
|
-
const lessonCount = this.db.prepare('SELECT COUNT(*) as count FROM lessons').get()?.count || 0;
|
|
444
|
-
const lessonBySeverity = this.db.prepare('SELECT severity, COUNT(*) as count FROM lessons GROUP BY severity').all();
|
|
445
|
-
const bySeverity = {};
|
|
446
|
-
for (const row of lessonBySeverity) {
|
|
447
|
-
bySeverity[row.severity] = row.count;
|
|
448
|
-
}
|
|
449
|
-
return {
|
|
450
|
-
memories: { total: memoryCount, byType },
|
|
451
|
-
trajectories: { total: trajectoryCount, sessions: sessionCount },
|
|
452
|
-
patterns: { total: patternCount, avgFrequency: Math.round(avgFrequency) },
|
|
453
|
-
lessons: { total: lessonCount, bySeverity },
|
|
454
|
-
};
|
|
455
|
-
}
|
|
456
|
-
// ─── Backup & Maintenance ───────────────────────────────────────────────
|
|
457
|
-
/**
|
|
458
|
-
* Create a backup.
|
|
459
|
-
*/
|
|
460
|
-
backup(backupPath) {
|
|
461
|
-
const path = backupPath || `${this.dbPath}.backup.${Date.now()}`;
|
|
462
|
-
if (this.db) {
|
|
463
|
-
this.db.backup(path);
|
|
464
|
-
}
|
|
465
|
-
return path;
|
|
466
|
-
}
|
|
467
|
-
/**
|
|
468
|
-
* Vacuum the database.
|
|
469
|
-
*/
|
|
470
|
-
vacuum() {
|
|
471
|
-
if (this.db) {
|
|
472
|
-
this.db.exec('VACUUM');
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
/**
|
|
476
|
-
* Close the database.
|
|
477
|
-
*/
|
|
478
|
-
close() {
|
|
479
|
-
if (this.db) {
|
|
480
|
-
this.db.close();
|
|
481
|
-
this.db = null;
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
// ─── Fallback Methods (In-Memory) ───────────────────────────────────────
|
|
485
|
-
memoryFallback = new Map();
|
|
486
|
-
trajectoryFallback = [];
|
|
487
|
-
patternFallback = new Map();
|
|
488
|
-
lessonFallback = new Map();
|
|
489
|
-
addMemoryFallback(memory) {
|
|
490
|
-
this.memoryFallback.set(memory.id, {
|
|
491
|
-
...memory,
|
|
492
|
-
tags: JSON.stringify(memory.tags || []),
|
|
493
|
-
access_count: 0,
|
|
494
|
-
created_at: Date.now(),
|
|
495
|
-
updated_at: Date.now(),
|
|
496
|
-
last_accessed: null,
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
getMemoryFallback(id) {
|
|
500
|
-
return this.memoryFallback.get(id) || null;
|
|
501
|
-
}
|
|
502
|
-
searchMemoriesFallback(query, limit) {
|
|
503
|
-
const results = [];
|
|
504
|
-
for (const memory of this.memoryFallback.values()) {
|
|
505
|
-
if (memory.content.toLowerCase().includes(query.toLowerCase())) {
|
|
506
|
-
results.push(memory);
|
|
507
|
-
if (results.length >= limit)
|
|
508
|
-
break;
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
return results;
|
|
512
|
-
}
|
|
513
|
-
listMemoriesFallback(type, limit) {
|
|
514
|
-
const results = [];
|
|
515
|
-
for (const memory of this.memoryFallback.values()) {
|
|
516
|
-
if (!type || memory.type === type) {
|
|
517
|
-
results.push(memory);
|
|
518
|
-
if (results.length >= limit)
|
|
519
|
-
break;
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
return results;
|
|
523
|
-
}
|
|
524
|
-
updateMemoryFallback(id, updates) {
|
|
525
|
-
const memory = this.memoryFallback.get(id);
|
|
526
|
-
if (!memory)
|
|
527
|
-
return false;
|
|
528
|
-
if (updates.content !== undefined)
|
|
529
|
-
memory.content = updates.content;
|
|
530
|
-
if (updates.type !== undefined)
|
|
531
|
-
memory.type = updates.type;
|
|
532
|
-
if (updates.tags !== undefined)
|
|
533
|
-
memory.tags = JSON.stringify(updates.tags);
|
|
534
|
-
if (updates.confidence !== undefined)
|
|
535
|
-
memory.confidence = updates.confidence;
|
|
536
|
-
memory.updated_at = Date.now();
|
|
537
|
-
return true;
|
|
538
|
-
}
|
|
539
|
-
deleteMemoryFallback(id) {
|
|
540
|
-
return this.memoryFallback.delete(id);
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
// ─── Singleton ──────────────────────────────────────────────────────────────
|
|
544
|
-
let _instance = null;
|
|
545
|
-
export function getSQLiteStore() {
|
|
546
|
-
if (!_instance)
|
|
547
|
-
_instance = new SQLiteStore();
|
|
548
|
-
return _instance;
|
|
549
|
-
}
|
|
550
|
-
export function resetSQLiteStore() {
|
|
551
|
-
if (_instance) {
|
|
552
|
-
_instance.close();
|
|
553
|
-
_instance = null;
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
|
-
//# sourceMappingURL=sqlite-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/memory/sqlite-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Daytona Cloud Executor — Runs skills in Daytona cloud sandboxes.
|
|
3
|
-
*
|
|
4
|
-
* This provides enterprise-grade execution with:
|
|
5
|
-
* - Persistent sandboxes across sessions
|
|
6
|
-
* - Resource limits (CPU, memory, disk)
|
|
7
|
-
* - Sandbox lifecycle management (start, stop, resume)
|
|
8
|
-
* - File sync between local and cloud
|
|
9
|
-
*
|
|
10
|
-
* Flow:
|
|
11
|
-
* 1. Create or resume a Daytona sandbox
|
|
12
|
-
* 2. Sync skill files to the sandbox
|
|
13
|
-
* 3. Execute the skill in the cloud
|
|
14
|
-
* 4. Capture output and sync results back
|
|
15
|
-
* 5. Optionally persist the sandbox for reuse
|
|
16
|
-
*/
|
|
17
|
-
export interface DaytonaConfig {
|
|
18
|
-
/** Daytona image (default: ubuntu:22.04) */
|
|
19
|
-
image?: string;
|
|
20
|
-
/** CPU count (default: 1) */
|
|
21
|
-
cpu?: number;
|
|
22
|
-
/** Memory in MB (default: 5120) */
|
|
23
|
-
memoryMb?: number;
|
|
24
|
-
/** Disk in MB (default: 10240) */
|
|
25
|
-
diskMb?: number;
|
|
26
|
-
/** Timeout in milliseconds (default: 60000) */
|
|
27
|
-
timeoutMs?: number;
|
|
28
|
-
/** Whether to persist the sandbox */
|
|
29
|
-
persistent?: boolean;
|
|
30
|
-
/** Sandbox name for persistence */
|
|
31
|
-
sandboxName?: string;
|
|
32
|
-
/** Working directory in sandbox */
|
|
33
|
-
cwd?: string;
|
|
34
|
-
}
|
|
35
|
-
export interface DaytonaExecutionResult {
|
|
36
|
-
success: boolean;
|
|
37
|
-
stdout: string;
|
|
38
|
-
stderr: string;
|
|
39
|
-
exitCode: number;
|
|
40
|
-
durationMs: number;
|
|
41
|
-
sandboxId?: string;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Execute a skill in a Daytona cloud sandbox.
|
|
45
|
-
*
|
|
46
|
-
* @param scriptContent - The script content to execute
|
|
47
|
-
* @param scriptPath - Original file path (for runtime detection)
|
|
48
|
-
* @param env - Environment variables to inject
|
|
49
|
-
* @param args - Arguments to pass to the script
|
|
50
|
-
* @param config - Daytona configuration
|
|
51
|
-
* @returns Execution result
|
|
52
|
-
*/
|
|
53
|
-
export declare function executeInDaytona(scriptContent: string, scriptPath: string, env?: Record<string, string>, args?: string[], config?: Partial<DaytonaConfig>): Promise<DaytonaExecutionResult>;
|
|
54
|
-
/**
|
|
55
|
-
* Check if Daytona CLI is available and configured.
|
|
56
|
-
*/
|
|
57
|
-
export declare function checkDaytonaAvailable(): Promise<{
|
|
58
|
-
available: boolean;
|
|
59
|
-
version?: string;
|
|
60
|
-
error?: string;
|
|
61
|
-
}>;
|
|
62
|
-
/**
|
|
63
|
-
* List Daytona sandboxes.
|
|
64
|
-
*/
|
|
65
|
-
export declare function listDaytonaSandboxes(): Promise<Array<{
|
|
66
|
-
id: string;
|
|
67
|
-
name: string;
|
|
68
|
-
status: string;
|
|
69
|
-
}>>;
|
|
70
|
-
/**
|
|
71
|
-
* Stop a Daytona sandbox.
|
|
72
|
-
*/
|
|
73
|
-
export declare function stopDaytonaSandbox(sandboxId: string): Promise<boolean>;
|
|
74
|
-
/**
|
|
75
|
-
* Delete a Daytona sandbox.
|
|
76
|
-
*/
|
|
77
|
-
export declare function deleteDaytonaSandbox(sandboxId: string): Promise<boolean>;
|
|
78
|
-
//# sourceMappingURL=daytona-executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"daytona-executor.d.ts","sourceRoot":"","sources":["../../src/skills/daytona-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CA6CjC;AA2ID;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAcD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO9E"}
|