@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,9 @@
|
|
|
1
|
+
import type { SessionMemoryData } from '../types';
|
|
2
|
+
export declare class SessionMemory implements SessionMemoryData {
|
|
3
|
+
private store;
|
|
4
|
+
get(key: string): string | undefined;
|
|
5
|
+
set(key: string, value: string): void;
|
|
6
|
+
getAll(): Record<string, string>;
|
|
7
|
+
clear(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=SessionMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMemory.d.ts","sourceRoot":"","sources":["../../src/memory/SessionMemory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,qBAAa,aAAc,YAAW,iBAAiB;IACnD,OAAO,CAAC,KAAK,CAA6B;IAE1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIhC,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionMemory = void 0;
|
|
4
|
+
class SessionMemory {
|
|
5
|
+
store = new Map();
|
|
6
|
+
get(key) {
|
|
7
|
+
return this.store.get(key);
|
|
8
|
+
}
|
|
9
|
+
set(key, value) {
|
|
10
|
+
this.store.set(key, value);
|
|
11
|
+
}
|
|
12
|
+
getAll() {
|
|
13
|
+
return Object.fromEntries(this.store.entries());
|
|
14
|
+
}
|
|
15
|
+
clear() {
|
|
16
|
+
this.store.clear();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.SessionMemory = SessionMemory;
|
|
20
|
+
//# sourceMappingURL=SessionMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMemory.js","sourceRoot":"","sources":["../../src/memory/SessionMemory.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACd,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,GAAG,CAAC,GAAW;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACJ;AAlBD,sCAkBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CostTrackerConfig } from './types';
|
|
2
|
+
export declare class CostTracker {
|
|
3
|
+
private readonly config;
|
|
4
|
+
private runInput;
|
|
5
|
+
private runOutput;
|
|
6
|
+
private dayInput;
|
|
7
|
+
private dayOutput;
|
|
8
|
+
private dayStartMs;
|
|
9
|
+
private readonly timer;
|
|
10
|
+
constructor(config: CostTrackerConfig);
|
|
11
|
+
onRunStart(): void;
|
|
12
|
+
/** Called when the engine receives a metrics event. Returns estimated cost for this batch. */
|
|
13
|
+
onTokens(inputTokens: number, outputTokens: number, providedCostUsd?: number): number;
|
|
14
|
+
getRunCost(): number;
|
|
15
|
+
getDayCost(): number;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
private compute;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=CostTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CostTracker.d.ts","sourceRoot":"","sources":["../../src/observability/CostTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,qBAAa,WAAW;IAiBR,OAAO,CAAC,QAAQ,CAAC,MAAM;IAhBnC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAiB;IAGnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAOH;gBAEU,MAAM,EAAE,iBAAiB;IAEtD,UAAU,IAAI,IAAI;IAKlB,8FAA8F;IAC9F,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;IA0BrF,UAAU,IAAI,MAAM;IACpB,UAAU,IAAI,MAAM;IAEpB,OAAO,IAAI,IAAI;IAEf,OAAO,CAAC,OAAO;CAIlB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CostTracker = void 0;
|
|
4
|
+
class CostTracker {
|
|
5
|
+
config;
|
|
6
|
+
runInput = 0;
|
|
7
|
+
runOutput = 0;
|
|
8
|
+
dayInput = 0;
|
|
9
|
+
dayOutput = 0;
|
|
10
|
+
dayStartMs = utcDayStart();
|
|
11
|
+
// Lightweight midnight-reset: unref'd so it doesn't keep the process alive
|
|
12
|
+
timer = setInterval(() => {
|
|
13
|
+
const now = utcDayStart();
|
|
14
|
+
if (now !== this.dayStartMs) {
|
|
15
|
+
this.dayInput = 0;
|
|
16
|
+
this.dayOutput = 0;
|
|
17
|
+
this.dayStartMs = now;
|
|
18
|
+
}
|
|
19
|
+
}, 60_000).unref();
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
}
|
|
23
|
+
onRunStart() {
|
|
24
|
+
this.runInput = 0;
|
|
25
|
+
this.runOutput = 0;
|
|
26
|
+
}
|
|
27
|
+
/** Called when the engine receives a metrics event. Returns estimated cost for this batch. */
|
|
28
|
+
onTokens(inputTokens, outputTokens, providedCostUsd) {
|
|
29
|
+
this.runInput += inputTokens;
|
|
30
|
+
this.runOutput += outputTokens;
|
|
31
|
+
this.dayInput += inputTokens;
|
|
32
|
+
this.dayOutput += outputTokens;
|
|
33
|
+
const runCost = providedCostUsd ?? this.compute(this.runInput, this.runOutput);
|
|
34
|
+
const dayCost = this.compute(this.dayInput, this.dayOutput);
|
|
35
|
+
if (this.config.budget?.perRun !== undefined && runCost >= this.config.budget.perRun) {
|
|
36
|
+
this.config.onBudgetExceeded?.({
|
|
37
|
+
runCostUsd: runCost, dayCostUsd: dayCost,
|
|
38
|
+
inputTokens: this.runInput, outputTokens: this.runOutput,
|
|
39
|
+
budgetExceeded: 'perRun',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else if (this.config.budget?.perDay !== undefined && dayCost >= this.config.budget.perDay) {
|
|
43
|
+
this.config.onBudgetExceeded?.({
|
|
44
|
+
runCostUsd: runCost, dayCostUsd: dayCost,
|
|
45
|
+
inputTokens: this.dayInput, outputTokens: this.dayOutput,
|
|
46
|
+
budgetExceeded: 'perDay',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return this.compute(inputTokens, outputTokens);
|
|
50
|
+
}
|
|
51
|
+
getRunCost() { return this.compute(this.runInput, this.runOutput); }
|
|
52
|
+
getDayCost() { return this.compute(this.dayInput, this.dayOutput); }
|
|
53
|
+
destroy() { clearInterval(this.timer); }
|
|
54
|
+
compute(input, output) {
|
|
55
|
+
return input * ((this.config.inputPricePerMToken ?? 0) / 1_000_000)
|
|
56
|
+
+ output * ((this.config.outputPricePerMToken ?? 0) / 1_000_000);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.CostTracker = CostTracker;
|
|
60
|
+
function utcDayStart() {
|
|
61
|
+
const d = new Date();
|
|
62
|
+
return Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate());
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=CostTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CostTracker.js","sourceRoot":"","sources":["../../src/observability/CostTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MetricsSnapshot } from './types';
|
|
2
|
+
export declare class MetricsCollector {
|
|
3
|
+
private durations;
|
|
4
|
+
private errorRuns;
|
|
5
|
+
private totalInput;
|
|
6
|
+
private totalOutput;
|
|
7
|
+
private estimatedCostUsd;
|
|
8
|
+
private tools;
|
|
9
|
+
private agents;
|
|
10
|
+
recordRun(durationMs: number, error: boolean): void;
|
|
11
|
+
recordTokens(input: number, output: number, costUsd: number): void;
|
|
12
|
+
recordToolCall(name: string, success: boolean): void;
|
|
13
|
+
recordAgentBlock(agentId: string, durationMs: number): void;
|
|
14
|
+
getSnapshot(): MetricsSnapshot;
|
|
15
|
+
private percentile;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=MetricsCollector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsCollector.d.ts","sourceRoot":"","sources":["../../src/observability/MetricsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,KAAK,CAA6E;IAC1F,OAAO,CAAC,MAAM,CAAuE;IAErF,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKnD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOpD,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAO3D,WAAW,IAAI,eAAe;IAqB9B,OAAO,CAAC,UAAU;CAIrB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsCollector = void 0;
|
|
4
|
+
class MetricsCollector {
|
|
5
|
+
durations = [];
|
|
6
|
+
errorRuns = 0;
|
|
7
|
+
totalInput = 0;
|
|
8
|
+
totalOutput = 0;
|
|
9
|
+
estimatedCostUsd = 0;
|
|
10
|
+
tools = new Map();
|
|
11
|
+
agents = new Map();
|
|
12
|
+
recordRun(durationMs, error) {
|
|
13
|
+
this.durations.push(durationMs);
|
|
14
|
+
if (error)
|
|
15
|
+
this.errorRuns++;
|
|
16
|
+
}
|
|
17
|
+
recordTokens(input, output, costUsd) {
|
|
18
|
+
this.totalInput += input;
|
|
19
|
+
this.totalOutput += output;
|
|
20
|
+
this.estimatedCostUsd += costUsd;
|
|
21
|
+
}
|
|
22
|
+
recordToolCall(name, success) {
|
|
23
|
+
let t = this.tools.get(name);
|
|
24
|
+
if (!t) {
|
|
25
|
+
t = { calls: 0, successes: 0, failures: 0 };
|
|
26
|
+
this.tools.set(name, t);
|
|
27
|
+
}
|
|
28
|
+
t.calls++;
|
|
29
|
+
if (success)
|
|
30
|
+
t.successes++;
|
|
31
|
+
else
|
|
32
|
+
t.failures++;
|
|
33
|
+
}
|
|
34
|
+
recordAgentBlock(agentId, durationMs) {
|
|
35
|
+
let a = this.agents.get(agentId);
|
|
36
|
+
if (!a) {
|
|
37
|
+
a = { invocations: 0, totalDurationMs: 0 };
|
|
38
|
+
this.agents.set(agentId, a);
|
|
39
|
+
}
|
|
40
|
+
a.invocations++;
|
|
41
|
+
a.totalDurationMs += durationMs;
|
|
42
|
+
}
|
|
43
|
+
getSnapshot() {
|
|
44
|
+
const sorted = [...this.durations].sort((a, b) => a - b);
|
|
45
|
+
return {
|
|
46
|
+
runs: {
|
|
47
|
+
total: this.durations.length,
|
|
48
|
+
errors: this.errorRuns,
|
|
49
|
+
totalDurationMs: this.durations.reduce((s, d) => s + d, 0),
|
|
50
|
+
p50Ms: this.percentile(sorted, 50),
|
|
51
|
+
p95Ms: this.percentile(sorted, 95),
|
|
52
|
+
p99Ms: this.percentile(sorted, 99),
|
|
53
|
+
},
|
|
54
|
+
tokens: {
|
|
55
|
+
totalInput: this.totalInput,
|
|
56
|
+
totalOutput: this.totalOutput,
|
|
57
|
+
estimatedCostUsd: this.estimatedCostUsd,
|
|
58
|
+
},
|
|
59
|
+
tools: Object.fromEntries(this.tools),
|
|
60
|
+
agents: Object.fromEntries(this.agents),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
percentile(sorted, p) {
|
|
64
|
+
if (sorted.length === 0)
|
|
65
|
+
return null;
|
|
66
|
+
return sorted[Math.max(0, Math.ceil(sorted.length * p / 100) - 1)];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.MetricsCollector = MetricsCollector;
|
|
70
|
+
//# sourceMappingURL=MetricsCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsCollector.js","sourceRoot":"","sources":["../../src/observability/MetricsCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Transport } from '../transport/Transport';
|
|
2
|
+
import type { MetricsSnapshot, ObservabilityConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a Transport to intercept AgentEvents and feed them into tracing,
|
|
5
|
+
* metrics collection, and cost tracking.
|
|
6
|
+
*
|
|
7
|
+
* Attach via createBaseEngine({ observability: config }) — the wrapped
|
|
8
|
+
* transport is passed to AgentEngine transparently.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ObservabilityManager {
|
|
11
|
+
private readonly config;
|
|
12
|
+
private readonly tracer;
|
|
13
|
+
private readonly metrics;
|
|
14
|
+
private readonly cost;
|
|
15
|
+
private readonly metricsConfig;
|
|
16
|
+
private runSpan;
|
|
17
|
+
private runStart;
|
|
18
|
+
private runHadError;
|
|
19
|
+
private blockSpans;
|
|
20
|
+
constructor(config: ObservabilityConfig);
|
|
21
|
+
/** Returns a new Transport that proxies all events through this manager. */
|
|
22
|
+
wrapTransport(transport: Transport): Transport;
|
|
23
|
+
/** Returns the current cumulative metrics snapshot. */
|
|
24
|
+
getMetricsSnapshot(): MetricsSnapshot | null;
|
|
25
|
+
/** USD cost of the most recent run (0 if no pricing config). */
|
|
26
|
+
getRunCost(): number;
|
|
27
|
+
/** Cumulative USD cost since UTC midnight (0 if no pricing config). */
|
|
28
|
+
getDayCost(): number;
|
|
29
|
+
/** Clean up resources (interval timer in CostTracker). */
|
|
30
|
+
destroy(): void;
|
|
31
|
+
private handleEvent;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ObservabilityManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityManager.d.ts","sourceRoot":"","sources":["../../src/observability/ObservabilityManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKxD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAQpE;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAYjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAG/D,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAA0D;gBAE/C,MAAM,EAAE,mBAAmB;IAOxD,4EAA4E;IAC5E,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAW9C,uDAAuD;IACvD,kBAAkB,IAAI,eAAe,GAAG,IAAI;IAI5C,gEAAgE;IAChE,UAAU,IAAI,MAAM;IAEpB,uEAAuE;IACvE,UAAU,IAAI,MAAM;IAEpB,0DAA0D;IAC1D,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,WAAW;CA6DtB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservabilityManager = void 0;
|
|
4
|
+
const Tracer_1 = require("./Tracer");
|
|
5
|
+
const MetricsCollector_1 = require("./MetricsCollector");
|
|
6
|
+
const CostTracker_1 = require("./CostTracker");
|
|
7
|
+
/**
|
|
8
|
+
* Wraps a Transport to intercept AgentEvents and feed them into tracing,
|
|
9
|
+
* metrics collection, and cost tracking.
|
|
10
|
+
*
|
|
11
|
+
* Attach via createBaseEngine({ observability: config }) — the wrapped
|
|
12
|
+
* transport is passed to AgentEngine transparently.
|
|
13
|
+
*/
|
|
14
|
+
class ObservabilityManager {
|
|
15
|
+
config;
|
|
16
|
+
tracer;
|
|
17
|
+
metrics;
|
|
18
|
+
cost;
|
|
19
|
+
metricsConfig;
|
|
20
|
+
// Per-run state
|
|
21
|
+
runSpan = null;
|
|
22
|
+
runStart = 0;
|
|
23
|
+
runHadError = false;
|
|
24
|
+
blockSpans = new Map();
|
|
25
|
+
constructor(config) {
|
|
26
|
+
this.config = config;
|
|
27
|
+
this.tracer = config.tracing ? new Tracer_1.Tracer(config.tracing) : null;
|
|
28
|
+
this.metrics = config.metrics ? new MetricsCollector_1.MetricsCollector() : null;
|
|
29
|
+
this.cost = config.costTracker ? new CostTracker_1.CostTracker(config.costTracker) : null;
|
|
30
|
+
this.metricsConfig = config.metrics;
|
|
31
|
+
}
|
|
32
|
+
/** Returns a new Transport that proxies all events through this manager. */
|
|
33
|
+
wrapTransport(transport) {
|
|
34
|
+
return {
|
|
35
|
+
emit: (event) => {
|
|
36
|
+
this.handleEvent(event);
|
|
37
|
+
transport.emit(event);
|
|
38
|
+
},
|
|
39
|
+
onInput: (handler) => transport.onInput(handler),
|
|
40
|
+
close: () => transport.close(),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Returns the current cumulative metrics snapshot. */
|
|
44
|
+
getMetricsSnapshot() {
|
|
45
|
+
return this.metrics?.getSnapshot() ?? null;
|
|
46
|
+
}
|
|
47
|
+
/** USD cost of the most recent run (0 if no pricing config). */
|
|
48
|
+
getRunCost() { return this.cost?.getRunCost() ?? 0; }
|
|
49
|
+
/** Cumulative USD cost since UTC midnight (0 if no pricing config). */
|
|
50
|
+
getDayCost() { return this.cost?.getDayCost() ?? 0; }
|
|
51
|
+
/** Clean up resources (interval timer in CostTracker). */
|
|
52
|
+
destroy() { this.cost?.destroy(); }
|
|
53
|
+
// ── Private ────────────────────────────────────────────────────────────────
|
|
54
|
+
handleEvent(event) {
|
|
55
|
+
switch (event.type) {
|
|
56
|
+
case 'ready':
|
|
57
|
+
this.runStart = Date.now();
|
|
58
|
+
this.runHadError = false;
|
|
59
|
+
this.cost?.onRunStart();
|
|
60
|
+
this.runSpan = this.tracer?.startRootSpan('run') ?? null;
|
|
61
|
+
break;
|
|
62
|
+
case 'done': {
|
|
63
|
+
const durationMs = Date.now() - this.runStart;
|
|
64
|
+
this.metrics?.recordRun(durationMs, this.runHadError);
|
|
65
|
+
this.runSpan?.end(this.runHadError ? 'error' : 'ok');
|
|
66
|
+
this.runSpan = null;
|
|
67
|
+
if (this.metricsConfig?.onSnapshot && this.metrics) {
|
|
68
|
+
this.metricsConfig.onSnapshot(this.metrics.getSnapshot());
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case 'block_start': {
|
|
73
|
+
const span = this.tracer?.startSpan('agent_block', this.runSpan?.spanId, {
|
|
74
|
+
agent_id: event.agent_id,
|
|
75
|
+
...(event.agent_name ? { agent_name: event.agent_name } : {}),
|
|
76
|
+
}) ?? null;
|
|
77
|
+
if (span)
|
|
78
|
+
this.blockSpans.set(event.agent_id, { span, start: Date.now() });
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case 'block_end': {
|
|
82
|
+
const agentId = event.agent_id ?? '';
|
|
83
|
+
const entry = this.blockSpans.get(agentId);
|
|
84
|
+
if (entry) {
|
|
85
|
+
entry.span.end(event.status === 'ok' ? 'ok' : 'error');
|
|
86
|
+
this.metrics?.recordAgentBlock(agentId, Date.now() - entry.start);
|
|
87
|
+
this.blockSpans.delete(agentId);
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
case 'tool_result':
|
|
92
|
+
this.metrics?.recordToolCall(event.name, event.success);
|
|
93
|
+
break;
|
|
94
|
+
case 'error':
|
|
95
|
+
this.runHadError = true;
|
|
96
|
+
this.runSpan?.setTag('error', event.message);
|
|
97
|
+
break;
|
|
98
|
+
case 'metrics': {
|
|
99
|
+
const costUsd = this.cost?.onTokens(event.input_tokens, event.output_tokens, event.cost_usd) ?? 0;
|
|
100
|
+
this.metrics?.recordTokens(event.input_tokens, event.output_tokens, costUsd);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.ObservabilityManager = ObservabilityManager;
|
|
107
|
+
//# sourceMappingURL=ObservabilityManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityManager.js","sourceRoot":"","sources":["../../src/observability/ObservabilityManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TracingConfig } from './types';
|
|
2
|
+
interface ActiveSpan {
|
|
3
|
+
traceId: string;
|
|
4
|
+
spanId: string;
|
|
5
|
+
parentSpanId?: string;
|
|
6
|
+
name: string;
|
|
7
|
+
startedAt: Date;
|
|
8
|
+
tags: Record<string, string | number | boolean>;
|
|
9
|
+
end(status: 'ok' | 'error'): void;
|
|
10
|
+
setTag(key: string, value: string | number | boolean): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class Tracer {
|
|
13
|
+
private readonly exporter;
|
|
14
|
+
private currentTraceId;
|
|
15
|
+
constructor(config: TracingConfig);
|
|
16
|
+
/** Start a new root span (new traceId). */
|
|
17
|
+
startRootSpan(name: string, tags?: Record<string, string | number | boolean>): ActiveSpan;
|
|
18
|
+
/** Start a child span under the current trace. */
|
|
19
|
+
startSpan(name: string, parentSpanId?: string, tags?: Record<string, string | number | boolean>): ActiveSpan;
|
|
20
|
+
private createSpan;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=Tracer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../../src/observability/Tracer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC/D;AAED,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,EAAE,aAAa;IAIjC,2CAA2C;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU;IAKzF,kDAAkD;IAClD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU;IAK5G,OAAO,CAAC,UAAU;CAoCrB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tracer = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
class Tracer {
|
|
6
|
+
exporter;
|
|
7
|
+
currentTraceId = null;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.exporter = resolveExporter(config.exporter);
|
|
10
|
+
}
|
|
11
|
+
/** Start a new root span (new traceId). */
|
|
12
|
+
startRootSpan(name, tags) {
|
|
13
|
+
this.currentTraceId = (0, crypto_1.randomUUID)();
|
|
14
|
+
return this.createSpan(name, this.currentTraceId, undefined, tags);
|
|
15
|
+
}
|
|
16
|
+
/** Start a child span under the current trace. */
|
|
17
|
+
startSpan(name, parentSpanId, tags) {
|
|
18
|
+
const traceId = this.currentTraceId ?? (0, crypto_1.randomUUID)();
|
|
19
|
+
return this.createSpan(name, traceId, parentSpanId, tags);
|
|
20
|
+
}
|
|
21
|
+
createSpan(name, traceId, parentSpanId, tags = {}) {
|
|
22
|
+
const spanId = (0, crypto_1.randomUUID)();
|
|
23
|
+
const startedAt = new Date();
|
|
24
|
+
const mutableTags = { ...tags };
|
|
25
|
+
const exporter = this.exporter;
|
|
26
|
+
return {
|
|
27
|
+
traceId,
|
|
28
|
+
spanId,
|
|
29
|
+
parentSpanId,
|
|
30
|
+
name,
|
|
31
|
+
startedAt,
|
|
32
|
+
tags: mutableTags,
|
|
33
|
+
setTag(key, value) { mutableTags[key] = value; },
|
|
34
|
+
end(status) {
|
|
35
|
+
const endedAt = new Date();
|
|
36
|
+
const span = {
|
|
37
|
+
traceId,
|
|
38
|
+
spanId,
|
|
39
|
+
parentSpanId,
|
|
40
|
+
name,
|
|
41
|
+
startedAt,
|
|
42
|
+
endedAt,
|
|
43
|
+
durationMs: endedAt.getTime() - startedAt.getTime(),
|
|
44
|
+
status,
|
|
45
|
+
tags: { ...mutableTags },
|
|
46
|
+
};
|
|
47
|
+
exporter(span);
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.Tracer = Tracer;
|
|
53
|
+
function resolveExporter(exporter) {
|
|
54
|
+
if (!exporter || exporter === 'noop')
|
|
55
|
+
return () => undefined;
|
|
56
|
+
if (exporter === 'console') {
|
|
57
|
+
return (span) => {
|
|
58
|
+
const ms = span.durationMs.toString().padStart(5);
|
|
59
|
+
const tags = Object.entries(span.tags).map(([k, v]) => `${k}=${v}`).join(' ');
|
|
60
|
+
console.log(`[TRACE] ${ms}ms ${span.status.toUpperCase().padEnd(5)} ${span.name}${tags ? ` | ${tags}` : ''}`);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return exporter;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=Tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tracer.js","sourceRoot":"","sources":["../../src/observability/Tracer.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAcpC,MAAa,MAAM;IACE,QAAQ,CAAe;IAChC,cAAc,GAAkB,IAAI,CAAC;IAE7C,YAAY,MAAqB;QAC7B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,2CAA2C;IAC3C,aAAa,CAAC,IAAY,EAAE,IAAgD;QACxE,IAAI,CAAC,cAAc,GAAG,IAAA,mBAAU,GAAE,CAAC;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,kDAAkD;IAClD,SAAS,CAAC,IAAY,EAAE,YAAqB,EAAE,IAAgD;QAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAA,mBAAU,GAAE,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEO,UAAU,CACd,IAAY,EACZ,OAAe,EACf,YAAqB,EACrB,OAAkD,EAAE;QAEpD,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,OAAO;YACH,OAAO;YACP,MAAM;YACN,YAAY;YACZ,IAAI;YACJ,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAChD,GAAG,CAAC,MAAM;gBACN,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAS;oBACf,OAAO;oBACP,MAAM;oBACN,YAAY;oBACZ,IAAI;oBACJ,SAAS;oBACT,OAAO;oBACP,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;oBACnD,MAAM;oBACN,IAAI,EAAE,EAAE,GAAG,WAAW,EAAE;iBAC3B,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;SACJ,CAAC;IACN,CAAC;CACJ;AAxDD,wBAwDC;AAED,SAAS,eAAe,CAAC,QAAmC;IACxD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC;IACN,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { ObservabilityManager } from './ObservabilityManager';
|
|
2
|
+
export { CostTracker } from './CostTracker';
|
|
3
|
+
export { MetricsCollector } from './MetricsCollector';
|
|
4
|
+
export { Tracer } from './Tracer';
|
|
5
|
+
export type { ObservabilityConfig, TracingConfig, MetricsConfig, CostTrackerConfig, Span, SpanExporter, MetricsSnapshot, BudgetUsage, } from './types';
|
|
6
|
+
export { MODEL_PRICING } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,WAAW,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODEL_PRICING = exports.Tracer = exports.MetricsCollector = exports.CostTracker = exports.ObservabilityManager = void 0;
|
|
4
|
+
var ObservabilityManager_1 = require("./ObservabilityManager");
|
|
5
|
+
Object.defineProperty(exports, "ObservabilityManager", { enumerable: true, get: function () { return ObservabilityManager_1.ObservabilityManager; } });
|
|
6
|
+
var CostTracker_1 = require("./CostTracker");
|
|
7
|
+
Object.defineProperty(exports, "CostTracker", { enumerable: true, get: function () { return CostTracker_1.CostTracker; } });
|
|
8
|
+
var MetricsCollector_1 = require("./MetricsCollector");
|
|
9
|
+
Object.defineProperty(exports, "MetricsCollector", { enumerable: true, get: function () { return MetricsCollector_1.MetricsCollector; } });
|
|
10
|
+
var Tracer_1 = require("./Tracer");
|
|
11
|
+
Object.defineProperty(exports, "Tracer", { enumerable: true, get: function () { return Tracer_1.Tracer; } });
|
|
12
|
+
var types_1 = require("./types");
|
|
13
|
+
Object.defineProperty(exports, "MODEL_PRICING", { enumerable: true, get: function () { return types_1.MODEL_PRICING; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAWf,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export interface Span {
|
|
2
|
+
traceId: string;
|
|
3
|
+
spanId: string;
|
|
4
|
+
parentSpanId?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
startedAt: Date;
|
|
7
|
+
endedAt: Date;
|
|
8
|
+
durationMs: number;
|
|
9
|
+
status: 'ok' | 'error';
|
|
10
|
+
tags: Record<string, string | number | boolean>;
|
|
11
|
+
}
|
|
12
|
+
export type SpanExporter = (span: Span) => void;
|
|
13
|
+
export interface MetricsSnapshot {
|
|
14
|
+
runs: {
|
|
15
|
+
total: number;
|
|
16
|
+
errors: number;
|
|
17
|
+
totalDurationMs: number;
|
|
18
|
+
p50Ms: number | null;
|
|
19
|
+
p95Ms: number | null;
|
|
20
|
+
p99Ms: number | null;
|
|
21
|
+
};
|
|
22
|
+
tokens: {
|
|
23
|
+
totalInput: number;
|
|
24
|
+
totalOutput: number;
|
|
25
|
+
estimatedCostUsd: number;
|
|
26
|
+
};
|
|
27
|
+
tools: Record<string, {
|
|
28
|
+
calls: number;
|
|
29
|
+
successes: number;
|
|
30
|
+
failures: number;
|
|
31
|
+
}>;
|
|
32
|
+
agents: Record<string, {
|
|
33
|
+
invocations: number;
|
|
34
|
+
totalDurationMs: number;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
export interface BudgetUsage {
|
|
38
|
+
runCostUsd: number;
|
|
39
|
+
dayCostUsd: number;
|
|
40
|
+
inputTokens: number;
|
|
41
|
+
outputTokens: number;
|
|
42
|
+
budgetExceeded: 'perRun' | 'perDay';
|
|
43
|
+
}
|
|
44
|
+
export interface TracingConfig {
|
|
45
|
+
/**
|
|
46
|
+
* 'console' prints each finished span to stdout.
|
|
47
|
+
* 'noop' disables tracing.
|
|
48
|
+
* A function receives every finished span — use to export to Jaeger, Zipkin, etc.
|
|
49
|
+
*/
|
|
50
|
+
exporter?: SpanExporter | 'console' | 'noop';
|
|
51
|
+
}
|
|
52
|
+
export interface MetricsConfig {
|
|
53
|
+
/** Called after each run() completes with the cumulative snapshot. */
|
|
54
|
+
onSnapshot?: (snapshot: MetricsSnapshot) => void;
|
|
55
|
+
}
|
|
56
|
+
export interface CostTrackerConfig {
|
|
57
|
+
/** USD per million input tokens. */
|
|
58
|
+
inputPricePerMToken?: number;
|
|
59
|
+
/** USD per million output tokens. */
|
|
60
|
+
outputPricePerMToken?: number;
|
|
61
|
+
budget?: {
|
|
62
|
+
/** Call onBudgetExceeded when a single run exceeds this cost (USD). */
|
|
63
|
+
perRun?: number;
|
|
64
|
+
/** Call onBudgetExceeded when cumulative daily cost exceeds this (USD). Resets at UTC midnight. */
|
|
65
|
+
perDay?: number;
|
|
66
|
+
};
|
|
67
|
+
currency?: string;
|
|
68
|
+
onBudgetExceeded?: (usage: BudgetUsage) => void;
|
|
69
|
+
}
|
|
70
|
+
export interface ObservabilityConfig {
|
|
71
|
+
tracing?: TracingConfig;
|
|
72
|
+
metrics?: MetricsConfig;
|
|
73
|
+
costTracker?: CostTrackerConfig;
|
|
74
|
+
}
|
|
75
|
+
/** Per-model pricing (USD / million tokens, mid-2025). Spread into CostTrackerConfig. */
|
|
76
|
+
export declare const MODEL_PRICING: Record<string, Pick<CostTrackerConfig, 'inputPricePerMToken' | 'outputPricePerMToken'>>;
|
|
77
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/observability/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAID,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACvC;AAID,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC1B,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,iBAAiB;IAC9B,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE;QACL,uEAAuE;QACvE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,mGAAmG;QACnG,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAID,yFAAyF;AACzF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,sBAAsB,CAAC,CAOjH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ── Spans ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MODEL_PRICING = void 0;
|
|
5
|
+
// ── Pricing presets ───────────────────────────────────────────────────────────
|
|
6
|
+
/** Per-model pricing (USD / million tokens, mid-2025). Spread into CostTrackerConfig. */
|
|
7
|
+
exports.MODEL_PRICING = {
|
|
8
|
+
'claude-opus-4-8': { inputPricePerMToken: 15, outputPricePerMToken: 75 },
|
|
9
|
+
'claude-sonnet-4-6': { inputPricePerMToken: 3, outputPricePerMToken: 15 },
|
|
10
|
+
'claude-haiku-4-5': { inputPricePerMToken: 0.80, outputPricePerMToken: 4 },
|
|
11
|
+
'gpt-4o': { inputPricePerMToken: 5, outputPricePerMToken: 15 },
|
|
12
|
+
'gpt-4o-mini': { inputPricePerMToken: 0.15, outputPricePerMToken: 0.60 },
|
|
13
|
+
'deepseek-chat': { inputPricePerMToken: 0.27, outputPricePerMToken: 1.10 },
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/observability/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AAmFjF,iFAAiF;AAEjF,yFAAyF;AAC5E,QAAA,aAAa,GAA4F;IAClH,iBAAiB,EAAI,EAAE,mBAAmB,EAAE,EAAE,EAAI,oBAAoB,EAAE,EAAE,EAAI;IAC9E,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAK,oBAAoB,EAAE,EAAE,EAAI;IAC9E,kBAAkB,EAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAK;IAC9E,QAAQ,EAAa,EAAE,mBAAmB,EAAE,CAAC,EAAK,oBAAoB,EAAE,EAAE,EAAI;IAC9E,aAAa,EAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE;IAC9E,eAAe,EAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE;CACjF,CAAC"}
|