@on-par/factory-core 0.9.8-next.2 → 0.9.8-next.20
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/config/effort.d.ts.map +1 -1
- package/dist/config/effort.js +2 -0
- package/dist/config/effort.js.map +1 -1
- package/dist/config/index.d.ts +7 -5
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/intermediaries.d.ts +15 -0
- package/dist/config/intermediaries.d.ts.map +1 -0
- package/dist/config/intermediaries.js +14 -0
- package/dist/config/intermediaries.js.map +1 -0
- package/dist/config/repo-harnesses.d.ts +1 -0
- package/dist/config/repo-harnesses.d.ts.map +1 -1
- package/dist/config/repo-tier-guard.d.ts +4 -0
- package/dist/config/repo-tier-guard.d.ts.map +1 -0
- package/dist/config/repo-tier-guard.js +8 -0
- package/dist/config/repo-tier-guard.js.map +1 -0
- package/dist/config/repo.d.ts +5 -4
- package/dist/config/repo.d.ts.map +1 -1
- package/dist/config/repo.js +5 -4
- package/dist/config/repo.js.map +1 -1
- package/dist/config/v2.d.ts +1 -0
- package/dist/config/v2.d.ts.map +1 -1
- package/dist/config/v2.js +4 -0
- package/dist/config/v2.js.map +1 -1
- package/dist/daemon/execution-config.d.ts +2 -0
- package/dist/daemon/execution-config.d.ts.map +1 -1
- package/dist/daemon/run-runtime.d.ts +2 -0
- package/dist/daemon/run-runtime.d.ts.map +1 -1
- package/dist/filing/index.d.ts.map +1 -1
- package/dist/filing/index.js +1 -0
- package/dist/filing/index.js.map +1 -1
- package/dist/harness/catalog.d.ts.map +1 -1
- package/dist/harness/catalog.js +1 -0
- package/dist/harness/catalog.js.map +1 -1
- package/dist/harness/classify.d.ts.map +1 -1
- package/dist/harness/classify.js +4 -0
- package/dist/harness/classify.js.map +1 -1
- package/dist/harness/contract.d.ts.map +1 -1
- package/dist/harness/contract.js +1 -0
- package/dist/harness/contract.js.map +1 -1
- package/dist/harness/index.d.ts +1 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +1 -0
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/opencode-version.d.ts +9 -0
- package/dist/harness/opencode-version.d.ts.map +1 -1
- package/dist/harness/opencode-version.js +27 -5
- package/dist/harness/opencode-version.js.map +1 -1
- package/dist/harness/opencode.d.ts +27 -4
- package/dist/harness/opencode.d.ts.map +1 -1
- package/dist/harness/opencode.js +80 -9
- package/dist/harness/opencode.js.map +1 -1
- package/dist/harness/pi.d.ts +32 -0
- package/dist/harness/pi.d.ts.map +1 -0
- package/dist/harness/pi.js +194 -0
- package/dist/harness/pi.js.map +1 -0
- package/dist/internal.d.ts +3 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/models/index.d.ts +7 -11
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +33 -24
- package/dist/models/index.js.map +1 -1
- package/dist/models/overrides.d.ts +13 -0
- package/dist/models/overrides.d.ts.map +1 -0
- package/dist/models/overrides.js +24 -0
- package/dist/models/overrides.js.map +1 -0
- package/dist/models/pi-auth.d.ts +15 -0
- package/dist/models/pi-auth.d.ts.map +1 -0
- package/dist/models/pi-auth.js +57 -0
- package/dist/models/pi-auth.js.map +1 -0
- package/dist/models/zdr-review.d.ts +6 -0
- package/dist/models/zdr-review.d.ts.map +1 -0
- package/dist/models/zdr-review.js +27 -0
- package/dist/models/zdr-review.js.map +1 -0
- package/dist/phases/build-opencode-failover.d.ts +35 -0
- package/dist/phases/build-opencode-failover.d.ts.map +1 -0
- package/dist/phases/build-opencode-failover.js +32 -0
- package/dist/phases/build-opencode-failover.js.map +1 -0
- package/dist/phases/build.d.ts +2 -0
- package/dist/phases/build.d.ts.map +1 -1
- package/dist/phases/build.js +15 -0
- package/dist/phases/build.js.map +1 -1
- package/dist/router/breaker.d.ts +14 -7
- package/dist/router/breaker.d.ts.map +1 -1
- package/dist/router/breaker.js +27 -12
- package/dist/router/breaker.js.map +1 -1
- package/dist/router/index.d.ts +1 -0
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +4 -0
- package/dist/router/index.js.map +1 -1
- package/dist/run/run-issue.js +2 -2
- package/dist/run/run-issue.js.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/exec.d.ts +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/models/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { HarnessDeclaration, ModelsConfig } from '../config/index.js';
|
|
2
2
|
import type { ModelDefinition, ModelTier } from '../types/index.js';
|
|
3
3
|
import { type LocalAuthAgent, type LocalAuthFailure } from '../utils/local-auth-record.js';
|
|
4
|
+
import { type PiAuthStatus } from './pi-auth.js';
|
|
5
|
+
export { type ModelOverrides, resolveModelOverrides, retiredModelHint } from './overrides.js';
|
|
4
6
|
export declare class ModelRegistry {
|
|
5
7
|
private config;
|
|
6
8
|
constructor(config: ModelsConfig);
|
|
@@ -27,6 +29,8 @@ export declare class ModelRegistry {
|
|
|
27
29
|
getHarnessId(modelId: string): string | undefined;
|
|
28
30
|
/** Check if a model is speculative/unproven (excluded from routing unless opted in) */
|
|
29
31
|
isExperimental(modelId: string): boolean;
|
|
32
|
+
/** True when the model's provider may use prompts for training (#2899): never chosen from a tier. */
|
|
33
|
+
trainsOnPrompts(modelId: string): boolean;
|
|
30
34
|
/** Check if a model is safe for local-only routing. */
|
|
31
35
|
isLocalOnlyModel(modelId: string): boolean;
|
|
32
36
|
/** Check if a model is routable from static config/env. Machine probes live in diagnoseModels(). */
|
|
@@ -53,17 +57,6 @@ export declare class ModelRegistry {
|
|
|
53
57
|
escalateAfterTierExhausted: boolean;
|
|
54
58
|
};
|
|
55
59
|
}
|
|
56
|
-
export interface ModelOverrides {
|
|
57
|
-
plan?: string;
|
|
58
|
-
build?: string;
|
|
59
|
-
}
|
|
60
|
-
/** Suffix for an unknown-model error when the id is a retired packaged model; '' otherwise. */
|
|
61
|
-
export declare function retiredModelHint(id: string): string;
|
|
62
|
-
/** Resolve FACTORY_PLAN_MODEL / FACTORY_BUILD_MODEL env overrides, validated
|
|
63
|
-
* against the registry. Throws a configuration error naming the env var when
|
|
64
|
-
* it references a model not present in models.json. Empty/whitespace values
|
|
65
|
-
* are treated as unset. */
|
|
66
|
-
export declare function resolveModelOverrides(registry: ModelRegistry, env?: NodeJS.ProcessEnv): ModelOverrides;
|
|
67
60
|
/** Check if a command is available on PATH */
|
|
68
61
|
export declare function isCommandAvailable(cmd: string): boolean;
|
|
69
62
|
/** True unless the harness needs a CLI that is not on PATH. Harnesses with no CLI probe are always present. */
|
|
@@ -96,12 +89,15 @@ export interface DoctorProbes {
|
|
|
96
89
|
/** Non-inference evidence that the opencode CLI is logged in (stored credentials in opencode's
|
|
97
90
|
* auth.json). Default: hasOpencodeLoginEvidence(). Never runs `opencode run`. */
|
|
98
91
|
opencodeLoggedIn?: () => boolean;
|
|
92
|
+
/** `pi auth check` for one provider model (#2903). Default: runPiAuthCheck. Never runs inference. */
|
|
93
|
+
piAuthCheck?: (providerModel: string) => PiAuthStatus;
|
|
99
94
|
/** The agent's last recorded run-time local_auth failure when no login has happened since
|
|
100
95
|
* (#2733). Default: localAuthFailureSinceLogin(). Reads local state only. */
|
|
101
96
|
localAuthFailure?: (agent: LocalAuthAgent) => LocalAuthFailure | null;
|
|
102
97
|
/** Runs a declared harness `probe` command; returns null on exit 0, else a failure detail.
|
|
103
98
|
* Default: runHarnessProbe. */
|
|
104
99
|
harnessProbe?: (cmd: string) => string | null;
|
|
100
|
+
now?: () => Date;
|
|
105
101
|
}
|
|
106
102
|
export interface ModelDiagnosis {
|
|
107
103
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
// src/models/index.ts — Model registry: availability checks, cost calculation, tier resolution
|
|
2
2
|
import { execSync } from 'node:child_process';
|
|
3
|
-
import { retiredModels } from '@on-par/factory-config';
|
|
4
3
|
import { ModelEffortsSchema, supportsEffort } from '../config/effort.js';
|
|
5
4
|
import { HARNESS_CATALOG, harnessCliCommand, isAgenticHarness, KNOWN_HARNESS_IDS } from '../harness/catalog.js';
|
|
6
5
|
import { hasClaudeLoginEvidence } from '../utils/claude-config.js';
|
|
7
6
|
import { hasCodexLoginEvidence } from '../utils/codex-config.js';
|
|
8
7
|
import { localAuthAgentFor, localAuthFailureSinceLogin, } from '../utils/local-auth-record.js';
|
|
9
8
|
import { hasOpencodeLoginEvidence } from '../utils/opencode-config.js';
|
|
9
|
+
import { piAuthOutcome, runPiAuthCheck } from './pi-auth.js';
|
|
10
|
+
import { applyZdrReview } from './zdr-review.js';
|
|
11
|
+
export { resolveModelOverrides, retiredModelHint } from './overrides.js';
|
|
10
12
|
export class ModelRegistry {
|
|
11
13
|
config;
|
|
12
14
|
constructor(config) {
|
|
@@ -92,6 +94,10 @@ export class ModelRegistry {
|
|
|
92
94
|
isExperimental(modelId) {
|
|
93
95
|
return !!this.get(modelId)?.experimental;
|
|
94
96
|
}
|
|
97
|
+
/** True when the model's provider may use prompts for training (#2899): never chosen from a tier. */
|
|
98
|
+
trainsOnPrompts(modelId) {
|
|
99
|
+
return !!this.get(modelId)?.trainsOnPrompts;
|
|
100
|
+
}
|
|
95
101
|
/** Check if a model is safe for local-only routing. */
|
|
96
102
|
isLocalOnlyModel(modelId) {
|
|
97
103
|
const def = this.get(modelId);
|
|
@@ -143,7 +149,12 @@ export class ModelRegistry {
|
|
|
143
149
|
}
|
|
144
150
|
/** Get all available models for a tier, in priority order */
|
|
145
151
|
getAvailableModelsForTier(tier, byok = false, allowExperimental = false, localOnly = false) {
|
|
146
|
-
|
|
152
|
+
const models = this.getModelsInTier(tier);
|
|
153
|
+
return models.filter((m) => {
|
|
154
|
+
// A single-entry tier is the shape of a models.pins.checker / models.pins.triage pin (applyRepoConfig), so a
|
|
155
|
+
// deliberate pin stays routable. Repo tiers cannot list a trainsOnPrompts model, and packaged tiers do not.
|
|
156
|
+
if (models.length > 1 && this.trainsOnPrompts(m))
|
|
157
|
+
return false;
|
|
147
158
|
if (!allowExperimental && this.isExperimental(m))
|
|
148
159
|
return false;
|
|
149
160
|
if (localOnly && !this.isLocalOnlyModel(m))
|
|
@@ -158,27 +169,6 @@ export class ModelRegistry {
|
|
|
158
169
|
return this.config.failover;
|
|
159
170
|
}
|
|
160
171
|
}
|
|
161
|
-
/** Suffix for an unknown-model error when the id is a retired packaged model; '' otherwise. */
|
|
162
|
-
export function retiredModelHint(id) {
|
|
163
|
-
const retired = Object.hasOwn(retiredModels, id) ? retiredModels[id] : undefined;
|
|
164
|
-
return retired ? `; '${id}' was removed under ${retired.adr}; use '${retired.replacement}'` : '';
|
|
165
|
-
}
|
|
166
|
-
/** Resolve FACTORY_PLAN_MODEL / FACTORY_BUILD_MODEL env overrides, validated
|
|
167
|
-
* against the registry. Throws a configuration error naming the env var when
|
|
168
|
-
* it references a model not present in models.json. Empty/whitespace values
|
|
169
|
-
* are treated as unset. */
|
|
170
|
-
export function resolveModelOverrides(registry, env = process.env) {
|
|
171
|
-
const resolveVar = (envVar) => {
|
|
172
|
-
const value = env[envVar]?.trim();
|
|
173
|
-
if (!value)
|
|
174
|
-
return undefined;
|
|
175
|
-
if (!registry.get(value)) {
|
|
176
|
-
throw new Error(`${envVar} is set to '${value}', which is not a model in models.json (known models: ${registry.list().join(', ')})${retiredModelHint(value)}`);
|
|
177
|
-
}
|
|
178
|
-
return value;
|
|
179
|
-
};
|
|
180
|
-
return { plan: resolveVar('FACTORY_PLAN_MODEL'), build: resolveVar('FACTORY_BUILD_MODEL') };
|
|
181
|
-
}
|
|
182
172
|
/** Check if a command is available on PATH */
|
|
183
173
|
export function isCommandAvailable(cmd) {
|
|
184
174
|
try {
|
|
@@ -296,6 +286,20 @@ export function diagnoseModels(registry, probes = {}, allowExperimental = false,
|
|
|
296
286
|
}
|
|
297
287
|
return opencodeLoggedInCache;
|
|
298
288
|
};
|
|
289
|
+
const piAuthCache = new Map();
|
|
290
|
+
const piAuth = (providerModel) => {
|
|
291
|
+
let status = piAuthCache.get(providerModel);
|
|
292
|
+
if (status === undefined) {
|
|
293
|
+
try {
|
|
294
|
+
status = (probes.piAuthCheck ?? runPiAuthCheck)(providerModel);
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
status = 'unknown';
|
|
298
|
+
}
|
|
299
|
+
piAuthCache.set(providerModel, status);
|
|
300
|
+
}
|
|
301
|
+
return status;
|
|
302
|
+
};
|
|
299
303
|
const localAuthFailureProbe = probes.localAuthFailure ?? ((agent) => localAuthFailureSinceLogin(agent));
|
|
300
304
|
const localAuthFailureCache = new Map();
|
|
301
305
|
const localAuthFailure = (agent) => {
|
|
@@ -382,6 +386,10 @@ export function diagnoseModels(registry, probes = {}, allowExperimental = false,
|
|
|
382
386
|
reason = `${UNVERIFIED_PREFIX}${probe.okLabel} installed but not logged in and ${def.envKey} not set — run \`opencode auth login\` or export ${def.envKey}`;
|
|
383
387
|
}
|
|
384
388
|
}
|
|
389
|
+
else if (probe.command === 'pi') {
|
|
390
|
+
const target = registry.getProviderModel(m);
|
|
391
|
+
({ reachable, unverified, reason } = piAuthOutcome(piAuth(target), target, probe.okLabel));
|
|
392
|
+
}
|
|
385
393
|
else {
|
|
386
394
|
reachable = true;
|
|
387
395
|
reason = `ok (${probe.okLabel})`;
|
|
@@ -430,7 +438,8 @@ export function diagnoseModels(registry, probes = {}, allowExperimental = false,
|
|
|
430
438
|
}
|
|
431
439
|
}
|
|
432
440
|
}
|
|
433
|
-
|
|
441
|
+
const row = { model: m, provider, tiers, reachable, unverified, experimental, reason };
|
|
442
|
+
return applyZdrReview(row, registry.getProviderModel(m), probes.now);
|
|
434
443
|
});
|
|
435
444
|
}
|
|
436
445
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ModelRegistry } from './index.js';
|
|
2
|
+
export interface ModelOverrides {
|
|
3
|
+
plan?: string;
|
|
4
|
+
build?: string;
|
|
5
|
+
}
|
|
6
|
+
/** Suffix for an unknown-model error when the id is a retired packaged model; '' otherwise. */
|
|
7
|
+
export declare function retiredModelHint(id: string): string;
|
|
8
|
+
/** Resolve FACTORY_PLAN_MODEL / FACTORY_BUILD_MODEL env overrides, validated
|
|
9
|
+
* against the registry. Throws a configuration error naming the env var when
|
|
10
|
+
* it references a model not present in models.json. Empty/whitespace values
|
|
11
|
+
* are treated as unset. */
|
|
12
|
+
export declare function resolveModelOverrides(registry: ModelRegistry, env?: NodeJS.ProcessEnv): ModelOverrides;
|
|
13
|
+
//# sourceMappingURL=overrides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/models/overrides.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;4BAG4B;AAC5B,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAYnH"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/models/overrides.ts — Env model overrides and retired-model hints
|
|
2
|
+
import { retiredModels } from '@on-par/factory-config';
|
|
3
|
+
/** Suffix for an unknown-model error when the id is a retired packaged model; '' otherwise. */
|
|
4
|
+
export function retiredModelHint(id) {
|
|
5
|
+
const retired = Object.hasOwn(retiredModels, id) ? retiredModels[id] : undefined;
|
|
6
|
+
return retired ? `; '${id}' was removed under ${retired.adr}; use '${retired.replacement}'` : '';
|
|
7
|
+
}
|
|
8
|
+
/** Resolve FACTORY_PLAN_MODEL / FACTORY_BUILD_MODEL env overrides, validated
|
|
9
|
+
* against the registry. Throws a configuration error naming the env var when
|
|
10
|
+
* it references a model not present in models.json. Empty/whitespace values
|
|
11
|
+
* are treated as unset. */
|
|
12
|
+
export function resolveModelOverrides(registry, env = process.env) {
|
|
13
|
+
const resolveVar = (envVar) => {
|
|
14
|
+
const value = env[envVar]?.trim();
|
|
15
|
+
if (!value)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (!registry.get(value)) {
|
|
18
|
+
throw new Error(`${envVar} is set to '${value}', which is not a model in models.json (known models: ${registry.list().join(', ')})${retiredModelHint(value)}`);
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
};
|
|
22
|
+
return { plan: resolveVar('FACTORY_PLAN_MODEL'), build: resolveVar('FACTORY_BUILD_MODEL') };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=overrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/models/overrides.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,uBAAuB,OAAO,CAAC,GAAG,UAAU,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACnG,CAAC;AAED;;;4BAG4B;AAC5B,MAAM,UAAU,qBAAqB,CAAC,QAAuB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACjG,MAAM,UAAU,GAAG,CAAC,MAAoD,EAAsB,EAAE;QAC9F,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,eAAe,KAAK,yDAAyD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAC9I,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;AAC9F,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SpawnSyncOptionsWithStringEncoding, type SpawnSyncReturns } from 'node:child_process';
|
|
2
|
+
/** Result of `pi auth check` (#2903): ready=exit 0, not_ready=exit 1, invalid=exit 2; anything else is unknown. */
|
|
3
|
+
export type PiAuthStatus = 'ready' | 'not_ready' | 'invalid' | 'unknown';
|
|
4
|
+
/** The slice of `spawnSync` that runPiAuthCheck uses; injectable in tests. */
|
|
5
|
+
export type PiSpawn = (command: string, args: string[], options: SpawnSyncOptionsWithStringEncoding) => Pick<SpawnSyncReturns<string>, 'status' | 'signal' | 'stdout' | 'error'>;
|
|
6
|
+
/** Runs `pi auth check --model <m> --no-refresh` (no model call, no token refresh). The exit code and the
|
|
7
|
+
* stdout token must agree, so an older pi without the subcommand reads as unknown, not not_ready. */
|
|
8
|
+
export declare function runPiAuthCheck(providerModel: string, spawn?: PiSpawn): PiAuthStatus;
|
|
9
|
+
/** Maps a `pi auth check` status to the reachability fields of a ModelDiagnosis row. */
|
|
10
|
+
export declare function piAuthOutcome(status: PiAuthStatus, target: string, okLabel: string): {
|
|
11
|
+
reachable: boolean;
|
|
12
|
+
unverified: boolean;
|
|
13
|
+
reason: string;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=pi-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-auth.d.ts","sourceRoot":"","sources":["../../src/models/pi-auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kCAAkC,EAAE,KAAK,gBAAgB,EAAa,MAAM,oBAAoB,CAAC;AAI/G,mHAAmH;AACnH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAMzE,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,kCAAkC,KACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AAE9E;sGACsG;AACtG,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,GAAE,OAAmB,GAAG,YAAY,CAoB9F;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuB7D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// src/models/pi-auth.ts — `pi auth check` probe for factory models --doctor (#2903)
|
|
2
|
+
import { spawnSync } from 'node:child_process';
|
|
3
|
+
const PI_AUTH_TIMEOUT_MS = 10_000;
|
|
4
|
+
const PI_LOGIN_HINT = 'run `pi` then `/login <provider>`, or export the provider key';
|
|
5
|
+
const PI_AUTH_EXPECTED = { 0: 'ready', 1: 'not_ready', 2: 'invalid' };
|
|
6
|
+
/** Runs `pi auth check --model <m> --no-refresh` (no model call, no token refresh). The exit code and the
|
|
7
|
+
* stdout token must agree, so an older pi without the subcommand reads as unknown, not not_ready. */
|
|
8
|
+
export function runPiAuthCheck(providerModel, spawn = spawnSync) {
|
|
9
|
+
try {
|
|
10
|
+
const res = spawn('pi', ['auth', 'check', '--model', providerModel, '--no-refresh'], {
|
|
11
|
+
encoding: 'utf8',
|
|
12
|
+
timeout: PI_AUTH_TIMEOUT_MS,
|
|
13
|
+
stdio: 'pipe',
|
|
14
|
+
// Mirrors the pi harness (ADR-0163): DEEPSEEK_API_KEY is never passed to pi.
|
|
15
|
+
env: { ...process.env, DEEPSEEK_API_KEY: undefined },
|
|
16
|
+
});
|
|
17
|
+
if (res.error || res.signal || res.status === null)
|
|
18
|
+
return 'unknown';
|
|
19
|
+
const expected = PI_AUTH_EXPECTED[res.status];
|
|
20
|
+
if (!expected)
|
|
21
|
+
return 'unknown';
|
|
22
|
+
const token = String(res.stdout ?? '')
|
|
23
|
+
.split('\n')
|
|
24
|
+
.map((line) => line.trim().toLowerCase())
|
|
25
|
+
.find((line) => line !== '');
|
|
26
|
+
return token === expected ? expected : 'unknown';
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return 'unknown';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Maps a `pi auth check` status to the reachability fields of a ModelDiagnosis row. */
|
|
33
|
+
export function piAuthOutcome(status, target, okLabel) {
|
|
34
|
+
switch (status) {
|
|
35
|
+
case 'ready':
|
|
36
|
+
return { reachable: true, unverified: false, reason: `ok (${okLabel})` };
|
|
37
|
+
case 'not_ready':
|
|
38
|
+
return {
|
|
39
|
+
reachable: false,
|
|
40
|
+
unverified: true,
|
|
41
|
+
reason: `unverified — no auth evidence: ${okLabel} auth check not_ready for ${target} — ${PI_LOGIN_HINT}`,
|
|
42
|
+
};
|
|
43
|
+
case 'invalid':
|
|
44
|
+
return {
|
|
45
|
+
reachable: false,
|
|
46
|
+
unverified: false,
|
|
47
|
+
reason: `${okLabel} reports invalid credentials for ${target} — ${PI_LOGIN_HINT}`,
|
|
48
|
+
};
|
|
49
|
+
default:
|
|
50
|
+
return {
|
|
51
|
+
reachable: false,
|
|
52
|
+
unverified: true,
|
|
53
|
+
reason: `unverified — could not run \`pi auth check\` for ${target} (upgrade pi or check it runs)`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=pi-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-auth.js","sourceRoot":"","sources":["../../src/models/pi-auth.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EAAkE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/G,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAKlC,MAAM,aAAa,GAAG,+DAA+D,CAAC;AAEtF,MAAM,gBAAgB,GAA2C,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;AAS9G;sGACsG;AACtG,MAAM,UAAU,cAAc,CAAC,aAAqB,EAAE,KAAK,GAAY,SAAS;IAC9E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE;YACnF,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,MAAM;YACb,6EAA6E;YAC7E,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE;SACrD,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;aACnC,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aACxC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,MAAc,EACd,OAAe;IAEf,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,OAAO,GAAG,EAAE,CAAC;QAC3E,KAAK,WAAW;YACd,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kCAAkC,OAAO,6BAA6B,MAAM,MAAM,aAAa,EAAE;aAC1G,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,GAAG,OAAO,oCAAoC,MAAM,MAAM,aAAa,EAAE;aAClF,CAAC;QACJ;YACE,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,oDAAoD,MAAM,gCAAgC;aACnG,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ModelDiagnosis } from './index.js';
|
|
2
|
+
/** Doctor reason when `providerModel`'s intermediary is past its ZDR review date (ADR-0163); null otherwise. */
|
|
3
|
+
export declare function zdrReviewReason(providerModel: string, now: Date): string | null;
|
|
4
|
+
/** Downgrade a doctor row whose intermediary's ZDR review date has passed (#2897). */
|
|
5
|
+
export declare function applyZdrReview(d: ModelDiagnosis, providerModel: string, now?: () => Date): ModelDiagnosis;
|
|
6
|
+
//# sourceMappingURL=zdr-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zdr-review.d.ts","sourceRoot":"","sources":["../../src/models/zdr-review.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,gHAAgH;AAChH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAK/E;AAOD,sFAAsF;AACtF,wBAAgB,cAAc,CAC5B,CAAC,EAAE,cAAc,EACjB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,IAAuB,GACjC,cAAc,CAMhB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/models/zdr-review.ts — Doctor downgrade for intermediaries past their ZDR review date (ADR-0163, #2897)
|
|
2
|
+
import { intermediaryFor } from '../config/intermediaries.js';
|
|
3
|
+
/** Doctor reason when `providerModel`'s intermediary is past its ZDR review date (ADR-0163); null otherwise. */
|
|
4
|
+
export function zdrReviewReason(providerModel, now) {
|
|
5
|
+
const intermediary = intermediaryFor(providerModel);
|
|
6
|
+
if (!intermediary?.reviewBy)
|
|
7
|
+
return null;
|
|
8
|
+
if (now.toISOString().slice(0, 10) <= intermediary.reviewBy)
|
|
9
|
+
return null; // the review day itself is still valid
|
|
10
|
+
return `ZDR review date ${intermediary.reviewBy} passed for ${intermediary.name}; re-check the agreement (ADR-0163)`;
|
|
11
|
+
}
|
|
12
|
+
/** Rows diagnoseModels excluded without probing (experimental-disabled / FACTORY_LOCAL_ONLY). */
|
|
13
|
+
function isExcludedRow(d) {
|
|
14
|
+
return d.reason.startsWith('experimental —') || d.reason === 'excluded by FACTORY_LOCAL_ONLY=1';
|
|
15
|
+
}
|
|
16
|
+
/** Downgrade a doctor row whose intermediary's ZDR review date has passed (#2897). */
|
|
17
|
+
export function applyZdrReview(d, providerModel, now = () => new Date()) {
|
|
18
|
+
const zdr = zdrReviewReason(providerModel, now());
|
|
19
|
+
if (!zdr)
|
|
20
|
+
return d;
|
|
21
|
+
if (d.reachable || d.unverified)
|
|
22
|
+
return { ...d, reachable: false, unverified: true, reason: `${zdr} (${d.reason})` };
|
|
23
|
+
if (isExcludedRow(d))
|
|
24
|
+
return d;
|
|
25
|
+
return { ...d, reason: `${d.reason}; ${zdr}` };
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=zdr-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zdr-review.js","sourceRoot":"","sources":["../../src/models/zdr-review.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAE9G,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,gHAAgH;AAChH,MAAM,UAAU,eAAe,CAAC,aAAqB,EAAE,GAAS;IAC9D,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACjH,OAAO,mBAAmB,YAAY,CAAC,QAAQ,eAAe,YAAY,CAAC,IAAI,qCAAqC,CAAC;AACvH,CAAC;AAED,iGAAiG;AACjG,SAAS,aAAa,CAAC,CAAiB;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,kCAAkC,CAAC;AAClG,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAC5B,CAAiB,EACjB,aAAqB,EACrB,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAElC,MAAM,GAAG,GAAG,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACrH,IAAI,aAAa,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ModelRouter, RouterResult } from '../router/index.js';
|
|
2
|
+
import { type ConsumedSteering } from '../steering/index.js';
|
|
3
|
+
import type { FailoverReason } from '../types/index.js';
|
|
4
|
+
type Log = (type: 'worker_failover', msg: string, extra: {
|
|
5
|
+
failoverReason: FailoverReason;
|
|
6
|
+
}) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Where an OpenCode BUILD continues once every build_opencode worker is capped (#2885): the first
|
|
9
|
+
* build_claude worker, else the first build_codex worker. Undefined means rethrow the original
|
|
10
|
+
* failure: the repo pinned the route (ADR-0092), auto-failover is off, or no target worker exists.
|
|
11
|
+
*/
|
|
12
|
+
export declare function failOverOpencodeBuild(opts: {
|
|
13
|
+
router: ModelRouter;
|
|
14
|
+
reason: FailoverReason;
|
|
15
|
+
fromModel: string;
|
|
16
|
+
runOpts: Parameters<ModelRouter['run']>[2];
|
|
17
|
+
prompts: {
|
|
18
|
+
claude: () => string;
|
|
19
|
+
codex: () => string;
|
|
20
|
+
};
|
|
21
|
+
build: {
|
|
22
|
+
steering?: ConsumedSteering;
|
|
23
|
+
log: Log;
|
|
24
|
+
routePinned?: boolean;
|
|
25
|
+
autoFailover?: {
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
};
|
|
28
|
+
codexDisabled?: boolean;
|
|
29
|
+
};
|
|
30
|
+
}): Promise<{
|
|
31
|
+
route: 'claude' | 'codex';
|
|
32
|
+
result: RouterResult;
|
|
33
|
+
} | undefined>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=build-opencode-failover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-opencode-failover.d.ts","sourceRoot":"","sources":["../../src/phases/build-opencode-failover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAK,IAAI,CAAC;AAErG;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE;QACL,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,GAAG,EAAE,GAAG,CAAC;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QACpC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,CAAC,CA2B3E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { applySteering } from '../steering/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Where an OpenCode BUILD continues once every build_opencode worker is capped (#2885): the first
|
|
4
|
+
* build_claude worker, else the first build_codex worker. Undefined means rethrow the original
|
|
5
|
+
* failure: the repo pinned the route (ADR-0092), auto-failover is off, or no target worker exists.
|
|
6
|
+
*/
|
|
7
|
+
export async function failOverOpencodeBuild(opts) {
|
|
8
|
+
const { router, reason, fromModel } = opts;
|
|
9
|
+
if (opts.build.routePinned === true || (opts.build.autoFailover && !opts.build.autoFailover.enabled))
|
|
10
|
+
return undefined;
|
|
11
|
+
const claudeModel = router.resolveAll('build_claude')[0];
|
|
12
|
+
const codexModel = opts.build.codexDisabled ? undefined : router.resolveAll('build_codex')[0];
|
|
13
|
+
const target = claudeModel
|
|
14
|
+
? { route: 'claude', task: 'build_claude', model: claudeModel }
|
|
15
|
+
: codexModel
|
|
16
|
+
? { route: 'codex', task: 'build_codex', model: codexModel }
|
|
17
|
+
: undefined;
|
|
18
|
+
if (!target)
|
|
19
|
+
return undefined;
|
|
20
|
+
opts.build.log('worker_failover', `OpenCode build workers exhausted (${reason}) — continuing on ${target.route}: ` +
|
|
21
|
+
`from_model=${fromModel} to_model=${target.model} ` +
|
|
22
|
+
`from_route=build_opencode to_route=${target.task} reason=${reason}`, { failoverReason: reason });
|
|
23
|
+
const prompt = applySteering(opts.prompts[target.route](), opts.build.steering);
|
|
24
|
+
// modelOverride must be the chosen model: runOpts may hold the opencode pin.
|
|
25
|
+
const result = await router.run(target.task, prompt, {
|
|
26
|
+
...opts.runOpts,
|
|
27
|
+
retryCause: 'failover',
|
|
28
|
+
modelOverride: target.model,
|
|
29
|
+
});
|
|
30
|
+
return { route: target.route, result };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=build-opencode-failover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-opencode-failover.js","sourceRoot":"","sources":["../../src/phases/build-opencode-failover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAK5E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAa3C;IACC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;QAClG,OAAO,SAAS,CAAC;IACnB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAY;QAC1E,CAAC,CAAC,UAAU;YACV,CAAC,CAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAY;YACvE,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,iBAAiB,EACjB,qCAAqC,MAAM,qBAAqB,MAAM,CAAC,KAAK,IAAI;QAC9E,cAAc,SAAS,aAAa,MAAM,CAAC,KAAK,GAAG;QACnD,sCAAsC,MAAM,CAAC,IAAI,WAAW,MAAM,EAAE,EACtE,EAAE,cAAc,EAAE,MAAM,EAAE,CAC3B,CAAC;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChF,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;QACnD,GAAG,IAAI,CAAC,OAAO;QACf,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,MAAM,CAAC,KAAK;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC"}
|
package/dist/phases/build.d.ts
CHANGED
|
@@ -53,6 +53,8 @@ declare function buildPhaseImpl(opts: {
|
|
|
53
53
|
/** modelOverride is the user's build pin (#367, #2510). A pinned build crosses harnesses only on
|
|
54
54
|
* usage_cap or rate_limit; any other failure (local_auth included) parks like a pinned plan. */
|
|
55
55
|
pinnedModel?: boolean;
|
|
56
|
+
/** The repo pinned the build route in .factory/config.json (ADR-0092); the opencode route never crosses harnesses then (#2885). */
|
|
57
|
+
routePinned?: boolean;
|
|
56
58
|
/** Cross-provider Codex fallback used when a Claude worker is capped or unavailable. */
|
|
57
59
|
codexFallbackModel?: string;
|
|
58
60
|
onProviderFailure?: (info: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/phases/build.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAK7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/phases/build.ts"],"names":[],"mappings":"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"}
|
package/dist/phases/build.js
CHANGED
|
@@ -13,6 +13,7 @@ import { failoversFrom } from '../router/index.js';
|
|
|
13
13
|
import { applySteering } from '../steering/index.js';
|
|
14
14
|
import { escalationLine, isEscalation } from '../utils/index.js';
|
|
15
15
|
import { UNTRUSTED_ISSUE_BODY_NOTICE } from '../utils/untrusted-input.js';
|
|
16
|
+
import { failOverOpencodeBuild } from './build-opencode-failover.js';
|
|
16
17
|
export async function buildPhase(opts) {
|
|
17
18
|
return withLifecycle({
|
|
18
19
|
bus: opts.bus,
|
|
@@ -153,6 +154,20 @@ async function buildPhaseImpl(opts) {
|
|
|
153
154
|
modelOverride: fallback,
|
|
154
155
|
});
|
|
155
156
|
}
|
|
157
|
+
else if (taskType === 'build_opencode' && (reason === 'usage_cap' || reason === 'rate_limit')) {
|
|
158
|
+
const next = await failOverOpencodeBuild({
|
|
159
|
+
router,
|
|
160
|
+
reason,
|
|
161
|
+
runOpts,
|
|
162
|
+
build: opts,
|
|
163
|
+
fromModel: attempts?.at(-1)?.model ?? 'unknown',
|
|
164
|
+
prompts: { claude: claudeRoutePrompt, codex: () => buildCommitOnlyPrompt(promptOpts) },
|
|
165
|
+
});
|
|
166
|
+
if (!next)
|
|
167
|
+
throw err;
|
|
168
|
+
({ route, result } = next);
|
|
169
|
+
crossHarnessReason = reason;
|
|
170
|
+
}
|
|
156
171
|
else if (taskType !== 'build_codex' || !crossHarnessOk || reason === undefined)
|
|
157
172
|
throw err;
|
|
158
173
|
else {
|