@backendkit-labs/agent-core 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-discovery/AgentPackageLoader.d.ts +14 -0
- package/dist/agent-discovery/AgentPackageLoader.d.ts.map +1 -0
- package/dist/agent-discovery/AgentPackageLoader.js +78 -0
- package/dist/agent-discovery/AgentPackageLoader.js.map +1 -0
- package/dist/agent-discovery/RemoteAgentRegistry.d.ts +31 -0
- package/dist/agent-discovery/RemoteAgentRegistry.d.ts.map +1 -0
- package/dist/agent-discovery/RemoteAgentRegistry.js +103 -0
- package/dist/agent-discovery/RemoteAgentRegistry.js.map +1 -0
- package/dist/agent-discovery/discoverAgents.d.ts +18 -0
- package/dist/agent-discovery/discoverAgents.d.ts.map +1 -0
- package/dist/agent-discovery/discoverAgents.js +59 -0
- package/dist/agent-discovery/discoverAgents.js.map +1 -0
- package/dist/agent-discovery/index.d.ts +5 -0
- package/dist/agent-discovery/index.d.ts.map +1 -0
- package/dist/agent-discovery/index.js +12 -0
- package/dist/agent-discovery/index.js.map +1 -0
- package/dist/agent-discovery/types.d.ts +42 -0
- package/dist/agent-discovery/types.d.ts.map +1 -0
- package/dist/agent-discovery/types.js +3 -0
- package/dist/agent-discovery/types.js.map +1 -0
- package/dist/agent-memory/EpisodicMemory.d.ts +26 -0
- package/dist/agent-memory/EpisodicMemory.d.ts.map +1 -0
- package/dist/agent-memory/EpisodicMemory.js +83 -0
- package/dist/agent-memory/EpisodicMemory.js.map +1 -0
- package/dist/agent-memory/MemorySystem.d.ts +40 -0
- package/dist/agent-memory/MemorySystem.d.ts.map +1 -0
- package/dist/agent-memory/MemorySystem.js +75 -0
- package/dist/agent-memory/MemorySystem.js.map +1 -0
- package/dist/agent-memory/ProceduralMemory.d.ts +26 -0
- package/dist/agent-memory/ProceduralMemory.d.ts.map +1 -0
- package/dist/agent-memory/ProceduralMemory.js +104 -0
- package/dist/agent-memory/ProceduralMemory.js.map +1 -0
- package/dist/agent-memory/SemanticMemory.d.ts +21 -0
- package/dist/agent-memory/SemanticMemory.d.ts.map +1 -0
- package/dist/agent-memory/SemanticMemory.js +68 -0
- package/dist/agent-memory/SemanticMemory.js.map +1 -0
- package/dist/agent-memory/index.d.ts +9 -0
- package/dist/agent-memory/index.d.ts.map +1 -0
- package/dist/agent-memory/index.js +19 -0
- package/dist/agent-memory/index.js.map +1 -0
- package/dist/agent-memory/scoring.d.ts +10 -0
- package/dist/agent-memory/scoring.d.ts.map +1 -0
- package/dist/agent-memory/scoring.js +32 -0
- package/dist/agent-memory/scoring.js.map +1 -0
- package/dist/agent-memory/stores/InMemoryStore.d.ts +10 -0
- package/dist/agent-memory/stores/InMemoryStore.d.ts.map +1 -0
- package/dist/agent-memory/stores/InMemoryStore.js +25 -0
- package/dist/agent-memory/stores/InMemoryStore.js.map +1 -0
- package/dist/agent-memory/stores/JsonFileStore.d.ts +18 -0
- package/dist/agent-memory/stores/JsonFileStore.d.ts.map +1 -0
- package/dist/agent-memory/stores/JsonFileStore.js +61 -0
- package/dist/agent-memory/stores/JsonFileStore.js.map +1 -0
- package/dist/agent-memory/tools.d.ts +6 -0
- package/dist/agent-memory/tools.d.ts.map +1 -0
- package/dist/agent-memory/tools.js +74 -0
- package/dist/agent-memory/tools.js.map +1 -0
- package/dist/agent-memory/types.d.ts +75 -0
- package/dist/agent-memory/types.d.ts.map +1 -0
- package/dist/agent-memory/types.js +4 -0
- package/dist/agent-memory/types.js.map +1 -0
- package/dist/bootstrap/GlobalSeed.d.ts +46 -0
- package/dist/bootstrap/GlobalSeed.d.ts.map +1 -0
- package/dist/bootstrap/GlobalSeed.js +285 -0
- package/dist/bootstrap/GlobalSeed.js.map +1 -0
- package/dist/bootstrap/config.d.ts +24 -0
- package/dist/bootstrap/config.d.ts.map +1 -0
- package/dist/bootstrap/config.js +71 -0
- package/dist/bootstrap/config.js.map +1 -0
- package/dist/checkpoint/index.d.ts +17 -0
- package/dist/checkpoint/index.d.ts.map +1 -0
- package/dist/checkpoint/index.js +207 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/commands/SlashCommandRegistry.d.ts +98 -0
- package/dist/commands/SlashCommandRegistry.d.ts.map +1 -0
- package/dist/commands/SlashCommandRegistry.js +41 -0
- package/dist/commands/SlashCommandRegistry.js.map +1 -0
- package/dist/commands/builtin.d.ts +7 -0
- package/dist/commands/builtin.d.ts.map +1 -0
- package/dist/commands/builtin.js +694 -0
- package/dist/commands/builtin.js.map +1 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +8 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/context/index.d.ts +8 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +8 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/pipeline.d.ts +46 -0
- package/dist/context/pipeline.d.ts.map +1 -0
- package/dist/context/pipeline.js +111 -0
- package/dist/context/pipeline.js.map +1 -0
- package/dist/context/stages/stage-instructions.d.ts +12 -0
- package/dist/context/stages/stage-instructions.d.ts.map +1 -0
- package/dist/context/stages/stage-instructions.js +76 -0
- package/dist/context/stages/stage-instructions.js.map +1 -0
- package/dist/context/stages/stage-lessons.d.ts +13 -0
- package/dist/context/stages/stage-lessons.d.ts.map +1 -0
- package/dist/context/stages/stage-lessons.js +83 -0
- package/dist/context/stages/stage-lessons.js.map +1 -0
- package/dist/context/stages/stage-manifest.d.ts +11 -0
- package/dist/context/stages/stage-manifest.d.ts.map +1 -0
- package/dist/context/stages/stage-manifest.js +62 -0
- package/dist/context/stages/stage-manifest.js.map +1 -0
- package/dist/context/stages/stage-project.d.ts +10 -0
- package/dist/context/stages/stage-project.d.ts.map +1 -0
- package/dist/context/stages/stage-project.js +55 -0
- package/dist/context/stages/stage-project.js.map +1 -0
- package/dist/context/stages/stage-session.d.ts +12 -0
- package/dist/context/stages/stage-session.d.ts.map +1 -0
- package/dist/context/stages/stage-session.js +69 -0
- package/dist/context/stages/stage-session.js.map +1 -0
- package/dist/delegation/DelegationBus.d.ts +40 -0
- package/dist/delegation/DelegationBus.d.ts.map +1 -0
- package/dist/delegation/DelegationBus.js +68 -0
- package/dist/delegation/DelegationBus.js.map +1 -0
- package/dist/engine/AgentEngine.d.ts +212 -0
- package/dist/engine/AgentEngine.d.ts.map +1 -0
- package/dist/engine/AgentEngine.js +1037 -0
- package/dist/engine/AgentEngine.js.map +1 -0
- package/dist/engine/AgentRegistry.d.ts +13 -0
- package/dist/engine/AgentRegistry.d.ts.map +1 -0
- package/dist/engine/AgentRegistry.js +37 -0
- package/dist/engine/AgentRegistry.js.map +1 -0
- package/dist/engine/IterationManager.d.ts +79 -0
- package/dist/engine/IterationManager.d.ts.map +1 -0
- package/dist/engine/IterationManager.js +103 -0
- package/dist/engine/IterationManager.js.map +1 -0
- package/dist/engine/ProviderRegistry.d.ts +10 -0
- package/dist/engine/ProviderRegistry.d.ts.map +1 -0
- package/dist/engine/ProviderRegistry.js +28 -0
- package/dist/engine/ProviderRegistry.js.map +1 -0
- package/dist/engine/ToolRegistry.d.ts +54 -0
- package/dist/engine/ToolRegistry.d.ts.map +1 -0
- package/dist/engine/ToolRegistry.js +75 -0
- package/dist/engine/ToolRegistry.js.map +1 -0
- package/dist/engine/createBaseEngine.d.ts +169 -0
- package/dist/engine/createBaseEngine.d.ts.map +1 -0
- package/dist/engine/createBaseEngine.js +91 -0
- package/dist/engine/createBaseEngine.js.map +1 -0
- package/dist/engine/qa-orchestrator.d.ts +56 -0
- package/dist/engine/qa-orchestrator.d.ts.map +1 -0
- package/dist/engine/qa-orchestrator.js +163 -0
- package/dist/engine/qa-orchestrator.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +163 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/MCPClientManager.d.ts +65 -0
- package/dist/mcp/MCPClientManager.d.ts.map +1 -0
- package/dist/mcp/MCPClientManager.js +211 -0
- package/dist/mcp/MCPClientManager.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/types.d.ts +121 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +3 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/memory/SessionMemory.d.ts +9 -0
- package/dist/memory/SessionMemory.d.ts.map +1 -0
- package/dist/memory/SessionMemory.js +20 -0
- package/dist/memory/SessionMemory.js.map +1 -0
- package/dist/observability/CostTracker.d.ts +19 -0
- package/dist/observability/CostTracker.d.ts.map +1 -0
- package/dist/observability/CostTracker.js +64 -0
- package/dist/observability/CostTracker.js.map +1 -0
- package/dist/observability/MetricsCollector.d.ts +17 -0
- package/dist/observability/MetricsCollector.d.ts.map +1 -0
- package/dist/observability/MetricsCollector.js +70 -0
- package/dist/observability/MetricsCollector.js.map +1 -0
- package/dist/observability/ObservabilityManager.d.ts +33 -0
- package/dist/observability/ObservabilityManager.d.ts.map +1 -0
- package/dist/observability/ObservabilityManager.js +107 -0
- package/dist/observability/ObservabilityManager.js.map +1 -0
- package/dist/observability/Tracer.d.ts +23 -0
- package/dist/observability/Tracer.d.ts.map +1 -0
- package/dist/observability/Tracer.js +65 -0
- package/dist/observability/Tracer.js.map +1 -0
- package/dist/observability/index.d.ts +7 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +14 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/types.d.ts +77 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +15 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/orchestration/audit/audit-ci-blocker.d.ts +31 -0
- package/dist/orchestration/audit/audit-ci-blocker.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-ci-blocker.js +120 -0
- package/dist/orchestration/audit/audit-ci-blocker.js.map +1 -0
- package/dist/orchestration/audit/audit-finding-tracer.d.ts +33 -0
- package/dist/orchestration/audit/audit-finding-tracer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-finding-tracer.js +126 -0
- package/dist/orchestration/audit/audit-finding-tracer.js.map +1 -0
- package/dist/orchestration/audit/audit-lessons-learned.d.ts +27 -0
- package/dist/orchestration/audit/audit-lessons-learned.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-lessons-learned.js +155 -0
- package/dist/orchestration/audit/audit-lessons-learned.js.map +1 -0
- package/dist/orchestration/audit/audit-pending-issues.d.ts +21 -0
- package/dist/orchestration/audit/audit-pending-issues.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-pending-issues.js +110 -0
- package/dist/orchestration/audit/audit-pending-issues.js.map +1 -0
- package/dist/orchestration/audit/audit-reflection-bridge.d.ts +39 -0
- package/dist/orchestration/audit/audit-reflection-bridge.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-reflection-bridge.js +65 -0
- package/dist/orchestration/audit/audit-reflection-bridge.js.map +1 -0
- package/dist/orchestration/audit/audit-report-renderer.d.ts +30 -0
- package/dist/orchestration/audit/audit-report-renderer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-report-renderer.js +249 -0
- package/dist/orchestration/audit/audit-report-renderer.js.map +1 -0
- package/dist/orchestration/audit/audit-report-version-manager.d.ts +52 -0
- package/dist/orchestration/audit/audit-report-version-manager.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-report-version-manager.js +144 -0
- package/dist/orchestration/audit/audit-report-version-manager.js.map +1 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts +37 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.js +129 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.js.map +1 -0
- package/dist/orchestration/audit/index.d.ts +17 -0
- package/dist/orchestration/audit/index.d.ts.map +1 -0
- package/dist/orchestration/audit/index.js +26 -0
- package/dist/orchestration/audit/index.js.map +1 -0
- package/dist/orchestration/audit/types.d.ts +79 -0
- package/dist/orchestration/audit/types.d.ts.map +1 -0
- package/dist/orchestration/audit/types.js +10 -0
- package/dist/orchestration/audit/types.js.map +1 -0
- package/dist/orchestration/audit-reporter.d.ts +133 -0
- package/dist/orchestration/audit-reporter.d.ts.map +1 -0
- package/dist/orchestration/audit-reporter.js +322 -0
- package/dist/orchestration/audit-reporter.js.map +1 -0
- package/dist/orchestration/config-loader.d.ts +51 -0
- package/dist/orchestration/config-loader.d.ts.map +1 -0
- package/dist/orchestration/config-loader.js +215 -0
- package/dist/orchestration/config-loader.js.map +1 -0
- package/dist/orchestration/domain-detector.d.ts +36 -0
- package/dist/orchestration/domain-detector.d.ts.map +1 -0
- package/dist/orchestration/domain-detector.js +157 -0
- package/dist/orchestration/domain-detector.js.map +1 -0
- package/dist/orchestration/fsm.d.ts +86 -0
- package/dist/orchestration/fsm.d.ts.map +1 -0
- package/dist/orchestration/fsm.js +223 -0
- package/dist/orchestration/fsm.js.map +1 -0
- package/dist/orchestration/gate-resolver.d.ts +42 -0
- package/dist/orchestration/gate-resolver.d.ts.map +1 -0
- package/dist/orchestration/gate-resolver.js +94 -0
- package/dist/orchestration/gate-resolver.js.map +1 -0
- package/dist/orchestration/index.d.ts +15 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +32 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/intent-detector.d.ts +43 -0
- package/dist/orchestration/intent-detector.d.ts.map +1 -0
- package/dist/orchestration/intent-detector.js +249 -0
- package/dist/orchestration/intent-detector.js.map +1 -0
- package/dist/orchestration/keyword-match.d.ts +17 -0
- package/dist/orchestration/keyword-match.d.ts.map +1 -0
- package/dist/orchestration/keyword-match.js +26 -0
- package/dist/orchestration/keyword-match.js.map +1 -0
- package/dist/orchestration/llm-client-adapter.d.ts +11 -0
- package/dist/orchestration/llm-client-adapter.d.ts.map +1 -0
- package/dist/orchestration/llm-client-adapter.js +30 -0
- package/dist/orchestration/llm-client-adapter.js.map +1 -0
- package/dist/orchestration/orchestrator.d.ts +153 -0
- package/dist/orchestration/orchestrator.d.ts.map +1 -0
- package/dist/orchestration/orchestrator.js +471 -0
- package/dist/orchestration/orchestrator.js.map +1 -0
- package/dist/orchestration/policy-engine.d.ts +47 -0
- package/dist/orchestration/policy-engine.d.ts.map +1 -0
- package/dist/orchestration/policy-engine.js +262 -0
- package/dist/orchestration/policy-engine.js.map +1 -0
- package/dist/orchestration/risk-scorer.d.ts +38 -0
- package/dist/orchestration/risk-scorer.d.ts.map +1 -0
- package/dist/orchestration/risk-scorer.js +145 -0
- package/dist/orchestration/risk-scorer.js.map +1 -0
- package/dist/orchestration/task-context.d.ts +195 -0
- package/dist/orchestration/task-context.d.ts.map +1 -0
- package/dist/orchestration/task-context.js +160 -0
- package/dist/orchestration/task-context.js.map +1 -0
- package/dist/orchestration/types.d.ts +111 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +37 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/qa/index.d.ts +3 -0
- package/dist/qa/index.d.ts.map +1 -0
- package/dist/qa/index.js +6 -0
- package/dist/qa/index.js.map +1 -0
- package/dist/qa/qa-service.d.ts +30 -0
- package/dist/qa/qa-service.d.ts.map +1 -0
- package/dist/qa/qa-service.js +200 -0
- package/dist/qa/qa-service.js.map +1 -0
- package/dist/reflection/commands/domain-commands.d.ts +78 -0
- package/dist/reflection/commands/domain-commands.d.ts.map +1 -0
- package/dist/reflection/commands/domain-commands.js +203 -0
- package/dist/reflection/commands/domain-commands.js.map +1 -0
- package/dist/reflection/domain-registry.d.ts +104 -0
- package/dist/reflection/domain-registry.d.ts.map +1 -0
- package/dist/reflection/domain-registry.js +279 -0
- package/dist/reflection/domain-registry.js.map +1 -0
- package/dist/reflection/domains/agent-domain.d.ts +40 -0
- package/dist/reflection/domains/agent-domain.d.ts.map +1 -0
- package/dist/reflection/domains/agent-domain.js +161 -0
- package/dist/reflection/domains/agent-domain.js.map +1 -0
- package/dist/reflection/domains/audit-domain.d.ts +46 -0
- package/dist/reflection/domains/audit-domain.d.ts.map +1 -0
- package/dist/reflection/domains/audit-domain.js +241 -0
- package/dist/reflection/domains/audit-domain.js.map +1 -0
- package/dist/reflection/domains/bootstrap-domain.d.ts +40 -0
- package/dist/reflection/domains/bootstrap-domain.d.ts.map +1 -0
- package/dist/reflection/domains/bootstrap-domain.js +156 -0
- package/dist/reflection/domains/bootstrap-domain.js.map +1 -0
- package/dist/reflection/domains/commit-domain.d.ts +40 -0
- package/dist/reflection/domains/commit-domain.d.ts.map +1 -0
- package/dist/reflection/domains/commit-domain.js +174 -0
- package/dist/reflection/domains/commit-domain.js.map +1 -0
- package/dist/reflection/domains/test-domain.d.ts +40 -0
- package/dist/reflection/domains/test-domain.d.ts.map +1 -0
- package/dist/reflection/domains/test-domain.js +194 -0
- package/dist/reflection/domains/test-domain.js.map +1 -0
- package/dist/reflection/failure-catalog.d.ts +100 -0
- package/dist/reflection/failure-catalog.d.ts.map +1 -0
- package/dist/reflection/failure-catalog.js +269 -0
- package/dist/reflection/failure-catalog.js.map +1 -0
- package/dist/reflection/historical-loader.d.ts +105 -0
- package/dist/reflection/historical-loader.d.ts.map +1 -0
- package/dist/reflection/historical-loader.js +462 -0
- package/dist/reflection/historical-loader.js.map +1 -0
- package/dist/reflection/hooks/agent-hook.d.ts +72 -0
- package/dist/reflection/hooks/agent-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/agent-hook.js +98 -0
- package/dist/reflection/hooks/agent-hook.js.map +1 -0
- package/dist/reflection/hooks/audit-hook.d.ts +72 -0
- package/dist/reflection/hooks/audit-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/audit-hook.js +112 -0
- package/dist/reflection/hooks/audit-hook.js.map +1 -0
- package/dist/reflection/hooks/bootstrap-hook.d.ts +71 -0
- package/dist/reflection/hooks/bootstrap-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/bootstrap-hook.js +97 -0
- package/dist/reflection/hooks/bootstrap-hook.js.map +1 -0
- package/dist/reflection/hooks/commit-hook.d.ts +63 -0
- package/dist/reflection/hooks/commit-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/commit-hook.js +90 -0
- package/dist/reflection/hooks/commit-hook.js.map +1 -0
- package/dist/reflection/hooks/test-hook.d.ts +65 -0
- package/dist/reflection/hooks/test-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/test-hook.js +99 -0
- package/dist/reflection/hooks/test-hook.js.map +1 -0
- package/dist/reflection/index.d.ts +19 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/dist/reflection/index.js +40 -0
- package/dist/reflection/index.js.map +1 -0
- package/dist/reflection/lessons-memo-generator.d.ts +60 -0
- package/dist/reflection/lessons-memo-generator.d.ts.map +1 -0
- package/dist/reflection/lessons-memo-generator.js +286 -0
- package/dist/reflection/lessons-memo-generator.js.map +1 -0
- package/dist/reflection/pattern-detector.d.ts +55 -0
- package/dist/reflection/pattern-detector.d.ts.map +1 -0
- package/dist/reflection/pattern-detector.js +137 -0
- package/dist/reflection/pattern-detector.js.map +1 -0
- package/dist/reflection/policy-promoter.d.ts +86 -0
- package/dist/reflection/policy-promoter.d.ts.map +1 -0
- package/dist/reflection/policy-promoter.js +382 -0
- package/dist/reflection/policy-promoter.js.map +1 -0
- package/dist/reflection/reflection-engine.d.ts +160 -0
- package/dist/reflection/reflection-engine.d.ts.map +1 -0
- package/dist/reflection/reflection-engine.js +352 -0
- package/dist/reflection/reflection-engine.js.map +1 -0
- package/dist/reflection/types.d.ts +106 -0
- package/dist/reflection/types.d.ts.map +1 -0
- package/dist/reflection/types.js +64 -0
- package/dist/reflection/types.js.map +1 -0
- package/dist/shared/llm/resilient-client.d.ts +40 -0
- package/dist/shared/llm/resilient-client.d.ts.map +1 -0
- package/dist/shared/llm/resilient-client.js +60 -0
- package/dist/shared/llm/resilient-client.js.map +1 -0
- package/dist/shared/utils/atomic-write.d.ts +7 -0
- package/dist/shared/utils/atomic-write.d.ts.map +1 -0
- package/dist/shared/utils/atomic-write.js +52 -0
- package/dist/shared/utils/atomic-write.js.map +1 -0
- package/dist/shared/utils/git.d.ts +2 -0
- package/dist/shared/utils/git.d.ts.map +1 -0
- package/dist/shared/utils/git.js +17 -0
- package/dist/shared/utils/git.js.map +1 -0
- package/dist/shared/utils/project-key.d.ts +4 -0
- package/dist/shared/utils/project-key.d.ts.map +1 -0
- package/dist/shared/utils/project-key.js +54 -0
- package/dist/shared/utils/project-key.js.map +1 -0
- package/dist/shared/utils/string-utils.d.ts +17 -0
- package/dist/shared/utils/string-utils.d.ts.map +1 -0
- package/dist/shared/utils/string-utils.js +37 -0
- package/dist/shared/utils/string-utils.js.map +1 -0
- package/dist/skills/activator.d.ts +27 -0
- package/dist/skills/activator.d.ts.map +1 -0
- package/dist/skills/activator.js +127 -0
- package/dist/skills/activator.js.map +1 -0
- package/dist/skills/builtins/global.d.ts +7 -0
- package/dist/skills/builtins/global.d.ts.map +1 -0
- package/dist/skills/builtins/global.js +208 -0
- package/dist/skills/builtins/global.js.map +1 -0
- package/dist/skills/builtins/go-pack.d.ts +7 -0
- package/dist/skills/builtins/go-pack.d.ts.map +1 -0
- package/dist/skills/builtins/go-pack.js +263 -0
- package/dist/skills/builtins/go-pack.js.map +1 -0
- package/dist/skills/builtins/java-pack.d.ts +7 -0
- package/dist/skills/builtins/java-pack.d.ts.map +1 -0
- package/dist/skills/builtins/java-pack.js +272 -0
- package/dist/skills/builtins/java-pack.js.map +1 -0
- package/dist/skills/builtins/kotlin-pack.d.ts +9 -0
- package/dist/skills/builtins/kotlin-pack.d.ts.map +1 -0
- package/dist/skills/builtins/kotlin-pack.js +292 -0
- package/dist/skills/builtins/kotlin-pack.js.map +1 -0
- package/dist/skills/builtins/node-pack.d.ts +7 -0
- package/dist/skills/builtins/node-pack.d.ts.map +1 -0
- package/dist/skills/builtins/node-pack.js +750 -0
- package/dist/skills/builtins/node-pack.js.map +1 -0
- package/dist/skills/builtins/python-pack.d.ts +7 -0
- package/dist/skills/builtins/python-pack.d.ts.map +1 -0
- package/dist/skills/builtins/python-pack.js +303 -0
- package/dist/skills/builtins/python-pack.js.map +1 -0
- package/dist/skills/index.d.ts +11 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +24 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +39 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +152 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/manager.d.ts +97 -0
- package/dist/skills/manager.d.ts.map +1 -0
- package/dist/skills/manager.js +296 -0
- package/dist/skills/manager.js.map +1 -0
- package/dist/skills/parse-md-skill.d.ts +14 -0
- package/dist/skills/parse-md-skill.d.ts.map +1 -0
- package/dist/skills/parse-md-skill.js +86 -0
- package/dist/skills/parse-md-skill.js.map +1 -0
- package/dist/skills/providers/github.d.ts +21 -0
- package/dist/skills/providers/github.d.ts.map +1 -0
- package/dist/skills/providers/github.js +146 -0
- package/dist/skills/providers/github.js.map +1 -0
- package/dist/skills/providers/index.d.ts +6 -0
- package/dist/skills/providers/index.d.ts.map +1 -0
- package/dist/skills/providers/index.js +12 -0
- package/dist/skills/providers/index.js.map +1 -0
- package/dist/skills/providers/local.d.ts +16 -0
- package/dist/skills/providers/local.d.ts.map +1 -0
- package/dist/skills/providers/local.js +91 -0
- package/dist/skills/providers/local.js.map +1 -0
- package/dist/skills/providers/obsidian.d.ts +31 -0
- package/dist/skills/providers/obsidian.d.ts.map +1 -0
- package/dist/skills/providers/obsidian.js +141 -0
- package/dist/skills/providers/obsidian.js.map +1 -0
- package/dist/skills/providers/skills-sh.d.ts +32 -0
- package/dist/skills/providers/skills-sh.d.ts.map +1 -0
- package/dist/skills/providers/skills-sh.js +53 -0
- package/dist/skills/providers/skills-sh.js.map +1 -0
- package/dist/skills/providers/types.d.ts +25 -0
- package/dist/skills/providers/types.d.ts.map +1 -0
- package/dist/skills/providers/types.js +3 -0
- package/dist/skills/providers/types.js.map +1 -0
- package/dist/skills/registry.d.ts +18 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +45 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +66 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +3 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tools/defineTool.d.ts +34 -0
- package/dist/tools/defineTool.d.ts.map +1 -0
- package/dist/tools/defineTool.js +63 -0
- package/dist/tools/defineTool.js.map +1 -0
- package/dist/transport/CallbackTransport.d.ts +12 -0
- package/dist/transport/CallbackTransport.d.ts.map +1 -0
- package/dist/transport/CallbackTransport.js +28 -0
- package/dist/transport/CallbackTransport.js.map +1 -0
- package/dist/transport/StdoutTransport.d.ts +9 -0
- package/dist/transport/StdoutTransport.d.ts.map +1 -0
- package/dist/transport/StdoutTransport.js +63 -0
- package/dist/transport/StdoutTransport.js.map +1 -0
- package/dist/transport/Transport.d.ts +8 -0
- package/dist/transport/Transport.d.ts.map +1 -0
- package/dist/transport/Transport.js +3 -0
- package/dist/transport/Transport.js.map +1 -0
- package/dist/triggers/EventBus.d.ts +14 -0
- package/dist/triggers/EventBus.d.ts.map +1 -0
- package/dist/triggers/EventBus.js +18 -0
- package/dist/triggers/EventBus.js.map +1 -0
- package/dist/triggers/TriggerManager.d.ts +28 -0
- package/dist/triggers/TriggerManager.d.ts.map +1 -0
- package/dist/triggers/TriggerManager.js +158 -0
- package/dist/triggers/TriggerManager.js.map +1 -0
- package/dist/triggers/WebhookServer.d.ts +23 -0
- package/dist/triggers/WebhookServer.d.ts.map +1 -0
- package/dist/triggers/WebhookServer.js +127 -0
- package/dist/triggers/WebhookServer.js.map +1 -0
- package/dist/triggers/createAutonomousAgent.d.ts +49 -0
- package/dist/triggers/createAutonomousAgent.d.ts.map +1 -0
- package/dist/triggers/createAutonomousAgent.js +42 -0
- package/dist/triggers/createAutonomousAgent.js.map +1 -0
- package/dist/triggers/index.d.ts +8 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +12 -0
- package/dist/triggers/index.js.map +1 -0
- package/dist/triggers/types.d.ts +35 -0
- package/dist/triggers/types.d.ts.map +1 -0
- package/dist/triggers/types.js +3 -0
- package/dist/triggers/types.js.map +1 -0
- package/dist/types/index.d.ts +256 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/workflow/WorkflowBuilder.d.ts +22 -0
- package/dist/workflow/WorkflowBuilder.d.ts.map +1 -0
- package/dist/workflow/WorkflowBuilder.js +67 -0
- package/dist/workflow/WorkflowBuilder.js.map +1 -0
- package/dist/workflow/WorkflowRunner.d.ts +22 -0
- package/dist/workflow/WorkflowRunner.d.ts.map +1 -0
- package/dist/workflow/WorkflowRunner.js +97 -0
- package/dist/workflow/WorkflowRunner.js.map +1 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +10 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/types.d.ts +35 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +3 -0
- package/dist/workflow/types.js.map +1 -0
- package/dist/workspace/index.d.ts +55 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +189 -0
- package/dist/workspace/index.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentProfile } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Load agent definitions from a directory.
|
|
4
|
+
*
|
|
5
|
+
* Supports two layouts:
|
|
6
|
+
* <dir>/my-agent.yaml ← single-file agent
|
|
7
|
+
* <dir>/my-agent/agent.yaml ← package-directory agent
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadAgentsFromDir(dir: string, source: AgentProfile['source']): AgentProfile[];
|
|
10
|
+
/** Returns the global agents directory: ~/.{appName}/agents/ */
|
|
11
|
+
export declare function globalAgentsDir(appName: string): string;
|
|
12
|
+
/** Returns the project-local agents directory: {cwd}/.{appName}/agents/ */
|
|
13
|
+
export declare function projectAgentsDir(cwd: string, appName: string): string;
|
|
14
|
+
//# sourceMappingURL=AgentPackageLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPackageLoader.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/AgentPackageLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC/B,YAAY,EAAE,CAyBhB;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadAgentsFromDir = loadAgentsFromDir;
|
|
4
|
+
exports.globalAgentsDir = globalAgentsDir;
|
|
5
|
+
exports.projectAgentsDir = projectAgentsDir;
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const os_1 = require("os");
|
|
9
|
+
const yaml_1 = require("yaml");
|
|
10
|
+
const REQUIRED_FIELDS = ['id', 'name', 'description', 'systemPrompt', 'allowedTools'];
|
|
11
|
+
/**
|
|
12
|
+
* Load agent definitions from a directory.
|
|
13
|
+
*
|
|
14
|
+
* Supports two layouts:
|
|
15
|
+
* <dir>/my-agent.yaml ← single-file agent
|
|
16
|
+
* <dir>/my-agent/agent.yaml ← package-directory agent
|
|
17
|
+
*/
|
|
18
|
+
function loadAgentsFromDir(dir, source) {
|
|
19
|
+
if (!(0, fs_1.existsSync)(dir))
|
|
20
|
+
return [];
|
|
21
|
+
const agents = [];
|
|
22
|
+
for (const entry of (0, fs_1.readdirSync)(dir, { withFileTypes: true })) {
|
|
23
|
+
// Skip the registry cache sub-directory
|
|
24
|
+
if (entry.name === 'registry')
|
|
25
|
+
continue;
|
|
26
|
+
let filePath = null;
|
|
27
|
+
if (entry.isFile() && isYamlOrJson(entry.name)) {
|
|
28
|
+
filePath = (0, path_1.join)(dir, entry.name);
|
|
29
|
+
}
|
|
30
|
+
else if (entry.isDirectory()) {
|
|
31
|
+
const nested = (0, path_1.join)(dir, entry.name, 'agent.yaml');
|
|
32
|
+
if ((0, fs_1.existsSync)(nested))
|
|
33
|
+
filePath = nested;
|
|
34
|
+
}
|
|
35
|
+
if (!filePath)
|
|
36
|
+
continue;
|
|
37
|
+
const agent = parseAgentFile(filePath, source);
|
|
38
|
+
if (agent)
|
|
39
|
+
agents.push(agent);
|
|
40
|
+
}
|
|
41
|
+
return agents;
|
|
42
|
+
}
|
|
43
|
+
/** Returns the global agents directory: ~/.{appName}/agents/ */
|
|
44
|
+
function globalAgentsDir(appName) {
|
|
45
|
+
return (0, path_1.join)((0, os_1.homedir)(), `.${appName}`, 'agents');
|
|
46
|
+
}
|
|
47
|
+
/** Returns the project-local agents directory: {cwd}/.{appName}/agents/ */
|
|
48
|
+
function projectAgentsDir(cwd, appName) {
|
|
49
|
+
return (0, path_1.join)(cwd, `.${appName}`, 'agents');
|
|
50
|
+
}
|
|
51
|
+
// ── Private ───────────────────────────────────────────────────────────────────
|
|
52
|
+
function parseAgentFile(filePath, source) {
|
|
53
|
+
try {
|
|
54
|
+
const content = (0, fs_1.readFileSync)(filePath, 'utf-8');
|
|
55
|
+
const raw = (0, path_1.extname)(filePath) === '.json'
|
|
56
|
+
? JSON.parse(content)
|
|
57
|
+
: (0, yaml_1.parse)(content);
|
|
58
|
+
if (!validate(raw)) {
|
|
59
|
+
console.warn(`[AgentDiscovery] Missing required fields in ${filePath} — skipped`);
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return { ...raw, source: raw.source ?? source };
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
console.warn(`[AgentDiscovery] Failed to parse ${filePath}: ${err.message}`);
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function validate(raw) {
|
|
70
|
+
if (!raw || typeof raw !== 'object')
|
|
71
|
+
return false;
|
|
72
|
+
const r = raw;
|
|
73
|
+
return REQUIRED_FIELDS.every(f => f in r) && Array.isArray(r.allowedTools);
|
|
74
|
+
}
|
|
75
|
+
function isYamlOrJson(name) {
|
|
76
|
+
return /\.(yaml|yml|json)$/.test(name);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=AgentPackageLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPackageLoader.js","sourceRoot":"","sources":["../../src/agent-discovery/AgentPackageLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AgentProfile } from '../types';
|
|
2
|
+
import type { RemoteRegistryIndex } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches and caches agent packages from a remote registry.
|
|
5
|
+
*
|
|
6
|
+
* Registry index format (served at registryUrl):
|
|
7
|
+
* {
|
|
8
|
+
* "version": "1",
|
|
9
|
+
* "agents": [
|
|
10
|
+
* { "name": "@bk/agent-devops-aws", "version": "1.0.0",
|
|
11
|
+
* "description": "...", "downloadUrl": "https://..." }
|
|
12
|
+
* ]
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* Each downloadUrl must return a valid agent.yaml body.
|
|
16
|
+
*/
|
|
17
|
+
export declare class RemoteAgentRegistry {
|
|
18
|
+
private readonly registryUrl;
|
|
19
|
+
private readonly cacheDir;
|
|
20
|
+
constructor(registryUrl: string, cacheDir: string);
|
|
21
|
+
/** Fetch the registry index (cached for 1 hour). */
|
|
22
|
+
fetchIndex(): Promise<RemoteRegistryIndex>;
|
|
23
|
+
/**
|
|
24
|
+
* Download and cache a package by name.
|
|
25
|
+
* Returns null and logs a warning if the package is not found or invalid.
|
|
26
|
+
*/
|
|
27
|
+
installPackage(packageName: string): Promise<AgentProfile | null>;
|
|
28
|
+
private downloadAndCache;
|
|
29
|
+
private parseYamlAgent;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=RemoteAgentRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteAgentRegistry.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/RemoteAgentRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,SAAS,CAAC;AAIzE;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAKrC,oDAAoD;IAC9C,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAsBhD;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YA6BzD,gBAAgB;IAiB9B,OAAO,CAAC,cAAc;CAazB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoteAgentRegistry = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const yaml_1 = require("yaml");
|
|
7
|
+
const atomic_write_1 = require("../shared/utils/atomic-write");
|
|
8
|
+
const INDEX_CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
|
|
9
|
+
/**
|
|
10
|
+
* Fetches and caches agent packages from a remote registry.
|
|
11
|
+
*
|
|
12
|
+
* Registry index format (served at registryUrl):
|
|
13
|
+
* {
|
|
14
|
+
* "version": "1",
|
|
15
|
+
* "agents": [
|
|
16
|
+
* { "name": "@bk/agent-devops-aws", "version": "1.0.0",
|
|
17
|
+
* "description": "...", "downloadUrl": "https://..." }
|
|
18
|
+
* ]
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* Each downloadUrl must return a valid agent.yaml body.
|
|
22
|
+
*/
|
|
23
|
+
class RemoteAgentRegistry {
|
|
24
|
+
registryUrl;
|
|
25
|
+
cacheDir;
|
|
26
|
+
constructor(registryUrl, cacheDir) {
|
|
27
|
+
this.registryUrl = registryUrl;
|
|
28
|
+
this.cacheDir = cacheDir;
|
|
29
|
+
(0, fs_1.mkdirSync)(cacheDir, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
/** Fetch the registry index (cached for 1 hour). */
|
|
32
|
+
async fetchIndex() {
|
|
33
|
+
const cachePath = (0, path_1.join)(this.cacheDir, '_index.json');
|
|
34
|
+
if ((0, fs_1.existsSync)(cachePath)) {
|
|
35
|
+
const wrapper = JSON.parse((0, fs_1.readFileSync)(cachePath, 'utf-8'));
|
|
36
|
+
if (Date.now() - wrapper.fetchedAt < INDEX_CACHE_TTL_MS) {
|
|
37
|
+
return wrapper.data;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const resp = await fetch(this.registryUrl, { headers: { Accept: 'application/json' } });
|
|
41
|
+
if (!resp.ok) {
|
|
42
|
+
throw new Error(`Registry fetch failed ${resp.status}: ${resp.statusText}`);
|
|
43
|
+
}
|
|
44
|
+
const data = await resp.json();
|
|
45
|
+
(0, atomic_write_1.atomicWriteSync)(cachePath, JSON.stringify({ fetchedAt: Date.now(), data }, null, 2));
|
|
46
|
+
return data;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Download and cache a package by name.
|
|
50
|
+
* Returns null and logs a warning if the package is not found or invalid.
|
|
51
|
+
*/
|
|
52
|
+
async installPackage(packageName) {
|
|
53
|
+
const safeName = packageName.replace(/[@/]/g, '_');
|
|
54
|
+
const packageDir = (0, path_1.join)(this.cacheDir, safeName);
|
|
55
|
+
const agentPath = (0, path_1.join)(packageDir, 'agent.yaml');
|
|
56
|
+
// Use cached version if available
|
|
57
|
+
if ((0, fs_1.existsSync)(agentPath)) {
|
|
58
|
+
return this.parseYamlAgent(agentPath, packageName);
|
|
59
|
+
}
|
|
60
|
+
let pkg;
|
|
61
|
+
try {
|
|
62
|
+
const index = await this.fetchIndex();
|
|
63
|
+
pkg = index.agents.find(a => a.name === packageName);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.warn(`[AgentDiscovery] Registry unavailable for "${packageName}": ${err.message}`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
if (!pkg) {
|
|
70
|
+
console.warn(`[AgentDiscovery] Package "${packageName}" not found in registry`);
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return this.downloadAndCache(pkg, packageDir, agentPath);
|
|
74
|
+
}
|
|
75
|
+
// ── Private ────────────────────────────────────────────────────────────────
|
|
76
|
+
async downloadAndCache(pkg, packageDir, agentPath) {
|
|
77
|
+
const resp = await fetch(pkg.downloadUrl);
|
|
78
|
+
if (!resp.ok) {
|
|
79
|
+
throw new Error(`Download failed for "${pkg.name}" (${resp.status}): ${resp.statusText}`);
|
|
80
|
+
}
|
|
81
|
+
const content = await resp.text();
|
|
82
|
+
(0, fs_1.mkdirSync)(packageDir, { recursive: true });
|
|
83
|
+
(0, atomic_write_1.atomicWriteSync)(agentPath, content);
|
|
84
|
+
console.log(`[AgentDiscovery] Installed "${pkg.name}@${pkg.version}" → ${agentPath}`);
|
|
85
|
+
return this.parseYamlAgent(agentPath, pkg.name);
|
|
86
|
+
}
|
|
87
|
+
parseYamlAgent(filePath, packageName) {
|
|
88
|
+
try {
|
|
89
|
+
const raw = (0, yaml_1.parse)((0, fs_1.readFileSync)(filePath, 'utf-8'));
|
|
90
|
+
if (!raw?.id || !raw?.systemPrompt || !Array.isArray(raw?.allowedTools)) {
|
|
91
|
+
console.warn(`[AgentDiscovery] Invalid agent.yaml for package "${packageName}"`);
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return { ...raw, source: 'registry' };
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
console.warn(`[AgentDiscovery] Parse error for "${packageName}": ${err.message}`);
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.RemoteAgentRegistry = RemoteAgentRegistry;
|
|
103
|
+
//# sourceMappingURL=RemoteAgentRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteAgentRegistry.js","sourceRoot":"","sources":["../../src/agent-discovery/RemoteAgentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentProfile } from '../types';
|
|
2
|
+
import type { AgentDiscoveryConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Discover agents from local directories and/or a remote registry.
|
|
5
|
+
*
|
|
6
|
+
* Local layout (appName = 'bk-agent'):
|
|
7
|
+
* ~/.bk-agent/agents/ ← global agents (shared across projects)
|
|
8
|
+
* {workingDir}/.bk-agent/agents/ ← project-local agents (git-tracked)
|
|
9
|
+
*
|
|
10
|
+
* Remote:
|
|
11
|
+
* Fetch the registry index, download requested packages, cache locally.
|
|
12
|
+
* Re-running is fast — cached packages are reused until deleted.
|
|
13
|
+
*
|
|
14
|
+
* Deduplication: if the same agent id appears in multiple sources,
|
|
15
|
+
* the first occurrence wins (global → project → registry → static agents).
|
|
16
|
+
*/
|
|
17
|
+
export declare function discoverAgents(config: AgentDiscoveryConfig): Promise<AgentProfile[]>;
|
|
18
|
+
//# sourceMappingURL=discoverAgents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discoverAgents.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/discoverAgents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4C1F"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.discoverAgents = discoverAgents;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
const AgentPackageLoader_1 = require("./AgentPackageLoader");
|
|
7
|
+
const RemoteAgentRegistry_1 = require("./RemoteAgentRegistry");
|
|
8
|
+
const DEFAULT_APP_NAME = 'bk-agent';
|
|
9
|
+
/**
|
|
10
|
+
* Discover agents from local directories and/or a remote registry.
|
|
11
|
+
*
|
|
12
|
+
* Local layout (appName = 'bk-agent'):
|
|
13
|
+
* ~/.bk-agent/agents/ ← global agents (shared across projects)
|
|
14
|
+
* {workingDir}/.bk-agent/agents/ ← project-local agents (git-tracked)
|
|
15
|
+
*
|
|
16
|
+
* Remote:
|
|
17
|
+
* Fetch the registry index, download requested packages, cache locally.
|
|
18
|
+
* Re-running is fast — cached packages are reused until deleted.
|
|
19
|
+
*
|
|
20
|
+
* Deduplication: if the same agent id appears in multiple sources,
|
|
21
|
+
* the first occurrence wins (global → project → registry → static agents).
|
|
22
|
+
*/
|
|
23
|
+
async function discoverAgents(config) {
|
|
24
|
+
const appName = config.appName ?? DEFAULT_APP_NAME;
|
|
25
|
+
const cwd = config.workingDir ?? process.cwd();
|
|
26
|
+
const agents = [];
|
|
27
|
+
const seen = new Set();
|
|
28
|
+
const add = (incoming) => {
|
|
29
|
+
for (const a of incoming) {
|
|
30
|
+
if (!seen.has(a.id)) {
|
|
31
|
+
seen.add(a.id);
|
|
32
|
+
agents.push(a);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
// 1. Local: global agents
|
|
37
|
+
if (config.local !== false) {
|
|
38
|
+
add((0, AgentPackageLoader_1.loadAgentsFromDir)((0, AgentPackageLoader_1.globalAgentsDir)(appName), 'global'));
|
|
39
|
+
add((0, AgentPackageLoader_1.loadAgentsFromDir)((0, AgentPackageLoader_1.projectAgentsDir)(cwd, appName), 'project'));
|
|
40
|
+
}
|
|
41
|
+
// 2. Remote: install packages
|
|
42
|
+
if (config.install?.length) {
|
|
43
|
+
const cacheDir = config.cacheDir ?? (0, path_1.join)((0, os_1.homedir)(), `.${appName}`, 'agents', 'registry');
|
|
44
|
+
const registryUrl = config.remote ?? 'https://registry.backendkit.dev/agents';
|
|
45
|
+
const registry = new RemoteAgentRegistry_1.RemoteAgentRegistry(registryUrl, cacheDir);
|
|
46
|
+
const results = await Promise.allSettled(config.install.map(name => registry.installPackage(name)));
|
|
47
|
+
for (let i = 0; i < results.length; i++) {
|
|
48
|
+
const result = results[i];
|
|
49
|
+
if (result.status === 'fulfilled' && result.value) {
|
|
50
|
+
add([result.value]);
|
|
51
|
+
}
|
|
52
|
+
else if (result.status === 'rejected') {
|
|
53
|
+
console.warn(`[AgentDiscovery] Failed to install "${config.install[i]}": ${result.reason.message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return agents;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=discoverAgents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discoverAgents.js","sourceRoot":"","sources":["../../src/agent-discovery/discoverAgents.ts"],"names":[],"mappings":";;AAuBA,wCA4CC;AAnED,+BAA4B;AAC5B,2BAA6B;AAG7B,6DAA4F;AAC5F,+DAA4D;AAE5D,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,cAAc,CAAC,MAA4B;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,GAAG,GAAG,CAAC,QAAwB,EAAE,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,0BAA0B;IAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,IAAA,sCAAiB,EAAC,IAAA,oCAAe,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAA,sCAAiB,EAAC,IAAA,qCAAgB,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,IAAI,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,wCAAwC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,yCAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChD,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CACR,uCAAuC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAO,MAAM,CAAC,MAAgB,CAAC,OAAO,EAAE,CACnG,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { discoverAgents } from './discoverAgents';
|
|
2
|
+
export { RemoteAgentRegistry } from './RemoteAgentRegistry';
|
|
3
|
+
export { loadAgentsFromDir, globalAgentsDir, projectAgentsDir } from './AgentPackageLoader';
|
|
4
|
+
export type { AgentDiscoveryConfig, AgentPackageFile, RemotePackageListing, RemoteRegistryIndex, } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,YAAY,EACR,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectAgentsDir = exports.globalAgentsDir = exports.loadAgentsFromDir = exports.RemoteAgentRegistry = exports.discoverAgents = void 0;
|
|
4
|
+
var discoverAgents_1 = require("./discoverAgents");
|
|
5
|
+
Object.defineProperty(exports, "discoverAgents", { enumerable: true, get: function () { return discoverAgents_1.discoverAgents; } });
|
|
6
|
+
var RemoteAgentRegistry_1 = require("./RemoteAgentRegistry");
|
|
7
|
+
Object.defineProperty(exports, "RemoteAgentRegistry", { enumerable: true, get: function () { return RemoteAgentRegistry_1.RemoteAgentRegistry; } });
|
|
8
|
+
var AgentPackageLoader_1 = require("./AgentPackageLoader");
|
|
9
|
+
Object.defineProperty(exports, "loadAgentsFromDir", { enumerable: true, get: function () { return AgentPackageLoader_1.loadAgentsFromDir; } });
|
|
10
|
+
Object.defineProperty(exports, "globalAgentsDir", { enumerable: true, get: function () { return AgentPackageLoader_1.globalAgentsDir; } });
|
|
11
|
+
Object.defineProperty(exports, "projectAgentsDir", { enumerable: true, get: function () { return AgentPackageLoader_1.projectAgentsDir; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-discovery/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,2DAA4F;AAAnF,uHAAA,iBAAiB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,sHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AgentProfile } from '../types';
|
|
2
|
+
/** Raw structure of an agent.yaml / agent.json file. */
|
|
3
|
+
export type AgentPackageFile = Omit<AgentProfile, 'source'> & {
|
|
4
|
+
source?: AgentProfile['source'];
|
|
5
|
+
};
|
|
6
|
+
export interface RemotePackageListing {
|
|
7
|
+
name: string;
|
|
8
|
+
version: string;
|
|
9
|
+
description: string;
|
|
10
|
+
/** URL to download the agent.yaml for this package. */
|
|
11
|
+
downloadUrl: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RemoteRegistryIndex {
|
|
14
|
+
version: string;
|
|
15
|
+
agents: RemotePackageListing[];
|
|
16
|
+
}
|
|
17
|
+
export interface AgentDiscoveryConfig {
|
|
18
|
+
/**
|
|
19
|
+
* Application name used to locate global agent directories.
|
|
20
|
+
* Agents are looked up in ~/.{appName}/agents/.
|
|
21
|
+
* Defaults to 'bk-agent'.
|
|
22
|
+
*/
|
|
23
|
+
appName?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Load agents from the global (~/.{appName}/agents/) and
|
|
26
|
+
* project-local ({workingDir}/.{appName}/agents/) directories.
|
|
27
|
+
* Default: true.
|
|
28
|
+
*/
|
|
29
|
+
local?: boolean;
|
|
30
|
+
/** Working directory for project-local agent loading. Defaults to process.cwd(). */
|
|
31
|
+
workingDir?: string;
|
|
32
|
+
/** Remote registry URL (e.g. 'https://registry.backendkit.dev/agents'). */
|
|
33
|
+
remote?: string;
|
|
34
|
+
/** Package names to install/cache from the remote registry. */
|
|
35
|
+
install?: string[];
|
|
36
|
+
/**
|
|
37
|
+
* Override the local cache directory for downloaded packages.
|
|
38
|
+
* Defaults to ~/.{appName}/agents/registry/.
|
|
39
|
+
*/
|
|
40
|
+
cacheDir?: string;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-discovery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAC1D,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAIF,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAID,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-discovery/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Episode, EpisodicConfig, RetentionConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Episodic memory — a time-ordered log of agent experiences.
|
|
4
|
+
*
|
|
5
|
+
* Supports keyword-based recall and tag filtering. Retention limits and
|
|
6
|
+
* optional LLM-based summarization keep the store from growing unbounded.
|
|
7
|
+
*/
|
|
8
|
+
export declare class EpisodicMemory {
|
|
9
|
+
private readonly backend;
|
|
10
|
+
private readonly maxEpisodes;
|
|
11
|
+
private readonly summarizeAfter;
|
|
12
|
+
private readonly summarizeFn?;
|
|
13
|
+
private episodesSinceSummary;
|
|
14
|
+
constructor(episodicCfg?: EpisodicConfig, retentionCfg?: RetentionConfig);
|
|
15
|
+
/** Store an experience. Returns the new episode ID. */
|
|
16
|
+
remember(content: string, tags?: string[]): string;
|
|
17
|
+
/** Retrieve episodes most relevant to a text query (keyword overlap). */
|
|
18
|
+
recall(query: string, limit?: number): Episode[];
|
|
19
|
+
/** Retrieve episodes that carry a specific tag, newest first. */
|
|
20
|
+
recallByTag(tag: string, limit?: number): Episode[];
|
|
21
|
+
/** Return the N most recently stored episodes. */
|
|
22
|
+
recallRecent(n?: number): Episode[];
|
|
23
|
+
count(): number;
|
|
24
|
+
private runSummarization;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=EpisodicMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EpisodicMemory.d.ts","sourceRoot":"","sources":["../../src/agent-memory/EpisodicMemory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAsB,eAAe,EAA6B,MAAM,SAAS,CAAC;AAUvH;;;;;GAKG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;IAC3C,OAAO,CAAC,oBAAoB,CAAK;gBAErB,WAAW,GAAE,cAAmB,EAAE,YAAY,GAAE,eAAoB;IAOhF,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM;IAkBtD,yEAAyE;IACzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,EAAE;IAQ5C,iEAAiE;IACjE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,EAAE;IAO/C,kDAAkD;IAClD,YAAY,CAAC,CAAC,SAAK,GAAG,OAAO,EAAE;IAM/B,KAAK,IAAI,MAAM;YAID,gBAAgB;CASjC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EpisodicMemory = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const InMemoryStore_1 = require("./stores/InMemoryStore");
|
|
6
|
+
const JsonFileStore_1 = require("./stores/JsonFileStore");
|
|
7
|
+
const scoring_1 = require("./scoring");
|
|
8
|
+
/**
|
|
9
|
+
* Episodic memory — a time-ordered log of agent experiences.
|
|
10
|
+
*
|
|
11
|
+
* Supports keyword-based recall and tag filtering. Retention limits and
|
|
12
|
+
* optional LLM-based summarization keep the store from growing unbounded.
|
|
13
|
+
*/
|
|
14
|
+
class EpisodicMemory {
|
|
15
|
+
backend;
|
|
16
|
+
maxEpisodes;
|
|
17
|
+
summarizeAfter;
|
|
18
|
+
summarizeFn;
|
|
19
|
+
episodesSinceSummary = 0;
|
|
20
|
+
constructor(episodicCfg = {}, retentionCfg = {}) {
|
|
21
|
+
this.backend = makeBackend(episodicCfg);
|
|
22
|
+
this.maxEpisodes = retentionCfg.maxEpisodes ?? Infinity;
|
|
23
|
+
this.summarizeAfter = retentionCfg.summarizeAfter ?? Infinity;
|
|
24
|
+
this.summarizeFn = retentionCfg.summarizeFn;
|
|
25
|
+
}
|
|
26
|
+
/** Store an experience. Returns the new episode ID. */
|
|
27
|
+
remember(content, tags = []) {
|
|
28
|
+
const id = (0, crypto_1.randomUUID)();
|
|
29
|
+
this.backend.insert({ id, content, tags, createdAt: new Date().toISOString() });
|
|
30
|
+
this.episodesSinceSummary++;
|
|
31
|
+
if (this.maxEpisodes < Infinity && this.backend.count() > this.maxEpisodes) {
|
|
32
|
+
this.backend.deleteOldest(this.maxEpisodes);
|
|
33
|
+
}
|
|
34
|
+
if (this.summarizeFn && this.episodesSinceSummary >= this.summarizeAfter) {
|
|
35
|
+
this.episodesSinceSummary = 0;
|
|
36
|
+
void this.runSummarization();
|
|
37
|
+
}
|
|
38
|
+
return id;
|
|
39
|
+
}
|
|
40
|
+
/** Retrieve episodes most relevant to a text query (keyword overlap). */
|
|
41
|
+
recall(query, limit = 10) {
|
|
42
|
+
return this.backend.getAll()
|
|
43
|
+
.map(r => ({ ...toEpisode(r), score: (0, scoring_1.keywordScore)(query, `${r.content} ${r.tags.join(' ')}`) }))
|
|
44
|
+
.filter(e => (e.score ?? 0) > 0)
|
|
45
|
+
.sort((a, b) => (b.score ?? 0) - (a.score ?? 0))
|
|
46
|
+
.slice(0, limit);
|
|
47
|
+
}
|
|
48
|
+
/** Retrieve episodes that carry a specific tag, newest first. */
|
|
49
|
+
recallByTag(tag, limit = 10) {
|
|
50
|
+
return this.backend.getAll()
|
|
51
|
+
.filter(r => r.tags.includes(tag))
|
|
52
|
+
.slice(-limit)
|
|
53
|
+
.map(toEpisode);
|
|
54
|
+
}
|
|
55
|
+
/** Return the N most recently stored episodes. */
|
|
56
|
+
recallRecent(n = 10) {
|
|
57
|
+
return this.backend.getAll()
|
|
58
|
+
.slice(-n)
|
|
59
|
+
.map(toEpisode);
|
|
60
|
+
}
|
|
61
|
+
count() { return this.backend.count(); }
|
|
62
|
+
// ── Private ────────────────────────────────────────────────────────────────
|
|
63
|
+
async runSummarization() {
|
|
64
|
+
const oldest = this.backend.getAll()
|
|
65
|
+
.slice(0, this.summarizeAfter)
|
|
66
|
+
.map(toEpisode);
|
|
67
|
+
if (oldest.length === 0 || !this.summarizeFn)
|
|
68
|
+
return;
|
|
69
|
+
const summary = await this.summarizeFn(oldest);
|
|
70
|
+
this.remember(summary, ['summary']);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.EpisodicMemory = EpisodicMemory;
|
|
74
|
+
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
75
|
+
function toEpisode(r) {
|
|
76
|
+
return { id: r.id, content: r.content, tags: r.tags, createdAt: new Date(r.createdAt) };
|
|
77
|
+
}
|
|
78
|
+
function makeBackend(cfg) {
|
|
79
|
+
return cfg.provider === 'json' && cfg.path
|
|
80
|
+
? new JsonFileStore_1.JsonFileStore(cfg.path)
|
|
81
|
+
: new InMemoryStore_1.InMemoryStore();
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=EpisodicMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EpisodicMemory.js","sourceRoot":"","sources":["../../src/agent-memory/EpisodicMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../types';
|
|
2
|
+
import { EpisodicMemory } from './EpisodicMemory';
|
|
3
|
+
import { SemanticMemory } from './SemanticMemory';
|
|
4
|
+
import { ProceduralMemory } from './ProceduralMemory';
|
|
5
|
+
import type { MemorySystemConfig } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Unified facade for the three-tier agent memory system.
|
|
8
|
+
*
|
|
9
|
+
* - episodic: time-ordered log of experiences (recall by keyword or tag)
|
|
10
|
+
* - semantic: knowledge base (recall by keyword or vector similarity)
|
|
11
|
+
* - procedural: learned patterns from successes and failures
|
|
12
|
+
*
|
|
13
|
+
* Use buildContextBlock() to inject relevant memories into system prompts,
|
|
14
|
+
* and getTools() to register the memory tools with the agent engine.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const memory = createMemorySystem({
|
|
18
|
+
* episodic: { provider: 'json', path: '~/.bk/memory/episodes.json' },
|
|
19
|
+
* semantic: { provider: 'json', path: '~/.bk/memory/knowledge.json', embedFn: myEmbedder },
|
|
20
|
+
* procedural: { provider: 'json', path: '~/.bk/memory/patterns.json' },
|
|
21
|
+
* retention: { maxEpisodes: 1000, summarizeAfter: 100, summarizeFn: myLLMSummarizer },
|
|
22
|
+
* });
|
|
23
|
+
*/
|
|
24
|
+
export declare class MemorySystem {
|
|
25
|
+
private readonly config;
|
|
26
|
+
readonly episodic: EpisodicMemory;
|
|
27
|
+
readonly semantic: SemanticMemory;
|
|
28
|
+
readonly procedural: ProceduralMemory;
|
|
29
|
+
constructor(config?: MemorySystemConfig);
|
|
30
|
+
/**
|
|
31
|
+
* Build a markdown context block combining relevant memories from all three tiers.
|
|
32
|
+
* Inject the result into agent system prompts for in-context retrieval.
|
|
33
|
+
*/
|
|
34
|
+
buildContextBlock(query: string): Promise<string>;
|
|
35
|
+
/** Returns pre-built ToolDefinitions to register with the agent engine. */
|
|
36
|
+
getTools(): ToolDefinition[];
|
|
37
|
+
}
|
|
38
|
+
/** Factory shorthand for MemorySystem. */
|
|
39
|
+
export declare function createMemorySystem(config?: MemorySystemConfig): MemorySystem;
|
|
40
|
+
//# sourceMappingURL=MemorySystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemorySystem.d.ts","sourceRoot":"","sources":["../../src/agent-memory/MemorySystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IAKT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBAET,MAAM,GAAE,kBAAuB;IAM5D;;;OAGG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BvD,2EAA2E;IAC3E,QAAQ,IAAI,cAAc,EAAE;CAG/B;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAE5E"}
|