pi-harness-runtime 0.10.11 → 0.10.12
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/cli.ts +111 -0
- package/footer-status.ts +204 -0
- package/harness/agent-handoff.ts +189 -0
- package/harness/auto-compact.ts +309 -0
- package/harness/auto-quota-resume.ts +132 -0
- package/harness/autonomous-review.ts +88 -0
- package/harness/blackboard.ts +291 -0
- package/harness/context-compact-orchestrator.ts +551 -0
- package/harness/context-window-manager.ts +464 -0
- package/harness/continue-prompt.ts +242 -0
- package/harness/e2e/index.ts +44 -0
- package/harness/e2e/minimax-quota-parser.ts +88 -0
- package/harness/e2e/minimax-quota-scraper.ts +609 -0
- package/harness/e2e/openai-quota-scraper.ts +447 -0
- package/harness/e2e/playwright-runner.ts +204 -0
- package/harness/e2e/quota-status.ts +194 -0
- package/harness/e2e/test-engine.ts +398 -0
- package/harness/forked-summarizer.ts +304 -0
- package/harness/herdr-agents.ts +91 -0
- package/harness/index.ts +232 -0
- package/harness/job-state-machine.ts +363 -0
- 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 +760 -0
- package/harness/loop-types.ts +118 -0
- package/harness/master-planner.ts +327 -0
- package/harness/notification-events.ts +299 -0
- package/harness/output-limit-handler.ts +316 -0
- package/harness/partial-recovery.ts +531 -0
- package/harness/project-detector/detector.ts +328 -0
- package/harness/repair-engine.ts +340 -0
- package/harness/session-memory.ts +401 -0
- package/harness/task-graph.d.ts +51 -0
- package/harness/task-graph.ts +143 -0
- package/mirror.ts +278 -0
- package/package.json +8 -12
- package/packages/a2a-adapter/src/agent.ts +139 -0
- package/packages/a2a-adapter/src/client.ts +107 -0
- package/packages/a2a-adapter/src/discovery.ts +106 -0
- package/packages/a2a-adapter/src/index.ts +38 -0
- package/packages/a2a-adapter/src/protocol.ts +46 -0
- package/packages/a2a-adapter/src/transport.ts +142 -0
- package/packages/a2a-adapter/src/types.ts +117 -0
- package/packages/auth/src/minimax-browser-auth.ts +1109 -0
- package/packages/auth/src/run-minimax-auth.ts +150 -0
- package/packages/autonomous-refactor/src/detector.ts +219 -0
- package/packages/autonomous-refactor/src/index.ts +16 -0
- package/packages/autonomous-refactor/src/planner.ts +99 -0
- package/packages/autonomous-refactor/src/types.ts +57 -0
- package/packages/autonomous-runtime/src/inbox.ts +266 -0
- package/packages/autonomous-runtime/src/index.ts +22 -0
- package/packages/autonomous-runtime/src/lease.ts +318 -0
- package/packages/autonomous-runtime/src/types.ts +257 -0
- package/packages/cache-strategy/src/cache.ts +213 -0
- package/packages/cache-strategy/src/index.ts +6 -0
- package/packages/cache-strategy/src/types.ts +40 -0
- package/packages/capability-registry/src/defaults.ts +247 -0
- package/packages/capability-registry/src/index.ts +43 -0
- package/packages/capability-registry/src/query.ts +99 -0
- package/packages/capability-registry/src/registry.ts +222 -0
- package/packages/capability-registry/src/types.d.ts +47 -0
- package/packages/capability-registry/src/types.js +10 -0
- package/packages/capability-registry/src/types.ts +83 -0
- package/packages/checkpoint/src/checkpoint-manager.ts +33 -0
- package/packages/checkpoint/src/differ.ts +281 -0
- package/packages/checkpoint/src/engine.ts +532 -0
- package/packages/checkpoint/src/index.ts +48 -0
- package/packages/checkpoint/src/storage.ts +439 -0
- package/packages/checkpoint/src/types.ts +348 -0
- package/packages/cli-plugin-sdk/src/index.ts +169 -0
- package/packages/cli-plugin-sdk/src/plugin-fs.ts +91 -0
- package/packages/cli-plugin-sdk/src/registry.ts +55 -0
- package/packages/cli-plugin-sdk/src/types.ts +32 -0
- package/packages/clipboard/dist/src/clipboard.d.ts +11 -0
- package/packages/clipboard/dist/src/clipboard.js +51 -0
- package/packages/clipboard/dist/src/copy-sync.d.ts +27 -0
- package/packages/clipboard/dist/src/copy-sync.js +170 -0
- package/packages/clipboard/dist/src/gist-relay.d.ts +48 -0
- package/packages/clipboard/dist/src/gist-relay.js +186 -0
- package/packages/clipboard/dist/src/github-login.d.ts +16 -0
- package/packages/clipboard/dist/src/github-login.js +69 -0
- package/packages/clipboard/dist/src/index.d.ts +4 -0
- package/packages/clipboard/dist/src/index.js +3 -0
- package/packages/clipboard/dist/src/types.d.ts +13 -0
- package/packages/clipboard/dist/src/types.js +5 -0
- package/packages/clipboard/src/clipboard.ts +59 -0
- package/packages/clipboard/src/copy-sync.ts +201 -0
- package/packages/clipboard/src/gist-relay.ts +240 -0
- package/packages/clipboard/src/github-login.ts +107 -0
- package/packages/clipboard/src/index.ts +3 -0
- package/packages/clipboard/src/types.ts +14 -0
- package/packages/code-generation/src/faker.ts +461 -0
- package/packages/code-generation/src/generator.ts +421 -0
- package/packages/code-generation/src/index.ts +56 -0
- package/packages/code-generation/src/templates/ejs-renderer.ts +142 -0
- package/packages/code-generation/src/templates/registry.ts +174 -0
- package/packages/code-generation/src/types.ts +373 -0
- package/packages/code-review/src/engine.ts +408 -0
- package/packages/code-review/src/index.ts +46 -0
- package/packages/code-review/src/reports/html.ts +143 -0
- package/packages/code-review/src/reports/markdown.ts +197 -0
- package/packages/code-review/src/reports/text.ts +171 -0
- package/packages/code-review/src/types.ts +324 -0
- package/packages/codex-adapter/src/executor.ts +83 -0
- package/packages/codex-adapter/src/index.ts +16 -0
- package/packages/codex-adapter/src/provider.ts +213 -0
- package/packages/codex-adapter/src/types.ts +118 -0
- package/packages/config-capture/src/index.ts +357 -0
- package/packages/context-compiler/src/budget.ts +122 -0
- package/packages/context-compiler/src/cache.ts +134 -0
- package/packages/context-compiler/src/compiler.ts +314 -0
- package/packages/context-compiler/src/deduplicate.ts +171 -0
- package/packages/context-compiler/src/filter.ts +135 -0
- package/packages/context-compiler/src/index.ts +61 -0
- package/packages/context-compiler/src/okf-loader.ts +86 -0
- package/packages/context-compiler/src/score.ts +130 -0
- package/packages/context-compiler/src/types.ts +246 -0
- package/packages/context-discovery/dist/src/discover.d.ts +3 -0
- package/packages/context-discovery/dist/src/discover.js +42 -0
- package/packages/context-discovery/dist/src/discovery.d.ts +28 -0
- package/packages/context-discovery/dist/src/discovery.js +21 -0
- package/packages/context-discovery/dist/src/index.d.ts +3 -0
- package/packages/context-discovery/dist/src/index.js +2 -0
- package/packages/context-discovery/dist/src/types.d.ts +16 -0
- package/packages/context-discovery/dist/src/types.js +2 -0
- package/packages/context-discovery/src/discover.ts +42 -0
- package/packages/context-discovery/src/discovery.ts +44 -0
- package/packages/context-discovery/src/index.ts +2 -0
- package/packages/context-discovery/src/types.ts +15 -0
- package/packages/context-manager/src/compaction.ts +139 -0
- package/packages/context-manager/src/core.ts +85 -0
- package/packages/context-manager/src/index.ts +22 -0
- package/packages/context-manager/src/types.ts +44 -0
- package/packages/cookie-sanitizer/src/atomic-write.ts +79 -0
- package/packages/cookie-sanitizer/src/detect-format.ts +102 -0
- package/packages/cookie-sanitizer/src/index.ts +89 -0
- package/packages/cookie-sanitizer/src/infer-provider.ts +103 -0
- package/packages/cookie-sanitizer/src/normalize.ts +92 -0
- package/packages/cookie-sanitizer/src/parse-json.ts +122 -0
- package/packages/cookie-sanitizer/src/parse-netscape.ts +118 -0
- package/packages/cookie-sanitizer/src/sync.ts +312 -0
- package/packages/cookie-sanitizer/src/types.ts +101 -0
- package/packages/cookie-sanitizer/src/watcher.ts +180 -0
- package/packages/cost-optimizer/src/budget.ts +138 -0
- package/packages/cost-optimizer/src/config.ts +34 -0
- package/packages/cost-optimizer/src/forecast.ts +59 -0
- package/packages/cost-optimizer/src/index.ts +74 -0
- package/packages/cost-optimizer/src/optimizer.ts +277 -0
- package/packages/cost-optimizer/src/selection.ts +264 -0
- package/packages/cost-optimizer/src/tracker.ts +122 -0
- package/packages/cost-optimizer/src/types.ts +134 -0
- package/packages/dependency-analyzer/dist/src/analyzer.d.ts +17 -0
- package/packages/dependency-analyzer/dist/src/analyzer.js +119 -0
- package/packages/dependency-analyzer/dist/src/imports.d.ts +12 -0
- package/packages/dependency-analyzer/dist/src/imports.js +73 -0
- package/packages/dependency-analyzer/dist/src/index.d.ts +4 -0
- package/packages/dependency-analyzer/dist/src/index.js +3 -0
- package/packages/dependency-analyzer/dist/src/types.d.ts +28 -0
- package/packages/dependency-analyzer/dist/src/types.js +5 -0
- package/packages/dependency-analyzer/src/analyzer.ts +140 -0
- package/packages/dependency-analyzer/src/imports.ts +93 -0
- package/packages/dependency-analyzer/src/index.ts +9 -0
- package/packages/dependency-analyzer/src/types.ts +38 -0
- package/packages/django-plugin/src/analyzer.ts +284 -0
- package/packages/django-plugin/src/index.ts +39 -0
- package/packages/django-plugin/src/types.ts +35 -0
- package/packages/doc-generator/src/detector.ts +113 -0
- package/packages/doc-generator/src/docs.ts +158 -0
- package/packages/doc-generator/src/index.ts +7 -0
- package/packages/doc-generator/src/types.ts +58 -0
- package/packages/evaluation-engine/src/engine.ts +488 -0
- package/packages/evaluation-engine/src/index.ts +23 -0
- package/packages/evaluation-engine/src/types.ts +136 -0
- package/packages/evaluation-runner/src/index.ts +6 -0
- package/packages/evaluation-runner/src/runner.ts +182 -0
- package/packages/evaluation-runner/src/types.ts +51 -0
- package/packages/event-bus/dist/src/bus.d.ts +15 -0
- package/packages/event-bus/dist/src/bus.js +98 -0
- package/packages/event-bus/dist/src/herdr-bus.d.ts +121 -0
- package/packages/event-bus/dist/src/herdr-bus.js +322 -0
- package/packages/event-bus/dist/src/index.d.ts +6 -0
- package/packages/event-bus/dist/src/index.js +4 -0
- package/packages/event-bus/dist/src/types.d.ts +27 -0
- package/packages/event-bus/dist/src/types.js +10 -0
- package/packages/event-bus/src/bus.ts +111 -0
- package/packages/event-bus/src/herdr-bus.ts +525 -0
- package/packages/event-bus/src/index.ts +38 -0
- package/packages/event-bus/src/types.ts +59 -0
- package/packages/event-store/dist/src/index.d.ts +3 -0
- package/packages/event-store/dist/src/index.js +2 -0
- package/packages/event-store/dist/src/store.d.ts +15 -0
- package/packages/event-store/dist/src/store.js +139 -0
- package/packages/event-store/dist/src/types.d.ts +48 -0
- package/packages/event-store/dist/src/types.js +5 -0
- package/packages/event-store/src/index.ts +11 -0
- package/packages/event-store/src/store.ts +168 -0
- package/packages/event-store/src/types.d.ts +48 -0
- package/packages/event-store/src/types.js +5 -0
- package/packages/event-store/src/types.ts +65 -0
- package/packages/experience-replay/src/index.ts +19 -0
- package/packages/experience-replay/src/replay.ts +348 -0
- package/packages/experience-replay/src/types.ts +128 -0
- package/packages/feedback-collector/src/collector.ts +160 -0
- package/packages/feedback-collector/src/index.ts +6 -0
- package/packages/feedback-collector/src/types.ts +51 -0
- package/packages/framework-detector/src/detector.ts +586 -0
- package/packages/framework-detector/src/index.ts +46 -0
- package/packages/framework-detector/src/signatures/registry.ts +648 -0
- package/packages/framework-detector/src/types.ts +299 -0
- package/packages/framework-plugin-sdk/src/index.ts +45 -0
- package/packages/framework-plugin-sdk/src/manager.ts +525 -0
- package/packages/framework-plugin-sdk/src/types.ts +449 -0
- package/packages/frappe-plugin/src/analyzer.ts +454 -0
- package/packages/frappe-plugin/src/index.ts +72 -0
- package/packages/frappe-plugin/src/types.ts +135 -0
- package/packages/generic-web-plugin/src/analyzer.ts +347 -0
- package/packages/generic-web-plugin/src/index.ts +61 -0
- package/packages/generic-web-plugin/src/types.ts +41 -0
- package/packages/health-monitor/src/index.ts +16 -0
- package/packages/health-monitor/src/monitor.ts +216 -0
- package/packages/health-monitor/src/types.ts +45 -0
- package/packages/intent-analyzer/dist/src/analyzer.d.ts +13 -0
- package/packages/intent-analyzer/dist/src/analyzer.js +239 -0
- package/packages/intent-analyzer/dist/src/index.d.ts +3 -0
- package/packages/intent-analyzer/dist/src/index.js +2 -0
- package/packages/intent-analyzer/dist/src/types.d.ts +26 -0
- package/packages/intent-analyzer/dist/src/types.js +7 -0
- package/packages/intent-analyzer/src/analyzer.ts +259 -0
- package/packages/intent-analyzer/src/index.ts +8 -0
- package/packages/intent-analyzer/src/types.ts +44 -0
- package/packages/knowledge-retrieval/src/index.ts +18 -0
- package/packages/knowledge-retrieval/src/mcp-client.ts +212 -0
- package/packages/knowledge-retrieval/src/types.ts +112 -0
- package/packages/laravel-plugin/src/analyzer.ts +323 -0
- package/packages/laravel-plugin/src/index.ts +40 -0
- package/packages/laravel-plugin/src/types.ts +24 -0
- package/packages/learning-engine/src/engine.ts +391 -0
- package/packages/learning-engine/src/index.ts +26 -0
- package/packages/learning-engine/src/types.ts +201 -0
- package/packages/mcp-adapter/src/index.ts +20 -0
- package/packages/mcp-adapter/src/server.ts +273 -0
- package/packages/mcp-adapter/src/tools.ts +220 -0
- package/packages/mcp-adapter/src/types.ts +79 -0
- package/packages/memory-engine/src/engine.ts +615 -0
- package/packages/memory-engine/src/index.ts +20 -0
- package/packages/memory-engine/src/types.ts +159 -0
- package/packages/model-registry/src/cost.ts +80 -0
- package/packages/model-registry/src/defaults.ts +178 -0
- package/packages/model-registry/src/index.ts +57 -0
- package/packages/model-registry/src/query.ts +85 -0
- package/packages/model-registry/src/registry.ts +188 -0
- package/packages/model-registry/src/types.d.ts +63 -0
- package/packages/model-registry/src/types.js +5 -0
- package/packages/model-registry/src/types.ts +69 -0
- package/packages/nextjs-plugin/src/analyzer.ts +247 -0
- package/packages/nextjs-plugin/src/index.ts +41 -0
- package/packages/nextjs-plugin/src/types.ts +36 -0
- package/packages/notification/src/adapters/email-adapter.ts +126 -0
- package/packages/notification/src/adapters/ntfy-adapter.ts +100 -0
- package/packages/notification/src/adapters/telegram-adapter.ts +107 -0
- package/packages/notification/src/adapters/webhook-adapter.ts +75 -0
- package/packages/notification/src/base-adapter.ts +75 -0
- package/packages/notification/src/index.ts +9 -0
- package/packages/notification/src/notification-center.ts +286 -0
- package/packages/notification/src/types.ts +89 -0
- package/packages/observability/src/alerts.ts +355 -0
- package/packages/observability/src/health.ts +325 -0
- package/packages/observability/src/index.ts +79 -0
- package/packages/observability/src/logger.ts +373 -0
- package/packages/observability/src/metrics.ts +475 -0
- package/packages/observability/src/tracer.ts +336 -0
- package/packages/observability/src/types.ts +391 -0
- package/packages/okf-indexer/src/cli.ts +25 -0
- package/packages/okf-indexer/src/indexer.ts +186 -0
- package/packages/performance-optimizer/src/index.ts +20 -0
- package/packages/performance-optimizer/src/optimizer.ts +428 -0
- package/packages/performance-optimizer/src/types.ts +112 -0
- package/packages/privilege-broker/src/approval.ts +70 -0
- package/packages/privilege-broker/src/audit.ts +142 -0
- package/packages/privilege-broker/src/executor.ts +110 -0
- package/packages/privilege-broker/src/index.ts +46 -0
- package/packages/privilege-broker/src/registry.ts +98 -0
- package/packages/privilege-broker/src/types.ts +105 -0
- package/packages/project-analyzer/src/analyzer.ts +683 -0
- package/packages/project-analyzer/src/cache.ts +329 -0
- package/packages/project-analyzer/src/command-discovery.ts +239 -0
- package/packages/project-analyzer/src/index.ts +123 -0
- package/packages/project-analyzer/src/plugins/index.ts +16 -0
- package/packages/project-analyzer/src/rule-discovery.ts +282 -0
- package/packages/project-analyzer/src/signals.ts +355 -0
- package/packages/project-analyzer/src/types.ts +412 -0
- package/packages/project-analyzer/src/walker.ts +366 -0
- package/packages/projection-engine/dist/src/engine.d.ts +61 -0
- package/packages/projection-engine/dist/src/engine.js +87 -0
- package/packages/projection-engine/dist/src/index.d.ts +2 -0
- package/packages/projection-engine/dist/src/index.js +2 -0
- package/packages/projection-engine/dist/src/project.d.ts +3 -0
- package/packages/projection-engine/dist/src/project.js +24 -0
- package/packages/projection-engine/dist/src/types.d.ts +55 -0
- package/packages/projection-engine/dist/src/types.js +5 -0
- package/packages/projection-engine/src/engine.ts +134 -0
- package/packages/projection-engine/src/index.ts +8 -0
- package/packages/projection-engine/src/project.ts +24 -0
- package/packages/projection-engine/src/types.d.ts +55 -0
- package/packages/projection-engine/src/types.js +5 -0
- package/packages/projection-engine/src/types.ts +60 -0
- package/packages/prompt-compiler/src/budget.ts +170 -0
- package/packages/prompt-compiler/src/compiler.ts +188 -0
- package/packages/prompt-compiler/src/deduplicate.ts +84 -0
- package/packages/prompt-compiler/src/index.ts +50 -0
- package/packages/prompt-compiler/src/normalize.ts +140 -0
- package/packages/prompt-compiler/src/render.ts +105 -0
- package/packages/prompt-compiler/src/section-builder.ts +279 -0
- package/packages/prompt-compiler/src/types.ts +263 -0
- package/packages/prompt-compiler/src/validate.ts +157 -0
- package/packages/prompt-versioning/src/index.ts +6 -0
- package/packages/prompt-versioning/src/types.ts +41 -0
- package/packages/prompt-versioning/src/versioning.ts +149 -0
- package/packages/provider-adapter-sdk/dist/src/builder.d.ts +140 -0
- package/packages/provider-adapter-sdk/dist/src/builder.js +332 -0
- package/packages/provider-adapter-sdk/dist/src/errors.d.ts +71 -0
- package/packages/provider-adapter-sdk/dist/src/errors.js +111 -0
- package/packages/provider-adapter-sdk/dist/src/index.d.ts +15 -0
- package/packages/provider-adapter-sdk/dist/src/index.js +19 -0
- package/packages/provider-adapter-sdk/dist/src/registry.d.ts +108 -0
- package/packages/provider-adapter-sdk/dist/src/registry.js +301 -0
- package/packages/provider-adapter-sdk/dist/src/tester.d.ts +71 -0
- package/packages/provider-adapter-sdk/dist/src/tester.js +392 -0
- package/packages/provider-adapter-sdk/dist/src/types.d.ts +182 -0
- package/packages/provider-adapter-sdk/dist/src/types.js +11 -0
- package/packages/provider-adapter-sdk/src/builder.ts +442 -0
- package/packages/provider-adapter-sdk/src/errors.ts +153 -0
- package/packages/provider-adapter-sdk/src/index.ts +84 -0
- package/packages/provider-adapter-sdk/src/registry.ts +486 -0
- package/packages/provider-adapter-sdk/src/tester.ts +483 -0
- package/packages/provider-adapter-sdk/src/types.ts +293 -0
- package/packages/provider-router/dist/capability-registry/src/types.d.ts +47 -0
- package/packages/provider-router/dist/capability-registry/src/types.js +10 -0
- package/packages/provider-router/dist/provider-router/src/index.d.ts +23 -0
- package/packages/provider-router/dist/provider-router/src/index.js +25 -0
- package/packages/provider-router/dist/provider-router/src/policy.d.ts +10 -0
- package/packages/provider-router/dist/provider-router/src/policy.js +45 -0
- package/packages/provider-router/dist/provider-router/src/provider-router.d.ts +56 -0
- package/packages/provider-router/dist/provider-router/src/provider-router.js +222 -0
- package/packages/provider-router/dist/provider-router/src/strategies.d.ts +19 -0
- package/packages/provider-router/dist/provider-router/src/strategies.js +110 -0
- package/packages/provider-router/dist/provider-router/src/types.d.ts +91 -0
- package/packages/provider-router/dist/provider-router/src/types.js +10 -0
- package/packages/provider-router/dist/src/index.d.ts +23 -0
- package/packages/provider-router/dist/src/index.js +25 -0
- package/packages/provider-router/dist/src/policy.d.ts +10 -0
- package/packages/provider-router/dist/src/policy.js +45 -0
- package/packages/provider-router/dist/src/provider-router.d.ts +56 -0
- package/packages/provider-router/dist/src/provider-router.js +222 -0
- package/packages/provider-router/dist/src/strategies.d.ts +19 -0
- package/packages/provider-router/dist/src/strategies.js +110 -0
- package/packages/provider-router/dist/src/types.d.ts +91 -0
- package/packages/provider-router/dist/src/types.js +10 -0
- package/packages/provider-router/dist/types/src/runtime-types.d.ts +412 -0
- package/packages/provider-router/dist/types/src/runtime-types.js +2 -0
- package/packages/provider-router/src/index.ts +49 -0
- package/packages/provider-router/src/policy.ts +50 -0
- package/packages/provider-router/src/provider-router.ts +315 -0
- package/packages/provider-router/src/strategies.ts +158 -0
- package/packages/provider-router/src/types.ts +130 -0
- package/packages/provider-selector/src/index.ts +13 -0
- package/packages/provider-selector/src/selector.ts +120 -0
- package/packages/provider-selector/src/types.ts +33 -0
- package/packages/providers/dist/src/adapters.d.ts +133 -0
- package/packages/providers/dist/src/adapters.js +236 -0
- package/packages/providers/dist/src/deepagents-adapter.d.ts +78 -0
- package/packages/providers/dist/src/deepagents-adapter.js +323 -0
- package/packages/providers/dist/src/glm-usage.d.ts +102 -0
- package/packages/providers/dist/src/glm-usage.js +197 -0
- package/packages/providers/dist/src/index.d.ts +11 -0
- package/packages/providers/dist/src/index.js +11 -0
- package/packages/providers/dist/src/openai-usage.d.ts +103 -0
- package/packages/providers/dist/src/openai-usage.js +208 -0
- package/packages/providers/dist/src/provider-id.d.ts +46 -0
- package/packages/providers/dist/src/provider-id.js +113 -0
- package/packages/providers/src/adapters.ts +362 -0
- package/packages/providers/src/deepagents-adapter.ts +458 -0
- package/packages/providers/src/glm-usage.ts +248 -0
- package/packages/providers/src/index.ts +11 -0
- package/packages/providers/src/openai-usage.ts +263 -0
- package/packages/providers/src/provider-id.ts +129 -0
- package/packages/quota-manager/dist/src/examples/tui-usage-integration.d.ts +35 -0
- package/packages/quota-manager/dist/src/examples/tui-usage-integration.js +73 -0
- package/packages/quota-manager/dist/src/index.d.ts +8 -0
- package/packages/quota-manager/dist/src/index.js +8 -0
- package/packages/quota-manager/dist/src/quota-manager.d.ts +70 -0
- package/packages/quota-manager/dist/src/quota-manager.js +260 -0
- package/packages/quota-manager/dist/src/tui-usage-monitor.d.ts +96 -0
- package/packages/quota-manager/dist/src/tui-usage-monitor.js +268 -0
- package/packages/quota-manager/src/examples/tui-usage-integration.ts +72 -0
- package/packages/quota-manager/src/index.ts +8 -0
- package/packages/quota-manager/src/quota-manager.ts +336 -0
- package/packages/quota-manager/src/tui-usage-monitor.ts +355 -0
- package/packages/rate-limiter/src/index.ts +6 -0
- package/packages/rate-limiter/src/limiter.ts +122 -0
- package/packages/rate-limiter/src/types.ts +41 -0
- package/packages/react-vite-plugin/src/analyzer.ts +226 -0
- package/packages/react-vite-plugin/src/index.ts +39 -0
- package/packages/react-vite-plugin/src/types.ts +28 -0
- package/packages/release-manager/src/changelog.ts +148 -0
- package/packages/release-manager/src/index.ts +21 -0
- package/packages/release-manager/src/types.ts +50 -0
- package/packages/release-manager/src/version.ts +52 -0
- package/packages/requirement-compiler/src/ambiguity-detector.ts +302 -0
- package/packages/requirement-compiler/src/classifier.ts +145 -0
- package/packages/requirement-compiler/src/compiler.ts +328 -0
- package/packages/requirement-compiler/src/extractor.ts +155 -0
- package/packages/requirement-compiler/src/index.ts +36 -0
- package/packages/requirement-compiler/src/normalizer.ts +161 -0
- package/packages/requirement-compiler/src/risk-detector.ts +58 -0
- package/packages/requirement-compiler/src/types.ts +596 -0
- package/packages/runtime/dist/src/command-executor.d.ts +129 -0
- package/packages/runtime/dist/src/command-executor.js +383 -0
- package/packages/runtime/dist/src/index.d.ts +11 -0
- package/packages/runtime/dist/src/index.js +11 -0
- package/packages/runtime/dist/src/local-runtime-agent.d.ts +111 -0
- package/packages/runtime/dist/src/local-runtime-agent.js +356 -0
- package/packages/runtime/dist/src/policy-engine.d.ts +203 -0
- package/packages/runtime/dist/src/policy-engine.js +592 -0
- package/packages/runtime/dist/src/runtime-api.d.ts +137 -0
- package/packages/runtime/dist/src/runtime-api.js +454 -0
- package/packages/runtime/dist/src/workspace-manager.d.ts +162 -0
- package/packages/runtime/dist/src/workspace-manager.js +451 -0
- package/packages/runtime/src/command-executor.ts +523 -0
- package/packages/runtime/src/index.ts +11 -0
- package/packages/runtime/src/local-runtime-agent.ts +480 -0
- package/packages/runtime/src/policy-engine.ts +813 -0
- package/packages/runtime/src/runtime-api.ts +665 -0
- package/packages/runtime/src/workspace-manager.ts +591 -0
- package/packages/scheduler/src/scheduler.ts +50 -0
- package/packages/scheduler-adapter/src/cron.ts +123 -0
- package/packages/scheduler-adapter/src/index.ts +9 -0
- package/packages/scheduler-adapter/src/interface.ts +61 -0
- package/packages/scheduler-adapter/src/internal.ts +99 -0
- package/packages/scheduler-adapter/src/systemd.ts +221 -0
- package/packages/session/src/history.ts +353 -0
- package/packages/session/src/index.ts +53 -0
- package/packages/session/src/manager.ts +481 -0
- package/packages/session/src/policy.ts +363 -0
- package/packages/session/src/store.ts +348 -0
- package/packages/session/src/types.ts +275 -0
- package/packages/session-api/dist/src/api.d.ts +83 -0
- package/packages/session-api/dist/src/api.js +49 -0
- package/packages/session-api/dist/src/index.d.ts +2 -0
- package/packages/session-api/dist/src/index.js +2 -0
- package/packages/session-api/dist/src/types.d.ts +22 -0
- package/packages/session-api/dist/src/types.js +5 -0
- package/packages/session-api/src/api.ts +117 -0
- package/packages/session-api/src/index.ts +1 -0
- package/packages/session-api/src/types.ts +23 -0
- package/packages/session-export/dist/src/exporter.d.ts +28 -0
- package/packages/session-export/dist/src/exporter.js +42 -0
- package/packages/session-export/dist/src/index.d.ts +2 -0
- package/packages/session-export/dist/src/index.js +2 -0
- package/packages/session-export/dist/src/types.d.ts +20 -0
- package/packages/session-export/dist/src/types.js +5 -0
- package/packages/session-export/src/exporter.ts +81 -0
- package/packages/session-export/src/index.ts +1 -0
- package/packages/session-export/src/types.ts +22 -0
- package/packages/shared-context/src/index.ts +7 -0
- package/packages/shared-context/src/shared-context.ts +42 -0
- package/packages/skill-registry/src/defaults.ts +146 -0
- package/packages/skill-registry/src/index.ts +48 -0
- package/packages/skill-registry/src/matching.ts +118 -0
- package/packages/skill-registry/src/registry.ts +211 -0
- package/packages/skill-registry/src/types.ts +97 -0
- package/packages/sprint-planner/src/decomposer.ts +57 -0
- package/packages/sprint-planner/src/index.ts +16 -0
- package/packages/sprint-planner/src/planner.ts +150 -0
- package/packages/sprint-planner/src/types.ts +59 -0
- package/packages/subscription-engine/dist/src/engine.d.ts +13 -0
- package/packages/subscription-engine/dist/src/engine.js +40 -0
- package/packages/subscription-engine/dist/src/index.d.ts +2 -0
- package/packages/subscription-engine/dist/src/index.js +2 -0
- package/packages/subscription-engine/dist/src/subscriptions.d.ts +19 -0
- package/packages/subscription-engine/dist/src/subscriptions.js +39 -0
- package/packages/subscription-engine/dist/src/types.d.ts +24 -0
- package/packages/subscription-engine/dist/src/types.js +5 -0
- package/packages/subscription-engine/src/engine.ts +55 -0
- package/packages/subscription-engine/src/index.ts +6 -0
- package/packages/subscription-engine/src/subscriptions.ts +55 -0
- package/packages/subscription-engine/src/types.ts +27 -0
- package/packages/task-compiler/src/command-policy.ts +193 -0
- package/packages/task-compiler/src/compiler.ts +114 -0
- package/packages/task-compiler/src/decompose.ts +265 -0
- package/packages/task-compiler/src/file-scope.ts +240 -0
- package/packages/task-compiler/src/graph.ts +144 -0
- package/packages/task-compiler/src/index.ts +38 -0
- package/packages/task-compiler/src/types.ts +225 -0
- package/packages/task-compiler/src/validate.ts +218 -0
- package/packages/task-compiler/src/verification.ts +248 -0
- package/packages/tencentdb-memory/src/client.ts +130 -0
- package/packages/tencentdb-memory/src/index.ts +32 -0
- package/packages/tencentdb-memory/src/loader.ts +150 -0
- package/packages/tencentdb-memory/src/mcp-tools.ts +213 -0
- package/packages/tencentdb-memory/src/types.ts +101 -0
- package/packages/tencentdb-sync/src/cli.ts +363 -0
- package/packages/tencentdb-sync/src/client.ts +268 -0
- package/packages/tencentdb-sync/src/config.ts +139 -0
- package/packages/tencentdb-sync/src/index.ts +15 -0
- package/packages/test-data-generator/src/faker-adapter.ts +657 -0
- package/packages/test-data-generator/src/generator.ts +461 -0
- package/packages/test-data-generator/src/index.ts +48 -0
- package/packages/test-data-generator/src/types.ts +421 -0
- package/packages/test-generator/src/generator.ts +144 -0
- package/packages/test-generator/src/index.ts +11 -0
- package/packages/test-generator/src/types.ts +39 -0
- package/packages/todo-bd-sync/src/detector.ts +171 -0
- package/packages/todo-bd-sync/src/extension.ts +129 -0
- package/packages/todo-bd-sync/src/index.ts +401 -0
- package/packages/todo-bd-sync/src/sync.ts +322 -0
- package/packages/todo-bd-sync/src/task-analyzer.ts +314 -0
- package/packages/todo-bd-sync/src/todo-reminder.ts +418 -0
- package/packages/todo-bd-sync/src/types.ts +137 -0
- package/packages/token-estimation/src/index.ts +192 -0
- package/packages/token-optimizer/src/index.ts +15 -0
- package/packages/token-optimizer/src/optimizer.ts +150 -0
- package/packages/token-optimizer/src/types.ts +47 -0
- package/packages/types/src/agent-worker-types.d.ts +206 -0
- package/packages/types/src/agent-worker-types.js +41 -0
- package/packages/types/src/agent-worker-types.ts +264 -0
- package/packages/types/src/ai-providers.d.ts +36 -0
- package/packages/types/src/ai-providers.js +66 -0
- package/packages/types/src/ai-providers.ts +73 -0
- package/packages/types/src/runtime-types.d.ts +418 -0
- package/packages/types/src/runtime-types.js +3 -0
- package/packages/types/src/runtime-types.ts +588 -0
- package/packages/workflow-events/dist/src/events.d.ts +38 -0
- package/packages/workflow-events/dist/src/events.js +55 -0
- package/packages/workflow-events/dist/src/index.d.ts +2 -0
- package/packages/workflow-events/dist/src/index.js +2 -0
- package/packages/workflow-events/dist/src/pipeline.d.ts +21 -0
- package/packages/workflow-events/dist/src/pipeline.js +36 -0
- package/packages/workflow-events/dist/src/types.d.ts +110 -0
- package/packages/workflow-events/dist/src/types.js +5 -0
- package/packages/workflow-events/src/events.ts +86 -0
- package/packages/workflow-events/src/index.ts +19 -0
- package/packages/workflow-events/src/pipeline.ts +41 -0
- package/packages/workflow-events/src/types.d.ts +110 -0
- package/packages/workflow-events/src/types.js +5 -0
- package/packages/workflow-events/src/types.ts +139 -0
- package/packages/workspace-scanner/dist/src/detect.d.ts +3 -0
- package/packages/workspace-scanner/dist/src/detect.js +60 -0
- package/packages/workspace-scanner/dist/src/git.d.ts +7 -0
- package/packages/workspace-scanner/dist/src/git.js +75 -0
- package/packages/workspace-scanner/dist/src/index.d.ts +5 -0
- package/packages/workspace-scanner/dist/src/index.js +4 -0
- package/packages/workspace-scanner/dist/src/scanner.d.ts +11 -0
- package/packages/workspace-scanner/dist/src/scanner.js +59 -0
- package/packages/workspace-scanner/dist/src/types.d.ts +35 -0
- package/packages/workspace-scanner/dist/src/types.js +5 -0
- package/packages/workspace-scanner/src/detect.ts +77 -0
- package/packages/workspace-scanner/src/git.ts +83 -0
- package/packages/workspace-scanner/src/index.ts +9 -0
- package/packages/workspace-scanner/src/scanner.ts +73 -0
- package/packages/workspace-scanner/src/types.ts +48 -0
- package/packages/worktree/dist/src/index.d.ts +7 -0
- package/packages/worktree/dist/src/index.js +7 -0
- package/packages/worktree/dist/src/worktree.d.ts +88 -0
- package/packages/worktree/dist/src/worktree.js +239 -0
- package/packages/worktree/src/index.ts +7 -0
- package/packages/worktree/src/worktree.ts +290 -0
- package/packages/write-review/src/blackboard.ts +249 -0
- package/packages/write-review/src/gate.ts +169 -0
- package/packages/write-review/src/index.ts +18 -0
- package/packages/write-review/src/injection.ts +170 -0
- package/packages/write-review/src/review.ts +206 -0
- package/packages/write-review/src/trigger.ts +133 -0
- package/packages/write-review/src/types.ts +90 -0
- package/proactive-compact.ts +90 -0
- package/prompts/tencentdb-connect.md +35 -0
- package/prompts/tencentdb-setup.md +101 -0
- package/prompts/tencentdb.md +88 -0
- package/renderer.ts +205 -0
- package/skills/harness-runtime/SKILL.md +237 -0
- package/status-parsers.ts +84 -0
- package/tracker.ts +72 -0
- package/windows.ts +121 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK - Builder
|
|
3
|
+
*
|
|
4
|
+
* Fluent API for creating provider adapters.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProviderCapability, ProviderRequest } from "../../types/src/runtime-types.js";
|
|
7
|
+
import type { AdapterResult, AdapterBuilderConfig, ErrorAnalysis, HealthCheckResult, InvokeFunction, ErrorParserFunction, HealthCheckFunction, RateLimitConfig } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Builder class for creating provider adapters
|
|
10
|
+
*/
|
|
11
|
+
export declare class AdapterBuilder {
|
|
12
|
+
private _id;
|
|
13
|
+
private _name;
|
|
14
|
+
private _models;
|
|
15
|
+
private _capabilities;
|
|
16
|
+
private _rateLimits;
|
|
17
|
+
private _defaultModel;
|
|
18
|
+
private _maxTokens;
|
|
19
|
+
private _invokeFn;
|
|
20
|
+
private _errorParserFn;
|
|
21
|
+
private _healthCheckFn;
|
|
22
|
+
constructor(name?: string);
|
|
23
|
+
/**
|
|
24
|
+
* Set the adapter ID
|
|
25
|
+
*/
|
|
26
|
+
id(id: string): AdapterBuilder;
|
|
27
|
+
/**
|
|
28
|
+
* Set the adapter name
|
|
29
|
+
*/
|
|
30
|
+
name(name: string): AdapterBuilder;
|
|
31
|
+
/**
|
|
32
|
+
* Set supported models
|
|
33
|
+
*/
|
|
34
|
+
models(...models: string[]): AdapterBuilder;
|
|
35
|
+
/**
|
|
36
|
+
* Set default model (if different from first model)
|
|
37
|
+
*/
|
|
38
|
+
defaultModel(model: string): AdapterBuilder;
|
|
39
|
+
/**
|
|
40
|
+
* Set capabilities
|
|
41
|
+
*/
|
|
42
|
+
capabilities(...capabilities: ProviderCapability[]): AdapterBuilder;
|
|
43
|
+
/**
|
|
44
|
+
* Set rate limits
|
|
45
|
+
*/
|
|
46
|
+
rateLimits(limits: RateLimitConfig): AdapterBuilder;
|
|
47
|
+
/**
|
|
48
|
+
* Set token limits per model
|
|
49
|
+
*/
|
|
50
|
+
maxTokens(model: string, tokens: number): AdapterBuilder;
|
|
51
|
+
/**
|
|
52
|
+
* Set the invoke function (required)
|
|
53
|
+
*/
|
|
54
|
+
invoke(fn: InvokeFunction): AdapterBuilder;
|
|
55
|
+
/**
|
|
56
|
+
* Set custom error parser
|
|
57
|
+
*/
|
|
58
|
+
parseError(fn: ErrorParserFunction): AdapterBuilder;
|
|
59
|
+
/**
|
|
60
|
+
* Set health check function
|
|
61
|
+
*/
|
|
62
|
+
healthCheck(fn: HealthCheckFunction): AdapterBuilder;
|
|
63
|
+
/**
|
|
64
|
+
* Validate and build the adapter
|
|
65
|
+
*/
|
|
66
|
+
build(): BuiltAdapter;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Configuration for BuiltAdapter
|
|
70
|
+
*/
|
|
71
|
+
interface BuiltAdapterConfig {
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
models: string[];
|
|
75
|
+
capabilities: ProviderCapability[];
|
|
76
|
+
rateLimits: RateLimitConfig;
|
|
77
|
+
defaultModel: string;
|
|
78
|
+
maxTokens: Record<string, number>;
|
|
79
|
+
invokeFn: InvokeFunction;
|
|
80
|
+
errorParserFn: ErrorParserFunction;
|
|
81
|
+
healthCheckFn?: HealthCheckFunction;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Built adapter instance
|
|
85
|
+
*/
|
|
86
|
+
export declare class BuiltAdapter {
|
|
87
|
+
readonly id: string;
|
|
88
|
+
readonly name: string;
|
|
89
|
+
private readonly _models;
|
|
90
|
+
private readonly _capabilities;
|
|
91
|
+
private readonly _rateLimits;
|
|
92
|
+
private readonly _defaultModel;
|
|
93
|
+
private readonly _maxTokens;
|
|
94
|
+
private readonly _invokeFn;
|
|
95
|
+
private readonly _errorParserFn;
|
|
96
|
+
private readonly _healthCheckFn?;
|
|
97
|
+
constructor(config: BuiltAdapterConfig);
|
|
98
|
+
/**
|
|
99
|
+
* Get supported models
|
|
100
|
+
*/
|
|
101
|
+
getModels(): string[];
|
|
102
|
+
/**
|
|
103
|
+
* Get capabilities
|
|
104
|
+
*/
|
|
105
|
+
getCapabilities(): ProviderCapability[];
|
|
106
|
+
/**
|
|
107
|
+
* Get rate limits
|
|
108
|
+
*/
|
|
109
|
+
getRateLimits(): RateLimitConfig;
|
|
110
|
+
/**
|
|
111
|
+
* Check if model is supported
|
|
112
|
+
*/
|
|
113
|
+
supportsModel(model: string): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Get default model
|
|
116
|
+
*/
|
|
117
|
+
getDefaultModel(): string;
|
|
118
|
+
/**
|
|
119
|
+
* Get max tokens for a model
|
|
120
|
+
*/
|
|
121
|
+
getMaxTokens(model?: string): number;
|
|
122
|
+
/**
|
|
123
|
+
* Invoke the adapter
|
|
124
|
+
*/
|
|
125
|
+
invoke(request: ProviderRequest): Promise<AdapterResult>;
|
|
126
|
+
/**
|
|
127
|
+
* Parse an error
|
|
128
|
+
*/
|
|
129
|
+
parseError(error: unknown): ErrorAnalysis;
|
|
130
|
+
/**
|
|
131
|
+
* Health check
|
|
132
|
+
*/
|
|
133
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
134
|
+
/**
|
|
135
|
+
* Convert to adapter info for registry
|
|
136
|
+
*/
|
|
137
|
+
toConfig(): AdapterBuilderConfig;
|
|
138
|
+
}
|
|
139
|
+
export {};
|
|
140
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK - Builder
|
|
3
|
+
*
|
|
4
|
+
* Fluent API for creating provider adapters.
|
|
5
|
+
*/
|
|
6
|
+
import { BuilderValidationError } from "./errors.js";
|
|
7
|
+
/**
|
|
8
|
+
* Token limits for common model families
|
|
9
|
+
*/
|
|
10
|
+
const DEFAULT_TOKEN_LIMITS = {
|
|
11
|
+
// MiniMax
|
|
12
|
+
"minimax/MiniMax-M3": 32768,
|
|
13
|
+
"minimax/MiniMax-Text-01": 1000000,
|
|
14
|
+
// Anthropic
|
|
15
|
+
"anthropic/claude-3-5-sonnet": 200000,
|
|
16
|
+
"anthropic/claude-3-5-haiku": 200000,
|
|
17
|
+
"anthropic/claude-3-opus": 200000,
|
|
18
|
+
"anthropic/claude-3-sonnet": 200000,
|
|
19
|
+
"anthropic/claude-3-haiku": 200000,
|
|
20
|
+
"anthropic/claude-2.1": 200000,
|
|
21
|
+
"anthropic/claude-2": 100000,
|
|
22
|
+
"anthropic/claude-instant": 100000,
|
|
23
|
+
// OpenAI
|
|
24
|
+
"openai/gpt-4o": 128000,
|
|
25
|
+
"openai/gpt-4-turbo": 128000,
|
|
26
|
+
"openai/gpt-4": 128000,
|
|
27
|
+
"openai/gpt-3.5-turbo": 16385,
|
|
28
|
+
// Google
|
|
29
|
+
"google/gemini-1.5-pro": 128000,
|
|
30
|
+
"google/gemini-1.5-flash": 128000,
|
|
31
|
+
// Default
|
|
32
|
+
default: 4096,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Default error parser for unknown providers
|
|
36
|
+
*/
|
|
37
|
+
const defaultErrorParser = (error) => {
|
|
38
|
+
const e = error;
|
|
39
|
+
const msg = String(e.message ?? e.error ?? "").toLowerCase();
|
|
40
|
+
const code = String(e.code ?? "");
|
|
41
|
+
return {
|
|
42
|
+
quotaExceeded: code === "insufficient_quota" ||
|
|
43
|
+
code === "context_length_exceeded" ||
|
|
44
|
+
msg.includes("quota"),
|
|
45
|
+
rateLimited: code === "rate_limit_exceeded" ||
|
|
46
|
+
msg.includes("429") ||
|
|
47
|
+
msg.includes("rate limit"),
|
|
48
|
+
timeout: msg.includes("timeout") || msg.includes("timed out"),
|
|
49
|
+
serverError: code.startsWith("5") || msg.includes("500"),
|
|
50
|
+
clientError: code.startsWith("4") && !code.startsWith("429"),
|
|
51
|
+
message: String(e.message ?? e.error ?? "Unknown error"),
|
|
52
|
+
code,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Builder class for creating provider adapters
|
|
57
|
+
*/
|
|
58
|
+
export class AdapterBuilder {
|
|
59
|
+
_id;
|
|
60
|
+
_name;
|
|
61
|
+
_models = [];
|
|
62
|
+
_capabilities = [];
|
|
63
|
+
_rateLimits = {};
|
|
64
|
+
_defaultModel;
|
|
65
|
+
_maxTokens = {};
|
|
66
|
+
_invokeFn;
|
|
67
|
+
_errorParserFn = defaultErrorParser;
|
|
68
|
+
_healthCheckFn;
|
|
69
|
+
constructor(name) {
|
|
70
|
+
if (name) {
|
|
71
|
+
this._name = name;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Set the adapter ID
|
|
76
|
+
*/
|
|
77
|
+
id(id) {
|
|
78
|
+
if (!id || id.trim() === "") {
|
|
79
|
+
throw new BuilderValidationError("Adapter ID cannot be empty", "id");
|
|
80
|
+
}
|
|
81
|
+
this._id = id.toLowerCase();
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Set the adapter name
|
|
86
|
+
*/
|
|
87
|
+
name(name) {
|
|
88
|
+
if (!name || name.trim() === "") {
|
|
89
|
+
throw new BuilderValidationError("Adapter name cannot be empty", "name");
|
|
90
|
+
}
|
|
91
|
+
this._name = name;
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Set supported models
|
|
96
|
+
*/
|
|
97
|
+
models(...models) {
|
|
98
|
+
if (models.length === 0) {
|
|
99
|
+
throw new BuilderValidationError("At least one model must be specified", "models");
|
|
100
|
+
}
|
|
101
|
+
this._models = models;
|
|
102
|
+
if (!this._defaultModel) {
|
|
103
|
+
this._defaultModel = models[0];
|
|
104
|
+
}
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Set default model (if different from first model)
|
|
109
|
+
*/
|
|
110
|
+
defaultModel(model) {
|
|
111
|
+
if (!this._models.includes(model)) {
|
|
112
|
+
throw new BuilderValidationError(`Default model '${model}' must be in the models list`, "defaultModel");
|
|
113
|
+
}
|
|
114
|
+
this._defaultModel = model;
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Set capabilities
|
|
119
|
+
*/
|
|
120
|
+
capabilities(...capabilities) {
|
|
121
|
+
this._capabilities = capabilities;
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Set rate limits
|
|
126
|
+
*/
|
|
127
|
+
rateLimits(limits) {
|
|
128
|
+
this._rateLimits = limits;
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Set token limits per model
|
|
133
|
+
*/
|
|
134
|
+
maxTokens(model, tokens) {
|
|
135
|
+
this._maxTokens[model] = tokens;
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Set the invoke function (required)
|
|
140
|
+
*/
|
|
141
|
+
invoke(fn) {
|
|
142
|
+
if (typeof fn !== "function") {
|
|
143
|
+
throw new BuilderValidationError("Invoke must be a function", "invoke");
|
|
144
|
+
}
|
|
145
|
+
this._invokeFn = fn;
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Set custom error parser
|
|
150
|
+
*/
|
|
151
|
+
parseError(fn) {
|
|
152
|
+
if (typeof fn !== "function") {
|
|
153
|
+
throw new BuilderValidationError("parseError must be a function", "parseError");
|
|
154
|
+
}
|
|
155
|
+
this._errorParserFn = fn;
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Set health check function
|
|
160
|
+
*/
|
|
161
|
+
healthCheck(fn) {
|
|
162
|
+
if (typeof fn !== "function") {
|
|
163
|
+
throw new BuilderValidationError("healthCheck must be a function", "healthCheck");
|
|
164
|
+
}
|
|
165
|
+
this._healthCheckFn = fn;
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Validate and build the adapter
|
|
170
|
+
*/
|
|
171
|
+
build() {
|
|
172
|
+
// Validate required fields
|
|
173
|
+
if (!this._id) {
|
|
174
|
+
throw new BuilderValidationError("Adapter ID is required", "id");
|
|
175
|
+
}
|
|
176
|
+
if (!this._name) {
|
|
177
|
+
throw new BuilderValidationError("Adapter name is required", "name");
|
|
178
|
+
}
|
|
179
|
+
if (!this._invokeFn) {
|
|
180
|
+
throw new BuilderValidationError("Invoke function is required", "invoke");
|
|
181
|
+
}
|
|
182
|
+
return new BuiltAdapter({
|
|
183
|
+
id: this._id,
|
|
184
|
+
name: this._name,
|
|
185
|
+
models: this._models,
|
|
186
|
+
capabilities: this._capabilities,
|
|
187
|
+
rateLimits: this._rateLimits,
|
|
188
|
+
defaultModel: this._defaultModel ?? this._models[0],
|
|
189
|
+
maxTokens: { ...DEFAULT_TOKEN_LIMITS, ...this._maxTokens },
|
|
190
|
+
invokeFn: this._invokeFn,
|
|
191
|
+
errorParserFn: this._errorParserFn,
|
|
192
|
+
healthCheckFn: this._healthCheckFn,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Built adapter instance
|
|
198
|
+
*/
|
|
199
|
+
export class BuiltAdapter {
|
|
200
|
+
id;
|
|
201
|
+
name;
|
|
202
|
+
_models;
|
|
203
|
+
_capabilities;
|
|
204
|
+
_rateLimits;
|
|
205
|
+
_defaultModel;
|
|
206
|
+
_maxTokens;
|
|
207
|
+
_invokeFn;
|
|
208
|
+
_errorParserFn;
|
|
209
|
+
_healthCheckFn;
|
|
210
|
+
constructor(config) {
|
|
211
|
+
this.id = config.id;
|
|
212
|
+
this.name = config.name;
|
|
213
|
+
this._models = config.models;
|
|
214
|
+
this._capabilities = config.capabilities;
|
|
215
|
+
this._rateLimits = config.rateLimits;
|
|
216
|
+
this._defaultModel = config.defaultModel;
|
|
217
|
+
this._maxTokens = config.maxTokens;
|
|
218
|
+
this._invokeFn = config.invokeFn;
|
|
219
|
+
this._errorParserFn = config.errorParserFn;
|
|
220
|
+
this._healthCheckFn = config.healthCheckFn;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get supported models
|
|
224
|
+
*/
|
|
225
|
+
getModels() {
|
|
226
|
+
return [...this._models];
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get capabilities
|
|
230
|
+
*/
|
|
231
|
+
getCapabilities() {
|
|
232
|
+
return [...this._capabilities];
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Get rate limits
|
|
236
|
+
*/
|
|
237
|
+
getRateLimits() {
|
|
238
|
+
return { ...this._rateLimits };
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Check if model is supported
|
|
242
|
+
*/
|
|
243
|
+
supportsModel(model) {
|
|
244
|
+
return this._models.some((m) => m.toLowerCase() === model.toLowerCase());
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get default model
|
|
248
|
+
*/
|
|
249
|
+
getDefaultModel() {
|
|
250
|
+
return this._defaultModel;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get max tokens for a model
|
|
254
|
+
*/
|
|
255
|
+
getMaxTokens(model) {
|
|
256
|
+
const modelToCheck = model ?? this._defaultModel;
|
|
257
|
+
// Try exact match first
|
|
258
|
+
if (this._maxTokens[modelToCheck]) {
|
|
259
|
+
return this._maxTokens[modelToCheck];
|
|
260
|
+
}
|
|
261
|
+
// Try to find a prefix match
|
|
262
|
+
for (const [key, value] of Object.entries(this._maxTokens)) {
|
|
263
|
+
if (modelToCheck?.toLowerCase().startsWith(key.toLowerCase())) {
|
|
264
|
+
return value;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return this._maxTokens.default ?? 4096;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Invoke the adapter
|
|
271
|
+
*/
|
|
272
|
+
async invoke(request) {
|
|
273
|
+
const start = Date.now();
|
|
274
|
+
try {
|
|
275
|
+
const response = await this._invokeFn(request);
|
|
276
|
+
return {
|
|
277
|
+
response,
|
|
278
|
+
retryable: false,
|
|
279
|
+
latencyMs: Date.now() - start,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
const errorAnalysis = this._errorParserFn(error);
|
|
284
|
+
const latencyMs = Date.now() - start;
|
|
285
|
+
return {
|
|
286
|
+
response: {
|
|
287
|
+
content: "",
|
|
288
|
+
error: errorAnalysis.message,
|
|
289
|
+
},
|
|
290
|
+
quotaSignal: errorAnalysis.quotaSignal,
|
|
291
|
+
retryable: errorAnalysis.rateLimited ||
|
|
292
|
+
errorAnalysis.serverError ||
|
|
293
|
+
errorAnalysis.timeout,
|
|
294
|
+
latencyMs,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Parse an error
|
|
300
|
+
*/
|
|
301
|
+
parseError(error) {
|
|
302
|
+
return this._errorParserFn(error);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Health check
|
|
306
|
+
*/
|
|
307
|
+
async healthCheck() {
|
|
308
|
+
if (this._healthCheckFn) {
|
|
309
|
+
return this._healthCheckFn();
|
|
310
|
+
}
|
|
311
|
+
// Default health check - just return healthy
|
|
312
|
+
return {
|
|
313
|
+
healthy: true,
|
|
314
|
+
timestamp: new Date().toISOString(),
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Convert to adapter info for registry
|
|
319
|
+
*/
|
|
320
|
+
toConfig() {
|
|
321
|
+
return {
|
|
322
|
+
id: this.id,
|
|
323
|
+
name: this.name,
|
|
324
|
+
models: this._models,
|
|
325
|
+
capabilities: this._capabilities,
|
|
326
|
+
rateLimits: this._rateLimits,
|
|
327
|
+
defaultModel: this._defaultModel,
|
|
328
|
+
maxTokens: this._maxTokens,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK - Errors
|
|
3
|
+
*
|
|
4
|
+
* Custom error classes for the adapter SDK.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base error for adapter SDK
|
|
8
|
+
*/
|
|
9
|
+
export declare class AdapterError extends Error {
|
|
10
|
+
readonly code: string;
|
|
11
|
+
readonly details?: Record<string, unknown> | undefined;
|
|
12
|
+
constructor(message: string, code: string, details?: Record<string, unknown> | undefined);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Thrown when an adapter is not found in registry
|
|
16
|
+
*/
|
|
17
|
+
export declare class AdapterNotFoundError extends AdapterError {
|
|
18
|
+
constructor(adapterId: string);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Thrown when an adapter is already registered
|
|
22
|
+
*/
|
|
23
|
+
export declare class AdapterAlreadyRegisteredError extends AdapterError {
|
|
24
|
+
constructor(adapterId: string);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Thrown when adapter invocation fails
|
|
28
|
+
*/
|
|
29
|
+
export declare class AdapterInvocationError extends AdapterError {
|
|
30
|
+
readonly adapterId: string;
|
|
31
|
+
readonly retryable: boolean;
|
|
32
|
+
readonly originalError?: unknown;
|
|
33
|
+
constructor(message: string, adapterId: string, retryable: boolean, originalError?: unknown);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Thrown when a model is not supported
|
|
37
|
+
*/
|
|
38
|
+
export declare class ModelNotSupportedError extends AdapterError {
|
|
39
|
+
constructor(model: string, adapterId: string, supportedModels: string[]);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Thrown when adapter is not in expected state
|
|
43
|
+
*/
|
|
44
|
+
export declare class AdapterStateError extends AdapterError {
|
|
45
|
+
constructor(adapterId: string, expectedState: string, actualState: string);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Thrown when compatibility check fails
|
|
49
|
+
*/
|
|
50
|
+
export declare class CompatibilityError extends AdapterError {
|
|
51
|
+
constructor(adapterId: string, issues: string[], sdkVersion: string, runtimeVersion?: string);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Thrown when test fails
|
|
55
|
+
*/
|
|
56
|
+
export declare class TestFailureError extends AdapterError {
|
|
57
|
+
constructor(adapterId: string, testName: string, message: string, error?: unknown);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Thrown when builder validation fails
|
|
61
|
+
*/
|
|
62
|
+
export declare class BuilderValidationError extends AdapterError {
|
|
63
|
+
constructor(message: string, field: string);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Thrown when lifecycle hook fails
|
|
67
|
+
*/
|
|
68
|
+
export declare class LifecycleError extends AdapterError {
|
|
69
|
+
constructor(hook: string, adapterId: string, originalError: unknown);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK - Errors
|
|
3
|
+
*
|
|
4
|
+
* Custom error classes for the adapter SDK.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base error for adapter SDK
|
|
8
|
+
*/
|
|
9
|
+
export class AdapterError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
details;
|
|
12
|
+
constructor(message, code, details) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.details = details;
|
|
16
|
+
this.name = "AdapterError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Thrown when an adapter is not found in registry
|
|
21
|
+
*/
|
|
22
|
+
export class AdapterNotFoundError extends AdapterError {
|
|
23
|
+
constructor(adapterId) {
|
|
24
|
+
super(`Adapter '${adapterId}' not found in registry`, "ADAPTER_NOT_FOUND", {
|
|
25
|
+
adapterId,
|
|
26
|
+
});
|
|
27
|
+
this.name = "AdapterNotFoundError";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Thrown when an adapter is already registered
|
|
32
|
+
*/
|
|
33
|
+
export class AdapterAlreadyRegisteredError extends AdapterError {
|
|
34
|
+
constructor(adapterId) {
|
|
35
|
+
super(`Adapter '${adapterId}' is already registered`, "ADAPTER_ALREADY_REGISTERED", { adapterId });
|
|
36
|
+
this.name = "AdapterAlreadyRegisteredError";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Thrown when adapter invocation fails
|
|
41
|
+
*/
|
|
42
|
+
export class AdapterInvocationError extends AdapterError {
|
|
43
|
+
adapterId;
|
|
44
|
+
retryable;
|
|
45
|
+
originalError;
|
|
46
|
+
constructor(message, adapterId, retryable, originalError) {
|
|
47
|
+
super(message, "ADAPTER_INVOCATION_ERROR", {
|
|
48
|
+
adapterId,
|
|
49
|
+
retryable,
|
|
50
|
+
});
|
|
51
|
+
this.adapterId = adapterId;
|
|
52
|
+
this.retryable = retryable;
|
|
53
|
+
this.originalError = originalError;
|
|
54
|
+
this.name = "AdapterInvocationError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Thrown when a model is not supported
|
|
59
|
+
*/
|
|
60
|
+
export class ModelNotSupportedError extends AdapterError {
|
|
61
|
+
constructor(model, adapterId, supportedModels) {
|
|
62
|
+
super(`Model '${model}' is not supported by adapter '${adapterId}'`, "MODEL_NOT_SUPPORTED", { model, adapterId, supportedModels });
|
|
63
|
+
this.name = "ModelNotSupportedError";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Thrown when adapter is not in expected state
|
|
68
|
+
*/
|
|
69
|
+
export class AdapterStateError extends AdapterError {
|
|
70
|
+
constructor(adapterId, expectedState, actualState) {
|
|
71
|
+
super(`Adapter '${adapterId}' is in state '${actualState}', expected '${expectedState}'`, "ADAPTER_STATE_ERROR", { adapterId, expectedState, actualState });
|
|
72
|
+
this.name = "AdapterStateError";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Thrown when compatibility check fails
|
|
77
|
+
*/
|
|
78
|
+
export class CompatibilityError extends AdapterError {
|
|
79
|
+
constructor(adapterId, issues, sdkVersion, runtimeVersion) {
|
|
80
|
+
super(`Adapter '${adapterId}' is not compatible: ${issues.join(", ")}`, "COMPATIBILITY_ERROR", { adapterId, issues, sdkVersion, runtimeVersion });
|
|
81
|
+
this.name = "CompatibilityError";
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Thrown when test fails
|
|
86
|
+
*/
|
|
87
|
+
export class TestFailureError extends AdapterError {
|
|
88
|
+
constructor(adapterId, testName, message, error) {
|
|
89
|
+
super(`Test '${testName}' failed for adapter '${adapterId}': ${message}`, "TEST_FAILURE", { adapterId, testName, originalError: error });
|
|
90
|
+
this.name = "TestFailureError";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Thrown when builder validation fails
|
|
95
|
+
*/
|
|
96
|
+
export class BuilderValidationError extends AdapterError {
|
|
97
|
+
constructor(message, field) {
|
|
98
|
+
super(message, "BUILDER_VALIDATION_ERROR", { field });
|
|
99
|
+
this.name = "BuilderValidationError";
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Thrown when lifecycle hook fails
|
|
104
|
+
*/
|
|
105
|
+
export class LifecycleError extends AdapterError {
|
|
106
|
+
constructor(hook, adapterId, originalError) {
|
|
107
|
+
super(`Lifecycle hook '${hook}' failed for adapter '${adapterId}'`, "LIFECYCLE_ERROR", { hook, adapterId, originalError });
|
|
108
|
+
this.name = "LifecycleError";
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK
|
|
3
|
+
*
|
|
4
|
+
* A comprehensive SDK for building, testing, and registering provider adapters.
|
|
5
|
+
*/
|
|
6
|
+
export { AdapterBuilder, BuiltAdapter } from "./builder.js";
|
|
7
|
+
export { AdapterRegistry, type RegistryConfig } from "./registry.js";
|
|
8
|
+
export { AdapterTester, assertTestResults, } from "./tester.js";
|
|
9
|
+
export type { AdapterVersion, AdapterResult, ErrorAnalysis, QuotaSignal, RateLimitConfig, AdapterBuilderConfig, InvokeFunction, ErrorParserFunction, HealthCheckFunction, HealthCheckResult, AdapterInfo, AdapterLifecycle, AdapterState, CompatibilityResult, TestConfig, TestResult, TestReport, MockResponse, RegistryEvents, ProviderCapability, ProviderRequest, ProviderResponse, } from "./types.js";
|
|
10
|
+
export { AdapterError, AdapterNotFoundError, AdapterAlreadyRegisteredError, AdapterInvocationError, ModelNotSupportedError, AdapterStateError, CompatibilityError, TestFailureError, BuilderValidationError, LifecycleError, } from "./errors.js";
|
|
11
|
+
/**
|
|
12
|
+
* SDK version
|
|
13
|
+
*/
|
|
14
|
+
export { SDK_VERSION, SDK_VERSION as ADAPTER_SDK_VERSION } from "./types.js";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Adapter SDK
|
|
3
|
+
*
|
|
4
|
+
* A comprehensive SDK for building, testing, and registering provider adapters.
|
|
5
|
+
*/
|
|
6
|
+
// ─── Builder ────────────────────────────────────────────────────────────────
|
|
7
|
+
export { AdapterBuilder, BuiltAdapter } from "./builder.js";
|
|
8
|
+
// ─── Registry ────────────────────────────────────────────────────────────────
|
|
9
|
+
export { AdapterRegistry } from "./registry.js";
|
|
10
|
+
// ─── Tester ─────────────────────────────────────────────────────────────────
|
|
11
|
+
export { AdapterTester, assertTestResults, } from "./tester.js";
|
|
12
|
+
// ─── Errors ─────────────────────────────────────────────────────────────────
|
|
13
|
+
export { AdapterError, AdapterNotFoundError, AdapterAlreadyRegisteredError, AdapterInvocationError, ModelNotSupportedError, AdapterStateError, CompatibilityError, TestFailureError, BuilderValidationError, LifecycleError, } from "./errors.js";
|
|
14
|
+
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
15
|
+
/**
|
|
16
|
+
* SDK version
|
|
17
|
+
*/
|
|
18
|
+
export { SDK_VERSION, SDK_VERSION as ADAPTER_SDK_VERSION } from "./types.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|