@dcyfr/ai 1.0.3 → 2.1.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/CHANGELOG.md +106 -0
- package/LICENSE +27 -1
- package/README.md +720 -9
- package/dist/ai/agents/agent-loader.d.ts +12 -0
- package/dist/ai/agents/agent-loader.d.ts.map +1 -1
- package/dist/ai/agents/agent-loader.js +74 -65
- package/dist/ai/agents/agent-loader.js.map +1 -1
- package/dist/ai/agents/agent-registry.d.ts +2 -0
- package/dist/ai/agents/agent-registry.d.ts.map +1 -1
- package/dist/ai/agents/agent-registry.js +15 -14
- package/dist/ai/agents/agent-registry.js.map +1 -1
- package/dist/ai/agents/agent-router.d.ts +20 -5
- package/dist/ai/agents/agent-router.d.ts.map +1 -1
- package/dist/ai/agents/agent-router.js +89 -43
- package/dist/ai/agents/agent-router.js.map +1 -1
- package/dist/ai/agents/index.d.ts +6 -1
- package/dist/ai/agents/index.d.ts.map +1 -1
- package/dist/ai/agents/index.js +9 -3
- package/dist/ai/agents/index.js.map +1 -1
- package/dist/ai/agents/instruction-template.d.ts +45 -0
- package/dist/ai/agents/instruction-template.d.ts.map +1 -0
- package/dist/ai/agents/instruction-template.js +197 -0
- package/dist/ai/agents/instruction-template.js.map +1 -0
- package/dist/ai/agents/persona-resolver.d.ts +90 -0
- package/dist/ai/agents/persona-resolver.d.ts.map +1 -0
- package/dist/ai/agents/persona-resolver.js +121 -0
- package/dist/ai/agents/persona-resolver.js.map +1 -0
- package/dist/ai/agents/schema.d.ts +166 -0
- package/dist/ai/agents/schema.d.ts.map +1 -0
- package/dist/ai/agents/schema.js +94 -0
- package/dist/ai/agents/schema.js.map +1 -0
- package/dist/ai/agents/types.d.ts +102 -0
- package/dist/ai/agents/types.d.ts.map +1 -1
- package/dist/ai/agents-builtin/architecture/index.js +3 -3
- package/dist/ai/agents-builtin/content/index.js +1 -1
- package/dist/ai/agents-builtin/data/index.js +1 -1
- package/dist/ai/agents-builtin/development/index.js +4 -4
- package/dist/ai/agents-builtin/devops/index.js +1 -1
- package/dist/ai/agents-builtin/index.js +33 -33
- package/dist/ai/agents-builtin/performance/index.js +1 -1
- package/dist/ai/agents-builtin/research/index.js +1 -1
- package/dist/ai/agents-builtin/security/index.js +1 -1
- package/dist/ai/agents-builtin/testing/index.js +2 -2
- package/dist/ai/config/loader.d.ts.map +1 -1
- package/dist/ai/config/loader.js +6 -3
- package/dist/ai/config/loader.js.map +1 -1
- package/dist/ai/config/schema.d.ts +242 -1156
- package/dist/ai/config/schema.d.ts.map +1 -1
- package/dist/ai/config/schema.js +69 -20
- package/dist/ai/config/schema.js.map +1 -1
- package/dist/ai/core/provider-registry.d.ts +32 -0
- package/dist/ai/core/provider-registry.d.ts.map +1 -1
- package/dist/ai/core/provider-registry.js +189 -14
- package/dist/ai/core/provider-registry.js.map +1 -1
- package/dist/ai/core/telemetry-engine.d.ts +26 -0
- package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
- package/dist/ai/core/telemetry-engine.js +81 -1
- package/dist/ai/core/telemetry-engine.js.map +1 -1
- package/dist/ai/delegation/agent-registry.d.ts +143 -0
- package/dist/ai/delegation/agent-registry.d.ts.map +1 -0
- package/dist/ai/delegation/agent-registry.js +231 -0
- package/dist/ai/delegation/agent-registry.js.map +1 -0
- package/dist/ai/delegation/blast-radius-tracker.d.ts +65 -0
- package/dist/ai/delegation/blast-radius-tracker.d.ts.map +1 -0
- package/dist/ai/delegation/blast-radius-tracker.js +81 -0
- package/dist/ai/delegation/blast-radius-tracker.js.map +1 -0
- package/dist/ai/delegation/capability-bootstrap.d.ts +40 -0
- package/dist/ai/delegation/capability-bootstrap.d.ts.map +1 -0
- package/dist/ai/delegation/capability-bootstrap.js +431 -0
- package/dist/ai/delegation/capability-bootstrap.js.map +1 -0
- package/dist/ai/delegation/capability-registry.d.ts +81 -0
- package/dist/ai/delegation/capability-registry.d.ts.map +1 -0
- package/dist/ai/delegation/capability-registry.js +339 -0
- package/dist/ai/delegation/capability-registry.js.map +1 -0
- package/dist/ai/delegation/chain-tracker.d.ts +152 -0
- package/dist/ai/delegation/chain-tracker.d.ts.map +1 -0
- package/dist/ai/delegation/chain-tracker.js +336 -0
- package/dist/ai/delegation/chain-tracker.js.map +1 -0
- package/dist/ai/delegation/circuit-breaker.d.ts +59 -0
- package/dist/ai/delegation/circuit-breaker.d.ts.map +1 -0
- package/dist/ai/delegation/circuit-breaker.js +153 -0
- package/dist/ai/delegation/circuit-breaker.js.map +1 -0
- package/dist/ai/delegation/contract-manager.d.ts +415 -0
- package/dist/ai/delegation/contract-manager.d.ts.map +1 -0
- package/dist/ai/delegation/contract-manager.js +1258 -0
- package/dist/ai/delegation/contract-manager.js.map +1 -0
- package/dist/ai/delegation/delegation-manager.d.ts +505 -0
- package/dist/ai/delegation/delegation-manager.d.ts.map +1 -0
- package/dist/ai/delegation/delegation-manager.js +773 -0
- package/dist/ai/delegation/delegation-manager.js.map +1 -0
- package/dist/ai/delegation/event-schemas.d.ts +101 -0
- package/dist/ai/delegation/event-schemas.d.ts.map +1 -0
- package/dist/ai/delegation/event-schemas.js +59 -0
- package/dist/ai/delegation/event-schemas.js.map +1 -0
- package/dist/ai/delegation/execution-mode-dashboard.d.ts +109 -0
- package/dist/ai/delegation/execution-mode-dashboard.d.ts.map +1 -0
- package/dist/ai/delegation/execution-mode-dashboard.js +167 -0
- package/dist/ai/delegation/execution-mode-dashboard.js.map +1 -0
- package/dist/ai/delegation/feature-flags.d.ts +191 -0
- package/dist/ai/delegation/feature-flags.d.ts.map +1 -0
- package/dist/ai/delegation/feature-flags.js +332 -0
- package/dist/ai/delegation/feature-flags.js.map +1 -0
- package/dist/ai/delegation/index.d.ts +51 -0
- package/dist/ai/delegation/index.d.ts.map +1 -0
- package/dist/ai/delegation/index.js +39 -0
- package/dist/ai/delegation/index.js.map +1 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts +39 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.js +77 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts +46 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.js +89 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.d.ts +31 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.js +82 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts +46 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.js +59 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/identity-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/identity-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/identity-middleware.js +64 -0
- package/dist/ai/delegation/middleware/identity-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/permissions-middleware.d.ts +48 -0
- package/dist/ai/delegation/middleware/permissions-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/permissions-middleware.js +107 -0
- package/dist/ai/delegation/middleware/permissions-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts +38 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.js +65 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/reputation-middleware.d.ts +39 -0
- package/dist/ai/delegation/middleware/reputation-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/reputation-middleware.js +75 -0
- package/dist/ai/delegation/middleware/reputation-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts +52 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.js +112 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.js +83 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/tlp-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/tlp-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/tlp-middleware.js +59 -0
- package/dist/ai/delegation/middleware/tlp-middleware.js.map +1 -0
- package/dist/ai/delegation/monitoring.d.ts +298 -0
- package/dist/ai/delegation/monitoring.d.ts.map +1 -0
- package/dist/ai/delegation/monitoring.js +584 -0
- package/dist/ai/delegation/monitoring.js.map +1 -0
- package/dist/ai/delegation/security-middleware-chain.d.ts +71 -0
- package/dist/ai/delegation/security-middleware-chain.d.ts.map +1 -0
- package/dist/ai/delegation/security-middleware-chain.js +163 -0
- package/dist/ai/delegation/security-middleware-chain.js.map +1 -0
- package/dist/ai/delegation/session-checkpoint.d.ts +77 -0
- package/dist/ai/delegation/session-checkpoint.d.ts.map +1 -0
- package/dist/ai/delegation/session-checkpoint.js +131 -0
- package/dist/ai/delegation/session-checkpoint.js.map +1 -0
- package/dist/ai/delegation/session-manager.d.ts +131 -0
- package/dist/ai/delegation/session-manager.d.ts.map +1 -0
- package/dist/ai/delegation/session-manager.js +243 -0
- package/dist/ai/delegation/session-manager.js.map +1 -0
- package/dist/ai/delegation/session-queue.d.ts +95 -0
- package/dist/ai/delegation/session-queue.d.ts.map +1 -0
- package/dist/ai/delegation/session-queue.js +136 -0
- package/dist/ai/delegation/session-queue.js.map +1 -0
- package/dist/ai/delegation/timeout-watchdog.d.ts +60 -0
- package/dist/ai/delegation/timeout-watchdog.d.ts.map +1 -0
- package/dist/ai/delegation/timeout-watchdog.js +100 -0
- package/dist/ai/delegation/timeout-watchdog.js.map +1 -0
- package/dist/ai/examples/integration-demo.d.ts +27 -0
- package/dist/ai/examples/integration-demo.d.ts.map +1 -0
- package/dist/ai/examples/integration-demo.js +536 -0
- package/dist/ai/examples/integration-demo.js.map +1 -0
- package/dist/ai/index.d.ts +27 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +32 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/mcp/index.d.ts +14 -2
- package/dist/ai/mcp/index.d.ts.map +1 -1
- package/dist/ai/mcp/index.js +11 -1
- package/dist/ai/mcp/index.js.map +1 -1
- package/dist/ai/mcp/servers/analytics/index.d.ts +19 -0
- package/dist/ai/mcp/servers/analytics/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/analytics/index.js +612 -0
- package/dist/ai/mcp/servers/analytics/index.js.map +1 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.d.ts +61 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.d.ts.map +1 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.js +8 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.js.map +1 -0
- package/dist/ai/mcp/servers/content-manager/index.d.ts +19 -0
- package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/content-manager/index.js +282 -0
- package/dist/ai/mcp/servers/content-manager/index.js.map +1 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.d.ts +36 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.js +757 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/index.d.ts +19 -0
- package/dist/ai/mcp/servers/design-tokens/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/index.js +445 -0
- package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.d.ts +59 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.d.ts.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.js +8 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.js.map +1 -0
- package/dist/ai/mcp/servers/promptintel/index.d.ts +19 -0
- package/dist/ai/mcp/servers/promptintel/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/promptintel/index.js +335 -0
- package/dist/ai/mcp/servers/promptintel/index.js.map +1 -0
- package/dist/ai/mcp/servers/shared/cache.d.ts +62 -0
- package/dist/ai/mcp/servers/shared/cache.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/cache.js +117 -0
- package/dist/ai/mcp/servers/shared/cache.js.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.d.ts +53 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.js +185 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.js.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.d.ts +85 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.js +7 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.js.map +1 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.d.ts +54 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.js +124 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -0
- package/dist/ai/mcp/servers/shared/redis-client.d.ts +54 -0
- package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/redis-client.js +232 -0
- package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -0
- package/dist/ai/mcp/servers/shared/types.d.ts +301 -0
- package/dist/ai/mcp/servers/shared/types.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/types.js +6 -0
- package/dist/ai/mcp/servers/shared/types.js.map +1 -0
- package/dist/ai/mcp/servers/shared/utils.d.ts +49 -0
- package/dist/ai/mcp/servers/shared/utils.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/utils.js +233 -0
- package/dist/ai/mcp/servers/shared/utils.js.map +1 -0
- package/dist/ai/memory/config.d.ts +102 -0
- package/dist/ai/memory/config.d.ts.map +1 -0
- package/dist/ai/memory/config.js +200 -0
- package/dist/ai/memory/config.js.map +1 -0
- package/dist/ai/memory/dcyfr-memory.d.ts +67 -0
- package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -0
- package/dist/ai/memory/dcyfr-memory.js +308 -0
- package/dist/ai/memory/dcyfr-memory.js.map +1 -0
- package/dist/ai/memory/index.d.ts +15 -0
- package/dist/ai/memory/index.d.ts.map +1 -0
- package/dist/ai/memory/index.js +15 -0
- package/dist/ai/memory/index.js.map +1 -0
- package/dist/ai/memory/mem0-client.d.ts +108 -0
- package/dist/ai/memory/mem0-client.d.ts.map +1 -0
- package/dist/ai/memory/mem0-client.js +205 -0
- package/dist/ai/memory/mem0-client.js.map +1 -0
- package/dist/ai/memory/types.d.ts +175 -0
- package/dist/ai/memory/types.d.ts.map +1 -0
- package/dist/ai/memory/types.js +10 -0
- package/dist/ai/memory/types.js.map +1 -0
- package/dist/ai/permissions/attenuation-engine.d.ts +159 -0
- package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -0
- package/dist/ai/permissions/attenuation-engine.js +511 -0
- package/dist/ai/permissions/attenuation-engine.js.map +1 -0
- package/dist/ai/plugins/plugin-loader.d.ts +4 -0
- package/dist/ai/plugins/plugin-loader.d.ts.map +1 -1
- package/dist/ai/plugins/plugin-loader.js +28 -28
- package/dist/ai/plugins/plugin-loader.js.map +1 -1
- package/dist/ai/reputation/execution-mode-reputation.d.ts +104 -0
- package/dist/ai/reputation/execution-mode-reputation.d.ts.map +1 -0
- package/dist/ai/reputation/execution-mode-reputation.js +142 -0
- package/dist/ai/reputation/execution-mode-reputation.js.map +1 -0
- package/dist/ai/reputation/reputation-engine.d.ts +204 -0
- package/dist/ai/reputation/reputation-engine.d.ts.map +1 -0
- package/dist/ai/reputation/reputation-engine.js +426 -0
- package/dist/ai/reputation/reputation-engine.js.map +1 -0
- package/dist/ai/runtime/agent-runtime.d.ts +193 -0
- package/dist/ai/runtime/agent-runtime.d.ts.map +1 -0
- package/dist/ai/runtime/agent-runtime.js +1009 -0
- package/dist/ai/runtime/agent-runtime.js.map +1 -0
- package/dist/ai/runtime/index.d.ts +11 -0
- package/dist/ai/runtime/index.d.ts.map +1 -0
- package/dist/ai/runtime/index.js +9 -0
- package/dist/ai/runtime/index.js.map +1 -0
- package/dist/ai/runtime/telemetry-schema.d.ts +192 -0
- package/dist/ai/runtime/telemetry-schema.d.ts.map +1 -0
- package/dist/ai/runtime/telemetry-schema.js +200 -0
- package/dist/ai/runtime/telemetry-schema.js.map +1 -0
- package/dist/ai/runtime/types.d.ts +236 -0
- package/dist/ai/runtime/types.d.ts.map +1 -0
- package/dist/ai/runtime/types.js +10 -0
- package/dist/ai/runtime/types.js.map +1 -0
- package/dist/ai/src/batch-processor.d.ts +298 -0
- package/dist/ai/src/batch-processor.d.ts.map +1 -0
- package/dist/ai/src/batch-processor.js +520 -0
- package/dist/ai/src/batch-processor.js.map +1 -0
- package/dist/ai/src/capability-bootstrap.d.ts +222 -0
- package/dist/ai/src/capability-bootstrap.d.ts.map +1 -0
- package/dist/ai/src/capability-bootstrap.js +421 -0
- package/dist/ai/src/capability-bootstrap.js.map +1 -0
- package/dist/ai/src/capability-manifest-generator.d.ts +52 -0
- package/dist/ai/src/capability-manifest-generator.d.ts.map +1 -0
- package/dist/ai/src/capability-manifest-generator.js +691 -0
- package/dist/ai/src/capability-manifest-generator.js.map +1 -0
- package/dist/ai/src/capability-registry.d.ts +157 -0
- package/dist/ai/src/capability-registry.d.ts.map +1 -0
- package/dist/ai/src/capability-registry.js +577 -0
- package/dist/ai/src/capability-registry.js.map +1 -0
- package/dist/ai/src/cli/telemetry-dashboard.d.ts +132 -0
- package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -0
- package/dist/ai/src/cli/telemetry-dashboard.js +565 -0
- package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -0
- package/dist/ai/src/delegation/feature-flags.d.ts +213 -0
- package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -0
- package/dist/ai/src/delegation/feature-flags.js +395 -0
- package/dist/ai/src/delegation/feature-flags.js.map +1 -0
- package/dist/ai/src/delegation/liability-firebreak.d.ts +303 -0
- package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -0
- package/dist/ai/src/delegation/liability-firebreak.js +643 -0
- package/dist/ai/src/delegation/liability-firebreak.js.map +1 -0
- package/dist/ai/src/delegation/security-threat-model.d.ts +171 -0
- package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -0
- package/dist/ai/src/delegation/security-threat-model.js +723 -0
- package/dist/ai/src/delegation/security-threat-model.js.map +1 -0
- package/dist/ai/src/delegation/tlp-enforcement.d.ts +146 -0
- package/dist/ai/src/delegation/tlp-enforcement.d.ts.map +1 -0
- package/dist/ai/src/delegation/tlp-enforcement.js +382 -0
- package/dist/ai/src/delegation/tlp-enforcement.js.map +1 -0
- package/dist/ai/src/delegation-capability-integration.d.ts +154 -0
- package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -0
- package/dist/ai/src/delegation-capability-integration.js +351 -0
- package/dist/ai/src/delegation-capability-integration.js.map +1 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts +325 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.js +801 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -0
- package/dist/ai/src/enhanced-capability-detection.d.ts +237 -0
- package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -0
- package/dist/ai/src/enhanced-capability-detection.js +448 -0
- package/dist/ai/src/enhanced-capability-detection.js.map +1 -0
- package/dist/ai/src/intelligent-cache-manager.d.ts +327 -0
- package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -0
- package/dist/ai/src/intelligent-cache-manager.js +634 -0
- package/dist/ai/src/intelligent-cache-manager.js.map +1 -0
- package/dist/ai/src/mcp-auto-configuration.d.ts +232 -0
- package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -0
- package/dist/ai/src/mcp-auto-configuration.js +445 -0
- package/dist/ai/src/mcp-auto-configuration.js.map +1 -0
- package/dist/ai/src/performance-profiler.d.ts +351 -0
- package/dist/ai/src/performance-profiler.d.ts.map +1 -0
- package/dist/ai/src/performance-profiler.js +475 -0
- package/dist/ai/src/performance-profiler.js.map +1 -0
- package/dist/ai/src/personas/hooks/before-llm-call.d.ts +96 -0
- package/dist/ai/src/personas/hooks/before-llm-call.d.ts.map +1 -0
- package/dist/ai/src/personas/hooks/before-llm-call.js +83 -0
- package/dist/ai/src/personas/hooks/before-llm-call.js.map +1 -0
- package/dist/ai/src/personas/index.d.ts +10 -0
- package/dist/ai/src/personas/index.d.ts.map +1 -0
- package/dist/ai/src/personas/index.js +10 -0
- package/dist/ai/src/personas/index.js.map +1 -0
- package/dist/ai/src/personas/persona-loader.d.ts +42 -0
- package/dist/ai/src/personas/persona-loader.d.ts.map +1 -0
- package/dist/ai/src/personas/persona-loader.js +162 -0
- package/dist/ai/src/personas/persona-loader.js.map +1 -0
- package/dist/ai/src/personas/types.d.ts +199 -0
- package/dist/ai/src/personas/types.d.ts.map +1 -0
- package/dist/ai/src/personas/types.js +7 -0
- package/dist/ai/src/personas/types.js.map +1 -0
- package/dist/ai/src/personas/voice-resolver.d.ts +40 -0
- package/dist/ai/src/personas/voice-resolver.d.ts.map +1 -0
- package/dist/ai/src/personas/voice-resolver.js +201 -0
- package/dist/ai/src/personas/voice-resolver.js.map +1 -0
- package/dist/ai/src/resource-monitor.d.ts +311 -0
- package/dist/ai/src/resource-monitor.d.ts.map +1 -0
- package/dist/ai/src/resource-monitor.js +475 -0
- package/dist/ai/src/resource-monitor.js.map +1 -0
- package/dist/ai/src/runtime/agent-runtime.d.ts +340 -0
- package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -0
- package/dist/ai/src/runtime/agent-runtime.js +1084 -0
- package/dist/ai/src/runtime/agent-runtime.js.map +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.d.ts +287 -0
- package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.js +389 -0
- package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -0
- package/dist/ai/src/telemetry/index.d.ts +48 -0
- package/dist/ai/src/telemetry/index.d.ts.map +1 -0
- package/dist/ai/src/telemetry/index.js +48 -0
- package/dist/ai/src/telemetry/index.js.map +1 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +67 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js +415 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -0
- package/dist/ai/src/telemetry/telemetry-utils.d.ts +119 -0
- package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -0
- package/dist/ai/src/telemetry/telemetry-utils.js +250 -0
- package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -0
- package/dist/ai/src/types/agent-capabilities.d.ts +227 -0
- package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -0
- package/dist/ai/src/types/agent-capabilities.js +11 -0
- package/dist/ai/src/types/agent-capabilities.js.map +1 -0
- package/dist/ai/src/types/context-verification.d.ts +158 -0
- package/dist/ai/src/types/context-verification.d.ts.map +1 -0
- package/dist/ai/src/types/context-verification.js +73 -0
- package/dist/ai/src/types/context-verification.js.map +1 -0
- package/dist/ai/src/types/delegation-contracts.d.ts +296 -0
- package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -0
- package/dist/ai/src/types/delegation-contracts.js +17 -0
- package/dist/ai/src/types/delegation-contracts.js.map +1 -0
- package/dist/ai/src/validation-pipeline-integration.d.ts +266 -0
- package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -0
- package/dist/ai/src/validation-pipeline-integration.js +695 -0
- package/dist/ai/src/validation-pipeline-integration.js.map +1 -0
- package/dist/ai/src/verification/multi-modal-formatters.d.ts +57 -0
- package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -0
- package/dist/ai/src/verification/multi-modal-formatters.js +655 -0
- package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -0
- package/dist/ai/src/verification/output-formatter.d.ts +186 -0
- package/dist/ai/src/verification/output-formatter.d.ts.map +1 -0
- package/dist/ai/src/verification/output-formatter.js +296 -0
- package/dist/ai/src/verification/output-formatter.js.map +1 -0
- package/dist/ai/src/verification/parser-integration.d.ts +137 -0
- package/dist/ai/src/verification/parser-integration.d.ts.map +1 -0
- package/dist/ai/src/verification/parser-integration.js +273 -0
- package/dist/ai/src/verification/parser-integration.js.map +1 -0
- package/dist/ai/types/agent-capabilities.d.ts +387 -0
- package/dist/ai/types/agent-capabilities.d.ts.map +1 -0
- package/dist/ai/types/agent-capabilities.js +32 -0
- package/dist/ai/types/agent-capabilities.js.map +1 -0
- package/dist/ai/types/delegation-contracts.d.ts +291 -0
- package/dist/ai/types/delegation-contracts.d.ts.map +1 -0
- package/dist/ai/types/delegation-contracts.js +14 -0
- package/dist/ai/types/delegation-contracts.js.map +1 -0
- package/dist/ai/types/index.d.ts +4 -1
- package/dist/ai/types/index.d.ts.map +1 -1
- package/dist/ai/types/index.js +4 -1
- package/dist/ai/types/index.js.map +1 -1
- package/dist/ai/types/permission-tokens.d.ts +365 -0
- package/dist/ai/types/permission-tokens.d.ts.map +1 -0
- package/dist/ai/types/permission-tokens.js +13 -0
- package/dist/ai/types/permission-tokens.js.map +1 -0
- package/dist/ai/types/security-middleware.d.ts +130 -0
- package/dist/ai/types/security-middleware.d.ts.map +1 -0
- package/dist/ai/types/security-middleware.js +13 -0
- package/dist/ai/types/security-middleware.js.map +1 -0
- package/dist/ai/utils/storage.d.ts.map +1 -1
- package/dist/ai/utils/storage.js +6 -3
- package/dist/ai/utils/storage.js.map +1 -1
- package/dist/ai/validation/validation-framework.js +1 -1
- package/dist/ai/verification/policy-framework.d.ts +161 -0
- package/dist/ai/verification/policy-framework.d.ts.map +1 -0
- package/dist/ai/verification/policy-framework.js +436 -0
- package/dist/ai/verification/policy-framework.js.map +1 -0
- package/package.json +56 -6
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCYFR Memory implementation wrapping mem0 OSS client
|
|
3
|
+
*/
|
|
4
|
+
import { getMemoryConfig } from './config.js';
|
|
5
|
+
import { getMem0Client, resetMem0Client as resetClient } from './mem0-client.js';
|
|
6
|
+
// Default limits for memory queries
|
|
7
|
+
const DEFAULTS = {
|
|
8
|
+
USER_MEMORY_LIMIT: 100,
|
|
9
|
+
AGENT_MEMORY_LIMIT: 50,
|
|
10
|
+
SESSION_MEMORY_LIMIT: 30,
|
|
11
|
+
CONSISTENCY_RETRIES: 4,
|
|
12
|
+
CONSISTENCY_RETRY_DELAY_MS: 150,
|
|
13
|
+
GET_ALL_QUERY: '*',
|
|
14
|
+
};
|
|
15
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
16
|
+
/**
|
|
17
|
+
* DCYFRMemory implementation using mem0 OSS as the backend
|
|
18
|
+
*/
|
|
19
|
+
export class DCYFRMemoryImpl {
|
|
20
|
+
mem0ClientPromise = null;
|
|
21
|
+
/**
|
|
22
|
+
* Lazy initialization of mem0 client
|
|
23
|
+
*/
|
|
24
|
+
async ensureInitialized() {
|
|
25
|
+
if (!this.mem0ClientPromise) {
|
|
26
|
+
const memoryConfig = getMemoryConfig();
|
|
27
|
+
this.mem0ClientPromise = getMem0Client(memoryConfig);
|
|
28
|
+
}
|
|
29
|
+
return this.mem0ClientPromise;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Retry semantic search briefly to smooth over vector index eventual consistency.
|
|
33
|
+
*/
|
|
34
|
+
async searchWithConsistencyRetries(client, query, options) {
|
|
35
|
+
let result = await client.search(query, options);
|
|
36
|
+
if (result.results.length > 0) {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
for (let attempt = 1; attempt <= DEFAULTS.CONSISTENCY_RETRIES; attempt++) {
|
|
40
|
+
await sleep(DEFAULTS.CONSISTENCY_RETRY_DELAY_MS * attempt);
|
|
41
|
+
result = await client.search(query, options);
|
|
42
|
+
if (result.results.length > 0) {
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
// ============================================================================
|
|
49
|
+
// User Memory Operations
|
|
50
|
+
// ============================================================================
|
|
51
|
+
/**
|
|
52
|
+
* Add memory associated with a specific user
|
|
53
|
+
*/
|
|
54
|
+
async addUserMemory(userId, message, context) {
|
|
55
|
+
try {
|
|
56
|
+
const client = await this.ensureInitialized();
|
|
57
|
+
const result = await client.add(message, {
|
|
58
|
+
userId,
|
|
59
|
+
metadata: {
|
|
60
|
+
ownerType: 'user',
|
|
61
|
+
topic: context?.topic,
|
|
62
|
+
importance: context?.importance || 0.5,
|
|
63
|
+
...context?.metadata,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const directId = result.results[0]?.id;
|
|
67
|
+
if (directId) {
|
|
68
|
+
return directId;
|
|
69
|
+
}
|
|
70
|
+
// Some providers may return empty add results until embeddings are fully indexed.
|
|
71
|
+
try {
|
|
72
|
+
const fallback = await this.searchWithConsistencyRetries(client, message, {
|
|
73
|
+
userId,
|
|
74
|
+
limit: 1,
|
|
75
|
+
});
|
|
76
|
+
return fallback.results[0]?.id || '';
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Keep legacy behavior when add succeeded but no ID is returned.
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
throw new Error(`Failed to add user memory: ${error.message}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Search user memories using semantic search
|
|
89
|
+
*/
|
|
90
|
+
async searchUserMemories(userId, query, limit = DEFAULTS.USER_MEMORY_LIMIT) {
|
|
91
|
+
try {
|
|
92
|
+
const client = await this.ensureInitialized();
|
|
93
|
+
const result = await this.searchWithConsistencyRetries(client, query, {
|
|
94
|
+
userId,
|
|
95
|
+
limit,
|
|
96
|
+
});
|
|
97
|
+
return result.results.map((item) => ({
|
|
98
|
+
id: item.id,
|
|
99
|
+
content: item.memory,
|
|
100
|
+
owner: userId,
|
|
101
|
+
ownerType: 'user',
|
|
102
|
+
importance: item.metadata?.importance || 0.5,
|
|
103
|
+
topic: item.metadata?.topic,
|
|
104
|
+
createdAt: item.createdAt ? new Date(item.createdAt) : new Date(),
|
|
105
|
+
metadata: item.metadata,
|
|
106
|
+
relevance: item.score || 1.0,
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
throw new Error(`Failed to search user memories: ${error.message}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get all memories for a user
|
|
115
|
+
*/
|
|
116
|
+
async getUserMemories(userId, topic) {
|
|
117
|
+
try {
|
|
118
|
+
const client = await this.ensureInitialized();
|
|
119
|
+
const result = await client.search(DEFAULTS.GET_ALL_QUERY, {
|
|
120
|
+
userId,
|
|
121
|
+
limit: DEFAULTS.USER_MEMORY_LIMIT,
|
|
122
|
+
filters: topic ? { topic } : undefined,
|
|
123
|
+
});
|
|
124
|
+
return result.results.map((item) => ({
|
|
125
|
+
id: item.id,
|
|
126
|
+
content: item.memory,
|
|
127
|
+
owner: userId,
|
|
128
|
+
ownerType: 'user',
|
|
129
|
+
importance: item.metadata?.importance || 0.5,
|
|
130
|
+
topic: item.metadata?.topic,
|
|
131
|
+
createdAt: item.createdAt ? new Date(item.createdAt) : new Date(),
|
|
132
|
+
metadata: item.metadata,
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
throw new Error(`Failed to get user memories: ${error.message}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Delete all memories for a user
|
|
141
|
+
*/
|
|
142
|
+
async deleteUserMemories(userId) {
|
|
143
|
+
try {
|
|
144
|
+
const client = await this.ensureInitialized();
|
|
145
|
+
await client.deleteAll({ userId });
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
throw new Error(`Failed to delete user memories: ${error.message}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ============================================================================
|
|
152
|
+
// Agent Memory Operations
|
|
153
|
+
// ============================================================================
|
|
154
|
+
/**
|
|
155
|
+
* Store agent workflow state
|
|
156
|
+
*/
|
|
157
|
+
async addAgentMemory(agentId, sessionId, state) {
|
|
158
|
+
try {
|
|
159
|
+
const client = await this.ensureInitialized();
|
|
160
|
+
const message = `Agent state: ${JSON.stringify(state)}`;
|
|
161
|
+
const result = await client.add(message, {
|
|
162
|
+
agentId,
|
|
163
|
+
runId: sessionId,
|
|
164
|
+
metadata: {
|
|
165
|
+
ownerType: 'agent',
|
|
166
|
+
agentId,
|
|
167
|
+
sessionId,
|
|
168
|
+
state,
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
return result.results[0]?.id || '';
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
throw new Error(`Failed to add agent memory: ${error.message}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Search agent memories
|
|
179
|
+
*/
|
|
180
|
+
async searchAgentMemories(agentId, query, limit = DEFAULTS.AGENT_MEMORY_LIMIT) {
|
|
181
|
+
try {
|
|
182
|
+
const client = await this.ensureInitialized();
|
|
183
|
+
const result = await client.search(query, {
|
|
184
|
+
agentId,
|
|
185
|
+
limit,
|
|
186
|
+
});
|
|
187
|
+
return result.results.map((item) => ({
|
|
188
|
+
id: item.id,
|
|
189
|
+
content: item.memory,
|
|
190
|
+
owner: item.metadata?.agentId || agentId,
|
|
191
|
+
ownerType: 'agent',
|
|
192
|
+
relevance: item.score || 0.5,
|
|
193
|
+
agentId: item.metadata?.agentId || agentId,
|
|
194
|
+
sessionId: item.metadata?.sessionId,
|
|
195
|
+
state: item.metadata?.state,
|
|
196
|
+
createdAt: item.createdAt ? new Date(item.createdAt) : new Date(),
|
|
197
|
+
metadata: item.metadata,
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
throw new Error(`Failed to search agent memories: ${error.message}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get agent workflow state for a specific session
|
|
206
|
+
*/
|
|
207
|
+
async getAgentState(agentId, sessionId) {
|
|
208
|
+
try {
|
|
209
|
+
const client = await this.ensureInitialized();
|
|
210
|
+
const result = await client.search(DEFAULTS.GET_ALL_QUERY, {
|
|
211
|
+
agentId,
|
|
212
|
+
runId: sessionId,
|
|
213
|
+
limit: 1,
|
|
214
|
+
});
|
|
215
|
+
if (result.results.length === 0) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
return result.results[0].metadata?.state || null;
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
throw new Error(`Failed to get agent state: ${error.message}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// ============================================================================
|
|
225
|
+
// Session Memory Operations
|
|
226
|
+
// ============================================================================
|
|
227
|
+
/**
|
|
228
|
+
* Add temporary session context with TTL
|
|
229
|
+
*/
|
|
230
|
+
async addSessionMemory(sessionId, message, ttl = 3600) {
|
|
231
|
+
try {
|
|
232
|
+
const client = await this.ensureInitialized();
|
|
233
|
+
const expiresAt = new Date(Date.now() + ttl * 1000);
|
|
234
|
+
const result = await client.add(message, {
|
|
235
|
+
runId: sessionId,
|
|
236
|
+
metadata: {
|
|
237
|
+
ownerType: 'session',
|
|
238
|
+
sessionId,
|
|
239
|
+
expiresAt: expiresAt.toISOString(),
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
return result.results[0]?.id || '';
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
throw new Error(`Failed to add session memory: ${error.message}`);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Get concatenated session context (filters out expired memories)
|
|
250
|
+
*/
|
|
251
|
+
async getSessionContext(sessionId) {
|
|
252
|
+
try {
|
|
253
|
+
const client = await this.ensureInitialized();
|
|
254
|
+
const result = await client.search(DEFAULTS.GET_ALL_QUERY, {
|
|
255
|
+
runId: sessionId,
|
|
256
|
+
limit: DEFAULTS.SESSION_MEMORY_LIMIT,
|
|
257
|
+
});
|
|
258
|
+
const now = new Date();
|
|
259
|
+
// Filter out expired memories
|
|
260
|
+
const validMemories = result.results.filter((item) => {
|
|
261
|
+
const expiresAt = item.metadata?.expiresAt;
|
|
262
|
+
if (!expiresAt)
|
|
263
|
+
return true; // No expiration = keep
|
|
264
|
+
return new Date(expiresAt) > now;
|
|
265
|
+
});
|
|
266
|
+
// Concatenate all memory content
|
|
267
|
+
return validMemories
|
|
268
|
+
.map((item) => item.memory)
|
|
269
|
+
.join('\n\n');
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
throw new Error(`Failed to get session context: ${error.message}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Delete all memories for a session
|
|
277
|
+
*/
|
|
278
|
+
async deleteSessionMemories(sessionId) {
|
|
279
|
+
try {
|
|
280
|
+
const client = await this.ensureInitialized();
|
|
281
|
+
await client.deleteAll({ runId: sessionId });
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
throw new Error(`Failed to delete session memories: ${error.message}`);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
// ============================================================================
|
|
289
|
+
// Singleton Factory
|
|
290
|
+
// ============================================================================
|
|
291
|
+
let memoryInstance = null;
|
|
292
|
+
/**
|
|
293
|
+
* Get singleton DCYFRMemory instance
|
|
294
|
+
*/
|
|
295
|
+
export function getMemory() {
|
|
296
|
+
if (!memoryInstance) {
|
|
297
|
+
memoryInstance = new DCYFRMemoryImpl();
|
|
298
|
+
}
|
|
299
|
+
return memoryInstance;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Reset memory instance (for testing)
|
|
303
|
+
*/
|
|
304
|
+
export function resetMemory() {
|
|
305
|
+
memoryInstance = null;
|
|
306
|
+
resetClient();
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=dcyfr-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcyfr-memory.js","sourceRoot":"","sources":["../../../packages/ai/memory/dcyfr-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Layer Module - Barrel Exports
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for @dcyfr/ai/memory module.
|
|
5
|
+
* Exports all public APIs for memory operations.
|
|
6
|
+
*
|
|
7
|
+
* @module @dcyfr/ai/memory
|
|
8
|
+
*/
|
|
9
|
+
export { getMemory, resetMemory, DCYFRMemoryImpl } from './dcyfr-memory.js';
|
|
10
|
+
export { getMemoryConfig, loadMemoryConfig, validateMemoryConfig, DEFAULT_CONFIG, } from './config.js';
|
|
11
|
+
export type { DCYFRMemory, Memory, MemorySearchResult, MemoryContext, AgentMemory, SessionMemory, MemoryProvider, } from './types.js';
|
|
12
|
+
export type { VectorDBProvider, VectorDBConfig, LLMConfig, MemoryConfig, } from './config.js';
|
|
13
|
+
export { createMem0Client, getMem0Client, resetMem0Client, } from './mem0-client.js';
|
|
14
|
+
export type { Mem0Client } from './mem0-client.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/ai/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Layer Module - Barrel Exports
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for @dcyfr/ai/memory module.
|
|
5
|
+
* Exports all public APIs for memory operations.
|
|
6
|
+
*
|
|
7
|
+
* @module @dcyfr/ai/memory
|
|
8
|
+
*/
|
|
9
|
+
// Main API
|
|
10
|
+
export { getMemory, resetMemory, DCYFRMemoryImpl } from './dcyfr-memory.js';
|
|
11
|
+
// Configuration
|
|
12
|
+
export { getMemoryConfig, loadMemoryConfig, validateMemoryConfig, DEFAULT_CONFIG, } from './config.js';
|
|
13
|
+
// Client utilities (for advanced users)
|
|
14
|
+
export { createMem0Client, getMem0Client, resetMem0Client, } from './mem0-client.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/ai/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,WAAW;AACX,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE5E,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAC;AAoBrB,wCAAwC;AACxC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mem0 Client Integration
|
|
3
|
+
*
|
|
4
|
+
* Factory functions and utilities for initializing mem0 memory client.
|
|
5
|
+
* Handles connection to vector database and LLM configuration.
|
|
6
|
+
*
|
|
7
|
+
* @module @dcyfr/ai/memory/mem0-client
|
|
8
|
+
*/
|
|
9
|
+
import type { MemoryConfig } from './config.js';
|
|
10
|
+
/**
|
|
11
|
+
* mem0 Memory Item result
|
|
12
|
+
*/
|
|
13
|
+
export interface MemoryItem {
|
|
14
|
+
id: string;
|
|
15
|
+
memory: string;
|
|
16
|
+
hash?: string;
|
|
17
|
+
createdAt?: string;
|
|
18
|
+
updatedAt?: string;
|
|
19
|
+
score?: number;
|
|
20
|
+
metadata?: Record<string, any>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* mem0 Message format
|
|
24
|
+
*/
|
|
25
|
+
export interface Message {
|
|
26
|
+
role: 'user' | 'assistant';
|
|
27
|
+
content: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* mem0 Search Result
|
|
31
|
+
*/
|
|
32
|
+
export interface SearchResult {
|
|
33
|
+
results: MemoryItem[];
|
|
34
|
+
relations?: any[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Add Memory Options
|
|
38
|
+
*/
|
|
39
|
+
export interface AddMemoryOptions {
|
|
40
|
+
userId?: string;
|
|
41
|
+
agentId?: string;
|
|
42
|
+
runId?: string;
|
|
43
|
+
metadata?: Record<string, any>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Search Memory Options
|
|
47
|
+
*/
|
|
48
|
+
export interface SearchMemoryOptions {
|
|
49
|
+
userId?: string;
|
|
50
|
+
agentId?: string;
|
|
51
|
+
runId?: string;
|
|
52
|
+
limit?: number;
|
|
53
|
+
filters?: Record<string, any>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Delete All Memory Options
|
|
57
|
+
*/
|
|
58
|
+
export interface DeleteAllMemoryOptions {
|
|
59
|
+
userId?: string;
|
|
60
|
+
agentId?: string;
|
|
61
|
+
runId?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* mem0 OSS Memory instance interface (from mem0ai/oss)
|
|
65
|
+
*/
|
|
66
|
+
export interface Mem0Client {
|
|
67
|
+
add(messages: string | Message[], config: AddMemoryOptions): Promise<SearchResult>;
|
|
68
|
+
search(query: string, config: SearchMemoryOptions): Promise<SearchResult>;
|
|
69
|
+
get(memoryId: string): Promise<MemoryItem | null>;
|
|
70
|
+
update(memoryId: string, data: string): Promise<{
|
|
71
|
+
message: string;
|
|
72
|
+
}>;
|
|
73
|
+
delete(memoryId: string): Promise<{
|
|
74
|
+
message: string;
|
|
75
|
+
}>;
|
|
76
|
+
deleteAll(config: DeleteAllMemoryOptions): Promise<{
|
|
77
|
+
message: string;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create and initialize mem0 OSS client
|
|
82
|
+
*
|
|
83
|
+
* This function:
|
|
84
|
+
* 1. Converts DCYFR config to mem0 OSS config format
|
|
85
|
+
* 2. Dynamically imports mem0ai/oss package
|
|
86
|
+
* 3. Initializes Memory client with vector DB and LLM
|
|
87
|
+
* 4. Tests connection (throws on failure)
|
|
88
|
+
*
|
|
89
|
+
* @param config - DCYFR memory configuration
|
|
90
|
+
* @returns Initialized mem0 Memory instance
|
|
91
|
+
* @throws Error if mem0 initialization fails or connection test fails
|
|
92
|
+
*/
|
|
93
|
+
export declare function createMem0Client(config: MemoryConfig): Promise<Mem0Client>;
|
|
94
|
+
/**
|
|
95
|
+
* Get or create singleton mem0 client
|
|
96
|
+
*
|
|
97
|
+
* Reuses existing client if already initialized, otherwise creates new one.
|
|
98
|
+
*
|
|
99
|
+
* @param config - Memory configuration (required on first call)
|
|
100
|
+
* @returns mem0 client instance
|
|
101
|
+
* @throws Error if called without config before initialization
|
|
102
|
+
*/
|
|
103
|
+
export declare function getMem0Client(config?: MemoryConfig): Promise<Mem0Client>;
|
|
104
|
+
/**
|
|
105
|
+
* Reset mem0 client singleton (for testing)
|
|
106
|
+
*/
|
|
107
|
+
export declare function resetMem0Client(): void;
|
|
108
|
+
//# sourceMappingURL=mem0-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mem0-client.d.ts","sourceRoot":"","sources":["../../../packages/ai/memory/mem0-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAC,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AA8JD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CA2ChF;AAaD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB9E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mem0 Client Integration
|
|
3
|
+
*
|
|
4
|
+
* Factory functions and utilities for initializing mem0 memory client.
|
|
5
|
+
* Handles connection to vector database and LLM configuration.
|
|
6
|
+
*
|
|
7
|
+
* @module @dcyfr/ai/memory/mem0-client
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Determine embedding/vector dimensions from configured embedder provider.
|
|
11
|
+
*/
|
|
12
|
+
function resolveEmbeddingDimension(config) {
|
|
13
|
+
if (config.embeddingDims) {
|
|
14
|
+
return config.embeddingDims;
|
|
15
|
+
}
|
|
16
|
+
const provider = config.embeddingProvider || config.provider;
|
|
17
|
+
// Sensible provider defaults for common models
|
|
18
|
+
if (provider === 'ollama') {
|
|
19
|
+
return 1024;
|
|
20
|
+
}
|
|
21
|
+
// OpenAI text-embedding-3-small default
|
|
22
|
+
return 1536;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert DCYFR VectorDBConfig to mem0 OSS vector_store config
|
|
26
|
+
*/
|
|
27
|
+
function buildVectorStoreConfig(config, embeddingDimension) {
|
|
28
|
+
switch (config.provider) {
|
|
29
|
+
case 'qdrant':
|
|
30
|
+
const qdrantConfig = {
|
|
31
|
+
collectionName: config.index || 'dcyfr_memories',
|
|
32
|
+
dimension: embeddingDimension,
|
|
33
|
+
};
|
|
34
|
+
if (config.url) {
|
|
35
|
+
// Qdrant client expects either URL or host/port, not both.
|
|
36
|
+
qdrantConfig.url = config.url;
|
|
37
|
+
}
|
|
38
|
+
if (config.apiKey) {
|
|
39
|
+
qdrantConfig.apiKey = config.apiKey;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
provider: 'qdrant',
|
|
43
|
+
config: qdrantConfig,
|
|
44
|
+
};
|
|
45
|
+
case 'pinecone':
|
|
46
|
+
return {
|
|
47
|
+
provider: 'pinecone',
|
|
48
|
+
config: {
|
|
49
|
+
apiKey: config.apiKey,
|
|
50
|
+
collectionName: config.index || 'dcyfr-memories',
|
|
51
|
+
dimension: embeddingDimension,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
case 'weaviate':
|
|
55
|
+
const weaviateConfig = {
|
|
56
|
+
collectionName: config.index || 'dcyfr_memories',
|
|
57
|
+
dimension: embeddingDimension,
|
|
58
|
+
};
|
|
59
|
+
if (config.url) {
|
|
60
|
+
weaviateConfig.url = config.url;
|
|
61
|
+
}
|
|
62
|
+
if (config.apiKey) {
|
|
63
|
+
weaviateConfig.apiKey = config.apiKey;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
provider: 'weaviate',
|
|
67
|
+
config: weaviateConfig,
|
|
68
|
+
};
|
|
69
|
+
default:
|
|
70
|
+
throw new Error(`Unsupported vector DB provider: ${config.provider}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Convert DCYFR LLMConfig to mem0 OSS llm config
|
|
75
|
+
*/
|
|
76
|
+
function buildLLMConfig(config) {
|
|
77
|
+
return {
|
|
78
|
+
provider: config.provider,
|
|
79
|
+
config: {
|
|
80
|
+
model: config.model || 'gpt-4',
|
|
81
|
+
apiKey: config.apiKey,
|
|
82
|
+
baseURL: config.baseURL,
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Convert DCYFR LLMConfig to mem0 OSS embedder config
|
|
88
|
+
*/
|
|
89
|
+
function buildEmbedderConfig(config) {
|
|
90
|
+
const provider = config.embeddingProvider || config.provider;
|
|
91
|
+
// mem0 OSS embedder providers differ from LLM providers.
|
|
92
|
+
// Fall back to OpenAI-compatible embeddings when no native embedder exists.
|
|
93
|
+
const normalizedProvider = ['anthropic', 'groq', 'mistral'].includes(provider)
|
|
94
|
+
? 'openai'
|
|
95
|
+
: provider;
|
|
96
|
+
const defaultEmbeddingDims = normalizedProvider === 'ollama' ? 768 : 1536;
|
|
97
|
+
return {
|
|
98
|
+
provider: normalizedProvider,
|
|
99
|
+
config: {
|
|
100
|
+
model: config.embeddingModel || 'text-embedding-3-small',
|
|
101
|
+
apiKey: config.embeddingApiKey || config.apiKey,
|
|
102
|
+
url: config.embeddingBaseURL || (normalizedProvider === 'ollama' ? process.env.OLLAMA_URL : undefined),
|
|
103
|
+
embeddingDims: config.embeddingDims || defaultEmbeddingDims,
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create and initialize mem0 OSS client
|
|
109
|
+
*
|
|
110
|
+
* This function:
|
|
111
|
+
* 1. Converts DCYFR config to mem0 OSS config format
|
|
112
|
+
* 2. Dynamically imports mem0ai/oss package
|
|
113
|
+
* 3. Initializes Memory client with vector DB and LLM
|
|
114
|
+
* 4. Tests connection (throws on failure)
|
|
115
|
+
*
|
|
116
|
+
* @param config - DCYFR memory configuration
|
|
117
|
+
* @returns Initialized mem0 Memory instance
|
|
118
|
+
* @throws Error if mem0 initialization fails or connection test fails
|
|
119
|
+
*/
|
|
120
|
+
export async function createMem0Client(config) {
|
|
121
|
+
try {
|
|
122
|
+
const embeddingDimension = resolveEmbeddingDimension(config.llm);
|
|
123
|
+
// Build mem0 OSS configuration
|
|
124
|
+
const mem0Config = {
|
|
125
|
+
version: 'v1.1',
|
|
126
|
+
embedder: buildEmbedderConfig(config.llm),
|
|
127
|
+
vectorStore: buildVectorStoreConfig(config.vectorDB, embeddingDimension),
|
|
128
|
+
llm: buildLLMConfig(config.llm),
|
|
129
|
+
disableHistory: true, // Disable history DB for simplicity
|
|
130
|
+
};
|
|
131
|
+
// Dynamic import of mem0ai/oss package
|
|
132
|
+
const { Memory } = await import('mem0ai/oss');
|
|
133
|
+
// Initialize client
|
|
134
|
+
const client = new Memory(mem0Config);
|
|
135
|
+
// Test connection with a simple search
|
|
136
|
+
try {
|
|
137
|
+
await client.search('_health_check', {
|
|
138
|
+
userId: '_system',
|
|
139
|
+
limit: 1,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
// If error is about connection, throw
|
|
144
|
+
if (error.message?.includes('connection') || error.message?.includes('timeout')) {
|
|
145
|
+
throw new Error(`mem0 connection test failed: ${error.message}`);
|
|
146
|
+
}
|
|
147
|
+
// Other errors (like no memories) are acceptable
|
|
148
|
+
}
|
|
149
|
+
return client;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
if (error.message?.includes('Cannot find module') || error.message?.includes('Cannot find package')) {
|
|
153
|
+
throw new Error('mem0ai runtime dependency missing. Ensure mem0ai and required provider SDKs (e.g. openai) are installed.\n' +
|
|
154
|
+
'Original error: ' + error.message);
|
|
155
|
+
}
|
|
156
|
+
throw new Error(`Failed to initialize mem0 client: ${error.message}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Singleton mem0 client instance
|
|
161
|
+
* Initialized lazily on first use
|
|
162
|
+
*/
|
|
163
|
+
let mem0ClientInstance = null;
|
|
164
|
+
let mem0ClientConfigFingerprint = null;
|
|
165
|
+
function fingerprintConfig(config) {
|
|
166
|
+
return JSON.stringify(config);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get or create singleton mem0 client
|
|
170
|
+
*
|
|
171
|
+
* Reuses existing client if already initialized, otherwise creates new one.
|
|
172
|
+
*
|
|
173
|
+
* @param config - Memory configuration (required on first call)
|
|
174
|
+
* @returns mem0 client instance
|
|
175
|
+
* @throws Error if called without config before initialization
|
|
176
|
+
*/
|
|
177
|
+
export async function getMem0Client(config) {
|
|
178
|
+
if (mem0ClientInstance) {
|
|
179
|
+
if (!config) {
|
|
180
|
+
return mem0ClientInstance;
|
|
181
|
+
}
|
|
182
|
+
const incomingFingerprint = fingerprintConfig(config);
|
|
183
|
+
if (mem0ClientConfigFingerprint === incomingFingerprint) {
|
|
184
|
+
return mem0ClientInstance;
|
|
185
|
+
}
|
|
186
|
+
// Runtime profile changed (provider/base URL/vector DB, etc) — recreate client.
|
|
187
|
+
mem0ClientInstance = await createMem0Client(config);
|
|
188
|
+
mem0ClientConfigFingerprint = incomingFingerprint;
|
|
189
|
+
return mem0ClientInstance;
|
|
190
|
+
}
|
|
191
|
+
if (!config) {
|
|
192
|
+
throw new Error('Memory configuration required for first-time initialization');
|
|
193
|
+
}
|
|
194
|
+
mem0ClientInstance = await createMem0Client(config);
|
|
195
|
+
mem0ClientConfigFingerprint = fingerprintConfig(config);
|
|
196
|
+
return mem0ClientInstance;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Reset mem0 client singleton (for testing)
|
|
200
|
+
*/
|
|
201
|
+
export function resetMem0Client() {
|
|
202
|
+
mem0ClientInstance = null;
|
|
203
|
+
mem0ClientConfigFingerprint = null;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=mem0-client.js.map
|