@cjhyy/code-shell 0.1.5 → 0.1.7
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/CHANGELOG.md +30 -0
- package/dist/anthropic-UBSB5AQH.js +1 -0
- package/dist/arena/index.js +1 -104
- package/dist/arena-OW55ZCHT.js +3 -0
- package/dist/bwrap-PVZMLHZR.js +2 -0
- package/dist/chunk-2NS3JMNK.js +1 -0
- package/dist/chunk-3QP5BQ3L.js +1 -0
- package/dist/chunk-B7K2OWKC.js +2 -0
- package/dist/chunk-EWWK56K6.js +2 -0
- package/dist/chunk-FU7AHZNN.js +1 -0
- package/dist/chunk-HIJ2XXGX.js +1 -0
- package/dist/chunk-KCXSARAA.js +1 -0
- package/dist/chunk-NFH3UQ3E.js +2 -0
- package/dist/chunk-NMBYBGC7.js +250 -0
- package/dist/chunk-NVAZJ5XS.js +2 -0
- package/dist/chunk-O5HFCH2U.js +1 -0
- package/dist/chunk-P6JSTIFM.js +1 -0
- package/dist/chunk-PGANL6F2.js +3 -0
- package/dist/chunk-Q4O2HGWS.js +251 -0
- package/dist/chunk-QTWU7UNA.js +5 -0
- package/dist/chunk-RP26WO4R.js +1 -0
- package/dist/chunk-SNFAPSLA.js +1 -0
- package/dist/chunk-T222K6IV.js +18 -0
- package/dist/chunk-TKJA6W36.js +3 -0
- package/dist/chunk-UDPUTFQT.js +2 -0
- package/dist/chunk-W47Z7MGS.js +33 -0
- package/dist/chunk-WI6FSWGU.js +1 -0
- package/dist/chunk-WOP6MJKW.js +1 -0
- package/dist/chunk-XDOWC7EG.js +4 -0
- package/dist/chunk-Y2NS6HPO.js +641 -0
- package/dist/cli/main.js +303 -22037
- package/dist/cli/updater.d.ts +8 -0
- package/dist/client-base-6ZZJJYDY.js +1 -0
- package/dist/compaction-ECVQVOCT.js +1 -0
- package/dist/devtools-SGDUOOM4.js +1 -0
- package/dist/engine/engine.d.ts +15 -0
- package/dist/export-md-U72T7NW7.js +22 -0
- package/dist/file-history-7FQFEQOL.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -347
- package/dist/llm/token-counter.d.ts +17 -0
- package/dist/manager-C3TDN6MS.js +1 -0
- package/dist/mcp-manager-OP4XYV53.js +1 -0
- package/dist/memory-BNI4WEWL.js +1 -0
- package/dist/model-cache-HEDXI7UJ.js +1 -0
- package/dist/model-fetcher-BJ64META.js +1 -0
- package/dist/off-7SDVMMXW.js +1 -0
- package/dist/openai-KEWQ54TM.js +1 -0
- package/dist/openrouter-models-AM6M52D6.js +1 -0
- package/dist/openrouter-sync-5JNBL3Z6.js +1 -0
- package/dist/product/index.js +1 -21
- package/dist/run/index.js +1 -48
- package/dist/seatbelt-WBYROQT6.js +37 -0
- package/dist/session/session-manager.d.ts +2 -0
- package/dist/session-manager-AGWS5SMJ.js +1 -0
- package/dist/settings/schema.d.ts +72 -6
- package/dist/tool-summary-5UE62VU4.js +2 -0
- package/dist/tool-system/builtin/bash.d.ts +7 -1
- package/dist/tool-system/context.d.ts +7 -0
- package/dist/tool-system/investigation-guard.d.ts +9 -0
- package/dist/tool-system/sandbox/bwrap.d.ts +13 -0
- package/dist/tool-system/sandbox/index.d.ts +71 -0
- package/dist/tool-system/sandbox/off.d.ts +2 -0
- package/dist/tool-system/sandbox/seatbelt.d.ts +18 -0
- package/dist/types.d.ts +4 -0
- package/dist/ui/components/SessionPicker.d.ts +2 -0
- package/dist/ui/components/SpinnerWithVerb.d.ts +2 -2
- package/dist/ui/components/StatusLine.d.ts +2 -2
- package/dist/updater-OCNU2K2Z.js +1 -0
- package/package.json +8 -10
- package/skills-builtin/codeshell-help.md +135 -0
- package/dist/anthropic-IBTI4WL2.cjs +0 -10
- package/dist/anthropic-PRZZKHEZ.js +0 -10
- package/dist/arena/index.cjs +0 -104
- package/dist/arena-KBQOPLFV.cjs +0 -261
- package/dist/arena-O2L4TN6A.js +0 -261
- package/dist/chunk-2EP3CLEN.js +0 -44
- package/dist/chunk-2YW4FPFG.cjs +0 -101
- package/dist/chunk-3OA5G4TM.js +0 -47
- package/dist/chunk-52LGZKT3.cjs +0 -47
- package/dist/chunk-55XGPMAP.cjs +0 -146
- package/dist/chunk-5ECBT4YA.js +0 -450
- package/dist/chunk-6QVAYW7C.cjs +0 -438
- package/dist/chunk-6S4BJ65N.js +0 -113
- package/dist/chunk-76HYEPDM.js +0 -307
- package/dist/chunk-76W334S4.js +0 -54
- package/dist/chunk-7EG3V4JY.cjs +0 -113
- package/dist/chunk-7JVTYEEC.js +0 -340
- package/dist/chunk-7K6SDRRF.js +0 -9047
- package/dist/chunk-7Y6S3OCX.js +0 -438
- package/dist/chunk-A5LCRPDP.cjs +0 -54
- package/dist/chunk-BSW22MPA.js +0 -146
- package/dist/chunk-BUU5PZK2.cjs +0 -9048
- package/dist/chunk-BWTOS5BH.cjs +0 -5128
- package/dist/chunk-BXCY2FSE.js +0 -203
- package/dist/chunk-C5YQBIRK.js +0 -5128
- package/dist/chunk-HEKQCI7B.cjs +0 -224
- package/dist/chunk-HS2MFNUC.cjs +0 -44
- package/dist/chunk-IK4EWJBP.cjs +0 -203
- package/dist/chunk-JMR33QVF.cjs +0 -169
- package/dist/chunk-KOVYSDHZ.cjs +0 -340
- package/dist/chunk-KS3RYAYL.cjs +0 -45
- package/dist/chunk-MD32R22I.js +0 -50
- package/dist/chunk-MY5XHADU.cjs +0 -216
- package/dist/chunk-NUNC3VFB.cjs +0 -307
- package/dist/chunk-QRM7IF2S.cjs +0 -4711
- package/dist/chunk-R47ROHGL.cjs +0 -298
- package/dist/chunk-RMYKO74M.js +0 -1252
- package/dist/chunk-SFXHZSRF.js +0 -101
- package/dist/chunk-SIHHIQLO.js +0 -224
- package/dist/chunk-SNT563K3.cjs +0 -107
- package/dist/chunk-T6VYG46N.js +0 -105
- package/dist/chunk-TUY2T5KP.cjs +0 -105
- package/dist/chunk-VIAGTYYW.js +0 -169
- package/dist/chunk-VYL4EFRC.cjs +0 -1252
- package/dist/chunk-W22P377T.js +0 -299
- package/dist/chunk-WASS5YWB.js +0 -215
- package/dist/chunk-XDIQWQJ4.js +0 -4711
- package/dist/chunk-YIQBXAYU.cjs +0 -264
- package/dist/chunk-YJ77GQK5.js +0 -107
- package/dist/chunk-YUI524OE.cjs +0 -450
- package/dist/chunk-ZBPSQCPU.js +0 -264
- package/dist/cli/main.cjs +0 -22133
- package/dist/client-base-HTF236ZD.cjs +0 -9
- package/dist/client-base-QKRKCOWB.js +0 -9
- package/dist/compaction-6VU2T643.js +0 -33
- package/dist/compaction-OKUNTCA7.cjs +0 -33
- package/dist/devtools-T2NIZBJK.cjs +0 -6
- package/dist/devtools-YXWHOVKR.js +0 -6
- package/dist/export-md-RXDW6F5W.cjs +0 -135
- package/dist/export-md-XXKZANW5.js +0 -135
- package/dist/file-history-KYPE3ECT.cjs +0 -7
- package/dist/file-history-LF4F7X26.js +0 -7
- package/dist/index.cjs +0 -347
- package/dist/manager-C2IUXKRC.js +0 -7
- package/dist/manager-YYKWYTRM.cjs +0 -7
- package/dist/mcp-manager-QMKWPBZ4.js +0 -8
- package/dist/mcp-manager-Z3OKI74O.cjs +0 -8
- package/dist/memory-5LWZ6FI2.cjs +0 -9
- package/dist/memory-VIJLBAMQ.js +0 -9
- package/dist/model-cache-5KIYL5SL.js +0 -13
- package/dist/model-cache-OED3IM4R.cjs +0 -13
- package/dist/model-fetcher-HKGICACL.js +0 -8
- package/dist/model-fetcher-UR6WJOQP.cjs +0 -8
- package/dist/openai-JR2WEKOF.js +0 -10
- package/dist/openai-YBTOET4O.cjs +0 -10
- package/dist/openrouter-models-OU4GRZQY.cjs +0 -15
- package/dist/openrouter-models-TGKDKY52.js +0 -15
- package/dist/openrouter-sync-BBHUM3R6.cjs +0 -11
- package/dist/openrouter-sync-UXUSJCIR.js +0 -11
- package/dist/product/index.cjs +0 -21
- package/dist/run/index.cjs +0 -48
- package/dist/session-manager-Q22BBMD3.js +0 -8
- package/dist/session-manager-XODQVL3C.cjs +0 -8
- package/dist/tool-summary-63DPIS7G.cjs +0 -31
- package/dist/tool-summary-NP5CDBKG.js +0 -31
- package/dist/updater-QW473OF4.cjs +0 -17
- package/dist/updater-VFUAHCVY.js +0 -17
package/dist/arena/index.cjs
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _chunkVYL4EFRCcjs = require('../chunk-VYL4EFRC.cjs');
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
var _chunkBWTOS5BHcjs = require('../chunk-BWTOS5BH.cjs');
|
|
52
|
-
require('../chunk-QRM7IF2S.cjs');
|
|
53
|
-
require('../chunk-2YW4FPFG.cjs');
|
|
54
|
-
require('../chunk-IK4EWJBP.cjs');
|
|
55
|
-
require('../chunk-KS3RYAYL.cjs');
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
exports.Arena = _chunkBWTOS5BHcjs.Arena; exports.ArenaLedger = _chunkBWTOS5BHcjs.ArenaLedger; exports.DiscussionStrategy = _chunkBWTOS5BHcjs.DiscussionStrategy; exports.IterativeArena = _chunkVYL4EFRCcjs.IterativeArena; exports.LENS_NAMES = _chunkBWTOS5BHcjs.LENS_NAMES; exports.MODEL_PRESETS = _chunkBWTOS5BHcjs.MODEL_PRESETS; exports.PlanningStrategy = _chunkBWTOS5BHcjs.PlanningStrategy; exports.ReviewStrategy = _chunkBWTOS5BHcjs.ReviewStrategy; exports.applyReviewResult = _chunkBWTOS5BHcjs.applyReviewResult; exports.buildConsensus = _chunkBWTOS5BHcjs.buildConsensus; exports.buildDigest = _chunkBWTOS5BHcjs.buildDigest; exports.buildLensPrompt = _chunkBWTOS5BHcjs.buildLensPrompt; exports.collectEvidence = _chunkBWTOS5BHcjs.collectEvidence; exports.createProgressRenderer = _chunkBWTOS5BHcjs.createProgressRenderer; exports.defaultIterateConvergence = _chunkVYL4EFRCcjs.defaultConvergence; exports.formatArenaResult = _chunkBWTOS5BHcjs.formatArenaResult; exports.formatArenaResultForSession = _chunkBWTOS5BHcjs.formatArenaResultForSession; exports.formatDigest = _chunkBWTOS5BHcjs.formatDigest; exports.getIterateFormat = _chunkVYL4EFRCcjs.getFormat; exports.getLens = _chunkBWTOS5BHcjs.getLens; exports.getMaxOutputTokens = _chunkBWTOS5BHcjs.getMaxOutputTokens; exports.getStrategy = _chunkBWTOS5BHcjs.getStrategy; exports.getStrategyForPlan = _chunkBWTOS5BHcjs.getStrategyForPlan; exports.hasTools = _chunkBWTOS5BHcjs.hasTools; exports.isStrategyV2 = _chunkBWTOS5BHcjs.isStrategyV2; exports.isTerminal = _chunkBWTOS5BHcjs.isTerminal; exports.iterateCodeFormat = _chunkVYL4EFRCcjs.codeFormat; exports.iterateDiffRatio = _chunkVYL4EFRCcjs.diffRatio; exports.iterateDocumentFormat = _chunkVYL4EFRCcjs.documentFormat; exports.markUnderReview = _chunkBWTOS5BHcjs.markUnderReview; exports.markUnresolved = _chunkBWTOS5BHcjs.markUnresolved; exports.planArena = _chunkBWTOS5BHcjs.planArena; exports.printArenaResult = _chunkBWTOS5BHcjs.printArenaResult; exports.registerClaims = _chunkBWTOS5BHcjs.registerClaims; exports.renderProgress = _chunkBWTOS5BHcjs.renderProgress; exports.resolveClaimStatus = _chunkBWTOS5BHcjs.resolveClaimStatus; exports.resolveLenses = _chunkBWTOS5BHcjs.resolveLenses; exports.runAdjudication = _chunkBWTOS5BHcjs.runAdjudication; exports.runCrossReview = _chunkBWTOS5BHcjs.runCrossReview; exports.runDebateRounds = _chunkBWTOS5BHcjs.runDebateRounds; exports.runParticipantResearch = _chunkBWTOS5BHcjs.runParticipantResearch; exports.runParticipantResearchWithDossiers = _chunkBWTOS5BHcjs.runParticipantResearchWithDossiers; exports.runVerificationReview = _chunkBWTOS5BHcjs.runVerificationReview; exports.selectClaimsForReview = _chunkBWTOS5BHcjs.selectClaimsForReview; exports.selectTools = _chunkBWTOS5BHcjs.selectTools; exports.transitionClaim = _chunkBWTOS5BHcjs.transitionClaim; exports.validTransitions = _chunkBWTOS5BHcjs.validTransitions;
|
package/dist/arena-KBQOPLFV.cjs
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
-
|
|
3
|
-
var _chunk55XGPMAPcjs = require('./chunk-55XGPMAP.cjs');
|
|
4
|
-
require('./chunk-52LGZKT3.cjs');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkYUI524OEcjs = require('./chunk-YUI524OE.cjs');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _chunkBWTOS5BHcjs = require('./chunk-BWTOS5BH.cjs');
|
|
17
|
-
require('./chunk-QRM7IF2S.cjs');
|
|
18
|
-
require('./chunk-2YW4FPFG.cjs');
|
|
19
|
-
require('./chunk-IK4EWJBP.cjs');
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var _chunkKS3RYAYLcjs = require('./chunk-KS3RYAYL.cjs');
|
|
23
|
-
|
|
24
|
-
// src/cli/commands/arena.ts
|
|
25
|
-
_chunkKS3RYAYLcjs.init_cjs_shims.call(void 0, );
|
|
26
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
27
|
-
async function runArenaReview(arg, engineConfig, opts) {
|
|
28
|
-
const { models: modelsFlag, mode: explicitMode, base, head, topic } = parseFlags(arg);
|
|
29
|
-
const out = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _ => _.output]), () => ( ((text) => console.log(text))));
|
|
30
|
-
if (!topic) {
|
|
31
|
-
out(formatUsage());
|
|
32
|
-
return void 0;
|
|
33
|
-
}
|
|
34
|
-
const participants = resolveParticipants(engineConfig, modelsFlag);
|
|
35
|
-
if (participants.length < 2) {
|
|
36
|
-
out(formatModelHelp(engineConfig));
|
|
37
|
-
return void 0;
|
|
38
|
-
}
|
|
39
|
-
const modeLabel = explicitMode ? explicitMode.charAt(0).toUpperCase() + explicitMode.slice(1) : "Auto";
|
|
40
|
-
out(_chalk2.default.bold(`\u2550\u2550\u2550 Arena ${modeLabel} \u2550\u2550\u2550`));
|
|
41
|
-
out(_chalk2.default.dim(`Topic: ${topic}`));
|
|
42
|
-
out(_chalk2.default.dim(`Models: ${participants.map((p) => p.name).join(" vs ")}`));
|
|
43
|
-
const progressRenderer = _optionalChain([opts, 'optionalAccess', _2 => _2.output]) ? _chunkBWTOS5BHcjs.createProgressRenderer.call(void 0, opts.output) : _chunkBWTOS5BHcjs.renderProgress;
|
|
44
|
-
const arena = new (0, _chunkBWTOS5BHcjs.Arena)({
|
|
45
|
-
participants,
|
|
46
|
-
mode: explicitMode,
|
|
47
|
-
enableContextTools: true,
|
|
48
|
-
onProgress: progressRenderer
|
|
49
|
-
});
|
|
50
|
-
try {
|
|
51
|
-
const result = await arena.run(topic, {
|
|
52
|
-
mode: explicitMode,
|
|
53
|
-
base,
|
|
54
|
-
head
|
|
55
|
-
});
|
|
56
|
-
const resultSink = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _3 => _3.outputMessage]), () => ( _optionalChain([opts, 'optionalAccess', _4 => _4.output])));
|
|
57
|
-
if (resultSink) {
|
|
58
|
-
resultSink(_chunkBWTOS5BHcjs.formatArenaResultForSession.call(void 0, result));
|
|
59
|
-
} else {
|
|
60
|
-
_chunkBWTOS5BHcjs.printArenaResult.call(void 0, result);
|
|
61
|
-
}
|
|
62
|
-
return result;
|
|
63
|
-
} catch (err) {
|
|
64
|
-
out(_chalk2.default.red(`Arena failed: ${err.message}`));
|
|
65
|
-
return void 0;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
function buildModelPool(engineConfig) {
|
|
69
|
-
const pool = new (0, _chunk55XGPMAPcjs.ModelPool)();
|
|
70
|
-
try {
|
|
71
|
-
const settings = new (0, _chunkYUI524OEcjs.SettingsManager)(process.cwd()).get();
|
|
72
|
-
if (_optionalChain([settings, 'access', _5 => _5.models, 'optionalAccess', _6 => _6.length])) {
|
|
73
|
-
for (const m of settings.models) {
|
|
74
|
-
pool.register({
|
|
75
|
-
key: m.key,
|
|
76
|
-
label: m.label,
|
|
77
|
-
provider: _nullishCoalesce(m.provider, () => ( "")),
|
|
78
|
-
model: m.model,
|
|
79
|
-
baseUrl: _nullishCoalesce(m.baseUrl, () => ( engineConfig.llm.baseUrl)),
|
|
80
|
-
apiKey: _nullishCoalesce(m.apiKey, () => ( engineConfig.llm.apiKey)),
|
|
81
|
-
maxOutputTokens: m.maxOutputTokens
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
} catch (e) {
|
|
86
|
-
}
|
|
87
|
-
return pool;
|
|
88
|
-
}
|
|
89
|
-
function resolveOneParticipant(entry, pool, engineConfig) {
|
|
90
|
-
if (typeof entry === "string") {
|
|
91
|
-
const m = pool.get(entry);
|
|
92
|
-
if (!m) return void 0;
|
|
93
|
-
return {
|
|
94
|
-
name: _nullishCoalesce(m.label, () => ( modelDisplayName(m.model))),
|
|
95
|
-
llm: {
|
|
96
|
-
provider: m.provider,
|
|
97
|
-
model: m.model,
|
|
98
|
-
apiKey: _nullishCoalesce(m.apiKey, () => ( engineConfig.llm.apiKey)),
|
|
99
|
-
baseUrl: _nullishCoalesce(m.baseUrl, () => ( engineConfig.llm.baseUrl)),
|
|
100
|
-
temperature: 0.3,
|
|
101
|
-
maxTokens: _nullishCoalesce(m.maxOutputTokens, () => ( _chunkBWTOS5BHcjs.getMaxOutputTokens.call(void 0, m.model))),
|
|
102
|
-
enableStreaming: false
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
name: entry.name,
|
|
108
|
-
llm: {
|
|
109
|
-
provider: _nullishCoalesce(entry.provider, () => ( engineConfig.llm.provider)),
|
|
110
|
-
model: entry.model,
|
|
111
|
-
apiKey: _nullishCoalesce(entry.apiKey, () => ( engineConfig.llm.apiKey)),
|
|
112
|
-
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( engineConfig.llm.baseUrl)),
|
|
113
|
-
temperature: 0.3,
|
|
114
|
-
maxTokens: _chunkBWTOS5BHcjs.getMaxOutputTokens.call(void 0, entry.model),
|
|
115
|
-
enableStreaming: false
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
function resolveParticipants(engineConfig, modelsFlag) {
|
|
120
|
-
const pool = buildModelPool(engineConfig);
|
|
121
|
-
if (modelsFlag) {
|
|
122
|
-
const names = modelsFlag.split(",").map((n) => n.trim().toLowerCase());
|
|
123
|
-
return names.map((name) => {
|
|
124
|
-
const fromPool = pool.get(name);
|
|
125
|
-
if (fromPool) {
|
|
126
|
-
return {
|
|
127
|
-
name: _nullishCoalesce(fromPool.label, () => ( modelDisplayName(fromPool.model))),
|
|
128
|
-
llm: {
|
|
129
|
-
provider: fromPool.provider,
|
|
130
|
-
model: fromPool.model,
|
|
131
|
-
apiKey: _nullishCoalesce(fromPool.apiKey, () => ( engineConfig.llm.apiKey)),
|
|
132
|
-
baseUrl: _nullishCoalesce(fromPool.baseUrl, () => ( engineConfig.llm.baseUrl)),
|
|
133
|
-
temperature: 0.3,
|
|
134
|
-
maxTokens: _nullishCoalesce(fromPool.maxOutputTokens, () => ( _chunkBWTOS5BHcjs.getMaxOutputTokens.call(void 0, fromPool.model))),
|
|
135
|
-
enableStreaming: false
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
const preset = _chunkBWTOS5BHcjs.MODEL_PRESETS[name];
|
|
140
|
-
if (preset) {
|
|
141
|
-
return {
|
|
142
|
-
name: modelDisplayName(preset.model),
|
|
143
|
-
llm: {
|
|
144
|
-
provider: preset.provider,
|
|
145
|
-
model: preset.model,
|
|
146
|
-
apiKey: engineConfig.llm.apiKey,
|
|
147
|
-
baseUrl: engineConfig.llm.baseUrl,
|
|
148
|
-
temperature: 0.3,
|
|
149
|
-
maxTokens: preset.maxOutputTokens,
|
|
150
|
-
enableStreaming: false
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
name: modelDisplayName(name),
|
|
156
|
-
llm: { ...engineConfig.llm, model: name, enableStreaming: false }
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
const settings = new (0, _chunkYUI524OEcjs.SettingsManager)(process.cwd()).get();
|
|
161
|
-
if (_optionalChain([settings, 'access', _7 => _7.arena, 'optionalAccess', _8 => _8.participants, 'optionalAccess', _9 => _9.length]) >= 2) {
|
|
162
|
-
const resolved = settings.arena.participants.map((p) => resolveOneParticipant(p, pool, engineConfig)).filter((p) => p !== void 0);
|
|
163
|
-
if (resolved.length >= 2) return resolved;
|
|
164
|
-
}
|
|
165
|
-
const participants = [
|
|
166
|
-
{
|
|
167
|
-
name: modelDisplayName(engineConfig.llm.model),
|
|
168
|
-
llm: {
|
|
169
|
-
...engineConfig.llm,
|
|
170
|
-
maxTokens: _chunkBWTOS5BHcjs.getMaxOutputTokens.call(void 0, engineConfig.llm.model),
|
|
171
|
-
enableStreaming: false
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
];
|
|
175
|
-
if (_optionalChain([engineConfig, 'access', _10 => _10.llm, 'access', _11 => _11.baseUrl, 'optionalAccess', _12 => _12.includes, 'call', _13 => _13("openrouter")])) {
|
|
176
|
-
const current = engineConfig.llm.model;
|
|
177
|
-
const opponent = current.includes("claude") ? "openai/gpt-5.4" : "anthropic/claude-opus-4.6";
|
|
178
|
-
participants.push({
|
|
179
|
-
name: modelDisplayName(opponent),
|
|
180
|
-
llm: {
|
|
181
|
-
...engineConfig.llm,
|
|
182
|
-
model: opponent,
|
|
183
|
-
maxTokens: _chunkBWTOS5BHcjs.getMaxOutputTokens.call(void 0, opponent),
|
|
184
|
-
enableStreaming: false
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
return participants;
|
|
189
|
-
}
|
|
190
|
-
var VALID_MODES = ["review", "discussion", "planning"];
|
|
191
|
-
function parseFlags(arg) {
|
|
192
|
-
let models;
|
|
193
|
-
let mode;
|
|
194
|
-
let base;
|
|
195
|
-
let head;
|
|
196
|
-
const remaining = [];
|
|
197
|
-
const tokens = arg.split(/\s+/);
|
|
198
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
199
|
-
if (tokens[i] === "--models" && tokens[i + 1]) {
|
|
200
|
-
models = tokens[++i];
|
|
201
|
-
} else if (tokens[i] === "--mode" && tokens[i + 1]) {
|
|
202
|
-
const val = tokens[++i].toLowerCase();
|
|
203
|
-
if (VALID_MODES.includes(val)) {
|
|
204
|
-
mode = val;
|
|
205
|
-
} else {
|
|
206
|
-
console.log(_chalk2.default.yellow(` Unknown mode "${val}", valid: ${VALID_MODES.join(", ")}`));
|
|
207
|
-
}
|
|
208
|
-
} else if (tokens[i] === "--base" && tokens[i + 1]) {
|
|
209
|
-
base = tokens[++i];
|
|
210
|
-
} else if (tokens[i] === "--head" && tokens[i + 1]) {
|
|
211
|
-
head = tokens[++i];
|
|
212
|
-
} else {
|
|
213
|
-
remaining.push(tokens[i]);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
return { models, mode, base, head, topic: remaining.join(" ").trim() };
|
|
217
|
-
}
|
|
218
|
-
function formatUsage() {
|
|
219
|
-
return [
|
|
220
|
-
_chalk2.default.bold("Arena \u2014 Multi-model collaborative analysis"),
|
|
221
|
-
"",
|
|
222
|
-
_chalk2.default.dim("Usage:"),
|
|
223
|
-
" /arena review the authentication module",
|
|
224
|
-
" /arena --models claude,gpt4o is the error handling correct?",
|
|
225
|
-
" /arena --mode planning design the new auth system",
|
|
226
|
-
" /arena --mode discussion should we use REST or GraphQL",
|
|
227
|
-
" /arena --base main review changes since main",
|
|
228
|
-
' code-shell arena "review my latest changes"',
|
|
229
|
-
"",
|
|
230
|
-
`${_chalk2.default.dim("Modes:")} review (default), discussion, planning`,
|
|
231
|
-
_chalk2.default.dim("Mode is auto-detected from the topic if --mode is not specified."),
|
|
232
|
-
"",
|
|
233
|
-
_chalk2.default.dim("Flags:"),
|
|
234
|
-
" --base <ref> Base branch/ref for comparison",
|
|
235
|
-
" --head <ref> Head branch/ref (default: HEAD)",
|
|
236
|
-
"",
|
|
237
|
-
`${_chalk2.default.dim("Available model presets:")} ${Object.keys(_chunkBWTOS5BHcjs.MODEL_PRESETS).join(", ")}`
|
|
238
|
-
].join("\n");
|
|
239
|
-
}
|
|
240
|
-
function formatModelHelp(engineConfig) {
|
|
241
|
-
return [
|
|
242
|
-
_chalk2.default.red("Arena needs at least 2 models."),
|
|
243
|
-
"",
|
|
244
|
-
"Use --models to specify:",
|
|
245
|
-
" /arena --models claude,gpt4o review the code",
|
|
246
|
-
"",
|
|
247
|
-
"Or configure in ~/.code-shell/settings.json:",
|
|
248
|
-
' "arena": { "participants": [',
|
|
249
|
-
' { "name": "Claude", "model": "anthropic/claude-sonnet-4-20250514" },',
|
|
250
|
-
' { "name": "GPT-4o", "model": "openai/gpt-4o" }',
|
|
251
|
-
" ]}"
|
|
252
|
-
].join("\n");
|
|
253
|
-
}
|
|
254
|
-
function modelDisplayName(model) {
|
|
255
|
-
const last = _nullishCoalesce(model.split("/").pop(), () => ( model));
|
|
256
|
-
return last.replace(/-\d.*$/, "").split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
exports.formatArenaResultForSession = _chunkBWTOS5BHcjs.formatArenaResultForSession; exports.runArenaReview = runArenaReview;
|
package/dist/arena-O2L4TN6A.js
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ModelPool
|
|
3
|
-
} from "./chunk-BSW22MPA.js";
|
|
4
|
-
import "./chunk-3OA5G4TM.js";
|
|
5
|
-
import {
|
|
6
|
-
SettingsManager
|
|
7
|
-
} from "./chunk-5ECBT4YA.js";
|
|
8
|
-
import {
|
|
9
|
-
Arena,
|
|
10
|
-
MODEL_PRESETS,
|
|
11
|
-
createProgressRenderer,
|
|
12
|
-
formatArenaResultForSession,
|
|
13
|
-
getMaxOutputTokens,
|
|
14
|
-
printArenaResult,
|
|
15
|
-
renderProgress
|
|
16
|
-
} from "./chunk-C5YQBIRK.js";
|
|
17
|
-
import "./chunk-XDIQWQJ4.js";
|
|
18
|
-
import "./chunk-SFXHZSRF.js";
|
|
19
|
-
import "./chunk-BXCY2FSE.js";
|
|
20
|
-
import {
|
|
21
|
-
init_esm_shims
|
|
22
|
-
} from "./chunk-MD32R22I.js";
|
|
23
|
-
|
|
24
|
-
// src/cli/commands/arena.ts
|
|
25
|
-
init_esm_shims();
|
|
26
|
-
import chalk from "chalk";
|
|
27
|
-
async function runArenaReview(arg, engineConfig, opts) {
|
|
28
|
-
const { models: modelsFlag, mode: explicitMode, base, head, topic } = parseFlags(arg);
|
|
29
|
-
const out = opts?.output ?? ((text) => console.log(text));
|
|
30
|
-
if (!topic) {
|
|
31
|
-
out(formatUsage());
|
|
32
|
-
return void 0;
|
|
33
|
-
}
|
|
34
|
-
const participants = resolveParticipants(engineConfig, modelsFlag);
|
|
35
|
-
if (participants.length < 2) {
|
|
36
|
-
out(formatModelHelp(engineConfig));
|
|
37
|
-
return void 0;
|
|
38
|
-
}
|
|
39
|
-
const modeLabel = explicitMode ? explicitMode.charAt(0).toUpperCase() + explicitMode.slice(1) : "Auto";
|
|
40
|
-
out(chalk.bold(`\u2550\u2550\u2550 Arena ${modeLabel} \u2550\u2550\u2550`));
|
|
41
|
-
out(chalk.dim(`Topic: ${topic}`));
|
|
42
|
-
out(chalk.dim(`Models: ${participants.map((p) => p.name).join(" vs ")}`));
|
|
43
|
-
const progressRenderer = opts?.output ? createProgressRenderer(opts.output) : renderProgress;
|
|
44
|
-
const arena = new Arena({
|
|
45
|
-
participants,
|
|
46
|
-
mode: explicitMode,
|
|
47
|
-
enableContextTools: true,
|
|
48
|
-
onProgress: progressRenderer
|
|
49
|
-
});
|
|
50
|
-
try {
|
|
51
|
-
const result = await arena.run(topic, {
|
|
52
|
-
mode: explicitMode,
|
|
53
|
-
base,
|
|
54
|
-
head
|
|
55
|
-
});
|
|
56
|
-
const resultSink = opts?.outputMessage ?? opts?.output;
|
|
57
|
-
if (resultSink) {
|
|
58
|
-
resultSink(formatArenaResultForSession(result));
|
|
59
|
-
} else {
|
|
60
|
-
printArenaResult(result);
|
|
61
|
-
}
|
|
62
|
-
return result;
|
|
63
|
-
} catch (err) {
|
|
64
|
-
out(chalk.red(`Arena failed: ${err.message}`));
|
|
65
|
-
return void 0;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
function buildModelPool(engineConfig) {
|
|
69
|
-
const pool = new ModelPool();
|
|
70
|
-
try {
|
|
71
|
-
const settings = new SettingsManager(process.cwd()).get();
|
|
72
|
-
if (settings.models?.length) {
|
|
73
|
-
for (const m of settings.models) {
|
|
74
|
-
pool.register({
|
|
75
|
-
key: m.key,
|
|
76
|
-
label: m.label,
|
|
77
|
-
provider: m.provider ?? "",
|
|
78
|
-
model: m.model,
|
|
79
|
-
baseUrl: m.baseUrl ?? engineConfig.llm.baseUrl,
|
|
80
|
-
apiKey: m.apiKey ?? engineConfig.llm.apiKey,
|
|
81
|
-
maxOutputTokens: m.maxOutputTokens
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
} catch {
|
|
86
|
-
}
|
|
87
|
-
return pool;
|
|
88
|
-
}
|
|
89
|
-
function resolveOneParticipant(entry, pool, engineConfig) {
|
|
90
|
-
if (typeof entry === "string") {
|
|
91
|
-
const m = pool.get(entry);
|
|
92
|
-
if (!m) return void 0;
|
|
93
|
-
return {
|
|
94
|
-
name: m.label ?? modelDisplayName(m.model),
|
|
95
|
-
llm: {
|
|
96
|
-
provider: m.provider,
|
|
97
|
-
model: m.model,
|
|
98
|
-
apiKey: m.apiKey ?? engineConfig.llm.apiKey,
|
|
99
|
-
baseUrl: m.baseUrl ?? engineConfig.llm.baseUrl,
|
|
100
|
-
temperature: 0.3,
|
|
101
|
-
maxTokens: m.maxOutputTokens ?? getMaxOutputTokens(m.model),
|
|
102
|
-
enableStreaming: false
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
name: entry.name,
|
|
108
|
-
llm: {
|
|
109
|
-
provider: entry.provider ?? engineConfig.llm.provider,
|
|
110
|
-
model: entry.model,
|
|
111
|
-
apiKey: entry.apiKey ?? engineConfig.llm.apiKey,
|
|
112
|
-
baseUrl: entry.baseUrl ?? engineConfig.llm.baseUrl,
|
|
113
|
-
temperature: 0.3,
|
|
114
|
-
maxTokens: getMaxOutputTokens(entry.model),
|
|
115
|
-
enableStreaming: false
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
function resolveParticipants(engineConfig, modelsFlag) {
|
|
120
|
-
const pool = buildModelPool(engineConfig);
|
|
121
|
-
if (modelsFlag) {
|
|
122
|
-
const names = modelsFlag.split(",").map((n) => n.trim().toLowerCase());
|
|
123
|
-
return names.map((name) => {
|
|
124
|
-
const fromPool = pool.get(name);
|
|
125
|
-
if (fromPool) {
|
|
126
|
-
return {
|
|
127
|
-
name: fromPool.label ?? modelDisplayName(fromPool.model),
|
|
128
|
-
llm: {
|
|
129
|
-
provider: fromPool.provider,
|
|
130
|
-
model: fromPool.model,
|
|
131
|
-
apiKey: fromPool.apiKey ?? engineConfig.llm.apiKey,
|
|
132
|
-
baseUrl: fromPool.baseUrl ?? engineConfig.llm.baseUrl,
|
|
133
|
-
temperature: 0.3,
|
|
134
|
-
maxTokens: fromPool.maxOutputTokens ?? getMaxOutputTokens(fromPool.model),
|
|
135
|
-
enableStreaming: false
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
const preset = MODEL_PRESETS[name];
|
|
140
|
-
if (preset) {
|
|
141
|
-
return {
|
|
142
|
-
name: modelDisplayName(preset.model),
|
|
143
|
-
llm: {
|
|
144
|
-
provider: preset.provider,
|
|
145
|
-
model: preset.model,
|
|
146
|
-
apiKey: engineConfig.llm.apiKey,
|
|
147
|
-
baseUrl: engineConfig.llm.baseUrl,
|
|
148
|
-
temperature: 0.3,
|
|
149
|
-
maxTokens: preset.maxOutputTokens,
|
|
150
|
-
enableStreaming: false
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
name: modelDisplayName(name),
|
|
156
|
-
llm: { ...engineConfig.llm, model: name, enableStreaming: false }
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
const settings = new SettingsManager(process.cwd()).get();
|
|
161
|
-
if (settings.arena?.participants?.length >= 2) {
|
|
162
|
-
const resolved = settings.arena.participants.map((p) => resolveOneParticipant(p, pool, engineConfig)).filter((p) => p !== void 0);
|
|
163
|
-
if (resolved.length >= 2) return resolved;
|
|
164
|
-
}
|
|
165
|
-
const participants = [
|
|
166
|
-
{
|
|
167
|
-
name: modelDisplayName(engineConfig.llm.model),
|
|
168
|
-
llm: {
|
|
169
|
-
...engineConfig.llm,
|
|
170
|
-
maxTokens: getMaxOutputTokens(engineConfig.llm.model),
|
|
171
|
-
enableStreaming: false
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
];
|
|
175
|
-
if (engineConfig.llm.baseUrl?.includes("openrouter")) {
|
|
176
|
-
const current = engineConfig.llm.model;
|
|
177
|
-
const opponent = current.includes("claude") ? "openai/gpt-5.4" : "anthropic/claude-opus-4.6";
|
|
178
|
-
participants.push({
|
|
179
|
-
name: modelDisplayName(opponent),
|
|
180
|
-
llm: {
|
|
181
|
-
...engineConfig.llm,
|
|
182
|
-
model: opponent,
|
|
183
|
-
maxTokens: getMaxOutputTokens(opponent),
|
|
184
|
-
enableStreaming: false
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
return participants;
|
|
189
|
-
}
|
|
190
|
-
var VALID_MODES = ["review", "discussion", "planning"];
|
|
191
|
-
function parseFlags(arg) {
|
|
192
|
-
let models;
|
|
193
|
-
let mode;
|
|
194
|
-
let base;
|
|
195
|
-
let head;
|
|
196
|
-
const remaining = [];
|
|
197
|
-
const tokens = arg.split(/\s+/);
|
|
198
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
199
|
-
if (tokens[i] === "--models" && tokens[i + 1]) {
|
|
200
|
-
models = tokens[++i];
|
|
201
|
-
} else if (tokens[i] === "--mode" && tokens[i + 1]) {
|
|
202
|
-
const val = tokens[++i].toLowerCase();
|
|
203
|
-
if (VALID_MODES.includes(val)) {
|
|
204
|
-
mode = val;
|
|
205
|
-
} else {
|
|
206
|
-
console.log(chalk.yellow(` Unknown mode "${val}", valid: ${VALID_MODES.join(", ")}`));
|
|
207
|
-
}
|
|
208
|
-
} else if (tokens[i] === "--base" && tokens[i + 1]) {
|
|
209
|
-
base = tokens[++i];
|
|
210
|
-
} else if (tokens[i] === "--head" && tokens[i + 1]) {
|
|
211
|
-
head = tokens[++i];
|
|
212
|
-
} else {
|
|
213
|
-
remaining.push(tokens[i]);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
return { models, mode, base, head, topic: remaining.join(" ").trim() };
|
|
217
|
-
}
|
|
218
|
-
function formatUsage() {
|
|
219
|
-
return [
|
|
220
|
-
chalk.bold("Arena \u2014 Multi-model collaborative analysis"),
|
|
221
|
-
"",
|
|
222
|
-
chalk.dim("Usage:"),
|
|
223
|
-
" /arena review the authentication module",
|
|
224
|
-
" /arena --models claude,gpt4o is the error handling correct?",
|
|
225
|
-
" /arena --mode planning design the new auth system",
|
|
226
|
-
" /arena --mode discussion should we use REST or GraphQL",
|
|
227
|
-
" /arena --base main review changes since main",
|
|
228
|
-
' code-shell arena "review my latest changes"',
|
|
229
|
-
"",
|
|
230
|
-
`${chalk.dim("Modes:")} review (default), discussion, planning`,
|
|
231
|
-
chalk.dim("Mode is auto-detected from the topic if --mode is not specified."),
|
|
232
|
-
"",
|
|
233
|
-
chalk.dim("Flags:"),
|
|
234
|
-
" --base <ref> Base branch/ref for comparison",
|
|
235
|
-
" --head <ref> Head branch/ref (default: HEAD)",
|
|
236
|
-
"",
|
|
237
|
-
`${chalk.dim("Available model presets:")} ${Object.keys(MODEL_PRESETS).join(", ")}`
|
|
238
|
-
].join("\n");
|
|
239
|
-
}
|
|
240
|
-
function formatModelHelp(engineConfig) {
|
|
241
|
-
return [
|
|
242
|
-
chalk.red("Arena needs at least 2 models."),
|
|
243
|
-
"",
|
|
244
|
-
"Use --models to specify:",
|
|
245
|
-
" /arena --models claude,gpt4o review the code",
|
|
246
|
-
"",
|
|
247
|
-
"Or configure in ~/.code-shell/settings.json:",
|
|
248
|
-
' "arena": { "participants": [',
|
|
249
|
-
' { "name": "Claude", "model": "anthropic/claude-sonnet-4-20250514" },',
|
|
250
|
-
' { "name": "GPT-4o", "model": "openai/gpt-4o" }',
|
|
251
|
-
" ]}"
|
|
252
|
-
].join("\n");
|
|
253
|
-
}
|
|
254
|
-
function modelDisplayName(model) {
|
|
255
|
-
const last = model.split("/").pop() ?? model;
|
|
256
|
-
return last.replace(/-\d.*$/, "").split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
257
|
-
}
|
|
258
|
-
export {
|
|
259
|
-
formatArenaResultForSession,
|
|
260
|
-
runArenaReview
|
|
261
|
-
};
|
package/dist/chunk-2EP3CLEN.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FileRunStore,
|
|
3
|
-
RunManager
|
|
4
|
-
} from "./chunk-7K6SDRRF.js";
|
|
5
|
-
import {
|
|
6
|
-
init_esm_shims
|
|
7
|
-
} from "./chunk-MD32R22I.js";
|
|
8
|
-
|
|
9
|
-
// src/run/index.ts
|
|
10
|
-
init_esm_shims();
|
|
11
|
-
|
|
12
|
-
// src/run/factory.ts
|
|
13
|
-
init_esm_shims();
|
|
14
|
-
import { join } from "path";
|
|
15
|
-
import { homedir } from "os";
|
|
16
|
-
function createRunManager(options) {
|
|
17
|
-
const runsDir = options.runsDir ?? join(homedir(), ".code-shell", "runs");
|
|
18
|
-
const store = new FileRunStore(runsDir);
|
|
19
|
-
return new RunManager({
|
|
20
|
-
store,
|
|
21
|
-
executor: {
|
|
22
|
-
llm: options.llm,
|
|
23
|
-
maxTurns: options.maxTurns ?? 30,
|
|
24
|
-
maxContextTokens: options.maxContextTokens ?? 2e5,
|
|
25
|
-
permissionMode: options.permissionMode ?? "acceptEdits",
|
|
26
|
-
sessionStorageDir: options.sessionStorageDir,
|
|
27
|
-
mcpServers: options.mcpServers,
|
|
28
|
-
enabledBuiltinTools: options.enabledBuiltinTools,
|
|
29
|
-
disabledBuiltinTools: options.disabledBuiltinTools,
|
|
30
|
-
customSystemPrompt: options.customSystemPrompt,
|
|
31
|
-
appendSystemPrompt: options.appendSystemPrompt,
|
|
32
|
-
hooks: options.hooks
|
|
33
|
-
},
|
|
34
|
-
concurrency: options.concurrency ?? 1,
|
|
35
|
-
runsDir,
|
|
36
|
-
evaluator: options.evaluator,
|
|
37
|
-
defaultTags: options.defaultTags,
|
|
38
|
-
defaultMetadata: options.defaultMetadata
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export {
|
|
43
|
-
createRunManager
|
|
44
|
-
};
|