@zhixuan92/multi-model-agent-core 4.7.5 → 4.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bounded-execution/activity-tracker-types.d.ts +0 -2
- package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.d.ts +1 -5
- package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.js +1 -27
- package/dist/bounded-execution/activity-tracker.js.map +1 -1
- package/dist/bounded-execution/progress-events-subscriber.d.ts +4 -12
- package/dist/bounded-execution/progress-events-subscriber.d.ts.map +1 -1
- package/dist/bounded-execution/progress-events-subscriber.js +1 -5
- package/dist/bounded-execution/progress-events-subscriber.js.map +1 -1
- package/dist/config/model-profile-registry.d.ts.map +1 -1
- package/dist/config/model-profile-registry.js +9 -6
- package/dist/config/model-profile-registry.js.map +1 -1
- package/dist/error-codes.d.ts +0 -3
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +1 -4
- package/dist/error-codes.js.map +1 -1
- package/dist/events/task-envelope.d.ts +0 -6
- package/dist/events/task-envelope.d.ts.map +1 -1
- package/dist/events/task-envelope.js +6 -13
- package/dist/events/task-envelope.js.map +1 -1
- package/dist/events/to-wire-record.d.ts.map +1 -1
- package/dist/events/to-wire-record.js +32 -5
- package/dist/events/to-wire-record.js.map +1 -1
- package/dist/events/wire-schema.d.ts +29 -93
- package/dist/events/wire-schema.d.ts.map +1 -1
- package/dist/events/wire-schema.js +2 -4
- package/dist/events/wire-schema.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -1
- package/dist/lifecycle/build-cancelled-result.js +0 -2
- package/dist/lifecycle/build-cancelled-result.js.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.js +35 -4
- package/dist/lifecycle/handlers/annotate-stage.js.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.js +10 -1
- package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.js +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -1
- package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/review-stage.js +40 -23
- package/dist/lifecycle/handlers/review-stage.js.map +1 -1
- package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/rework-stage.js +0 -2
- package/dist/lifecycle/handlers/rework-stage.js.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +1 -14
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +1 -1
- package/dist/lifecycle/lifecycle-driver.js +4 -4
- package/dist/lifecycle/lifecycle-driver.js.map +1 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +1 -4
- package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
- package/dist/lifecycle/merge-stage-stats.js +1 -6
- package/dist/lifecycle/merge-stage-stats.js.map +1 -1
- package/dist/lifecycle/perform-implementation.d.ts.map +1 -1
- package/dist/lifecycle/perform-implementation.js +2 -16
- package/dist/lifecycle/perform-implementation.js.map +1 -1
- package/dist/lifecycle/stage-stats.d.ts +0 -8
- package/dist/lifecycle/stage-stats.d.ts.map +1 -1
- package/dist/lifecycle/stage-stats.js +2 -12
- package/dist/lifecycle/stage-stats.js.map +1 -1
- package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
- package/dist/lifecycle/task-completion-summary.js +0 -3
- package/dist/lifecycle/task-completion-summary.js.map +1 -1
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +43 -5
- 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 +7 -4
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/providers/assemble-run-result.d.ts.map +1 -1
- package/dist/providers/assemble-run-result.js +5 -38
- package/dist/providers/assemble-run-result.js.map +1 -1
- package/dist/providers/claude-session.d.ts +2 -0
- package/dist/providers/claude-session.d.ts.map +1 -1
- package/dist/providers/claude-session.js +11 -45
- package/dist/providers/claude-session.js.map +1 -1
- package/dist/providers/claude-tool-categories.d.ts +19 -0
- package/dist/providers/claude-tool-categories.d.ts.map +1 -0
- package/dist/providers/claude-tool-categories.js +37 -0
- package/dist/providers/claude-tool-categories.js.map +1 -0
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +8 -11
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex-cli-event.d.ts +6 -0
- package/dist/providers/codex-cli-event.d.ts.map +1 -1
- package/dist/providers/codex-cli-event.js.map +1 -1
- package/dist/providers/codex-cli-launch.js +2 -2
- package/dist/providers/codex-cli-launch.js.map +1 -1
- package/dist/providers/codex-cli-session.d.ts +1 -7
- package/dist/providers/codex-cli-session.d.ts.map +1 -1
- package/dist/providers/codex-cli-session.js +27 -31
- package/dist/providers/codex-cli-session.js.map +1 -1
- package/dist/providers/normalize-claude.d.ts +0 -3
- package/dist/providers/normalize-claude.d.ts.map +1 -1
- package/dist/providers/normalize-claude.js +9 -20
- package/dist/providers/normalize-claude.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +23 -4
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +102 -24
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-types.d.ts +2 -4
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/reporting/compose-running-headline.d.ts +1 -2
- package/dist/reporting/compose-running-headline.d.ts.map +1 -1
- package/dist/reporting/compose-running-headline.js +4 -7
- package/dist/reporting/compose-running-headline.js.map +1 -1
- package/dist/review/tier-policy.d.ts +11 -0
- package/dist/review/tier-policy.d.ts.map +1 -0
- package/dist/review/tier-policy.js +12 -0
- package/dist/review/tier-policy.js.map +1 -0
- package/dist/stores/batch-registry.d.ts +0 -1
- package/dist/stores/batch-registry.d.ts.map +1 -1
- package/dist/stores/batch-registry.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 +1 -0
- package/dist/tool-surface/discover.js.map +1 -1
- package/dist/types/enums.d.ts +0 -3
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +1 -2
- package/dist/types/enums.js.map +1 -1
- package/dist/types/run-result.d.ts +6 -17
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/stage-stats.d.ts +0 -2
- package/dist/types/stage-stats.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/bounded-execution/cost-rollup.d.ts +0 -17
- package/dist/bounded-execution/cost-rollup.d.ts.map +0 -1
- package/dist/bounded-execution/cost-rollup.js +0 -40
- package/dist/bounded-execution/cost-rollup.js.map +0 -1
- package/dist/config/tier-policy-registry.d.ts +0 -12
- package/dist/config/tier-policy-registry.d.ts.map +0 -1
- package/dist/config/tier-policy-registry.js +0 -13
- package/dist/config/tier-policy-registry.js.map +0 -1
- package/dist/providers/brief-preamble.d.ts +0 -4
- package/dist/providers/brief-preamble.d.ts.map +0 -1
- package/dist/providers/brief-preamble.js +0 -39
- package/dist/providers/brief-preamble.js.map +0 -1
- package/dist/providers/error-classification.d.ts +0 -49
- package/dist/providers/error-classification.d.ts.map +0 -1
- package/dist/providers/error-classification.js +0 -140
- package/dist/providers/error-classification.js.map +0 -1
- package/dist/providers/index.d.ts +0 -5
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -6
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/run-annotator-turn.d.ts +0 -24
- package/dist/providers/run-annotator-turn.d.ts.map +0 -1
- package/dist/providers/run-annotator-turn.js +0 -44
- package/dist/providers/run-annotator-turn.js.map +0 -1
- package/dist/providers/run-worker-turn.d.ts +0 -26
- package/dist/providers/run-worker-turn.d.ts.map +0 -1
- package/dist/providers/run-worker-turn.js +0 -57
- package/dist/providers/run-worker-turn.js.map +0 -1
- package/dist/providers/runner-adapter.d.ts +0 -49
- package/dist/providers/runner-adapter.d.ts.map +0 -1
- package/dist/providers/runner-adapter.js +0 -8
- package/dist/providers/runner-adapter.js.map +0 -1
- package/dist/providers/stall-detector.d.ts +0 -22
- package/dist/providers/stall-detector.d.ts.map +0 -1
- package/dist/providers/stall-detector.js +0 -43
- package/dist/providers/stall-detector.js.map +0 -1
- package/dist/providers/tool-name-sets.d.ts +0 -29
- package/dist/providers/tool-name-sets.d.ts.map +0 -1
- package/dist/providers/tool-name-sets.js +0 -41
- package/dist/providers/tool-name-sets.js.map +0 -1
- package/dist/review/run-reviewer.d.ts +0 -40
- package/dist/review/run-reviewer.d.ts.map +0 -1
- package/dist/review/run-reviewer.js +0 -55
- package/dist/review/run-reviewer.js.map +0 -1
|
@@ -26,8 +26,6 @@ interface BaseStageStats {
|
|
|
26
26
|
cachedReadTokens: number | null;
|
|
27
27
|
cachedNonReadTokens: number | null;
|
|
28
28
|
turnCount: number | null;
|
|
29
|
-
toolCallCount: number | null;
|
|
30
|
-
filesReadCount: number | null;
|
|
31
29
|
filesWrittenCount: number | null;
|
|
32
30
|
}
|
|
33
31
|
export type RawStageStats = (BaseStageStats & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-stats.d.ts","sourceRoot":"","sources":["../../src/types/stage-stats.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GACrB,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAExG,MAAM,MAAM,aAAa,GAAK,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AACjG,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEvE,UAAU,cAAc;IACtB,OAAO,EAAQ,OAAO,CAAC;IACvB,UAAU,EAAK,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAU,MAAM,GAAG,IAAI,CAAC;IAI7B,SAAS,EAAM,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAC,MAAM,GAAG,IAAI,CAAC;IAE7B,WAAW,EAAU,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAS,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAK,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAY,MAAM,GAAG,IAAI,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"stage-stats.d.ts","sourceRoot":"","sources":["../../src/types/stage-stats.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GACrB,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAExG,MAAM,MAAM,aAAa,GAAK,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AACjG,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEvE,UAAU,cAAc;IACtB,OAAO,EAAQ,OAAO,CAAC;IACvB,UAAU,EAAK,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAU,MAAM,GAAG,IAAI,CAAC;IAI7B,SAAS,EAAM,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAC,MAAM,GAAG,IAAI,CAAC;IAE7B,WAAW,EAAU,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAS,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAK,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAY,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAG,MAAM,GAAG,IAAI,CAAC;CACnC;AAMD,MAAM,MAAM,aAAa,GACrB,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC,GAC5C,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,GACtC,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC,GAC1C,CAAC,cAAc,GAAG;IAChB,KAAK,EAAO,YAAY,CAAC;IACzB,OAAO,EAAK,aAAa,GAAK,IAAI,CAAC;IACnC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,CAAC,cAAc,GAAG;IAChB,KAAK,EAAO,QAAQ,CAAC;IACrB,OAAO,EAAK,aAAa,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,GAAU,IAAI,CAAC;CAClC,CAAC,CAAC;AAEP,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAChE,MAAM,EAAQ,OAAO,CAAC,aAAa,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC1D,MAAM,EAAQ,OAAO,CAAC,aAAa,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC1D,UAAU,EAAI,OAAO,CAAC,aAAa,EAAE;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC9D,UAAU,EAAI,OAAO,CAAC,aAAa,EAAE;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC/D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-core",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Core library for multi-model-agent: provider runners (Claude, Codex, OpenAI-compatible), routing logic, config schema, and tool/sandbox primitives.",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { TokenUsage } from '../providers/runner-types.js';
|
|
2
|
-
export interface StageLike extends TokenUsage {
|
|
3
|
-
tier: 'standard' | 'complex';
|
|
4
|
-
model: string;
|
|
5
|
-
costUSD: number | null;
|
|
6
|
-
}
|
|
7
|
-
export interface TierUsage extends TokenUsage {
|
|
8
|
-
model: string;
|
|
9
|
-
costUSD: number | null;
|
|
10
|
-
}
|
|
11
|
-
export type TierRollup = {
|
|
12
|
-
standard?: TierUsage;
|
|
13
|
-
complex?: TierUsage;
|
|
14
|
-
};
|
|
15
|
-
export declare function sumTokens(stages: ReadonlyArray<TokenUsage>): TokenUsage;
|
|
16
|
-
export declare function rollupByTier(stages: ReadonlyArray<StageLike>): TierRollup;
|
|
17
|
-
//# sourceMappingURL=cost-rollup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-rollup.d.ts","sourceRoot":"","sources":["../../src/bounded-execution/cost-rollup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAG,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,CAYvE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAwBzE"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export function sumTokens(stages) {
|
|
2
|
-
const acc = {
|
|
3
|
-
inputTokens: 0, outputTokens: 0,
|
|
4
|
-
cachedReadTokens: 0, cachedNonReadTokens: 0,
|
|
5
|
-
};
|
|
6
|
-
for (const s of stages) {
|
|
7
|
-
acc.inputTokens += s.inputTokens;
|
|
8
|
-
acc.outputTokens += s.outputTokens;
|
|
9
|
-
acc.cachedReadTokens += s.cachedReadTokens;
|
|
10
|
-
acc.cachedNonReadTokens += s.cachedNonReadTokens;
|
|
11
|
-
}
|
|
12
|
-
return acc;
|
|
13
|
-
}
|
|
14
|
-
export function rollupByTier(stages) {
|
|
15
|
-
const out = {};
|
|
16
|
-
for (const s of stages) {
|
|
17
|
-
const cur = out[s.tier];
|
|
18
|
-
if (!cur) {
|
|
19
|
-
out[s.tier] = {
|
|
20
|
-
model: s.model,
|
|
21
|
-
costUSD: s.costUSD,
|
|
22
|
-
inputTokens: s.inputTokens,
|
|
23
|
-
outputTokens: s.outputTokens,
|
|
24
|
-
cachedReadTokens: s.cachedReadTokens,
|
|
25
|
-
cachedNonReadTokens: s.cachedNonReadTokens,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
cur.model = s.model; // last-seen
|
|
30
|
-
cur.inputTokens += s.inputTokens;
|
|
31
|
-
cur.outputTokens += s.outputTokens;
|
|
32
|
-
cur.cachedReadTokens += s.cachedReadTokens;
|
|
33
|
-
cur.cachedNonReadTokens += s.cachedNonReadTokens;
|
|
34
|
-
// honest-null: any contributing null poisons the tier total
|
|
35
|
-
cur.costUSD = (cur.costUSD === null || s.costUSD === null) ? null : cur.costUSD + s.costUSD;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return out;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=cost-rollup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-rollup.js","sourceRoot":"","sources":["../../src/bounded-execution/cost-rollup.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,SAAS,CAAC,MAAiC;IACzD,MAAM,GAAG,GAAe;QACtB,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,gBAAgB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;KAC5C,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,WAAW,IAAa,CAAC,CAAC,WAAW,CAAC;QAC1C,GAAG,CAAC,YAAY,IAAY,CAAC,CAAC,YAAY,CAAC;QAC3C,GAAG,CAAC,gBAAgB,IAAQ,CAAC,CAAC,gBAAgB,CAAC;QAC/C,GAAG,CAAC,mBAAmB,IAAK,CAAC,CAAC,mBAAmB,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAgC;IAC3D,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;aAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY;YACjC,GAAG,CAAC,WAAW,IAAa,CAAC,CAAC,WAAW,CAAC;YAC1C,GAAG,CAAC,YAAY,IAAY,CAAC,CAAC,YAAY,CAAC;YAC3C,GAAG,CAAC,gBAAgB,IAAQ,CAAC,CAAC,gBAAgB,CAAC;YAC/C,GAAG,CAAC,mBAAmB,IAAK,CAAC,CAAC,mBAAmB,CAAC;YAClD,4DAA4D;YAC5D,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { AgentType } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Returns the inverse tier in a binary tier system (standard ↔ complex).
|
|
4
|
-
*
|
|
5
|
-
* In v4.0, the tier system is binary — the "other tier" is always exactly
|
|
6
|
-
* one deterministic value. This is the single source of truth for tier
|
|
7
|
-
* rotation logic. Reviewer-implementer separation is guaranteed
|
|
8
|
-
* structurally by the policy tables in `escalation/policy.ts` (each row
|
|
9
|
-
* pins impl ≠ reviewer); there are no runtime tier-exclusion checks.
|
|
10
|
-
*/
|
|
11
|
-
export declare function otherTier(t: AgentType): AgentType;
|
|
12
|
-
//# sourceMappingURL=tier-policy-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tier-policy-registry.d.ts","sourceRoot":"","sources":["../../src/config/tier-policy-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAEjD"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the inverse tier in a binary tier system (standard ↔ complex).
|
|
3
|
-
*
|
|
4
|
-
* In v4.0, the tier system is binary — the "other tier" is always exactly
|
|
5
|
-
* one deterministic value. This is the single source of truth for tier
|
|
6
|
-
* rotation logic. Reviewer-implementer separation is guaranteed
|
|
7
|
-
* structurally by the policy tables in `escalation/policy.ts` (each row
|
|
8
|
-
* pins impl ≠ reviewer); there are no runtime tier-exclusion checks.
|
|
9
|
-
*/
|
|
10
|
-
export function otherTier(t) {
|
|
11
|
-
return t === 'standard' ? 'complex' : 'standard';
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=tier-policy-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tier-policy-registry.js","sourceRoot":"","sources":["../../src/config/tier-policy-registry.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,CAAY;IACpC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACnD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brief-preamble.d.ts","sourceRoot":"","sources":["../../src/providers/brief-preamble.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,eAAO,MAAM,qBAAqB,QAkBtB,CAAC;AAEb,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAMlF"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// Minimal stage-instruction prefix used as part of every `session.send()`
|
|
2
|
-
// instruction text. The SDK ships its own agent-operating system prompt;
|
|
3
|
-
// THIS file is for content the BRIEF needs to carry across all providers
|
|
4
|
-
// (commit-block schema, output-format hints). It is NOT an agent-loop
|
|
5
|
-
// system prompt — those live in the SDKs.
|
|
6
|
-
//
|
|
7
|
-
// Replaces the agent-loop portion of `prevention.ts` in v4.4 (Task 24
|
|
8
|
-
// deletes the loop-system-prompt body of prevention.ts; buildFormatConstraintSuffix
|
|
9
|
-
// is preserved here so existing callers don't break during the migration).
|
|
10
|
-
export const COMMIT_BLOCK_GUIDANCE = [
|
|
11
|
-
'If you wrote, modified, or deleted files, your structured report MUST include a `commit:` block as a JSON object with these fields:',
|
|
12
|
-
'',
|
|
13
|
-
' {',
|
|
14
|
-
' "type": "feat" | "fix" | "refactor" | "test" | "docs" | "chore" | "style",',
|
|
15
|
-
' "scope": "<optional, 1-24 chars: lowercase letters, digits, dot, underscore, slash, hyphen; must start with letter or digit>",',
|
|
16
|
-
' "subject": "<1-50 chars, lowercase first letter, no trailing colon, no leading/trailing whitespace>",',
|
|
17
|
-
' "body": "<optional multi-paragraph plain text explaining WHY>"',
|
|
18
|
-
' }',
|
|
19
|
-
'',
|
|
20
|
-
'Examples:',
|
|
21
|
-
' type: "feat", scope: "core", subject: "add x"',
|
|
22
|
-
' type: "refactor", scope: "lifecycle", subject: "extract Y from Z"',
|
|
23
|
-
' type: "fix", subject: "guard against undefined"',
|
|
24
|
-
'',
|
|
25
|
-
"Do NOT write narrative (\"Now I'm going to...\") in the subject.",
|
|
26
|
-
'',
|
|
27
|
-
'If you did not write any files, omit the commit block entirely.',
|
|
28
|
-
].join('\n');
|
|
29
|
-
export function buildFormatConstraintSuffix(constraints) {
|
|
30
|
-
if (!constraints.inputFormat && !constraints.outputFormat)
|
|
31
|
-
return '';
|
|
32
|
-
const parts = [];
|
|
33
|
-
if (constraints.inputFormat)
|
|
34
|
-
parts.push(`input format: ${constraints.inputFormat}`);
|
|
35
|
-
if (constraints.outputFormat)
|
|
36
|
-
parts.push(`output format: ${constraints.outputFormat}`);
|
|
37
|
-
return '\n\n' + parts.join(' ');
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=brief-preamble.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brief-preamble.js","sourceRoot":"","sources":["../../src/providers/brief-preamble.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,oFAAoF;AACpF,2EAA2E;AAI3E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qIAAqI;IACrI,EAAE;IACF,KAAK;IACL,gFAAgF;IAChF,oIAAoI;IACpI,2GAA2G;IAC3G,oEAAoE;IACpE,KAAK;IACL,EAAE;IACF,WAAW;IACX,iDAAiD;IACjD,qEAAqE;IACrE,mDAAmD;IACnD,EAAE;IACF,kEAAkE;IAClE,EAAE;IACF,iEAAiE;CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,2BAA2B,CAAC,WAA8B;IACxE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,IAAI,WAAW,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACvF,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { RunStatus } from './runner-types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Classify a thrown error from a provider runner's request/stream path into
|
|
4
|
-
* one of the finer-grained `RunStatus` variants introduced in Task 7.
|
|
5
|
-
*
|
|
6
|
-
* The function is deliberately:
|
|
7
|
-
* - Module-level and stateless (pure function of the error).
|
|
8
|
-
* - Tolerant of non-Error throws (strings, null, undefined, POJOs).
|
|
9
|
-
* - Conservative: anything unrecognised falls through to `'error'`.
|
|
10
|
-
*
|
|
11
|
-
* Classification order is significant. AbortError / "aborted" messages are
|
|
12
|
-
* checked BEFORE network-error codes because a timeout-driven
|
|
13
|
-
* `AbortController.abort()` path often surfaces an error whose message
|
|
14
|
-
* mentions "aborted" and whose underlying cause may have `.code` set — we
|
|
15
|
-
* want that to surface as `api_aborted`, not `network_error`.
|
|
16
|
-
*
|
|
17
|
-
* `api_error` is keyed off the presence of a numeric `.status` field, which
|
|
18
|
-
* is the convention used by both `openai` SDK `APIError` and fetch-based
|
|
19
|
-
* HTTP error wrappers in this codebase.
|
|
20
|
-
*
|
|
21
|
-
* NOTE: this helper does NOT replace the codex-runner's turn-scoped
|
|
22
|
-
* `lastResponseStatus` disambiguation from Task 5. The `reason` returned
|
|
23
|
-
* here is the *classification* string; the codex catch branch still builds
|
|
24
|
-
* a richer `detailed` message and uses it as the final `error` field.
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Detect whether an error represents a provider-side context-limit
|
|
28
|
-
* violation. Pattern-matches known provider error signatures for
|
|
29
|
-
* context-window exceeded conditions.
|
|
30
|
-
*
|
|
31
|
-
* Used by every runner to set errorCode='provider_context_limit' so the
|
|
32
|
-
* escalation orchestrator and downstream observers can distinguish
|
|
33
|
-
* context-limit failures from other API errors without string-matching
|
|
34
|
-
* the error field.
|
|
35
|
-
*/
|
|
36
|
-
export declare function isProviderContextLimit(err: unknown): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Detect whether an error represents a provider-side rate limit (HTTP 429
|
|
39
|
-
* or equivalent). Used by every runner to surface a structured
|
|
40
|
-
* `rate_limit_exceeded` code so the escalation orchestrator and downstream
|
|
41
|
-
* observers can distinguish rate-limit backpressure from other API errors
|
|
42
|
-
* without string-matching the `error` field.
|
|
43
|
-
*/
|
|
44
|
-
export declare function isRateLimit(err: unknown): boolean;
|
|
45
|
-
export declare function classifyError(err: unknown): {
|
|
46
|
-
status: RunStatus;
|
|
47
|
-
reason: string;
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=error-classification.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAqC5D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA+DjF"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Classify a thrown error from a provider runner's request/stream path into
|
|
3
|
-
* one of the finer-grained `RunStatus` variants introduced in Task 7.
|
|
4
|
-
*
|
|
5
|
-
* The function is deliberately:
|
|
6
|
-
* - Module-level and stateless (pure function of the error).
|
|
7
|
-
* - Tolerant of non-Error throws (strings, null, undefined, POJOs).
|
|
8
|
-
* - Conservative: anything unrecognised falls through to `'error'`.
|
|
9
|
-
*
|
|
10
|
-
* Classification order is significant. AbortError / "aborted" messages are
|
|
11
|
-
* checked BEFORE network-error codes because a timeout-driven
|
|
12
|
-
* `AbortController.abort()` path often surfaces an error whose message
|
|
13
|
-
* mentions "aborted" and whose underlying cause may have `.code` set — we
|
|
14
|
-
* want that to surface as `api_aborted`, not `network_error`.
|
|
15
|
-
*
|
|
16
|
-
* `api_error` is keyed off the presence of a numeric `.status` field, which
|
|
17
|
-
* is the convention used by both `openai` SDK `APIError` and fetch-based
|
|
18
|
-
* HTTP error wrappers in this codebase.
|
|
19
|
-
*
|
|
20
|
-
* NOTE: this helper does NOT replace the codex-runner's turn-scoped
|
|
21
|
-
* `lastResponseStatus` disambiguation from Task 5. The `reason` returned
|
|
22
|
-
* here is the *classification* string; the codex catch branch still builds
|
|
23
|
-
* a richer `detailed` message and uses it as the final `error` field.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Detect whether an error represents a provider-side context-limit
|
|
27
|
-
* violation. Pattern-matches known provider error signatures for
|
|
28
|
-
* context-window exceeded conditions.
|
|
29
|
-
*
|
|
30
|
-
* Used by every runner to set errorCode='provider_context_limit' so the
|
|
31
|
-
* escalation orchestrator and downstream observers can distinguish
|
|
32
|
-
* context-limit failures from other API errors without string-matching
|
|
33
|
-
* the error field.
|
|
34
|
-
*/
|
|
35
|
-
export function isProviderContextLimit(err) {
|
|
36
|
-
const e = (err ?? {});
|
|
37
|
-
const message = typeof e.message === 'string' ? e.message : '';
|
|
38
|
-
const code = typeof e.code === 'string' ? e.code : '';
|
|
39
|
-
const error = typeof e.error === 'string' ? e.error : '';
|
|
40
|
-
const bodyText = typeof e.bodyText === 'string' ? e.bodyText : '';
|
|
41
|
-
// Also inspect nested error shapes (some SDKs wrap in error.code / error.message).
|
|
42
|
-
const nestedError = (typeof e.error === 'object' && e.error !== null) ? e.error : null;
|
|
43
|
-
const nestedCode = typeof nestedError?.code === 'string' ? nestedError.code : '';
|
|
44
|
-
const nestedMessage = typeof nestedError?.message === 'string' ? nestedError.message : '';
|
|
45
|
-
const combined = `${message} ${code} ${error} ${bodyText} ${nestedCode} ${nestedMessage}`;
|
|
46
|
-
// Check structured code fields first — these are the most specific
|
|
47
|
-
// provider signals (OpenAI-compatible APIs commonly use this code).
|
|
48
|
-
if (code === 'context_length_exceeded' || nestedCode === 'context_length_exceeded')
|
|
49
|
-
return true;
|
|
50
|
-
// OpenAI-compatible signatures seen in APIError messages:
|
|
51
|
-
// - "context_length_exceeded"
|
|
52
|
-
// - "context length exceeded"
|
|
53
|
-
// - "This model's maximum context length is ..."
|
|
54
|
-
// - "Please reduce the length of the messages"
|
|
55
|
-
if (/context[_ -]length[_ -]exceeded/i.test(combined))
|
|
56
|
-
return true;
|
|
57
|
-
if (/maximum context length/i.test(combined))
|
|
58
|
-
return true;
|
|
59
|
-
if (/reduce the length of the messages?/i.test(combined))
|
|
60
|
-
return true;
|
|
61
|
-
// Anthropic / generic context-window signatures.
|
|
62
|
-
if (/context window(?: is| size| exceeded| limit| too)/i.test(combined))
|
|
63
|
-
return true;
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Detect whether an error represents a provider-side rate limit (HTTP 429
|
|
68
|
-
* or equivalent). Used by every runner to surface a structured
|
|
69
|
-
* `rate_limit_exceeded` code so the escalation orchestrator and downstream
|
|
70
|
-
* observers can distinguish rate-limit backpressure from other API errors
|
|
71
|
-
* without string-matching the `error` field.
|
|
72
|
-
*/
|
|
73
|
-
export function isRateLimit(err) {
|
|
74
|
-
const e = (err ?? {});
|
|
75
|
-
if (typeof e.status === 'number' && e.status === 429)
|
|
76
|
-
return true;
|
|
77
|
-
if (typeof e.code === 'string' && e.code === 'rate_limit_exceeded')
|
|
78
|
-
return true;
|
|
79
|
-
if (typeof e.message === 'string' && /rate.limit/i.test(e.message))
|
|
80
|
-
return true;
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
export function classifyError(err) {
|
|
84
|
-
// Provider context-window failures are API-side rejections even when the
|
|
85
|
-
// thrown shape lacks a numeric HTTP status. Check this before generic HTTP
|
|
86
|
-
// handling so classifyError() participates in provider_context_limit
|
|
87
|
-
// classification instead of leaving these as plain api_error/error.
|
|
88
|
-
if (isProviderContextLimit(err)) {
|
|
89
|
-
return {
|
|
90
|
-
status: 'api_error',
|
|
91
|
-
reason: 'provider_context_limit',
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
// Unwrap the common fields we read below. `err` may be anything, so guard
|
|
95
|
-
// every access.
|
|
96
|
-
const e = (err ?? {});
|
|
97
|
-
const message = typeof e.message === 'string' ? e.message : '';
|
|
98
|
-
const name = typeof e.name === 'string' ? e.name : '';
|
|
99
|
-
const code = typeof e.code === 'string' ? e.code : '';
|
|
100
|
-
// 1. Abort: AbortError or any message containing "aborted".
|
|
101
|
-
if (name === 'AbortError' || /aborted/i.test(message)) {
|
|
102
|
-
return {
|
|
103
|
-
status: 'api_aborted',
|
|
104
|
-
reason: 'request was aborted (signal cancellation or provider-side abort)',
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
// 2. Network-level failures: DNS/connection errors, or messages that
|
|
108
|
-
// explicitly mention "network".
|
|
109
|
-
if (code === 'ECONNREFUSED' || code === 'ENOTFOUND' || /network/i.test(message)) {
|
|
110
|
-
return {
|
|
111
|
-
status: 'provider_transport_failure',
|
|
112
|
-
reason: message || 'network error',
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
// 3. HTTP errors exposed via a numeric `.status` field.
|
|
116
|
-
if (typeof e.status === 'number') {
|
|
117
|
-
return {
|
|
118
|
-
status: 'api_error',
|
|
119
|
-
reason: `HTTP ${e.status}${message ? `: ${message}` : ''}`,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
// 4. Fallback: unknown error shape. Best-effort `reason` extraction.
|
|
123
|
-
let reason;
|
|
124
|
-
if (message) {
|
|
125
|
-
reason = message;
|
|
126
|
-
}
|
|
127
|
-
else if (typeof err === 'string') {
|
|
128
|
-
reason = err;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
try {
|
|
132
|
-
reason = String(err);
|
|
133
|
-
}
|
|
134
|
-
catch {
|
|
135
|
-
reason = 'unknown error';
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return { status: 'error', reason };
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=error-classification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-classification.js","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAMnB,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,mFAAmF;IACnF,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClH,MAAM,UAAU,GAAG,OAAO,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1F,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,QAAQ,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;IAE1F,mEAAmE;IACnE,oEAAoE;IACpE,IAAI,IAAI,KAAK,yBAAyB,IAAI,UAAU,KAAK,yBAAyB;QAAE,OAAO,IAAI,CAAC;IAEhG,0DAA0D;IAC1D,gCAAgC;IAChC,gCAAgC;IAChC,mDAAmD;IACnD,iDAAiD;IACjD,IAAI,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,iDAAiD;IACjD,IAAI,oDAAoD,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAErF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4D,CAAC;IACjF,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAChF,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,yEAAyE;IACzE,2EAA2E;IAC3E,qEAAqE;IACrE,oEAAoE;IACpE,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,wBAAwB;SACjC,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,gBAAgB;IAChB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAKnB,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtD,4DAA4D;IAC5D,IAAI,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,kEAAkE;SAC3E,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,mCAAmC;IACnC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,OAAO;YACL,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,OAAO,IAAI,eAAe;SACnC,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,eAAe,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/providers/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAA+C,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ExecutionContext } from '../lifecycle/lifecycle-context.js';
|
|
2
|
-
export type RunAnnotatorInput = {
|
|
3
|
-
prompt: string;
|
|
4
|
-
ctx: ExecutionContext;
|
|
5
|
-
tier?: 'standard' | 'complex';
|
|
6
|
-
};
|
|
7
|
-
export type RunAnnotatorResult = {
|
|
8
|
-
kind: 'ok';
|
|
9
|
-
text: string;
|
|
10
|
-
costUSD: number | null;
|
|
11
|
-
turnsUsed: number;
|
|
12
|
-
ms: number;
|
|
13
|
-
model: string | null;
|
|
14
|
-
inputTokens: number;
|
|
15
|
-
outputTokens: number;
|
|
16
|
-
cachedReadTokens: number;
|
|
17
|
-
cachedNonReadTokens: number;
|
|
18
|
-
} | {
|
|
19
|
-
kind: 'transport_error';
|
|
20
|
-
message: string;
|
|
21
|
-
ms: number;
|
|
22
|
-
};
|
|
23
|
-
export declare function runAnnotatorTurn(input: RunAnnotatorInput): Promise<RunAnnotatorResult>;
|
|
24
|
-
//# sourceMappingURL=run-annotator-turn.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-annotator-turn.d.ts","sourceRoot":"","sources":["../../src/providers/run-annotator-turn.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,gBAAgB,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAK7D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B5F"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// packages/core/src/providers/run-annotator-turn.ts
|
|
2
|
-
//
|
|
3
|
-
// Thin helper that runs a single annotator LLM turn through the session.
|
|
4
|
-
// Implements the 3-attempt transport retry policy from spec §4.6.
|
|
5
|
-
// Used by the annotator handler when the LLM judge layer is enabled
|
|
6
|
-
// (config.enableLLMAnnotate / default-on path); falls back to the
|
|
7
|
-
// deterministic parser when this helper returns transport_error.
|
|
8
|
-
import { HUMAN_LABEL } from '../lifecycle/stage-labels.js';
|
|
9
|
-
const TRANSPORT_RETRY_RE = /transport|network|5\d\d|timeout|ECONNREFUSED|ECONNRESET|EAI_AGAIN|ETIMEDOUT|fetch failed/i;
|
|
10
|
-
const BACKOFF_MS = [0, 1000, 2000];
|
|
11
|
-
export async function runAnnotatorTurn(input) {
|
|
12
|
-
const t0 = Date.now();
|
|
13
|
-
let lastErr = '';
|
|
14
|
-
for (let attempt = 0; attempt < BACKOFF_MS.length; attempt++) {
|
|
15
|
-
if (BACKOFF_MS[attempt] > 0)
|
|
16
|
-
await sleep(BACKOFF_MS[attempt]);
|
|
17
|
-
try {
|
|
18
|
-
const session = input.ctx.getSession(input.tier ?? 'standard');
|
|
19
|
-
const turn = await session.send(input.prompt, { stageLabel: HUMAN_LABEL.annotating });
|
|
20
|
-
return {
|
|
21
|
-
kind: 'ok',
|
|
22
|
-
text: turn.output ?? '',
|
|
23
|
-
costUSD: typeof turn.costUSD === 'number' ? turn.costUSD : null,
|
|
24
|
-
turnsUsed: turn.turns ?? 1,
|
|
25
|
-
ms: Date.now() - t0,
|
|
26
|
-
model: typeof turn.model === 'string' ? turn.model : null,
|
|
27
|
-
inputTokens: turn.usage?.inputTokens ?? 0,
|
|
28
|
-
outputTokens: turn.usage?.outputTokens ?? 0,
|
|
29
|
-
cachedReadTokens: turn.usage?.cachedReadTokens ?? 0,
|
|
30
|
-
cachedNonReadTokens: turn.usage?.cachedNonReadTokens ?? 0,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
lastErr = err instanceof Error ? err.message : String(err);
|
|
35
|
-
if (!TRANSPORT_RETRY_RE.test(lastErr))
|
|
36
|
-
break; // non-transport: don't retry
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return { kind: 'transport_error', message: lastErr || 'annotator turn failed', ms: Date.now() - t0 };
|
|
40
|
-
}
|
|
41
|
-
function sleep(ms) {
|
|
42
|
-
return new Promise(r => setTimeout(r, ms));
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=run-annotator-turn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-annotator-turn.js","sourceRoot":"","sources":["../../src/providers/run-annotator-turn.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,yEAAyE;AACzE,kEAAkE;AAClE,oEAAoE;AACpE,kEAAkE;AAClE,iEAAiE;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAuB3D,MAAM,kBAAkB,GAAG,2FAA2F,CAAC;AACvH,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAwB;IAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACvB,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC/D,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gBAC1B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBACnB,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACzD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;gBACzC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;gBACnD,mBAAmB,EAAE,IAAI,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAU,6BAA6B;QACtF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;AACvG,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ExecutionContext } from '../lifecycle/lifecycle-context.js';
|
|
2
|
-
import type { TaskSpec } from '../types.js';
|
|
3
|
-
import type { MultiModelConfig } from '../types.js';
|
|
4
|
-
export type WorkerTurnInput = {
|
|
5
|
-
task: TaskSpec;
|
|
6
|
-
config: MultiModelConfig;
|
|
7
|
-
ctx: ExecutionContext;
|
|
8
|
-
route: string;
|
|
9
|
-
/** Optional prompt override (used by rework which passes a rework-specific prompt). */
|
|
10
|
-
promptOverride?: string;
|
|
11
|
-
};
|
|
12
|
-
export type WorkerTurnResult = {
|
|
13
|
-
kind: 'ok';
|
|
14
|
-
text: string;
|
|
15
|
-
costUSD: number;
|
|
16
|
-
turnsUsed: number;
|
|
17
|
-
stopReason: 'normal' | 'turn_cap' | 'timeout';
|
|
18
|
-
} | {
|
|
19
|
-
kind: 'transport_error';
|
|
20
|
-
message: string;
|
|
21
|
-
} | {
|
|
22
|
-
kind: 'sandbox_violation';
|
|
23
|
-
path: string;
|
|
24
|
-
};
|
|
25
|
-
export declare function runWorkerTurn(input: WorkerTurnInput): Promise<WorkerTurnResult>;
|
|
26
|
-
//# sourceMappingURL=run-worker-turn.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-worker-turn.d.ts","sourceRoot":"","sources":["../../src/providers/run-worker-turn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;CAAE,GAC/G;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAwBhD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBrF"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Thin wrapper that builds the worker prompt for a given route and dispatches
|
|
2
|
-
// via the provider's session.
|
|
3
|
-
const GIT_FORBIDDEN_INSTRUCTION = [
|
|
4
|
-
'\n\nIMPORTANT — Persistence:',
|
|
5
|
-
'Do NOT run any git subcommand that mutates history',
|
|
6
|
-
'(commit, add, push, reset, rebase, merge, cherry-pick, etc.).',
|
|
7
|
-
'The Committing stage handles persistence at the end.',
|
|
8
|
-
'',
|
|
9
|
-
'IMPORTANT — Structured output:',
|
|
10
|
-
'End your response with a JSON-fenced block describing what you did:',
|
|
11
|
-
'```json',
|
|
12
|
-
'{',
|
|
13
|
-
' "summary": "one-line description",',
|
|
14
|
-
' "workerSelfAssessment": "done" | "failed",',
|
|
15
|
-
' "filesChanged": ["path/to/file.ts", ...],',
|
|
16
|
-
' "findings": [...], // read routes only',
|
|
17
|
-
' "citations": [...],',
|
|
18
|
-
' "criteriaSucceeded": ["criterion-name", ...],',
|
|
19
|
-
' "criteriaErrors": [{"criterion":"name","error":"msg"}, ...],',
|
|
20
|
-
' "sourcesUsed": ["url", ...]',
|
|
21
|
-
'}',
|
|
22
|
-
'```',
|
|
23
|
-
].join('\n');
|
|
24
|
-
export async function runWorkerTurn(input) {
|
|
25
|
-
try {
|
|
26
|
-
const systemPrompt = input.task.systemPrompt ?? '';
|
|
27
|
-
const userMessage = input.task.userMessage ?? '';
|
|
28
|
-
const base = systemPrompt.length > 0 ? `${systemPrompt}\n\n${userMessage}` : userMessage;
|
|
29
|
-
const instruction = base + GIT_FORBIDDEN_INSTRUCTION;
|
|
30
|
-
const prompt = input.promptOverride ?? instruction;
|
|
31
|
-
const session = input.ctx.getSession(input.ctx.assignedTier);
|
|
32
|
-
const turn = await session.send(prompt);
|
|
33
|
-
const typedTurn = turn;
|
|
34
|
-
return {
|
|
35
|
-
kind: 'ok',
|
|
36
|
-
text: typedTurn.output ?? '',
|
|
37
|
-
costUSD: typedTurn.costUSD ?? 0,
|
|
38
|
-
turnsUsed: typedTurn.turns ?? 1,
|
|
39
|
-
stopReason: mapStopReason(typedTurn.terminationReason),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
44
|
-
if (/sandbox/i.test(msg))
|
|
45
|
-
return { kind: 'sandbox_violation', path: '(unknown)' };
|
|
46
|
-
return { kind: 'transport_error', message: msg };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function mapStopReason(r) {
|
|
50
|
-
switch (r) {
|
|
51
|
-
case 'ok': return 'normal';
|
|
52
|
-
case 'cap_exhausted': return 'turn_cap';
|
|
53
|
-
case 'time_exceeded': return 'timeout';
|
|
54
|
-
default: return 'normal';
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=run-worker-turn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-worker-turn.js","sourceRoot":"","sources":["../../src/providers/run-worker-turn.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8BAA8B;AAoB9B,MAAM,yBAAyB,GAAG;IAChC,8BAA8B;IAC9B,oDAAoD;IACpD,+DAA+D;IAC/D,sDAAsD;IACtD,EAAE;IACF,gCAAgC;IAChC,qEAAqE;IACrE,SAAS;IACT,GAAG;IACH,sCAAsC;IACtC,8CAA8C;IAC9C,6CAA6C;IAC7C,2CAA2C;IAC3C,uBAAuB;IACvB,iDAAiD;IACjD,gEAAgE;IAChE,+BAA+B;IAC/B,GAAG;IACH,KAAK;CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,IAAI,CAAC;QACH,MAAM,YAAY,GAAI,KAAK,CAAC,IAAkC,CAAC,YAAY,IAAI,EAAE,CAAC;QAClF,MAAM,WAAW,GAAI,KAAK,CAAC,IAAiC,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QACzF,MAAM,WAAW,GAAG,IAAI,GAAG,yBAAyB,CAAC;QAErD,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,IAAI,WAAW,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAyF,CAAC;QAE5G,OAAO;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC;YAC/B,SAAS,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;YAC/B,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,iBAAiB,CAAC;SACvD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,eAAe,CAAC,CAAC,OAAO,UAAU,CAAC;QACxC,KAAK,eAAe,CAAC,CAAC,OAAO,SAAS,CAAC;QACvC,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC;IAC3B,CAAC;AACH,CAAC"}
|