nexus-agents 2.103.1 → 2.104.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/dist/{child-mcp-config-I7VKSEW2.js → child-mcp-config-XOIMNU6R.js} +2 -2
- package/dist/{chunk-5ZK25ZWD.js → chunk-2B7332HE.js} +4 -4
- package/dist/{chunk-TZ2YMIQV.js → chunk-2MM5MC45.js} +9 -9
- package/dist/{chunk-3VMTQCEH.js → chunk-3TZUEGNB.js} +2 -2
- package/dist/{chunk-7P3FALEV.js → chunk-46GXDOWQ.js} +2 -2
- package/dist/{chunk-RDNEALPS.js → chunk-47FQ3BU7.js} +7 -7
- package/dist/{chunk-ULKXWKNZ.js → chunk-4KTPDSFZ.js} +5 -5
- package/dist/{chunk-OMFKL3FZ.js → chunk-5YMSKNUG.js} +7 -7
- package/dist/{chunk-Y5D6P5JV.js → chunk-7RE2S46N.js} +3 -3
- package/dist/{chunk-KSMYBMM6.js → chunk-A5UJBVCQ.js} +2 -2
- package/dist/{chunk-U3GOPZIA.js → chunk-ABNHZEKO.js} +2 -2
- package/dist/{chunk-FXPDPPYR.js → chunk-BLMWODJG.js} +2 -2
- package/dist/{chunk-6E6MOJYY.js → chunk-E6FIVDNH.js} +2 -2
- package/dist/{chunk-4PWBF3NC.js → chunk-ETGNZ6H2.js} +2 -2
- package/dist/{chunk-MHVGM6NQ.js → chunk-FVJ2LM2G.js} +2 -2
- package/dist/{chunk-VPPZ45IZ.js → chunk-I5QZ3PVT.js} +2 -2
- package/dist/{chunk-MMZ5IKQ3.js → chunk-I7UDM43R.js} +2 -2
- package/dist/{chunk-N35KBA5P.js → chunk-IFO52GSQ.js} +3 -3
- package/dist/{chunk-4VTJA7FE.js → chunk-K7OKFTCH.js} +2 -2
- package/dist/{chunk-CB66XOZQ.js → chunk-LM3BH55G.js} +36 -36
- package/dist/{chunk-CB66XOZQ.js.map → chunk-LM3BH55G.js.map} +1 -1
- package/dist/{chunk-DAOUGMA5.js → chunk-M54LGBTY.js} +4 -4
- package/dist/{chunk-3UOFGQ2K.js → chunk-P5XUYJBO.js} +3 -3
- package/dist/{chunk-WORMJT4K.js → chunk-PGSXRUH5.js} +3 -3
- package/dist/{chunk-3GUCNISD.js → chunk-RZ4A2RRN.js} +2 -2
- package/dist/{chunk-XISM6YBY.js → chunk-TFRXRKU5.js} +4 -4
- package/dist/{chunk-QQNM4YAL.js → chunk-UFTQXDUA.js} +2 -2
- package/dist/{chunk-5L5REFGE.js → chunk-VCLQMXVJ.js} +3 -3
- package/dist/{chunk-UB5S4II3.js → chunk-VGHPMNDR.js} +2 -2
- package/dist/{chunk-G2FTEZDY.js → chunk-VIHUOFIT.js} +37 -10
- package/dist/{chunk-G2FTEZDY.js.map → chunk-VIHUOFIT.js.map} +1 -1
- package/dist/{chunk-GA2ZZERU.js → chunk-WDVUKSIQ.js} +38 -2
- package/dist/chunk-WDVUKSIQ.js.map +1 -0
- package/dist/{chunk-L32OQDWK.js → chunk-WT46JLBD.js} +3 -3
- package/dist/{chunk-RWSRBLSA.js → chunk-XWOLOXKN.js} +2 -2
- package/dist/{cli-circuit-breaker-M4LZW4RB.js → cli-circuit-breaker-QMCG6JGV.js} +4 -4
- package/dist/cli.js +41 -40
- package/dist/cli.js.map +1 -1
- package/dist/{composite-router-CYGVTMW6.js → composite-router-ZX64CEVG.js} +2 -2
- package/dist/{consensus-vote-2ODNLCSS.js → consensus-vote-7HEHHH5S.js} +13 -12
- package/dist/{context-retriever-VZ5HKPWX.js → context-retriever-J7DIPQUO.js} +6 -6
- package/dist/{doctor-deep-A3FHG7A7.js → doctor-deep-ITSJV2RH.js} +3 -3
- package/dist/{expert-bridge-GNHXRQEZ.js → expert-bridge-7R4AU4DE.js} +4 -4
- package/dist/{factory-6PU24HFM.js → factory-UZQ3RGFQ.js} +6 -5
- package/dist/{factory-7ENY4JOE.js → factory-Y2RF33UB.js} +5 -5
- package/dist/{improvement-review-6377XBPE.js → improvement-review-NBVWPFXR.js} +4 -4
- package/dist/index.d.ts +18 -1
- package/dist/index.js +35 -35
- package/dist/{init-opencode-6UJPLOHE.js → init-opencode-QPHX4KVI.js} +5 -5
- package/dist/{issue-triage-YOFAEUGC.js → issue-triage-D5ADEG3V.js} +5 -5
- package/dist/{pr-reviewer-helpers-MK2ZFEEI.js → pr-reviewer-helpers-R7U4EI2P.js} +4 -4
- package/dist/{registry-command-JLAE6RAW.js → registry-command-CFNNKJ5S.js} +2 -2
- package/dist/{repo-security-plan-IGX7AS5P.js → repo-security-plan-2AXFDREW.js} +3 -3
- package/dist/{research-helpers-synthesize-B5KL3S4T.js → research-helpers-synthesize-YTIDNKBF.js} +3 -3
- package/dist/{routing-memory-7RKYQEHM.js → routing-memory-YLX6QNY2.js} +2 -2
- package/dist/{session-memory-S4SBPBP4.js → session-memory-Y5MUOY56.js} +3 -3
- package/dist/{setup-command-KMGJM4V4.js → setup-command-AS65DYIU.js} +10 -10
- package/dist/{setup-config-2DS2V65J.js → setup-config-5J3R7RET.js} +3 -3
- package/dist/{setup-custom-api-JVYDKH6Y.js → setup-custom-api-MJ24PJA7.js} +4 -4
- package/dist/{tool-memory-4LVVNSVD.js → tool-memory-YNMRI3PZ.js} +5 -5
- package/dist/{weather-report-FUVJJPE4.js → weather-report-GZRODMYW.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-GA2ZZERU.js.map +0 -1
- /package/dist/{child-mcp-config-I7VKSEW2.js.map → child-mcp-config-XOIMNU6R.js.map} +0 -0
- /package/dist/{chunk-5ZK25ZWD.js.map → chunk-2B7332HE.js.map} +0 -0
- /package/dist/{chunk-TZ2YMIQV.js.map → chunk-2MM5MC45.js.map} +0 -0
- /package/dist/{chunk-3VMTQCEH.js.map → chunk-3TZUEGNB.js.map} +0 -0
- /package/dist/{chunk-7P3FALEV.js.map → chunk-46GXDOWQ.js.map} +0 -0
- /package/dist/{chunk-RDNEALPS.js.map → chunk-47FQ3BU7.js.map} +0 -0
- /package/dist/{chunk-ULKXWKNZ.js.map → chunk-4KTPDSFZ.js.map} +0 -0
- /package/dist/{chunk-OMFKL3FZ.js.map → chunk-5YMSKNUG.js.map} +0 -0
- /package/dist/{chunk-Y5D6P5JV.js.map → chunk-7RE2S46N.js.map} +0 -0
- /package/dist/{chunk-KSMYBMM6.js.map → chunk-A5UJBVCQ.js.map} +0 -0
- /package/dist/{chunk-U3GOPZIA.js.map → chunk-ABNHZEKO.js.map} +0 -0
- /package/dist/{chunk-FXPDPPYR.js.map → chunk-BLMWODJG.js.map} +0 -0
- /package/dist/{chunk-6E6MOJYY.js.map → chunk-E6FIVDNH.js.map} +0 -0
- /package/dist/{chunk-4PWBF3NC.js.map → chunk-ETGNZ6H2.js.map} +0 -0
- /package/dist/{chunk-MHVGM6NQ.js.map → chunk-FVJ2LM2G.js.map} +0 -0
- /package/dist/{chunk-VPPZ45IZ.js.map → chunk-I5QZ3PVT.js.map} +0 -0
- /package/dist/{chunk-MMZ5IKQ3.js.map → chunk-I7UDM43R.js.map} +0 -0
- /package/dist/{chunk-N35KBA5P.js.map → chunk-IFO52GSQ.js.map} +0 -0
- /package/dist/{chunk-4VTJA7FE.js.map → chunk-K7OKFTCH.js.map} +0 -0
- /package/dist/{chunk-DAOUGMA5.js.map → chunk-M54LGBTY.js.map} +0 -0
- /package/dist/{chunk-3UOFGQ2K.js.map → chunk-P5XUYJBO.js.map} +0 -0
- /package/dist/{chunk-WORMJT4K.js.map → chunk-PGSXRUH5.js.map} +0 -0
- /package/dist/{chunk-3GUCNISD.js.map → chunk-RZ4A2RRN.js.map} +0 -0
- /package/dist/{chunk-XISM6YBY.js.map → chunk-TFRXRKU5.js.map} +0 -0
- /package/dist/{chunk-QQNM4YAL.js.map → chunk-UFTQXDUA.js.map} +0 -0
- /package/dist/{chunk-5L5REFGE.js.map → chunk-VCLQMXVJ.js.map} +0 -0
- /package/dist/{chunk-UB5S4II3.js.map → chunk-VGHPMNDR.js.map} +0 -0
- /package/dist/{chunk-L32OQDWK.js.map → chunk-WT46JLBD.js.map} +0 -0
- /package/dist/{chunk-RWSRBLSA.js.map → chunk-XWOLOXKN.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-M4LZW4RB.js.map → cli-circuit-breaker-QMCG6JGV.js.map} +0 -0
- /package/dist/{composite-router-CYGVTMW6.js.map → composite-router-ZX64CEVG.js.map} +0 -0
- /package/dist/{consensus-vote-2ODNLCSS.js.map → consensus-vote-7HEHHH5S.js.map} +0 -0
- /package/dist/{context-retriever-VZ5HKPWX.js.map → context-retriever-J7DIPQUO.js.map} +0 -0
- /package/dist/{doctor-deep-A3FHG7A7.js.map → doctor-deep-ITSJV2RH.js.map} +0 -0
- /package/dist/{expert-bridge-GNHXRQEZ.js.map → expert-bridge-7R4AU4DE.js.map} +0 -0
- /package/dist/{factory-6PU24HFM.js.map → factory-UZQ3RGFQ.js.map} +0 -0
- /package/dist/{factory-7ENY4JOE.js.map → factory-Y2RF33UB.js.map} +0 -0
- /package/dist/{improvement-review-6377XBPE.js.map → improvement-review-NBVWPFXR.js.map} +0 -0
- /package/dist/{init-opencode-6UJPLOHE.js.map → init-opencode-QPHX4KVI.js.map} +0 -0
- /package/dist/{issue-triage-YOFAEUGC.js.map → issue-triage-D5ADEG3V.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-MK2ZFEEI.js.map → pr-reviewer-helpers-R7U4EI2P.js.map} +0 -0
- /package/dist/{registry-command-JLAE6RAW.js.map → registry-command-CFNNKJ5S.js.map} +0 -0
- /package/dist/{repo-security-plan-IGX7AS5P.js.map → repo-security-plan-2AXFDREW.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-B5KL3S4T.js.map → research-helpers-synthesize-YTIDNKBF.js.map} +0 -0
- /package/dist/{routing-memory-7RKYQEHM.js.map → routing-memory-YLX6QNY2.js.map} +0 -0
- /package/dist/{session-memory-S4SBPBP4.js.map → session-memory-Y5MUOY56.js.map} +0 -0
- /package/dist/{setup-command-KMGJM4V4.js.map → setup-command-AS65DYIU.js.map} +0 -0
- /package/dist/{setup-config-2DS2V65J.js.map → setup-config-5J3R7RET.js.map} +0 -0
- /package/dist/{setup-custom-api-JVYDKH6Y.js.map → setup-custom-api-MJ24PJA7.js.map} +0 -0
- /package/dist/{tool-memory-4LVVNSVD.js.map → tool-memory-YNMRI3PZ.js.map} +0 -0
- /package/dist/{weather-report-FUVJJPE4.js.map → weather-report-GZRODMYW.js.map} +0 -0
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
} from "./chunk-6T3EPABN.js";
|
|
6
6
|
import {
|
|
7
7
|
generateId
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-A5UJBVCQ.js";
|
|
9
9
|
import {
|
|
10
10
|
getMemoryRegistry
|
|
11
11
|
} from "./chunk-PQHVC4BD.js";
|
|
12
12
|
import {
|
|
13
13
|
SessionMemory
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UFTQXDUA.js";
|
|
15
15
|
import {
|
|
16
16
|
ErrorCode,
|
|
17
17
|
NexusError,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
getTimeProvider,
|
|
25
25
|
ok,
|
|
26
26
|
setSharedMobiMemDbPathResolver
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
28
28
|
import {
|
|
29
29
|
nexusDataPath
|
|
30
30
|
} from "./chunk-CH7QIDHQ.js";
|
|
@@ -5612,4 +5612,4 @@ export {
|
|
|
5612
5612
|
reinitializeMemoryBackends,
|
|
5613
5613
|
ToolMemoryManager
|
|
5614
5614
|
};
|
|
5615
|
-
//# sourceMappingURL=chunk-
|
|
5615
|
+
//# sourceMappingURL=chunk-M54LGBTY.js.map
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
CircuitBreakerRegistry,
|
|
3
3
|
CircuitError,
|
|
4
4
|
mapCliErrorToCategory
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ETGNZ6H2.js";
|
|
6
6
|
import {
|
|
7
7
|
createLogger,
|
|
8
8
|
err,
|
|
9
9
|
getFallbackChainForCategory,
|
|
10
10
|
getTimeProvider,
|
|
11
11
|
ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
13
13
|
|
|
14
14
|
// src/cli-adapters/cli-circuit-breaker.ts
|
|
15
15
|
var CATEGORY_TO_FALLBACK = {
|
|
@@ -152,4 +152,4 @@ export {
|
|
|
152
152
|
CliCircuitBreakerIntegration,
|
|
153
153
|
createCliCircuitBreakerIntegration
|
|
154
154
|
};
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
155
|
+
//# sourceMappingURL=chunk-P5XUYJBO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAIAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7RE2S46N.js";
|
|
4
4
|
import {
|
|
5
5
|
ConfigError,
|
|
6
6
|
createLogger,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getTimeProvider,
|
|
10
10
|
lookupInTreeCapability,
|
|
11
11
|
ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
13
13
|
import {
|
|
14
14
|
getNexusDataDir
|
|
15
15
|
} from "./chunk-CH7QIDHQ.js";
|
|
@@ -307,4 +307,4 @@ export {
|
|
|
307
307
|
discoverModels,
|
|
308
308
|
buildOpenAICompatAdapters
|
|
309
309
|
};
|
|
310
|
-
//# sourceMappingURL=chunk-
|
|
310
|
+
//# sourceMappingURL=chunk-PGSXRUH5.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
MODEL_IDS,
|
|
4
4
|
getTimeProvider,
|
|
5
5
|
resolveModelIdentitySync
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
7
7
|
|
|
8
8
|
// src/config/model-availability.ts
|
|
9
9
|
var DEFAULT_TTL_MS = 6e4;
|
|
@@ -150,4 +150,4 @@ export {
|
|
|
150
150
|
resetAvailabilityCache,
|
|
151
151
|
filterAvailableModels
|
|
152
152
|
};
|
|
153
|
-
//# sourceMappingURL=chunk-
|
|
153
|
+
//# sourceMappingURL=chunk-RZ4A2RRN.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GitHubProvider,
|
|
3
3
|
ScmError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3TZUEGNB.js";
|
|
5
5
|
import {
|
|
6
6
|
ROLE_DEFAULT_TRUST,
|
|
7
7
|
ReputationCache,
|
|
@@ -11,13 +11,13 @@ import {
|
|
|
11
11
|
gateWithReputation,
|
|
12
12
|
resolveReputationGatingMode,
|
|
13
13
|
sanitizeInput
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I5QZ3PVT.js";
|
|
15
15
|
import {
|
|
16
16
|
createLogger,
|
|
17
17
|
err,
|
|
18
18
|
getTimeProvider,
|
|
19
19
|
ok
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
21
21
|
|
|
22
22
|
// src/security/trust-classifier.ts
|
|
23
23
|
function mapAuthorAssociation(association) {
|
|
@@ -1390,4 +1390,4 @@ export {
|
|
|
1390
1390
|
IssueTriage,
|
|
1391
1391
|
createIssueTriage
|
|
1392
1392
|
};
|
|
1393
|
-
//# sourceMappingURL=chunk-
|
|
1393
|
+
//# sourceMappingURL=chunk-TFRXRKU5.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getErrorMessage,
|
|
5
5
|
getTimeProvider,
|
|
6
6
|
ok
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
8
8
|
|
|
9
9
|
// src/context/session-memory.ts
|
|
10
10
|
import * as fs from "fs";
|
|
@@ -351,4 +351,4 @@ export {
|
|
|
351
351
|
SessionMemory,
|
|
352
352
|
createSessionMemory
|
|
353
353
|
};
|
|
354
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-UFTQXDUA.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
toolStructuredError,
|
|
7
7
|
toolSuccessStructured,
|
|
8
8
|
wrapToolWithTimeout
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XWOLOXKN.js";
|
|
10
10
|
import {
|
|
11
11
|
createLogger,
|
|
12
12
|
formatZodError,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
getOutcomeStore,
|
|
15
15
|
getPipelineEventBus,
|
|
16
16
|
getTimeProvider
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
18
18
|
import {
|
|
19
19
|
getNexusDataDir
|
|
20
20
|
} from "./chunk-CH7QIDHQ.js";
|
|
@@ -1092,4 +1092,4 @@ export {
|
|
|
1092
1092
|
runImprovementReview,
|
|
1093
1093
|
registerImprovementReviewTool
|
|
1094
1094
|
};
|
|
1095
|
-
//# sourceMappingURL=chunk-
|
|
1095
|
+
//# sourceMappingURL=chunk-VCLQMXVJ.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
getErrorMessage,
|
|
9
9
|
ok,
|
|
10
10
|
parseBoolEnv
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
12
12
|
|
|
13
13
|
// src/cli/research-helpers-synthesize.ts
|
|
14
14
|
import { z } from "zod";
|
|
@@ -1015,4 +1015,4 @@ export {
|
|
|
1015
1015
|
AttributedInsightSchema,
|
|
1016
1016
|
synthesizeResearch
|
|
1017
1017
|
};
|
|
1018
|
-
//# sourceMappingURL=chunk-
|
|
1018
|
+
//# sourceMappingURL=chunk-VGHPMNDR.js.map
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CliCircuitBreaker,
|
|
3
3
|
DEFAULT_CIRCUIT_BREAKER_CONFIG
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ETGNZ6H2.js";
|
|
5
|
+
import {
|
|
6
|
+
getAvailabilityCache
|
|
7
|
+
} from "./chunk-RZ4A2RRN.js";
|
|
5
8
|
import {
|
|
6
9
|
generateHyphenId
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-A5UJBVCQ.js";
|
|
8
11
|
import {
|
|
9
12
|
CLI_SUBPROCESS_TIMEOUTS,
|
|
10
13
|
CLI_TIMEOUTS,
|
|
@@ -29,7 +32,7 @@ import {
|
|
|
29
32
|
isRateLimitText,
|
|
30
33
|
loadModelsDevSnapshot,
|
|
31
34
|
ok
|
|
32
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-WDVUKSIQ.js";
|
|
33
36
|
|
|
34
37
|
// src/cli-adapters/subprocess-adapter.ts
|
|
35
38
|
import { spawn } from "child_process";
|
|
@@ -2898,29 +2901,53 @@ var OpenCodeCliAdapter = class extends SubprocessCliAdapter {
|
|
|
2898
2901
|
if (this.availableModels === void 0 || this.availableModels.size === 0) return false;
|
|
2899
2902
|
return this.availableModels.has(cliModel);
|
|
2900
2903
|
}
|
|
2901
|
-
/**
|
|
2904
|
+
/** #3408: true if the model is in rate-limit cooldown (recent 429). Opt-in. */
|
|
2905
|
+
isCooled(cliModel) {
|
|
2906
|
+
return isDynamicModelsEnabled() && getAvailabilityCache().isKnownUnavailable(cliModel);
|
|
2907
|
+
}
|
|
2908
|
+
/** Usable = offered by the OpenCode install AND not in rate-limit cooldown. */
|
|
2909
|
+
isModelUsable(cliModel) {
|
|
2910
|
+
return this.isModelAvailable(cliModel) && !this.isCooled(cliModel);
|
|
2911
|
+
}
|
|
2912
|
+
/** Appends --model if the resolved model is usable (#1402, #3407, #3408). */
|
|
2902
2913
|
appendModelArg(args, task) {
|
|
2903
2914
|
const internalModel = task.model ?? this.model;
|
|
2904
2915
|
let cliModel = resolveOpenCodeModel(internalModel);
|
|
2905
|
-
if (!this.
|
|
2906
|
-
const
|
|
2916
|
+
if (!this.isModelUsable(cliModel) && isDynamicModelsEnabled() && this.availableModels !== void 0) {
|
|
2917
|
+
const usable = new Set([...this.availableModels].filter((m) => !this.isCooled(m)));
|
|
2918
|
+
const resolved = resolveLiveModelId(cliModel, usable);
|
|
2907
2919
|
if (resolved !== cliModel) {
|
|
2908
|
-
logger5.debug("Resolved
|
|
2920
|
+
logger5.debug("Resolved to live/non-cooled model (#3407/#3408)", {
|
|
2909
2921
|
from: cliModel,
|
|
2910
2922
|
to: resolved
|
|
2911
2923
|
});
|
|
2912
2924
|
cliModel = resolved;
|
|
2913
2925
|
}
|
|
2914
2926
|
}
|
|
2915
|
-
if (this.
|
|
2927
|
+
if (this.isModelUsable(cliModel)) {
|
|
2916
2928
|
args.push("--model", cliModel);
|
|
2917
2929
|
} else {
|
|
2918
|
-
logger5.debug("Model not
|
|
2930
|
+
logger5.debug("Model not usable (unavailable or cooled), using OpenCode default", {
|
|
2919
2931
|
requested: cliModel,
|
|
2920
2932
|
available: this.availableModels?.size ?? 0
|
|
2921
2933
|
});
|
|
2922
2934
|
}
|
|
2923
2935
|
}
|
|
2936
|
+
/**
|
|
2937
|
+
* #3408: mark a model in rate-limit cooldown when a call returns RATE_LIMITED,
|
|
2938
|
+
* so subsequent selections skip it until the AvailabilityCache TTL recovers.
|
|
2939
|
+
* Wraps the base executeTask; opt-in + fail-open (no-op when discovery is off).
|
|
2940
|
+
* Advisory: a cooled model is still usable via an explicit, available --model.
|
|
2941
|
+
*/
|
|
2942
|
+
async executeTask(task, options) {
|
|
2943
|
+
const result = await super.executeTask(task, options);
|
|
2944
|
+
if (isDynamicModelsEnabled() && !result.ok && result.error.code === "RATE_LIMITED") {
|
|
2945
|
+
const cliModel = resolveOpenCodeModel(task.model ?? this.model);
|
|
2946
|
+
getAvailabilityCache().markUnavailable(cliModel, "rate-limited (429)");
|
|
2947
|
+
logger5.debug("Cooldown: marked model rate-limited (#3408)", { model: cliModel });
|
|
2948
|
+
}
|
|
2949
|
+
return result;
|
|
2950
|
+
}
|
|
2924
2951
|
/** Appends optional task flags (workDir, variant, thinking). */
|
|
2925
2952
|
appendTaskFlags(args, task) {
|
|
2926
2953
|
const workDir = task.options?.["workDir"];
|
|
@@ -3418,4 +3445,4 @@ export {
|
|
|
3418
3445
|
isCliAvailable,
|
|
3419
3446
|
getAvailableClis
|
|
3420
3447
|
};
|
|
3421
|
-
//# sourceMappingURL=chunk-
|
|
3448
|
+
//# sourceMappingURL=chunk-VIHUOFIT.js.map
|