pi-harness-runtime 0.9.22 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -7
- package/README.md +51 -51
- package/footer-status.ts +84 -44
- package/harness/auto-compact.ts +1 -1
- package/harness/auto-quota-resume.ts +15 -12
- package/harness/autonomous-review.ts +88 -0
- package/harness/context-compact-orchestrator.ts +23 -23
- package/harness/context-window-manager.ts +5 -5
- package/harness/continue-prompt.ts +3 -3
- package/harness/e2e/minimax-quota-scraper.ts +10 -10
- package/harness/e2e/openai-quota-scraper.ts +442 -0
- package/harness/forked-summarizer.ts +4 -4
- package/harness/herdr-agents.ts +91 -0
- package/harness/index.ts +5 -5
- package/harness/loop-code-agent.ts +284 -0
- package/harness/loop-controller.ts +201 -0
- package/harness/loop-review-agent.ts +295 -0
- package/harness/loop-runtime.ts +21 -17
- package/harness/loop-types.ts +118 -0
- package/harness/notification-events.ts +3 -3
- package/harness/output-limit-handler.ts +1 -1
- package/harness/partial-recovery.ts +3 -3
- package/harness/session-memory.ts +5 -5
- package/index.ts +211 -80
- package/package.json +2 -2
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/a2a-adapter/src/types.ts +5 -5
- package/packages/auth/dist/minimax-browser-auth.d.ts +89 -0
- package/packages/auth/dist/minimax-browser-auth.d.ts.map +1 -0
- package/packages/auth/dist/minimax-browser-auth.js +890 -0
- package/packages/auth/dist/minimax-browser-auth.js.map +1 -0
- package/packages/auth/dist/run-minimax-auth.d.ts +19 -0
- package/packages/auth/dist/run-minimax-auth.d.ts.map +1 -0
- package/packages/auth/dist/run-minimax-auth.js +112 -0
- package/packages/auth/dist/run-minimax-auth.js.map +1 -0
- package/packages/auth/package.json +1 -1
- package/packages/auth/tsconfig.json +9 -0
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/dist/inbox.d.ts +3 -3
- package/packages/autonomous-runtime/dist/inbox.js +12 -12
- package/packages/autonomous-runtime/dist/lease.js +14 -14
- package/packages/autonomous-runtime/dist/types.js +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/autonomous-runtime/src/inbox.ts +12 -12
- package/packages/autonomous-runtime/src/lease.ts +15 -15
- package/packages/autonomous-runtime/src/types.ts +13 -13
- package/packages/autonomous-runtime/tsconfig.tsbuildinfo +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/dist/types.js +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/capability-registry/src/types.ts +5 -5
- package/packages/checkpoint/README.md +6 -6
- package/packages/checkpoint/dist/differ.js +2 -2
- package/packages/checkpoint/dist/engine.js +3 -3
- package/packages/checkpoint/dist/index.js +5 -5
- package/packages/checkpoint/dist/storage.js +3 -3
- package/packages/checkpoint/dist/types.js +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/checkpoint/src/differ.ts +2 -2
- package/packages/checkpoint/src/engine.ts +3 -3
- package/packages/checkpoint/src/index.ts +5 -5
- package/packages/checkpoint/src/storage.ts +3 -3
- package/packages/checkpoint/src/types.ts +10 -10
- package/packages/checkpoint/tsconfig.tsbuildinfo +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -1
- package/packages/clipboard/dist/src/clipboard.js +15 -7
- package/packages/clipboard/dist/src/clipboard.js.map +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard/src/clipboard.ts +16 -9
- package/packages/code-generation/README.md +13 -13
- package/packages/code-generation/dist/faker.js +4 -4
- package/packages/code-generation/dist/generator.js +3 -3
- package/packages/code-generation/dist/index.js +3 -3
- package/packages/code-generation/dist/templates/registry.js +1 -1
- package/packages/code-generation/dist/types.js +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-generation/src/faker.ts +5 -5
- package/packages/code-generation/src/generator.ts +4 -4
- package/packages/code-generation/src/index.ts +3 -3
- package/packages/code-generation/src/templates/registry.ts +1 -1
- package/packages/code-generation/src/types.ts +10 -10
- package/packages/code-generation/tsconfig.tsbuildinfo +1 -1
- package/packages/code-review/README.md +13 -13
- package/packages/code-review/dist/engine.js +3 -3
- package/packages/code-review/dist/index.js +3 -3
- package/packages/code-review/dist/types.js +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/code-review/src/engine.ts +3 -3
- package/packages/code-review/src/index.ts +3 -3
- package/packages/code-review/src/types.ts +10 -10
- package/packages/code-review/tsconfig.tsbuildinfo +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/context-compiler/dist/compiler.js +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-compiler/src/compiler.ts +1 -1
- package/packages/context-compiler/src/types.ts +11 -11
- package/packages/context-compiler/test/context-compiler.test.ts +11 -11
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/cookie-sanitizer/README.md +27 -27
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/cost-optimizer/src/types.ts +5 -5
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/dist/analyzer.js +7 -7
- package/packages/django-plugin/package.json +1 -1
- package/packages/django-plugin/src/analyzer.ts +7 -7
- package/packages/doc-generator/package.json +1 -1
- package/packages/evaluation-engine/dist/engine.js +9 -9
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-engine/src/engine.ts +9 -9
- package/packages/evaluation-engine/src/types.ts +3 -3
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/dist/src/herdr-bus.d.ts +121 -0
- package/packages/event-bus/dist/src/herdr-bus.d.ts.map +1 -0
- package/packages/event-bus/dist/src/herdr-bus.js +322 -0
- package/packages/event-bus/dist/src/herdr-bus.js.map +1 -0
- package/packages/event-bus/dist/src/index.d.ts +2 -0
- package/packages/event-bus/dist/src/index.d.ts.map +1 -1
- package/packages/event-bus/dist/src/index.js +1 -0
- package/packages/event-bus/dist/src/index.js.map +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-bus/src/herdr-bus.ts +525 -0
- package/packages/event-bus/src/index.ts +29 -0
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/dist/replay.js +7 -7
- package/packages/experience-replay/package.json +1 -1
- package/packages/experience-replay/src/replay.ts +7 -7
- package/packages/experience-replay/src/types.ts +5 -5
- package/packages/feedback-collector/package.json +1 -1
- package/packages/framework-detector/README.md +18 -18
- package/packages/framework-detector/dist/detector.js +3 -3
- package/packages/framework-detector/dist/index.js +3 -3
- package/packages/framework-detector/dist/signatures/registry.js +24 -24
- package/packages/framework-detector/dist/types.js +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-detector/src/detector.ts +3 -3
- package/packages/framework-detector/src/index.ts +3 -3
- package/packages/framework-detector/src/signatures/registry.ts +24 -24
- package/packages/framework-detector/src/types.ts +7 -7
- package/packages/framework-detector/tsconfig.tsbuildinfo +1 -1
- package/packages/framework-plugin-sdk/README.md +23 -23
- package/packages/framework-plugin-sdk/dist/index.js +2 -2
- package/packages/framework-plugin-sdk/dist/manager.js +3 -3
- package/packages/framework-plugin-sdk/dist/types.js +2 -2
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/framework-plugin-sdk/src/index.ts +2 -2
- package/packages/framework-plugin-sdk/src/manager.ts +3 -3
- package/packages/framework-plugin-sdk/src/types.ts +10 -10
- package/packages/framework-plugin-sdk/tsconfig.tsbuildinfo +1 -1
- package/packages/frappe-plugin/dist/analyzer.js +8 -8
- package/packages/frappe-plugin/dist/types.js +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/frappe-plugin/src/analyzer.ts +8 -8
- package/packages/frappe-plugin/src/types.ts +10 -10
- package/packages/generic-web-plugin/dist/analyzer.js +5 -5
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/generic-web-plugin/src/analyzer.ts +5 -5
- package/packages/health-monitor/package.json +1 -1
- package/packages/health-monitor/src/monitor.ts +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/laravel-plugin/dist/analyzer.js +11 -11
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/laravel-plugin/src/analyzer.ts +11 -11
- package/packages/learning-engine/dist/engine.js +5 -5
- package/packages/learning-engine/dist/types.js +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/learning-engine/src/engine.ts +5 -5
- package/packages/learning-engine/src/types.ts +6 -6
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/dist/engine.js +8 -8
- package/packages/memory-engine/dist/types.js +2 -2
- package/packages/memory-engine/package.json +1 -1
- package/packages/memory-engine/src/engine.ts +8 -8
- package/packages/memory-engine/src/types.ts +9 -9
- package/packages/model-registry/package.json +1 -1
- package/packages/model-registry/src/types.ts +4 -4
- package/packages/nextjs-plugin/dist/analyzer.js +9 -9
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/nextjs-plugin/src/analyzer.ts +9 -9
- package/packages/notification/dist/notification-center.js +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/notification-center.ts +1 -1
- package/packages/observability/dist/alerts.js +2 -2
- package/packages/observability/dist/health.js +4 -4
- package/packages/observability/dist/index.js +6 -6
- package/packages/observability/dist/logger.js +7 -7
- package/packages/observability/dist/metrics.js +11 -11
- package/packages/observability/dist/tracer.js +3 -3
- package/packages/observability/dist/types.js +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/observability/src/alerts.ts +2 -2
- package/packages/observability/src/health.ts +4 -4
- package/packages/observability/src/index.ts +6 -6
- package/packages/observability/src/logger.ts +7 -7
- package/packages/observability/src/metrics.ts +11 -11
- package/packages/observability/src/tracer.ts +3 -3
- package/packages/observability/src/types.ts +7 -7
- package/packages/observability/test/observability.test.ts +4 -4
- package/packages/observability/tsconfig.tsbuildinfo +1 -1
- package/packages/performance-optimizer/dist/optimizer.js +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/performance-optimizer/src/optimizer.ts +1 -1
- package/packages/performance-optimizer/src/types.ts +4 -4
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/dist/analyzer.js +4 -4
- package/packages/project-analyzer/dist/index.js +8 -8
- package/packages/project-analyzer/dist/signals.js +3 -3
- package/packages/project-analyzer/dist/types.js +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-analyzer/src/analyzer.ts +4 -4
- package/packages/project-analyzer/src/index.ts +9 -9
- package/packages/project-analyzer/src/signals.ts +4 -4
- package/packages/project-analyzer/src/types.ts +15 -15
- package/packages/project-analyzer/test/index.test.ts +17 -17
- package/packages/project-analyzer/tsconfig.tsbuildinfo +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/dist/section-builder.js +1 -1
- package/packages/prompt-compiler/dist/types.js +3 -3
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-compiler/src/section-builder.ts +1 -1
- package/packages/prompt-compiler/src/types.ts +12 -12
- package/packages/prompt-compiler/test/prompt-compiler.test.ts +12 -12
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/dist/builder.js +1 -1
- package/packages/provider-adapter-sdk/dist/index.js +5 -5
- package/packages/provider-adapter-sdk/dist/registry.js +1 -1
- package/packages/provider-adapter-sdk/dist/tester.js +1 -1
- package/packages/provider-adapter-sdk/dist/types.js +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-adapter-sdk/src/builder.ts +1 -1
- package/packages/provider-adapter-sdk/src/index.ts +6 -6
- package/packages/provider-adapter-sdk/src/registry.ts +1 -1
- package/packages/provider-adapter-sdk/src/tester.ts +1 -1
- package/packages/provider-adapter-sdk/src/types.ts +5 -5
- package/packages/provider-adapter-sdk/tsconfig.tsbuildinfo +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-router/src/types.ts +4 -4
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/dist/deepagents-adapter.js +1 -1
- package/packages/providers/dist/provider-id.d.ts +5 -0
- package/packages/providers/dist/provider-id.d.ts.map +1 -1
- package/packages/providers/dist/provider-id.js +6 -1
- package/packages/providers/dist/provider-id.js.map +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/providers/src/deepagents-adapter.ts +1 -1
- package/packages/providers/src/provider-id.ts +6 -1
- package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
- package/packages/quota-manager/dist/tui-usage-monitor.js +0 -6
- package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/quota-manager/src/tui-usage-monitor.ts +0 -21
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/dist/analyzer.js +7 -7
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/react-vite-plugin/src/analyzer.ts +7 -7
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/dist/compiler.js +17 -17
- package/packages/requirement-compiler/dist/types.js +2 -2
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/requirement-compiler/src/compiler.ts +17 -17
- package/packages/requirement-compiler/src/types.ts +21 -21
- package/packages/requirement-compiler/test/requirement-compiler.test.ts +17 -17
- package/packages/runtime/dist/command-executor.js +1 -1
- package/packages/runtime/dist/local-runtime-agent.js +1 -1
- package/packages/runtime/dist/policy-engine.js +1 -1
- package/packages/runtime/dist/runtime-api.js +1 -1
- package/packages/runtime/dist/workspace-manager.js +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/command-executor.ts +1 -1
- package/packages/runtime/src/local-runtime-agent.ts +1 -1
- package/packages/runtime/src/policy-engine.ts +1 -1
- package/packages/runtime/src/runtime-api.ts +1 -1
- package/packages/runtime/src/workspace-manager.ts +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/README.md +18 -18
- package/packages/session/dist/history.js +3 -3
- package/packages/session/dist/index.js +5 -5
- package/packages/session/dist/manager.js +3 -3
- package/packages/session/dist/policy.js +2 -2
- package/packages/session/dist/store.js +2 -2
- package/packages/session/dist/types.js +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session/src/history.ts +3 -3
- package/packages/session/src/index.ts +5 -5
- package/packages/session/src/manager.ts +3 -3
- package/packages/session/src/policy.ts +4 -4
- package/packages/session/src/store.ts +3 -3
- package/packages/session/src/types.ts +10 -10
- package/packages/session/tsconfig.tsbuildinfo +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skill-registry/src/types.ts +4 -4
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/dist/compiler.js +7 -7
- package/packages/task-compiler/dist/decompose.js +11 -11
- package/packages/task-compiler/dist/file-scope.js +6 -6
- package/packages/task-compiler/dist/graph.js +6 -6
- package/packages/task-compiler/dist/index.js +2 -2
- package/packages/task-compiler/dist/types.js +5 -5
- package/packages/task-compiler/dist/validate.js +2 -2
- package/packages/task-compiler/dist/verification.js +2 -2
- package/packages/task-compiler/package.json +1 -1
- package/packages/task-compiler/src/command-policy.ts +1 -1
- package/packages/task-compiler/src/compiler.ts +7 -7
- package/packages/task-compiler/src/decompose.ts +11 -11
- package/packages/task-compiler/src/file-scope.ts +6 -6
- package/packages/task-compiler/src/graph.ts +6 -6
- package/packages/task-compiler/src/index.ts +3 -3
- package/packages/task-compiler/src/types.ts +14 -14
- package/packages/task-compiler/src/validate.ts +2 -2
- package/packages/task-compiler/src/verification.ts +2 -2
- package/packages/task-compiler/test/task-compiler.test.ts +10 -10
- package/packages/test-data-generator/README.md +13 -13
- package/packages/test-data-generator/dist/faker-adapter.js +4 -4
- package/packages/test-data-generator/dist/generator.js +3 -3
- package/packages/test-data-generator/dist/index.js +3 -3
- package/packages/test-data-generator/dist/types.js +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-data-generator/src/faker-adapter.ts +4 -4
- package/packages/test-data-generator/src/generator.ts +3 -3
- package/packages/test-data-generator/src/index.ts +3 -3
- package/packages/test-data-generator/src/types.ts +9 -9
- package/packages/test-data-generator/tsconfig.tsbuildinfo +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/types/src/agent-worker-types.ts +5 -5
- package/packages/types/src/runtime-types.ts +12 -12
- package/packages/types/tsconfig.tsbuildinfo +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/renderer.ts +7 -7
- package/skills/harness-runtime/SKILL.md +15 -15
- package/packages/dependency-analyzer/dist/analyzer.d.ts +0 -17
- package/packages/dependency-analyzer/dist/analyzer.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/analyzer.js +0 -106
- package/packages/dependency-analyzer/dist/analyzer.js.map +0 -1
- package/packages/dependency-analyzer/dist/imports.d.ts +0 -12
- package/packages/dependency-analyzer/dist/imports.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/imports.js +0 -73
- package/packages/dependency-analyzer/dist/imports.js.map +0 -1
- package/packages/dependency-analyzer/dist/index.d.ts +0 -4
- package/packages/dependency-analyzer/dist/index.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/index.js +0 -3
- package/packages/dependency-analyzer/dist/index.js.map +0 -1
- package/packages/dependency-analyzer/dist/test/analyzer.test.js +0 -37
- package/packages/dependency-analyzer/dist/types.d.ts +0 -28
- package/packages/dependency-analyzer/dist/types.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/types.js +0 -5
- package/packages/dependency-analyzer/dist/types.js.map +0 -1
- package/packages/intent-analyzer/dist/analyzer.d.ts +0 -13
- package/packages/intent-analyzer/dist/analyzer.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/analyzer.js +0 -72
- package/packages/intent-analyzer/dist/analyzer.js.map +0 -1
- package/packages/intent-analyzer/dist/index.d.ts +0 -3
- package/packages/intent-analyzer/dist/index.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/index.js +0 -2
- package/packages/intent-analyzer/dist/index.js.map +0 -1
- package/packages/intent-analyzer/dist/test/analyzer.test.js +0 -56
- package/packages/intent-analyzer/dist/types.d.ts +0 -26
- package/packages/intent-analyzer/dist/types.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/types.js +0 -7
- package/packages/intent-analyzer/dist/types.js.map +0 -1
- package/packages/workspace-scanner/dist/detect.d.ts +0 -3
- package/packages/workspace-scanner/dist/detect.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/detect.js +0 -58
- package/packages/workspace-scanner/dist/detect.js.map +0 -1
- package/packages/workspace-scanner/dist/git.d.ts +0 -7
- package/packages/workspace-scanner/dist/git.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/git.js +0 -75
- package/packages/workspace-scanner/dist/git.js.map +0 -1
- package/packages/workspace-scanner/dist/index.d.ts +0 -5
- package/packages/workspace-scanner/dist/index.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/index.js +0 -4
- package/packages/workspace-scanner/dist/index.js.map +0 -1
- package/packages/workspace-scanner/dist/scanner.d.ts +0 -11
- package/packages/workspace-scanner/dist/scanner.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/scanner.js +0 -46
- package/packages/workspace-scanner/dist/scanner.js.map +0 -1
- package/packages/workspace-scanner/dist/test/scanner.test.js +0 -34
- package/packages/workspace-scanner/dist/types.d.ts +0 -35
- package/packages/workspace-scanner/dist/types.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/types.js +0 -5
- package/packages/workspace-scanner/dist/types.js.map +0 -1
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Metrics collection with Prometheus-compatible format.
|
|
5
5
|
*/
|
|
6
|
-
//
|
|
6
|
+
// --- Default Configuration -------------------------------------------------
|
|
7
7
|
const DEFAULT_CONFIG = {
|
|
8
8
|
serviceName: "unknown",
|
|
9
9
|
defaultLabels: {},
|
|
10
10
|
exportInterval: 60000,
|
|
11
11
|
prefix: "",
|
|
12
12
|
};
|
|
13
|
-
//
|
|
13
|
+
// --- Timer Helper ---------------------------------------------------------
|
|
14
14
|
export class Timer {
|
|
15
15
|
startTime;
|
|
16
16
|
constructor() {
|
|
@@ -29,7 +29,7 @@ export class Timer {
|
|
|
29
29
|
this.startTime = Date.now();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
//
|
|
32
|
+
// --- Metrics Collector ----------------------------------------------------
|
|
33
33
|
export class Metrics {
|
|
34
34
|
config;
|
|
35
35
|
counters = new Map();
|
|
@@ -64,7 +64,7 @@ export class Metrics {
|
|
|
64
64
|
defaultBuckets() {
|
|
65
65
|
return [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10];
|
|
66
66
|
}
|
|
67
|
-
//
|
|
67
|
+
// --- Counter Methods --------------------------------------------------
|
|
68
68
|
/**
|
|
69
69
|
* Register a counter metric
|
|
70
70
|
*/
|
|
@@ -104,7 +104,7 @@ export class Metrics {
|
|
|
104
104
|
const key = this.labelKey(labels);
|
|
105
105
|
return this.counters.get(fullName)?.get(key) ?? 0;
|
|
106
106
|
}
|
|
107
|
-
//
|
|
107
|
+
// --- Gauge Methods --------------------------------------------------
|
|
108
108
|
/**
|
|
109
109
|
* Register a gauge metric
|
|
110
110
|
*/
|
|
@@ -147,7 +147,7 @@ export class Metrics {
|
|
|
147
147
|
const gauge = this.gauges.get(fullName);
|
|
148
148
|
gauge.set(key, (gauge.get(key) ?? 0) - 1);
|
|
149
149
|
}
|
|
150
|
-
//
|
|
150
|
+
// --- Histogram Methods -----------------------------------------------
|
|
151
151
|
/**
|
|
152
152
|
* Register a histogram metric
|
|
153
153
|
*/
|
|
@@ -192,7 +192,7 @@ export class Metrics {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
//
|
|
195
|
+
// --- Summary Methods -------------------------------------------------
|
|
196
196
|
/**
|
|
197
197
|
* Register a summary metric
|
|
198
198
|
*/
|
|
@@ -215,7 +215,7 @@ export class Metrics {
|
|
|
215
215
|
count: current.count + 1,
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
|
-
//
|
|
218
|
+
// --- Timing Helpers -------------------------------------------------
|
|
219
219
|
/**
|
|
220
220
|
* Start a timer
|
|
221
221
|
*/
|
|
@@ -255,7 +255,7 @@ export class Metrics {
|
|
|
255
255
|
this.observeDuration(name, timer, labels);
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
|
-
//
|
|
258
|
+
// --- Export Methods --------------------------------------------------
|
|
259
259
|
/**
|
|
260
260
|
* Export metrics in Prometheus format
|
|
261
261
|
*/
|
|
@@ -340,7 +340,7 @@ export class Metrics {
|
|
|
340
340
|
this.summaries.clear();
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
//
|
|
343
|
+
// --- Built-in Metrics --------------------------------------------------------
|
|
344
344
|
/**
|
|
345
345
|
* Create built-in runtime metrics
|
|
346
346
|
*/
|
|
@@ -363,7 +363,7 @@ export function createBuiltInMetrics(metrics) {
|
|
|
363
363
|
metrics.registerGauge("harness_sessions_active", "Active sessions");
|
|
364
364
|
metrics.registerCounter("harness_sessions_tokens_total", "Total session tokens");
|
|
365
365
|
}
|
|
366
|
-
//
|
|
366
|
+
// --- Factory Function --------------------------------------------------------
|
|
367
367
|
/**
|
|
368
368
|
* Create a metrics collector with the given configuration
|
|
369
369
|
*/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { Logger } from "./logger.js";
|
|
8
|
-
//
|
|
8
|
+
// --- Span Handle -------------------------------------------------------------
|
|
9
9
|
export class SpanHandle {
|
|
10
10
|
tracer;
|
|
11
11
|
span;
|
|
@@ -65,7 +65,7 @@ export class SpanHandle {
|
|
|
65
65
|
return this.span;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
//
|
|
68
|
+
// --- Tracer Class ------------------------------------------------------------
|
|
69
69
|
export class Tracer {
|
|
70
70
|
config;
|
|
71
71
|
logger;
|
|
@@ -251,7 +251,7 @@ export class Tracer {
|
|
|
251
251
|
});
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
-
//
|
|
254
|
+
// --- Factory Function --------------------------------------------------------
|
|
255
255
|
/**
|
|
256
256
|
* Create a tracer with the given configuration
|
|
257
257
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Core types for logging, tracing, metrics, and health monitoring.
|
|
5
5
|
*/
|
|
6
|
-
//
|
|
6
|
+
// --- SDK Version ------------------------------------------------------------
|
|
7
7
|
/**
|
|
8
8
|
* SDK version for compatibility checks
|
|
9
9
|
*/
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { Alert, AlertAction, AlertCondition, AlertRule } from "./types.js";
|
|
8
8
|
import { Logger } from "./logger.js";
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// --- Alert Engine Class -------------------------------------------------
|
|
11
11
|
|
|
12
12
|
export class AlertEngine {
|
|
13
13
|
private readonly rules: Map<string, AlertRule> = new Map();
|
|
@@ -345,7 +345,7 @@ export class AlertEngine {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
|
|
348
|
-
//
|
|
348
|
+
// --- Factory Function --------------------------------------------------------
|
|
349
349
|
|
|
350
350
|
/**
|
|
351
351
|
* Create an alert engine
|
|
@@ -11,12 +11,12 @@ import type {
|
|
|
11
11
|
HealthResult,
|
|
12
12
|
} from "./types.js";
|
|
13
13
|
|
|
14
|
-
//
|
|
14
|
+
// --- Default Configuration -------------------------------------------------
|
|
15
15
|
|
|
16
16
|
const DEFAULT_SERVICE_NAME = "harness-runtime";
|
|
17
17
|
const DEFAULT_VERSION = "1.0.0";
|
|
18
18
|
|
|
19
|
-
//
|
|
19
|
+
// --- Health Monitor Class -------------------------------------------------
|
|
20
20
|
|
|
21
21
|
export class HealthMonitor {
|
|
22
22
|
private readonly checks: Map<string, HealthCheckRegistration> = new Map();
|
|
@@ -203,7 +203,7 @@ export class HealthMonitor {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
//
|
|
206
|
+
// --- Built-in Health Checks ------------------------------------------------
|
|
207
207
|
|
|
208
208
|
/**
|
|
209
209
|
* Create a basic connectivity health check
|
|
@@ -312,7 +312,7 @@ export function createDiskSpaceHealthCheck(
|
|
|
312
312
|
};
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
//
|
|
315
|
+
// --- Factory Function --------------------------------------------------------
|
|
316
316
|
|
|
317
317
|
/**
|
|
318
318
|
* Create a health monitor with the given service name
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* distributed tracing, metrics collection, health monitoring, and alerting.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
//
|
|
8
|
+
// --- Logger ----------------------------------------------------------------
|
|
9
9
|
|
|
10
10
|
export { Logger, createLogger, defaultLogger } from "./logger.js";
|
|
11
11
|
export type {
|
|
@@ -16,7 +16,7 @@ export type {
|
|
|
16
16
|
LogOutput,
|
|
17
17
|
} from "./types.js";
|
|
18
18
|
|
|
19
|
-
//
|
|
19
|
+
// --- Tracer ----------------------------------------------------------------
|
|
20
20
|
|
|
21
21
|
export { Tracer, createTracer, SpanHandle } from "./tracer.js";
|
|
22
22
|
export type {
|
|
@@ -28,7 +28,7 @@ export type {
|
|
|
28
28
|
TracerConfig,
|
|
29
29
|
} from "./types.js";
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// --- Metrics ----------------------------------------------------------------
|
|
32
32
|
|
|
33
33
|
export {
|
|
34
34
|
Metrics,
|
|
@@ -47,7 +47,7 @@ export type {
|
|
|
47
47
|
Summary,
|
|
48
48
|
} from "./types.js";
|
|
49
49
|
|
|
50
|
-
//
|
|
50
|
+
// --- Health ----------------------------------------------------------------
|
|
51
51
|
|
|
52
52
|
export {
|
|
53
53
|
HealthMonitor,
|
|
@@ -63,7 +63,7 @@ export type {
|
|
|
63
63
|
HealthResult,
|
|
64
64
|
} from "./types.js";
|
|
65
65
|
|
|
66
|
-
//
|
|
66
|
+
// --- Alerts ----------------------------------------------------------------
|
|
67
67
|
|
|
68
68
|
export { AlertEngine, createAlertEngine } from "./alerts.js";
|
|
69
69
|
export type {
|
|
@@ -74,6 +74,6 @@ export type {
|
|
|
74
74
|
AlertSeverity,
|
|
75
75
|
} from "./types.js";
|
|
76
76
|
|
|
77
|
-
//
|
|
77
|
+
// --- Re-exports ------------------------------------------------------------
|
|
78
78
|
|
|
79
79
|
export { SDK_VERSION } from "./types.js";
|
|
@@ -10,7 +10,7 @@ import { dirname } from "node:path";
|
|
|
10
10
|
import type { Writable } from "node:stream";
|
|
11
11
|
import type { LogEntry, LogLevel, LoggerConfig } from "./types.js";
|
|
12
12
|
|
|
13
|
-
//
|
|
13
|
+
// --- Level Order ------------------------------------------------------------
|
|
14
14
|
|
|
15
15
|
const LOG_LEVEL_ORDER: Record<LogLevel, number> = {
|
|
16
16
|
debug: 0,
|
|
@@ -20,7 +20,7 @@ const LOG_LEVEL_ORDER: Record<LogLevel, number> = {
|
|
|
20
20
|
fatal: 4,
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
//
|
|
23
|
+
// --- Default Configuration -------------------------------------------------
|
|
24
24
|
|
|
25
25
|
const DEFAULT_CONFIG: Required<LoggerConfig> = {
|
|
26
26
|
level: "info",
|
|
@@ -33,7 +33,7 @@ const DEFAULT_CONFIG: Required<LoggerConfig> = {
|
|
|
33
33
|
defaultMeta: {},
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
//
|
|
36
|
+
// --- Colors for Pretty Output -----------------------------------------------
|
|
37
37
|
|
|
38
38
|
const COLORS: Record<LogLevel, string> = {
|
|
39
39
|
debug: "\x1b[36m", // Cyan
|
|
@@ -45,7 +45,7 @@ const COLORS: Record<LogLevel, string> = {
|
|
|
45
45
|
|
|
46
46
|
const RESET = "\x1b[0m";
|
|
47
47
|
|
|
48
|
-
//
|
|
48
|
+
// --- UUID Generator ---------------------------------------------------------
|
|
49
49
|
|
|
50
50
|
function generateId(): string {
|
|
51
51
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
@@ -55,7 +55,7 @@ function generateId(): string {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
//
|
|
58
|
+
// --- Logger Class -----------------------------------------------------------
|
|
59
59
|
|
|
60
60
|
export class Logger {
|
|
61
61
|
private readonly config: Required<LoggerConfig>;
|
|
@@ -356,7 +356,7 @@ export class Logger {
|
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
//
|
|
359
|
+
// --- Factory Function --------------------------------------------------------
|
|
360
360
|
|
|
361
361
|
/**
|
|
362
362
|
* Create a logger with the given configuration
|
|
@@ -365,7 +365,7 @@ export function createLogger(config?: LoggerConfig): Logger {
|
|
|
365
365
|
return new Logger(config);
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
-
//
|
|
368
|
+
// --- Default Logger ----------------------------------------------------------
|
|
369
369
|
|
|
370
370
|
/**
|
|
371
371
|
* Default logger instance
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import type { HistogramBucket, Labels, MetricsConfig } from "./types.js";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// --- Default Configuration -------------------------------------------------
|
|
10
10
|
|
|
11
11
|
const DEFAULT_CONFIG: Required<MetricsConfig> = {
|
|
12
12
|
serviceName: "unknown",
|
|
@@ -15,7 +15,7 @@ const DEFAULT_CONFIG: Required<MetricsConfig> = {
|
|
|
15
15
|
prefix: "",
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
//
|
|
18
|
+
// --- Timer Helper ---------------------------------------------------------
|
|
19
19
|
|
|
20
20
|
export class Timer {
|
|
21
21
|
private startTime: number;
|
|
@@ -39,7 +39,7 @@ export class Timer {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
//
|
|
42
|
+
// --- Metrics Collector ----------------------------------------------------
|
|
43
43
|
|
|
44
44
|
export class Metrics {
|
|
45
45
|
private readonly config: Required<MetricsConfig>;
|
|
@@ -84,7 +84,7 @@ export class Metrics {
|
|
|
84
84
|
return [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10];
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
//
|
|
87
|
+
// --- Counter Methods --------------------------------------------------
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
90
|
* Register a counter metric
|
|
@@ -133,7 +133,7 @@ export class Metrics {
|
|
|
133
133
|
return this.counters.get(fullName)?.get(key) ?? 0;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
//
|
|
136
|
+
// --- Gauge Methods --------------------------------------------------
|
|
137
137
|
|
|
138
138
|
/**
|
|
139
139
|
* Register a gauge metric
|
|
@@ -187,7 +187,7 @@ export class Metrics {
|
|
|
187
187
|
gauge.set(key, (gauge.get(key) ?? 0) - 1);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
//
|
|
190
|
+
// --- Histogram Methods -----------------------------------------------
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
193
|
* Register a histogram metric
|
|
@@ -245,7 +245,7 @@ export class Metrics {
|
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
//
|
|
248
|
+
// --- Summary Methods -------------------------------------------------
|
|
249
249
|
|
|
250
250
|
/**
|
|
251
251
|
* Register a summary metric
|
|
@@ -273,7 +273,7 @@ export class Metrics {
|
|
|
273
273
|
});
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
//
|
|
276
|
+
// --- Timing Helpers -------------------------------------------------
|
|
277
277
|
|
|
278
278
|
/**
|
|
279
279
|
* Start a timer
|
|
@@ -320,7 +320,7 @@ export class Metrics {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
//
|
|
323
|
+
// --- Export Methods --------------------------------------------------
|
|
324
324
|
|
|
325
325
|
/**
|
|
326
326
|
* Export metrics in Prometheus format
|
|
@@ -423,7 +423,7 @@ export class Metrics {
|
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
-
//
|
|
426
|
+
// --- Built-in Metrics --------------------------------------------------------
|
|
427
427
|
|
|
428
428
|
/**
|
|
429
429
|
* Create built-in runtime metrics
|
|
@@ -465,7 +465,7 @@ export function createBuiltInMetrics(metrics: Metrics): void {
|
|
|
465
465
|
);
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
-
//
|
|
468
|
+
// --- Factory Function --------------------------------------------------------
|
|
469
469
|
|
|
470
470
|
/**
|
|
471
471
|
* Create a metrics collector with the given configuration
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
} from "./types.js";
|
|
15
15
|
import { Logger } from "./logger.js";
|
|
16
16
|
|
|
17
|
-
//
|
|
17
|
+
// --- Span Handle -------------------------------------------------------------
|
|
18
18
|
|
|
19
19
|
export class SpanHandle {
|
|
20
20
|
private readonly tracer: Tracer;
|
|
@@ -85,7 +85,7 @@ export class SpanHandle {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
//
|
|
88
|
+
// --- Tracer Class ------------------------------------------------------------
|
|
89
89
|
|
|
90
90
|
export class Tracer {
|
|
91
91
|
private readonly config: TracerConfig;
|
|
@@ -326,7 +326,7 @@ export class Tracer {
|
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
-
//
|
|
329
|
+
// --- Factory Function --------------------------------------------------------
|
|
330
330
|
|
|
331
331
|
/**
|
|
332
332
|
* Create a tracer with the given configuration
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Core types for logging, tracing, metrics, and health monitoring.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// --- SDK Version ------------------------------------------------------------
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* SDK version for compatibility checks
|
|
11
11
|
*/
|
|
12
12
|
export const SDK_VERSION = "1.0.0";
|
|
13
13
|
|
|
14
|
-
//
|
|
14
|
+
// --- Log Types ---------------------------------------------------------------
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Log severity levels
|
|
@@ -59,7 +59,7 @@ export interface LoggerConfig {
|
|
|
59
59
|
defaultMeta?: Record<string, unknown>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
//
|
|
62
|
+
// --- Trace Types ------------------------------------------------------------
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Span status
|
|
@@ -119,7 +119,7 @@ export interface TracerConfig {
|
|
|
119
119
|
logLevel?: LogLevel;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
//
|
|
122
|
+
// --- Metrics Types ----------------------------------------------------------
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
125
|
* Metric types
|
|
@@ -214,7 +214,7 @@ export interface PrometheusMetric {
|
|
|
214
214
|
}>;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
//
|
|
217
|
+
// --- Health Types -----------------------------------------------------------
|
|
218
218
|
|
|
219
219
|
/**
|
|
220
220
|
* Health check result
|
|
@@ -251,7 +251,7 @@ export interface HealthReport {
|
|
|
251
251
|
timestamp: string;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
//
|
|
254
|
+
// --- Alert Types ------------------------------------------------------------
|
|
255
255
|
|
|
256
256
|
/**
|
|
257
257
|
* Alert condition types
|
|
@@ -374,7 +374,7 @@ export interface Alert {
|
|
|
374
374
|
metadata?: Record<string, unknown>;
|
|
375
375
|
}
|
|
376
376
|
|
|
377
|
-
//
|
|
377
|
+
// --- Export Types -----------------------------------------------------------
|
|
378
378
|
|
|
379
379
|
/**
|
|
380
380
|
* Exporter types
|
|
@@ -9,14 +9,14 @@ import { mkdtemp, rm } from "node:fs/promises";
|
|
|
9
9
|
import { join } from "node:path";
|
|
10
10
|
import { tmpdir } from "node:os";
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// --- Module Imports -----------------------------------------------------------
|
|
13
13
|
|
|
14
14
|
import { Logger, createLogger, defaultLogger } from "../src/logger.js";
|
|
15
15
|
import { type Metrics, createMetrics } from "../src/metrics.js";
|
|
16
16
|
import { HealthMonitor, createHealthMonitor } from "../src/health.js";
|
|
17
17
|
import { type AlertEngine, createAlertEngine } from "../src/alerts.js";
|
|
18
18
|
|
|
19
|
-
//
|
|
19
|
+
// --- Shared Test State --------------------------------------------------------
|
|
20
20
|
|
|
21
21
|
interface CaptureStdout {
|
|
22
22
|
stdout: string[];
|
|
@@ -25,7 +25,7 @@ interface CaptureStdout {
|
|
|
25
25
|
|
|
26
26
|
let tempDir: string;
|
|
27
27
|
|
|
28
|
-
//
|
|
28
|
+
// --- Logger Test Helpers -----------------------------------------------------
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Create a logger that captures stdout/stderr output
|
|
@@ -70,7 +70,7 @@ async function captureLoggerOutput(
|
|
|
70
70
|
return capture;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
//
|
|
73
|
+
// --- Setup / Teardown --------------------------------------------------------
|
|
74
74
|
|
|
75
75
|
beforeEach(async () => {
|
|
76
76
|
tempDir = await mkdtemp(join(tmpdir(), "obs-test-"));
|