@zhixuan92/multi-model-agent-core 4.3.1 → 4.5.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/README.md +13 -24
- package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
- package/dist/bounded-execution/cost-compute.js +10 -0
- package/dist/bounded-execution/cost-compute.js.map +1 -1
- package/dist/bounded-execution/index.d.ts +1 -0
- package/dist/bounded-execution/index.d.ts.map +1 -1
- package/dist/bounded-execution/index.js +1 -0
- package/dist/bounded-execution/index.js.map +1 -1
- package/dist/bounded-execution/progress-watchdog.d.ts +43 -0
- package/dist/bounded-execution/progress-watchdog.d.ts.map +1 -0
- package/dist/bounded-execution/progress-watchdog.js +137 -0
- package/dist/bounded-execution/progress-watchdog.js.map +1 -0
- package/dist/config/config-resolver.d.ts +6 -4
- package/dist/config/config-resolver.d.ts.map +1 -1
- package/dist/config/config-resolver.js +7 -6
- package/dist/config/config-resolver.js.map +1 -1
- package/dist/config/schema.d.ts +12 -76
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +15 -18
- package/dist/config/schema.js.map +1 -1
- package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
- package/dist/escalation/delegate-with-escalation.js +35 -38
- package/dist/escalation/delegate-with-escalation.js.map +1 -1
- package/dist/escalation/escalation-policy.d.ts +1 -1
- package/dist/escalation/escalation-policy.d.ts.map +1 -1
- package/dist/escalation/escalation-policy.js +0 -1
- package/dist/escalation/escalation-policy.js.map +1 -1
- package/dist/events/clamp.d.ts.map +1 -1
- package/dist/events/clamp.js +17 -6
- package/dist/events/clamp.js.map +1 -1
- package/dist/events/cloud-events.d.ts +1 -3
- package/dist/events/cloud-events.d.ts.map +1 -1
- package/dist/events/event-builder.d.ts +3 -1
- package/dist/events/event-builder.d.ts.map +1 -1
- package/dist/events/event-builder.js +14 -3
- package/dist/events/event-builder.js.map +1 -1
- package/dist/events/observability-events.d.ts +347 -25
- package/dist/events/observability-events.d.ts.map +1 -1
- package/dist/events/observability-events.js +135 -0
- package/dist/events/observability-events.js.map +1 -1
- package/dist/events/running-headline-sink.d.ts +2 -1
- package/dist/events/running-headline-sink.d.ts.map +1 -1
- package/dist/events/running-headline-sink.js.map +1 -1
- package/dist/events/telemetry-types.d.ts +57 -23
- package/dist/events/telemetry-types.d.ts.map +1 -1
- package/dist/events/telemetry-types.js +18 -14
- package/dist/events/telemetry-types.js.map +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/intake/field-inferer.js +5 -5
- package/dist/intake/field-inferer.js.map +1 -1
- package/dist/intake/source-schema.js +1 -1
- package/dist/intake/source-schema.js.map +1 -1
- package/dist/intake/types.d.ts +1 -1
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/intake/verify-command-validator.d.ts +6 -0
- package/dist/intake/verify-command-validator.d.ts.map +1 -0
- package/dist/intake/verify-command-validator.js +47 -0
- package/dist/intake/verify-command-validator.js.map +1 -0
- package/dist/lifecycle/findings-parser.d.ts +9 -0
- package/dist/lifecycle/findings-parser.d.ts.map +1 -0
- package/dist/lifecycle/findings-parser.js +47 -0
- package/dist/lifecycle/findings-parser.js.map +1 -0
- package/dist/lifecycle/handlers/annotator.d.ts +35 -0
- package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
- package/dist/lifecycle/handlers/annotator.js +59 -0
- package/dist/lifecycle/handlers/annotator.js.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +30 -37
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.js +148 -53
- package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
- package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
- package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
- package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
- package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/review-handler.js +84 -90
- package/dist/lifecycle/handlers/review-handler.js.map +1 -1
- package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/rework-handler.js +79 -25
- package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
- package/dist/lifecycle/handlers/task-executor.d.ts +2 -3
- package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/handlers/task-executor.js +90 -8
- package/dist/lifecycle/handlers/task-executor.js.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +4 -1
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +14 -0
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
- package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.js +36 -142
- package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
- package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
- package/dist/lifecycle/read-only-subtype-spec.js +2 -0
- package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
- package/dist/lifecycle/real-diff.d.ts +7 -0
- package/dist/lifecycle/real-diff.d.ts.map +1 -0
- package/dist/lifecycle/real-diff.js +54 -0
- package/dist/lifecycle/real-diff.js.map +1 -0
- package/dist/lifecycle/scope-match.d.ts +7 -0
- package/dist/lifecycle/scope-match.d.ts.map +1 -0
- package/dist/lifecycle/scope-match.js +28 -0
- package/dist/lifecycle/scope-match.js.map +1 -0
- package/dist/lifecycle/stage-labels.d.ts +22 -0
- package/dist/lifecycle/stage-labels.d.ts.map +1 -0
- package/dist/lifecycle/stage-labels.js +42 -0
- package/dist/lifecycle/stage-labels.js.map +1 -0
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +25 -54
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +5 -23
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.js +14 -14
- package/dist/lifecycle/stage-progression.js.map +1 -1
- package/dist/lifecycle/stage-stats.js +1 -1
- package/dist/lifecycle/stage-stats.js.map +1 -1
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +20 -17
- package/dist/lifecycle/task-executor.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +114 -72
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/lifecycle/tool-config-types.d.ts +1 -2
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
- package/dist/lifecycle/warm-followup.d.ts +3 -0
- package/dist/lifecycle/warm-followup.d.ts.map +1 -0
- package/dist/lifecycle/warm-followup.js +16 -0
- package/dist/lifecycle/warm-followup.js.map +1 -0
- package/dist/lifecycle/worker-output-contract.d.ts +26 -0
- package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
- package/dist/lifecycle/worker-output-contract.js +73 -0
- package/dist/lifecycle/worker-output-contract.js.map +1 -0
- package/dist/providers/assemble-run-result.d.ts +17 -0
- package/dist/providers/assemble-run-result.d.ts.map +1 -0
- package/dist/providers/assemble-run-result.js +76 -0
- package/dist/providers/assemble-run-result.js.map +1 -0
- package/dist/providers/brief-preamble.d.ts +4 -0
- package/dist/providers/brief-preamble.d.ts.map +1 -0
- package/dist/providers/brief-preamble.js +39 -0
- package/dist/providers/brief-preamble.js.map +1 -0
- package/dist/providers/claude-session.d.ts +23 -0
- package/dist/providers/claude-session.d.ts.map +1 -0
- package/dist/providers/claude-session.js +185 -0
- package/dist/providers/claude-session.js.map +1 -0
- package/dist/providers/claude.d.ts +4 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +35 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex-cli-event.d.ts +44 -0
- package/dist/providers/codex-cli-event.d.ts.map +1 -0
- package/dist/providers/codex-cli-event.js +43 -0
- package/dist/providers/codex-cli-event.js.map +1 -0
- package/dist/providers/codex-cli-launch.d.ts +26 -0
- package/dist/providers/codex-cli-launch.d.ts.map +1 -0
- package/dist/providers/codex-cli-launch.js +47 -0
- package/dist/providers/codex-cli-launch.js.map +1 -0
- package/dist/providers/codex-cli-session.d.ts +55 -0
- package/dist/providers/codex-cli-session.d.ts.map +1 -0
- package/dist/providers/codex-cli-session.js +417 -0
- package/dist/providers/codex-cli-session.js.map +1 -0
- package/dist/providers/codex.d.ts +4 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +28 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/index.d.ts +0 -12
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -13
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/normalize-claude.d.ts +10 -0
- package/dist/providers/normalize-claude.d.ts.map +1 -0
- package/dist/providers/normalize-claude.js +89 -0
- package/dist/providers/normalize-claude.js.map +1 -0
- package/dist/providers/provider-factory.d.ts +1 -9
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +35 -167
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-adapter.d.ts +5 -16
- package/dist/providers/runner-adapter.d.ts.map +1 -1
- package/dist/providers/runner-adapter.js +6 -0
- package/dist/providers/runner-adapter.js.map +1 -1
- package/dist/providers/runner-types.d.ts +20 -2
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
- package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/research-report.js +28 -67
- package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
- package/dist/review/annotator-engine.d.ts +2 -2
- package/dist/review/annotator-engine.d.ts.map +1 -1
- package/dist/review/annotator-engine.js +16 -20
- package/dist/review/annotator-engine.js.map +1 -1
- package/dist/review/annotator-prompt-builder.d.ts +1 -1
- package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
- package/dist/review/default-engines.d.ts.map +1 -1
- package/dist/review/default-engines.js +2 -4
- package/dist/review/default-engines.js.map +1 -1
- package/dist/review/review-types.d.ts +0 -1
- package/dist/review/review-types.d.ts.map +1 -1
- package/dist/review/reviewer-engine.d.ts +5 -40
- package/dist/review/reviewer-engine.d.ts.map +1 -1
- package/dist/review/reviewer-engine.js +19 -49
- package/dist/review/reviewer-engine.js.map +1 -1
- package/dist/review/reviewer-output-parser.d.ts +1 -6
- package/dist/review/reviewer-output-parser.d.ts.map +1 -1
- package/dist/review/reviewer-output-parser.js +0 -26
- package/dist/review/reviewer-output-parser.js.map +1 -1
- package/dist/review/reviewer-prompt-builder.d.ts +1 -6
- package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
- package/dist/review/reviewer-prompt-builder.js +0 -6
- package/dist/review/reviewer-prompt-builder.js.map +1 -1
- package/dist/review/templates/quality-review.d.ts.map +1 -1
- package/dist/review/templates/quality-review.js +28 -0
- package/dist/review/templates/quality-review.js.map +1 -1
- package/dist/review/templates/rework.d.ts.map +1 -1
- package/dist/review/templates/rework.js +15 -9
- package/dist/review/templates/rework.js.map +1 -1
- package/dist/review/templates/shared.d.ts +9 -0
- package/dist/review/templates/shared.d.ts.map +1 -1
- package/dist/stores/context-block-project-cap.d.ts +1 -1
- package/dist/stores/context-block-project-cap.d.ts.map +1 -1
- package/dist/stores/context-block-project-cap.js +17 -5
- package/dist/stores/context-block-project-cap.js.map +1 -1
- package/dist/stores/file-backed-context-block-store.d.ts +7 -0
- package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
- package/dist/stores/file-backed-context-block-store.js +8 -0
- package/dist/stores/file-backed-context-block-store.js.map +1 -1
- package/dist/tool-surface/discover.d.ts +1 -1
- package/dist/tool-surface/discover.d.ts.map +1 -1
- package/dist/tool-surface/discover.js +0 -1
- package/dist/tool-surface/discover.js.map +1 -1
- package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
- package/dist/tool-surface/openapi-generator.js +0 -2
- package/dist/tool-surface/openapi-generator.js.map +1 -1
- package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
- package/dist/tool-surface/register-all-tools.js +1 -3
- package/dist/tool-surface/register-all-tools.js.map +1 -1
- package/dist/tools/audit/schema.d.ts +4 -4
- package/dist/tools/audit/schema.d.ts.map +1 -1
- package/dist/tools/audit/schema.js +4 -4
- package/dist/tools/audit/schema.js.map +1 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
- package/dist/tools/audit/skill-audit-criteria.js +51 -0
- package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
- package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
- package/dist/tools/audit/spec-audit-criteria.js +52 -0
- package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
- package/dist/tools/audit/subtypes.d.ts +4 -0
- package/dist/tools/audit/subtypes.d.ts.map +1 -0
- package/dist/tools/audit/subtypes.js +67 -0
- package/dist/tools/audit/subtypes.js.map +1 -0
- package/dist/tools/audit/tool-config.d.ts +4 -4
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +32 -30
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/schema.d.ts +3 -0
- package/dist/tools/debug/schema.d.ts.map +1 -1
- package/dist/tools/debug/schema.js +1 -0
- package/dist/tools/debug/schema.js.map +1 -1
- package/dist/tools/debug/subtypes.d.ts +4 -0
- package/dist/tools/debug/subtypes.d.ts.map +1 -0
- package/dist/tools/debug/subtypes.js +25 -0
- package/dist/tools/debug/subtypes.js.map +1 -0
- package/dist/tools/debug/tool-config.js +1 -1
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/delegate/tool-config.d.ts.map +1 -1
- package/dist/tools/delegate/tool-config.js +0 -1
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +5 -2
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/investigate/schema.d.ts +3 -0
- package/dist/tools/investigate/schema.d.ts.map +1 -1
- package/dist/tools/investigate/schema.js +1 -0
- package/dist/tools/investigate/schema.js.map +1 -1
- package/dist/tools/investigate/subtypes.d.ts +4 -0
- package/dist/tools/investigate/subtypes.d.ts.map +1 -0
- package/dist/tools/investigate/subtypes.js +25 -0
- package/dist/tools/investigate/subtypes.js.map +1 -0
- package/dist/tools/investigate/tool-config.js +1 -1
- package/dist/tools/investigate/tool-config.js.map +1 -1
- package/dist/tools/research/implementer-criteria.d.ts +12 -5
- package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/research/implementer-criteria.js +40 -9
- package/dist/tools/research/implementer-criteria.js.map +1 -1
- package/dist/tools/research/schema.d.ts +3 -0
- package/dist/tools/research/schema.d.ts.map +1 -1
- package/dist/tools/research/schema.js +2 -1
- package/dist/tools/research/schema.js.map +1 -1
- package/dist/tools/research/subtypes.d.ts +4 -0
- package/dist/tools/research/subtypes.d.ts.map +1 -0
- package/dist/tools/research/subtypes.js +24 -0
- package/dist/tools/research/subtypes.js.map +1 -0
- package/dist/tools/research/tool-config.js +2 -2
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/review/schema.d.ts +3 -0
- package/dist/tools/review/schema.d.ts.map +1 -1
- package/dist/tools/review/schema.js +1 -0
- package/dist/tools/review/schema.js.map +1 -1
- package/dist/tools/review/subtypes.d.ts +4 -0
- package/dist/tools/review/subtypes.d.ts.map +1 -0
- package/dist/tools/review/subtypes.js +26 -0
- package/dist/tools/review/subtypes.js.map +1 -0
- package/dist/tools/review/tool-config.js +1 -1
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/types/config.d.ts +17 -28
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/enums.d.ts +3 -7
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +4 -4
- package/dist/types/enums.js.map +1 -1
- package/dist/types/run-result.d.ts +56 -21
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/stage-stats.d.ts +1 -1
- package/dist/types/stage-stats.d.ts.map +1 -1
- package/dist/types/task-spec.d.ts +17 -15
- package/dist/types/task-spec.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -3
- package/dist/identity/main-model-resolver.d.ts +0 -14
- package/dist/identity/main-model-resolver.d.ts.map +0 -1
- package/dist/identity/main-model-resolver.js +0 -100
- package/dist/identity/main-model-resolver.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -200
- package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -79
- package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
- package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
- package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
- package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
- package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
- package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
- package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
- package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
- package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
- package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
- package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
- package/dist/providers/anthropic-messages-adapter.js +0 -127
- package/dist/providers/anthropic-messages-adapter.js.map +0 -1
- package/dist/providers/base/research-tools.d.ts +0 -47
- package/dist/providers/base/research-tools.d.ts.map +0 -1
- package/dist/providers/base/research-tools.js +0 -67
- package/dist/providers/base/research-tools.js.map +0 -1
- package/dist/providers/base/result-builders.d.ts +0 -82
- package/dist/providers/base/result-builders.d.ts.map +0 -1
- package/dist/providers/base/result-builders.js +0 -112
- package/dist/providers/base/result-builders.js.map +0 -1
- package/dist/providers/base/time-check.d.ts +0 -9
- package/dist/providers/base/time-check.d.ts.map +0 -1
- package/dist/providers/base/time-check.js +0 -18
- package/dist/providers/base/time-check.js.map +0 -1
- package/dist/providers/base/types.d.ts +0 -53
- package/dist/providers/base/types.d.ts.map +0 -1
- package/dist/providers/base/types.js +0 -2
- package/dist/providers/base/types.js.map +0 -1
- package/dist/providers/base/usage-accumulator.d.ts +0 -9
- package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
- package/dist/providers/base/usage-accumulator.js +0 -20
- package/dist/providers/base/usage-accumulator.js.map +0 -1
- package/dist/providers/call-cache.d.ts +0 -16
- package/dist/providers/call-cache.d.ts.map +0 -1
- package/dist/providers/call-cache.js +0 -28
- package/dist/providers/call-cache.js.map +0 -1
- package/dist/providers/file-tracker.d.ts +0 -80
- package/dist/providers/file-tracker.d.ts.map +0 -1
- package/dist/providers/file-tracker.js +0 -125
- package/dist/providers/file-tracker.js.map +0 -1
- package/dist/providers/injection-type.d.ts +0 -22
- package/dist/providers/injection-type.d.ts.map +0 -1
- package/dist/providers/injection-type.js +0 -34
- package/dist/providers/injection-type.js.map +0 -1
- package/dist/providers/make-runner-shell.d.ts +0 -4
- package/dist/providers/make-runner-shell.d.ts.map +0 -1
- package/dist/providers/make-runner-shell.js +0 -70
- package/dist/providers/make-runner-shell.js.map +0 -1
- package/dist/providers/openai-chat-adapter.d.ts +0 -15
- package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
- package/dist/providers/openai-chat-adapter.js +0 -86
- package/dist/providers/openai-chat-adapter.js.map +0 -1
- package/dist/providers/openai-responses-adapter.d.ts +0 -15
- package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
- package/dist/providers/openai-responses-adapter.js +0 -137
- package/dist/providers/openai-responses-adapter.js.map +0 -1
- package/dist/providers/openai-usage-interceptor.d.ts +0 -25
- package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
- package/dist/providers/openai-usage-interceptor.js +0 -121
- package/dist/providers/openai-usage-interceptor.js.map +0 -1
- package/dist/providers/prevention.d.ts +0 -44
- package/dist/providers/prevention.d.ts.map +0 -1
- package/dist/providers/prevention.js +0 -108
- package/dist/providers/prevention.js.map +0 -1
- package/dist/providers/runner-shell-types.d.ts +0 -91
- package/dist/providers/runner-shell-types.d.ts.map +0 -1
- package/dist/providers/runner-shell-types.js +0 -2
- package/dist/providers/runner-shell-types.js.map +0 -1
- package/dist/providers/runner-shell.d.ts +0 -67
- package/dist/providers/runner-shell.d.ts.map +0 -1
- package/dist/providers/runner-shell.js +0 -518
- package/dist/providers/runner-shell.js.map +0 -1
- package/dist/providers/scratchpad-salvager.d.ts +0 -19
- package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
- package/dist/providers/scratchpad-salvager.js +0 -44
- package/dist/providers/scratchpad-salvager.js.map +0 -1
- package/dist/providers/supervision.d.ts +0 -108
- package/dist/providers/supervision.d.ts.map +0 -1
- package/dist/providers/supervision.js +0 -272
- package/dist/providers/supervision.js.map +0 -1
- package/dist/providers/text-scratchpad.d.ts +0 -28
- package/dist/providers/text-scratchpad.d.ts.map +0 -1
- package/dist/providers/text-scratchpad.js +0 -49
- package/dist/providers/text-scratchpad.js.map +0 -1
- package/dist/providers/tool-definitions.d.ts +0 -6
- package/dist/providers/tool-definitions.d.ts.map +0 -1
- package/dist/providers/tool-definitions.js +0 -236
- package/dist/providers/tool-definitions.js.map +0 -1
- package/dist/providers/tool-implementations.d.ts +0 -38
- package/dist/providers/tool-implementations.d.ts.map +0 -1
- package/dist/providers/tool-implementations.js +0 -254
- package/dist/providers/tool-implementations.js.map +0 -1
- package/dist/providers/tool-tracker.d.ts +0 -14
- package/dist/providers/tool-tracker.d.ts.map +0 -1
- package/dist/providers/tool-tracker.js +0 -13
- package/dist/providers/tool-tracker.js.map +0 -1
- package/dist/reporting/headline-templates/verify.d.ts +0 -3
- package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
- package/dist/reporting/headline-templates/verify.js +0 -29
- package/dist/reporting/headline-templates/verify.js.map +0 -1
- package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
- package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/verify-report.js +0 -51
- package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
- package/dist/review/templates/annotator-verify.d.ts +0 -3
- package/dist/review/templates/annotator-verify.d.ts.map +0 -1
- package/dist/review/templates/annotator-verify.js +0 -21
- package/dist/review/templates/annotator-verify.js.map +0 -1
- package/dist/review/templates/quality-review-verify.d.ts +0 -3
- package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
- package/dist/review/templates/quality-review-verify.js +0 -10
- package/dist/review/templates/quality-review-verify.js.map +0 -1
- package/dist/tools/verify/implementer-criteria.d.ts +0 -61
- package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/verify/implementer-criteria.js +0 -125
- package/dist/tools/verify/implementer-criteria.js.map +0 -1
- package/dist/tools/verify/schema.d.ts +0 -56
- package/dist/tools/verify/schema.d.ts.map +0 -1
- package/dist/tools/verify/schema.js +0 -16
- package/dist/tools/verify/schema.js.map +0 -1
- package/dist/tools/verify/tool-config.d.ts +0 -14
- package/dist/tools/verify/tool-config.d.ts.map +0 -1
- package/dist/tools/verify/tool-config.js +0 -146
- package/dist/tools/verify/tool-config.js.map +0 -1
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { DegenerateKind } from './supervision.js';
|
|
2
|
-
/**
|
|
3
|
-
* Map a supervision `validation.kind` to the `injectionType` label used in
|
|
4
|
-
* the `InternalRunnerEvent` emitted when the runner injects a supervision
|
|
5
|
-
* re-prompt.
|
|
6
|
-
*
|
|
7
|
-
* `fragment` and `no_terminator` collapse onto `supervise_fragment` because
|
|
8
|
-
* they share a re-prompt style (we quote the tail back at the model) and
|
|
9
|
-
* belong to the same observer bucket — distinguishing them on the event
|
|
10
|
-
* stream would just leak an implementation detail of `validateCompletion`.
|
|
11
|
-
*
|
|
12
|
-
* `insufficient_coverage` gets its own distinct type because the re-prompt
|
|
13
|
-
* is structurally different (it lists specific missing items rather than
|
|
14
|
-
* quoting the output tail), so observers benefit from being able to
|
|
15
|
-
* distinguish it without peeking at the re-prompt content.
|
|
16
|
-
*
|
|
17
|
-
* Shared by every runner (openai / claude / codex) per the "3+ concrete use
|
|
18
|
-
* cases" rule — inlining it three times was the prior state. The helper is
|
|
19
|
-
* deliberately free of any runner- or SDK-specific knowledge.
|
|
20
|
-
*/
|
|
21
|
-
export declare function injectionTypeFor(kind: DegenerateKind | undefined): 'supervise_empty' | 'supervise_thinking' | 'supervise_fragment' | 'supervise_insufficient_coverage';
|
|
22
|
-
//# sourceMappingURL=injection-type.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injection-type.d.ts","sourceRoot":"","sources":["../../src/providers/injection-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,GAAG,SAAS,GAE9B,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,iCAAiC,CAcpC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Map a supervision `validation.kind` to the `injectionType` label used in
|
|
3
|
-
* the `InternalRunnerEvent` emitted when the runner injects a supervision
|
|
4
|
-
* re-prompt.
|
|
5
|
-
*
|
|
6
|
-
* `fragment` and `no_terminator` collapse onto `supervise_fragment` because
|
|
7
|
-
* they share a re-prompt style (we quote the tail back at the model) and
|
|
8
|
-
* belong to the same observer bucket — distinguishing them on the event
|
|
9
|
-
* stream would just leak an implementation detail of `validateCompletion`.
|
|
10
|
-
*
|
|
11
|
-
* `insufficient_coverage` gets its own distinct type because the re-prompt
|
|
12
|
-
* is structurally different (it lists specific missing items rather than
|
|
13
|
-
* quoting the output tail), so observers benefit from being able to
|
|
14
|
-
* distinguish it without peeking at the re-prompt content.
|
|
15
|
-
*
|
|
16
|
-
* Shared by every runner (openai / claude / codex) per the "3+ concrete use
|
|
17
|
-
* cases" rule — inlining it three times was the prior state. The helper is
|
|
18
|
-
* deliberately free of any runner- or SDK-specific knowledge.
|
|
19
|
-
*/
|
|
20
|
-
export function injectionTypeFor(kind) {
|
|
21
|
-
switch (kind) {
|
|
22
|
-
case 'empty':
|
|
23
|
-
return 'supervise_empty';
|
|
24
|
-
case 'thinking_only':
|
|
25
|
-
return 'supervise_thinking';
|
|
26
|
-
case 'insufficient_coverage':
|
|
27
|
-
return 'supervise_insufficient_coverage';
|
|
28
|
-
case 'fragment':
|
|
29
|
-
case 'no_terminator':
|
|
30
|
-
default:
|
|
31
|
-
return 'supervise_fragment';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=injection-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injection-type.js","sourceRoot":"","sources":["../../src/providers/injection-type.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAgC;IAOhC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,uBAAuB;YAC1B,OAAO,iCAAiC,CAAC;QAC3C,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-runner-shell.d.ts","sourceRoot":"","sources":["../../src/providers/make-runner-shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CA0E/D"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { RunnerShell } from './runner-shell.js';
|
|
2
|
-
import { buildAdapter } from './provider-factory.js';
|
|
3
|
-
export function makeRunnerShell(provider) {
|
|
4
|
-
// Test/mock providers expose `__mockAdapter` so the engine path can run
|
|
5
|
-
// without making real HTTP calls. Production providers carry a real config
|
|
6
|
-
// and use `buildAdapter` to produce a real runner adapter.
|
|
7
|
-
const cfgModel = provider.config?.model;
|
|
8
|
-
const maybeMock = provider.__mockAdapter;
|
|
9
|
-
if (maybeMock)
|
|
10
|
-
return new RunnerShell(maybeMock, cfgModel);
|
|
11
|
-
// If the provider looks like a test mock (named 'mock' OR config.model === 'mock'),
|
|
12
|
-
// synthesize a bridge adapter from `provider.run(prompt)` so the engine path
|
|
13
|
-
// works in tests without each test wiring `__mockAdapter` explicitly.
|
|
14
|
-
const cfg = provider.config;
|
|
15
|
-
const isMock = provider.name === 'mock' || cfgModel === 'mock' || cfgModel === 'mock-model';
|
|
16
|
-
if (isMock && typeof provider.run === 'function') {
|
|
17
|
-
const adapter = {
|
|
18
|
-
providerType: 'mock',
|
|
19
|
-
async turn(input) {
|
|
20
|
-
const prompt = `${input.systemPrompt}\n\n${input.userMessage}`;
|
|
21
|
-
const result = await provider.run(prompt);
|
|
22
|
-
return {
|
|
23
|
-
assistantText: result.output ?? '',
|
|
24
|
-
toolCalls: [],
|
|
25
|
-
finishReason: 'stop',
|
|
26
|
-
usage: {
|
|
27
|
-
inputTokens: result.usage?.inputTokens ?? 0,
|
|
28
|
-
outputTokens: result.usage?.outputTokens ?? 0,
|
|
29
|
-
cachedReadTokens: result.usage?.cachedReadTokens ?? 0,
|
|
30
|
-
cachedNonReadTokens: result.usage?.cachedNonReadTokens ?? 0,
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
return new RunnerShell(adapter, cfgModel);
|
|
36
|
-
}
|
|
37
|
-
let adapter;
|
|
38
|
-
try {
|
|
39
|
-
adapter = buildAdapter(provider.config);
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
adapter = undefined;
|
|
43
|
-
}
|
|
44
|
-
// Fallback bridge for any provider whose config doesn't yield a real adapter
|
|
45
|
-
// (typical in tests). Lets every test that has a working `provider.run(prompt)`
|
|
46
|
-
// exercise the engine path without per-test wiring.
|
|
47
|
-
if (!adapter && typeof provider.run === 'function') {
|
|
48
|
-
const bridgeAdapter = {
|
|
49
|
-
providerType: 'mock',
|
|
50
|
-
async turn(input) {
|
|
51
|
-
const prompt = `${input.systemPrompt}\n\n${input.userMessage}`;
|
|
52
|
-
const result = await provider.run(prompt);
|
|
53
|
-
return {
|
|
54
|
-
assistantText: result.output ?? '',
|
|
55
|
-
toolCalls: [],
|
|
56
|
-
finishReason: 'stop',
|
|
57
|
-
usage: {
|
|
58
|
-
inputTokens: result.usage?.inputTokens ?? 0,
|
|
59
|
-
outputTokens: result.usage?.outputTokens ?? 0,
|
|
60
|
-
cachedReadTokens: result.usage?.cachedReadTokens ?? 0,
|
|
61
|
-
cachedNonReadTokens: result.usage?.cachedNonReadTokens ?? 0,
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
return new RunnerShell(bridgeAdapter, cfgModel);
|
|
67
|
-
}
|
|
68
|
-
return new RunnerShell(adapter, cfgModel);
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=make-runner-shell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-runner-shell.js","sourceRoot":"","sources":["../../src/providers/make-runner-shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { RunnerAdapter, AdapterTurnInput, AdapterTurnResult } from './runner-adapter.js';
|
|
2
|
-
export declare class OpenAIChatAdapter implements RunnerAdapter {
|
|
3
|
-
readonly providerType: 'openai' | 'openai-compatible';
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(opts: {
|
|
7
|
-
apiKey: string;
|
|
8
|
-
baseURL?: string;
|
|
9
|
-
model: string;
|
|
10
|
-
providerType?: 'openai' | 'openai-compatible';
|
|
11
|
-
});
|
|
12
|
-
turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
|
|
13
|
-
private priorToMessages;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=openai-chat-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/openai-chat-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAAC;KAC/C;IAMK,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4D/D,OAAO,CAAC,eAAe;CAkBxB"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import OpenAI from 'openai';
|
|
2
|
-
export class OpenAIChatAdapter {
|
|
3
|
-
providerType;
|
|
4
|
-
client;
|
|
5
|
-
model;
|
|
6
|
-
constructor(opts) {
|
|
7
|
-
this.client = new OpenAI({ apiKey: opts.apiKey, baseURL: opts.baseURL });
|
|
8
|
-
this.providerType = opts.providerType ?? 'openai';
|
|
9
|
-
this.model = opts.model;
|
|
10
|
-
}
|
|
11
|
-
async turn(input) {
|
|
12
|
-
// No max_completion_tokens — let the model use its full output budget.
|
|
13
|
-
// Wall-clock + cost ceilings are the only worker bounds.
|
|
14
|
-
const response = await this.client.chat.completions.create({
|
|
15
|
-
model: this.model,
|
|
16
|
-
messages: [
|
|
17
|
-
{ role: 'system', content: input.systemPrompt },
|
|
18
|
-
...this.priorToMessages(input.priorTurns),
|
|
19
|
-
{ role: 'user', content: input.userMessage },
|
|
20
|
-
],
|
|
21
|
-
tools: input.toolDefinitions.map(d => ({
|
|
22
|
-
type: 'function',
|
|
23
|
-
function: { name: d.name, description: d.description, parameters: d.schema },
|
|
24
|
-
})),
|
|
25
|
-
});
|
|
26
|
-
const reasoning = response.usage?.completion_tokens_details?.reasoning_tokens ?? 0;
|
|
27
|
-
const usage = {
|
|
28
|
-
inputTokens: response.usage?.prompt_tokens ?? 0,
|
|
29
|
-
outputTokens: (response.usage?.completion_tokens ?? 0) + reasoning,
|
|
30
|
-
cachedReadTokens: response.usage?.prompt_tokens_details?.cached_tokens ?? 0,
|
|
31
|
-
cachedNonReadTokens: 0,
|
|
32
|
-
};
|
|
33
|
-
const choice = response.choices[0];
|
|
34
|
-
if (!choice) {
|
|
35
|
-
return {
|
|
36
|
-
assistantText: '',
|
|
37
|
-
toolCalls: [],
|
|
38
|
-
usage,
|
|
39
|
-
finishReason: 'error',
|
|
40
|
-
errorCode: 'empty_choices',
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
// OpenAI v6: ChatCompletionMessageToolCall = FunctionToolCall | CustomToolCall.
|
|
44
|
-
// We only send type:'function' tools, so every response call carries .function.
|
|
45
|
-
const toolCalls = (choice.message.tool_calls ?? []).map(c => {
|
|
46
|
-
const fn = c.function;
|
|
47
|
-
let input;
|
|
48
|
-
if (fn) {
|
|
49
|
-
try {
|
|
50
|
-
input = JSON.parse(fn.arguments);
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
input = { __mma_invalid_arguments: fn.arguments, __mma_parse_error: e.message };
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return { id: c.id, name: fn?.name ?? c.type, input };
|
|
57
|
-
});
|
|
58
|
-
return {
|
|
59
|
-
assistantText: choice.message.content ?? '',
|
|
60
|
-
toolCalls,
|
|
61
|
-
usage,
|
|
62
|
-
finishReason: toolCalls.length > 0
|
|
63
|
-
? 'tool_use'
|
|
64
|
-
: (choice.finish_reason === 'stop' ? 'stop' : 'max_tokens'),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
priorToMessages(priors) {
|
|
68
|
-
return priors.flatMap((t, turnIdx) => [
|
|
69
|
-
{
|
|
70
|
-
role: 'assistant',
|
|
71
|
-
content: t.assistantText || null,
|
|
72
|
-
tool_calls: t.toolCalls.map((c, callIdx) => ({
|
|
73
|
-
id: c.id ?? `call_${turnIdx}_${callIdx}`,
|
|
74
|
-
type: 'function',
|
|
75
|
-
function: { name: c.name, arguments: JSON.stringify(c.input) },
|
|
76
|
-
})),
|
|
77
|
-
},
|
|
78
|
-
...t.toolCalls.map((c, callIdx) => ({
|
|
79
|
-
role: 'tool',
|
|
80
|
-
tool_call_id: c.id ?? `call_${turnIdx}_${callIdx}`,
|
|
81
|
-
content: typeof c.result === 'string' ? c.result : JSON.stringify(c.result ?? null),
|
|
82
|
-
})),
|
|
83
|
-
]);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=openai-chat-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chat-adapter.js","sourceRoot":"","sources":["../../src/providers/openai-chat-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,OAAO,iBAAiB;IACnB,YAAY,CAAiC;IAC9C,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,IAKX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,uEAAuE;QACvE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE;gBAC/C,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;aAC7C;YACD,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,MAAiC,EAAE;aACxG,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAI,QAAQ,CAAC,KAAa,EAAE,yBAAyB,EAAE,gBAAgB,IAAI,CAAC,CAAC;QAC5F,MAAM,KAAK,GAAG;YACZ,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC/C,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC,GAAG,SAAS;YAClE,gBAAgB,EAAG,QAAQ,CAAC,KAAa,EAAE,qBAAqB,EAAE,aAAa,IAAI,CAAC;YACpF,mBAAmB,EAAE,CAAC;SACvB,CAAC;QAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,SAAS,EAAE,EAAE;gBACb,KAAK;gBACL,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAE,eAAe;aAC3B,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,gFAAgF;QAChF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1D,MAAM,EAAE,GAAI,CAAS,CAAC,QAA2D,CAAC;YAClF,IAAI,KAAc,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,uBAAuB,EAAE,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;gBAC7F,CAAC;YACH,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;YAC3C,SAAS;YACT,KAAK;YACL,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;gBAChC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;SAC9D,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,MAAsC;QAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACpC;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;gBAChC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC3C,EAAE,EAAG,CAAS,CAAC,EAAE,IAAI,QAAQ,OAAO,IAAI,OAAO,EAAE;oBACjD,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;iBAC/D,CAAC,CAAC;aACJ;YACD,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,MAAe;gBACrB,YAAY,EAAG,CAAS,CAAC,EAAE,IAAI,QAAQ,OAAO,IAAI,OAAO,EAAE;gBAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;aACpF,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { RunnerAdapter, AdapterTurnInput, AdapterTurnResult } from './runner-adapter.js';
|
|
2
|
-
export declare class OpenAIResponsesAdapter implements RunnerAdapter {
|
|
3
|
-
readonly providerType: "codex";
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(opts: {
|
|
7
|
-
apiKey: string;
|
|
8
|
-
baseURL?: string;
|
|
9
|
-
model: string;
|
|
10
|
-
defaultHeaders?: Record<string, string>;
|
|
11
|
-
});
|
|
12
|
-
turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
|
|
13
|
-
private buildInputItems;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=openai-responses-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/openai-responses-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,QAAQ,CAAC,YAAY,EAAG,OAAO,CAAU;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IASxG,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgG/D,OAAO,CAAC,eAAe;CA+BxB"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import OpenAI from 'openai';
|
|
2
|
-
export class OpenAIResponsesAdapter {
|
|
3
|
-
providerType = 'codex';
|
|
4
|
-
client;
|
|
5
|
-
model;
|
|
6
|
-
constructor(opts) {
|
|
7
|
-
this.client = new OpenAI({
|
|
8
|
-
apiKey: opts.apiKey,
|
|
9
|
-
baseURL: opts.baseURL,
|
|
10
|
-
...(opts.defaultHeaders && { defaultHeaders: opts.defaultHeaders }),
|
|
11
|
-
});
|
|
12
|
-
this.model = opts.model;
|
|
13
|
-
}
|
|
14
|
-
async turn(input) {
|
|
15
|
-
const inputItems = this.buildInputItems(input);
|
|
16
|
-
// Stream the response. Two reasons:
|
|
17
|
-
// 1. The chatgpt.com/backend-api/codex endpoint (used when codex
|
|
18
|
-
// OAuth is the auth path) only accepts streaming + store:false;
|
|
19
|
-
// a non-streaming responses.create returns 400-no-body there.
|
|
20
|
-
// 2. api.openai.com supports streaming the same shape, so streaming
|
|
21
|
-
// is the universal path.
|
|
22
|
-
// store:false tells the server not to persist response state — required
|
|
23
|
-
// by chatgpt backend, harmless for api.openai.com.
|
|
24
|
-
const stream = await this.client.responses.create({
|
|
25
|
-
model: this.model,
|
|
26
|
-
instructions: input.systemPrompt,
|
|
27
|
-
input: inputItems,
|
|
28
|
-
stream: true,
|
|
29
|
-
store: false,
|
|
30
|
-
tools: input.toolDefinitions.length > 0
|
|
31
|
-
? input.toolDefinitions.map(d => ({
|
|
32
|
-
type: 'function',
|
|
33
|
-
name: d.name,
|
|
34
|
-
description: d.description,
|
|
35
|
-
parameters: d.schema,
|
|
36
|
-
strict: false,
|
|
37
|
-
}))
|
|
38
|
-
: undefined,
|
|
39
|
-
});
|
|
40
|
-
let assistantText = '';
|
|
41
|
-
const toolCalls = [];
|
|
42
|
-
let inputTokens = 0;
|
|
43
|
-
let outputTokens = 0;
|
|
44
|
-
let cachedReadTokens = 0;
|
|
45
|
-
let reasoningTokens = 0;
|
|
46
|
-
let status;
|
|
47
|
-
let sawCompleted = false;
|
|
48
|
-
for await (const event of stream) {
|
|
49
|
-
const et = event?.type;
|
|
50
|
-
if (!et)
|
|
51
|
-
continue;
|
|
52
|
-
if (et === 'response.output_text.delta') {
|
|
53
|
-
assistantText += event.delta ?? '';
|
|
54
|
-
}
|
|
55
|
-
else if (et === 'response.output_item.done') {
|
|
56
|
-
const item = event.item;
|
|
57
|
-
if (item?.type === 'function_call') {
|
|
58
|
-
let inputObj;
|
|
59
|
-
try {
|
|
60
|
-
inputObj = JSON.parse(item.arguments ?? '{}');
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
inputObj = {
|
|
64
|
-
__mma_invalid_arguments: item.arguments,
|
|
65
|
-
__mma_parse_error: e.message,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
toolCalls.push({ id: item.call_id, name: item.name, input: inputObj });
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
else if (et === 'response.completed') {
|
|
72
|
-
sawCompleted = true;
|
|
73
|
-
const r = event.response;
|
|
74
|
-
if (r?.usage) {
|
|
75
|
-
const u = r.usage;
|
|
76
|
-
inputTokens = u.input_tokens ?? 0;
|
|
77
|
-
outputTokens = u.output_tokens ?? 0;
|
|
78
|
-
reasoningTokens = u.output_tokens_details?.reasoning_tokens ?? u.reasoning_tokens ?? 0;
|
|
79
|
-
cachedReadTokens = u.input_tokens_details?.cached_tokens ?? u.cached_input_tokens ?? 0;
|
|
80
|
-
}
|
|
81
|
-
if (r?.status)
|
|
82
|
-
status = r.status;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (!sawCompleted) {
|
|
86
|
-
throw new Error('Codex stream ended without a response.completed event');
|
|
87
|
-
}
|
|
88
|
-
const usage = {
|
|
89
|
-
inputTokens,
|
|
90
|
-
outputTokens: outputTokens + reasoningTokens,
|
|
91
|
-
cachedReadTokens,
|
|
92
|
-
cachedNonReadTokens: 0,
|
|
93
|
-
};
|
|
94
|
-
let finishReason;
|
|
95
|
-
if (toolCalls.length > 0) {
|
|
96
|
-
finishReason = 'tool_use';
|
|
97
|
-
}
|
|
98
|
-
else if (status === 'completed') {
|
|
99
|
-
finishReason = 'stop';
|
|
100
|
-
}
|
|
101
|
-
else if (status === 'incomplete' || status === 'cancelled') {
|
|
102
|
-
finishReason = 'max_tokens';
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
finishReason = 'error';
|
|
106
|
-
}
|
|
107
|
-
return { assistantText, toolCalls, usage, finishReason };
|
|
108
|
-
}
|
|
109
|
-
buildInputItems(input) {
|
|
110
|
-
const items = [];
|
|
111
|
-
for (const t of input.priorTurns) {
|
|
112
|
-
// Assistant message with text content
|
|
113
|
-
items.push({ role: 'assistant', content: t.assistantText });
|
|
114
|
-
// Each tool call + its result as a function_call / function_call_output pair.
|
|
115
|
-
// The Responses API requires both items so the model can see its tool history.
|
|
116
|
-
for (let ci = 0; ci < t.toolCalls.length; ci++) {
|
|
117
|
-
const c = t.toolCalls[ci];
|
|
118
|
-
const callId = c.id ?? `call_${input.priorTurns.indexOf(t)}_${ci}`;
|
|
119
|
-
items.push({
|
|
120
|
-
type: 'function_call',
|
|
121
|
-
call_id: callId,
|
|
122
|
-
name: c.name,
|
|
123
|
-
arguments: JSON.stringify(c.input),
|
|
124
|
-
});
|
|
125
|
-
items.push({
|
|
126
|
-
type: 'function_call_output',
|
|
127
|
-
call_id: callId,
|
|
128
|
-
output: typeof c.result === 'string' ? c.result : JSON.stringify(c.result ?? null),
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Current user message
|
|
133
|
-
items.push({ role: 'user', content: input.userMessage });
|
|
134
|
-
return items;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=openai-responses-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses-adapter.js","sourceRoot":"","sources":["../../src/providers/openai-responses-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,OAAO,sBAAsB;IACxB,YAAY,GAAG,OAAgB,CAAC;IACjC,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,IAAkG;QAC5G,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE/C,oCAAoC;QACpC,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,8BAA8B;QAC9B,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,UAAiB;YACxB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBACrC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,UAAmB;oBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,MAAiC;oBAC/C,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAwD,EAAE,CAAC;QAC1E,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,MAA0B,CAAC;QAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAa,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,KAAK,EAAE,IAA0B,CAAC;YAC7C,IAAI,CAAC,EAAE;gBAAE,SAAS;YAElB,IAAI,EAAE,KAAK,4BAA4B,EAAE,CAAC;gBACxC,aAAa,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,CAAC;iBAAM,IAAI,EAAE,KAAK,2BAA2B,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;oBACnC,IAAI,QAAiB,CAAC;oBACtB,IAAI,CAAC;wBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,QAAQ,GAAG;4BACT,uBAAuB,EAAE,IAAI,CAAC,SAAS;4BACvC,iBAAiB,EAAG,CAAW,CAAC,OAAO;yBACxC,CAAC;oBACJ,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;iBAAM,IAAI,EAAE,KAAK,oBAAoB,EAAE,CAAC;gBACvC,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACzB,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAA4B,CAAC;oBACzC,WAAW,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;oBAClC,YAAY,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;oBACpC,eAAe,GAAG,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBACvF,gBAAgB,GAAG,CAAC,CAAC,oBAAoB,EAAE,aAAa,IAAI,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,CAAC,EAAE,MAAM;oBAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,WAAW;YACX,YAAY,EAAE,YAAY,GAAG,eAAe;YAC5C,gBAAgB;YAChB,mBAAmB,EAAE,CAAC;SACvB,CAAC;QAEF,IAAI,YAA+C,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,GAAG,UAAU,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC7D,YAAY,GAAG,YAAY,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC3D,CAAC;IAEO,eAAe,CAAC,KAAuB;QAC7C,MAAM,KAAK,GAAU,EAAE,CAAC;QAExB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,sCAAsC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAE5D,8EAA8E;YAC9E,+EAA+E;YAC/E,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAI,CAAS,CAAC,EAAE,IAAI,QAAQ,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5E,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;iBACnC,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;iBACnF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type OpenAI from 'openai';
|
|
2
|
-
export interface UsageSnapshot {
|
|
3
|
-
promptTokens: number;
|
|
4
|
-
completionTokens: number;
|
|
5
|
-
cachedReadTokens: number;
|
|
6
|
-
reasoningTokens: number;
|
|
7
|
-
/** Number of completed HTTP responses observed (one per SDK turn). */
|
|
8
|
-
responses: number;
|
|
9
|
-
}
|
|
10
|
-
export interface UsageAccumulator {
|
|
11
|
-
/** Latest cumulative usage from the wrapped client. Returns a fresh snapshot. */
|
|
12
|
-
snapshot(): UsageSnapshot;
|
|
13
|
-
/** True if at least one response observed real (non-zero) usage. Used by
|
|
14
|
-
* the runner to decide whether to trust SDK state.usage or fall back here. */
|
|
15
|
-
hasObservedUsage(): boolean;
|
|
16
|
-
}
|
|
17
|
-
/** Wrap an OpenAI client so usage from every chat.completions.create response
|
|
18
|
-
* is captured into the returned UsageAccumulator.
|
|
19
|
-
*
|
|
20
|
-
* Mutates `client.chat.completions.create` in place. The wrapped client is
|
|
21
|
-
* otherwise unchanged — same return shapes, same error behavior. The SDK
|
|
22
|
-
* sees the same response stream byte-for-byte (we tee, we don't transform).
|
|
23
|
-
*/
|
|
24
|
-
export declare function wrapClientForUsageCapture(client: OpenAI): UsageAccumulator;
|
|
25
|
-
//# sourceMappingURL=openai-usage-interceptor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-usage-interceptor.d.ts","sourceRoot":"","sources":["../../src/providers/openai-usage-interceptor.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,QAAQ,IAAI,aAAa,CAAC;IAC1B;mFAC+E;IAC/E,gBAAgB,IAAI,OAAO,CAAC;CAC7B;AAmBD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAoF1E"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
// HTTP-level usage capture for openai-compatible providers, independent of
|
|
2
|
-
// @openai/agents' internal aggregation.
|
|
3
|
-
//
|
|
4
|
-
// Why this exists: the @openai/agents SDK's stream consumer
|
|
5
|
-
// (node_modules/@openai/agents-openai/dist/openaiChatCompletionsStreaming.js
|
|
6
|
-
// line ~38) overwrites its local `usage` variable on every SSE chunk:
|
|
7
|
-
//
|
|
8
|
-
// usage = chunk.usage || undefined;
|
|
9
|
-
//
|
|
10
|
-
// For OpenAI proper this is benign — only the final `[DONE]`-adjacent chunk
|
|
11
|
-
// carries usage, so the last write is the right one. For DeepSeek (and
|
|
12
|
-
// likely other openai-compatible providers) with multi-turn tool-use, later
|
|
13
|
-
// chunks can have `usage:undefined` AFTER an earlier chunk reported real
|
|
14
|
-
// numbers, wiping the captured usage. The SDK then ends with
|
|
15
|
-
// `state.usage.inputTokens=0`, costUSD=0, despite real tokens having
|
|
16
|
-
// flowed. Telemetry first surfaced this on DeepSeek-as-reviewer calls —
|
|
17
|
-
// every call logged 21+ turns and zero tokens, untraceable until the SDK
|
|
18
|
-
// source was inspected.
|
|
19
|
-
//
|
|
20
|
-
// Fix: wrap the OpenAI client's `chat.completions.create` so we see the
|
|
21
|
-
// raw HTTP response (or the raw SSE stream) BEFORE the SDK consumes it, and
|
|
22
|
-
// accumulate usage into an out-of-band counter the runner can read at
|
|
23
|
-
// result-time as a source-of-truth fallback. The wrapper does not modify
|
|
24
|
-
// SDK-visible behavior — it observes only.
|
|
25
|
-
function addUsage(acc, u) {
|
|
26
|
-
return {
|
|
27
|
-
promptTokens: acc.promptTokens + (u.prompt_tokens ?? 0),
|
|
28
|
-
completionTokens: acc.completionTokens + (u.completion_tokens ?? 0),
|
|
29
|
-
cachedReadTokens: acc.cachedReadTokens + (u.prompt_tokens_details?.cached_tokens ?? 0),
|
|
30
|
-
reasoningTokens: acc.reasoningTokens + (u.completion_tokens_details?.reasoning_tokens ?? 0),
|
|
31
|
-
responses: acc.responses + 1,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** Wrap an OpenAI client so usage from every chat.completions.create response
|
|
35
|
-
* is captured into the returned UsageAccumulator.
|
|
36
|
-
*
|
|
37
|
-
* Mutates `client.chat.completions.create` in place. The wrapped client is
|
|
38
|
-
* otherwise unchanged — same return shapes, same error behavior. The SDK
|
|
39
|
-
* sees the same response stream byte-for-byte (we tee, we don't transform).
|
|
40
|
-
*/
|
|
41
|
-
export function wrapClientForUsageCapture(client) {
|
|
42
|
-
let acc = {
|
|
43
|
-
promptTokens: 0,
|
|
44
|
-
completionTokens: 0,
|
|
45
|
-
cachedReadTokens: 0,
|
|
46
|
-
reasoningTokens: 0,
|
|
47
|
-
responses: 0,
|
|
48
|
-
};
|
|
49
|
-
let observedNonZero = false;
|
|
50
|
-
const observe = (u) => {
|
|
51
|
-
if (!u)
|
|
52
|
-
return;
|
|
53
|
-
const before = acc;
|
|
54
|
-
acc = addUsage(acc, u);
|
|
55
|
-
// hasObservedUsage flips true the first time a response carries real
|
|
56
|
-
// input or output tokens. Counters can stay at 0 for empty responses
|
|
57
|
-
// (auth failures, immediate refusals) — those don't count as evidence
|
|
58
|
-
// that the provider IS reporting usage.
|
|
59
|
-
if ((u.prompt_tokens ?? 0) > 0 || (u.completion_tokens ?? 0) > 0) {
|
|
60
|
-
observedNonZero = true;
|
|
61
|
-
}
|
|
62
|
-
void before;
|
|
63
|
-
};
|
|
64
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
|
-
const completions = client.chat.completions;
|
|
66
|
-
const originalCreate = completions.create.bind(completions);
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
|
-
completions.create = async function wrappedCreate(...args) {
|
|
69
|
-
const result = await originalCreate(...args);
|
|
70
|
-
// Non-streaming branch: result is a ChatCompletion object with usage.
|
|
71
|
-
// Detect via the presence of `choices` (eagerly resolved) and `usage`.
|
|
72
|
-
if (result && typeof result === 'object' && Array.isArray(result.choices)) {
|
|
73
|
-
observe(result.usage);
|
|
74
|
-
return result;
|
|
75
|
-
}
|
|
76
|
-
// Streaming branch: result is an AsyncIterable of chunks. We wrap the
|
|
77
|
-
// iterator so each yielded chunk's usage feeds the accumulator without
|
|
78
|
-
// changing what the SDK sees.
|
|
79
|
-
if (result && typeof result[Symbol.asyncIterator] === 'function') {
|
|
80
|
-
const inner = result;
|
|
81
|
-
// Build a thin wrapper that preserves the original async-iterable
|
|
82
|
-
// identity (so the SDK can still .controller-abort if it does), but
|
|
83
|
-
// observes usage on every chunk that has it. Note: we accumulate the
|
|
84
|
-
// FIRST non-null usage we see from each request (chunks-with-usage are
|
|
85
|
-
// typically only 1 per stream, sent on the [DONE] frame). If a
|
|
86
|
-
// provider sends multiple usage frames, we add each one — that matches
|
|
87
|
-
// the cumulative semantics.
|
|
88
|
-
const wrapped = {
|
|
89
|
-
async *[Symbol.asyncIterator]() {
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
|
-
let lastUsage;
|
|
92
|
-
for await (const chunk of inner) {
|
|
93
|
-
if (chunk && chunk.usage) {
|
|
94
|
-
lastUsage = chunk.usage;
|
|
95
|
-
}
|
|
96
|
-
yield chunk;
|
|
97
|
-
}
|
|
98
|
-
// Accumulate at end-of-stream so multiple intra-stream `usage`
|
|
99
|
-
// chunks (DeepSeek behavior) don't double-count. The last seen
|
|
100
|
-
// usage is the cumulative-for-this-request value the provider
|
|
101
|
-
// wanted us to see.
|
|
102
|
-
observe(lastUsage);
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
// Some SDK call sites poke at `.controller` on the stream object for
|
|
106
|
-
// abort handling. Forward it if present.
|
|
107
|
-
const ctrl = result.controller;
|
|
108
|
-
if (ctrl !== undefined)
|
|
109
|
-
wrapped.controller = ctrl;
|
|
110
|
-
return wrapped;
|
|
111
|
-
}
|
|
112
|
-
// Unknown shape (shouldn't happen for chat.completions.create) — pass
|
|
113
|
-
// through unmodified.
|
|
114
|
-
return result;
|
|
115
|
-
};
|
|
116
|
-
return {
|
|
117
|
-
snapshot: () => ({ ...acc }),
|
|
118
|
-
hasObservedUsage: () => observedNonZero,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=openai-usage-interceptor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai-usage-interceptor.js","sourceRoot":"","sources":["../../src/providers/openai-usage-interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sub-agent prevention layer.
|
|
3
|
-
*
|
|
4
|
-
* Provides the strong default system prompt, the budget hint preamble,
|
|
5
|
-
* and the periodic re-grounding message that the runners inject to keep
|
|
6
|
-
* the model focused. The goal is to make the first attempt succeed.
|
|
7
|
-
*
|
|
8
|
-
* All builders here MUST be deterministic: same input → byte-identical
|
|
9
|
-
* output. No Date.now(), no Math.random(), no environment variable
|
|
10
|
-
* leakage. Tests in tests/runners/prevention.test.ts assert this.
|
|
11
|
-
*
|
|
12
|
-
* See spec Part A.1 for the design rationale.
|
|
13
|
-
*/
|
|
14
|
-
import type { FormatConstraints } from '../types.js';
|
|
15
|
-
export declare function buildSystemPrompt(): string;
|
|
16
|
-
export interface BuildBudgetHintOptions {
|
|
17
|
-
timeoutMs: number;
|
|
18
|
-
maxCostUSD?: number;
|
|
19
|
-
}
|
|
20
|
-
export declare function buildBudgetHint(opts: BuildBudgetHintOptions): string;
|
|
21
|
-
export declare const RE_GROUNDING_INTERVAL_TURNS = 10;
|
|
22
|
-
export interface BuildReGroundingMessageOptions {
|
|
23
|
-
originalPromptExcerpt: string;
|
|
24
|
-
elapsedMs: number;
|
|
25
|
-
timeoutMs: number;
|
|
26
|
-
toolCallsSoFar: number;
|
|
27
|
-
filesReadSoFar: number;
|
|
28
|
-
}
|
|
29
|
-
export declare function buildReGroundingMessage(opts: BuildReGroundingMessageOptions): string;
|
|
30
|
-
export interface BuildBudgetPressureNudgeOptions {
|
|
31
|
-
inputTokens: number;
|
|
32
|
-
softLimit: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Nudge message the runner injects when the watchdog crosses its
|
|
36
|
-
* `warning` threshold (see supervision.checkWatchdogThreshold). The text
|
|
37
|
-
* is deliberately terse: the model is already close to the soft limit, so
|
|
38
|
-
* we tell it to stop exploring and produce a final answer from whatever
|
|
39
|
-
* it has gathered. Kept here so every runner (openai, claude, codex)
|
|
40
|
-
* uses byte-identical wording.
|
|
41
|
-
*/
|
|
42
|
-
export declare function buildBudgetPressureNudge(opts: BuildBudgetPressureNudgeOptions): string;
|
|
43
|
-
export declare function buildFormatConstraintSuffix(constraints: FormatConstraints): string;
|
|
44
|
-
//# sourceMappingURL=prevention.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prevention.d.ts","sourceRoot":"","sources":["../../src/providers/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,wBAAgB,iBAAiB,IAAI,MAAM,CA8C1C;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAQpE;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,MAAM,CAWpF;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,+BAA+B,GAAG,MAAM,CAMtF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAYlF"}
|