@garuda-agent/garuda 0.15.0 → 0.16.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/CHANGELOG.md +29 -0
- package/README.md +30 -17
- package/dist/{acpCommand-FZ2P5JFO.js → acpCommand-AJJBKAE5.js} +64 -26
- package/dist/chunk-3EQU2GUX.js +27 -0
- package/dist/{chunk-K3SIUOAG.js → chunk-44QN5SWZ.js} +2 -2
- package/dist/{chunk-INRZR772.js → chunk-B6FA4I7Q.js} +2 -2
- package/dist/chunk-EIXUSVFX.js +116 -0
- package/dist/{chunk-PQNT34LY.js → chunk-ENLDPN4S.js} +4 -4
- package/dist/{chunk-SI2QJYCR.js → chunk-GXZACJUI.js} +6 -25
- package/dist/{chunk-2S62ZNTC.js → chunk-HE2K657U.js} +9 -7
- package/dist/chunk-NP6RIC25.js +331 -0
- package/dist/chunk-R7I2NBPX.js +71 -0
- package/dist/{chunk-2TAXSFWN.js → chunk-TUUEBHG2.js} +2 -2
- package/dist/{chunk-HRGX53VC.js → chunk-ULAJPMY7.js} +1 -67
- package/dist/{chunk-S77XDSD4.js → chunk-USCUXCAU.js} +2 -2
- package/dist/{chunk-K7KK7U44.js → chunk-WIJL72ZE.js} +125 -226
- package/dist/chunk-XOK5OZOC.js +9 -0
- package/dist/cli/index.js +50 -33
- package/dist/{create-N4I7TIZE.js → create-VXIH2GUZ.js} +6 -5
- package/dist/{evalCommand-3SSFMZQD.js → evalCommand-OX2LQYEK.js} +31 -17
- package/dist/{inkChat-34BTFG2K.js → inkChat-YMMMGU7Y.js} +10 -7
- package/dist/{install-VRPBZY5H.js → install-EWDSPFFZ.js} +4 -3
- package/dist/{jobCommand-XJ5GULS5.js → jobCommand-ACSGSBQ4.js} +9 -7
- package/dist/{launchd-QVHQ3VNN.js → launchd-SSX362VG.js} +5 -4
- package/dist/{lspCommand-XNTBHXLA.js → lspCommand-JRXKRSL7.js} +4 -3
- package/dist/{manager-CSI76AWF.js → manager-AWU4NHHK.js} +4 -3
- package/dist/{nightCommand-CR6ZHYGP.js → nightCommand-65MUEV32.js} +9 -7
- package/dist/{remove-LE7Q7K46.js → remove-6GDSTAIO.js} +4 -3
- package/dist/{server-R3GNIC33.js → server-KHHNHUYV.js} +24 -6
- package/dist/setupCommand-VA7D5MZK.js +303 -0
- package/package.json +1 -1
- package/dist/chunk-EPKWDCV4.js +0 -9
- package/dist/chunk-YFQJXRIJ.js +0 -193
package/dist/cli/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
runCommand,
|
|
16
16
|
runTurnInTerminal,
|
|
17
17
|
stopMessage
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-ENLDPN4S.js";
|
|
19
19
|
import {
|
|
20
20
|
PlainRenderer
|
|
21
21
|
} from "../chunk-FARS4R67.js";
|
|
@@ -30,12 +30,6 @@ import {
|
|
|
30
30
|
SwitchApprover,
|
|
31
31
|
TerminalApprover
|
|
32
32
|
} from "../chunk-4JSUUDFQ.js";
|
|
33
|
-
import {
|
|
34
|
-
hasProviderKey,
|
|
35
|
-
keepProviderKey,
|
|
36
|
-
loadModelsConfig,
|
|
37
|
-
resolveModel
|
|
38
|
-
} from "../chunk-YFQJXRIJ.js";
|
|
39
33
|
import {
|
|
40
34
|
DEFAULT_MAX_TOKENS,
|
|
41
35
|
FileSessionStore,
|
|
@@ -52,10 +46,20 @@ import {
|
|
|
52
46
|
redoPoint,
|
|
53
47
|
runAgent,
|
|
54
48
|
signature
|
|
55
|
-
} from "../chunk-
|
|
56
|
-
import "../chunk-A2QAIRQL.js";
|
|
57
|
-
import "../chunk-HRGX53VC.js";
|
|
49
|
+
} from "../chunk-WIJL72ZE.js";
|
|
58
50
|
import "../chunk-G2AX7MGS.js";
|
|
51
|
+
import "../chunk-A2QAIRQL.js";
|
|
52
|
+
import "../chunk-ULAJPMY7.js";
|
|
53
|
+
import {
|
|
54
|
+
NO_MODEL,
|
|
55
|
+
chooseModel,
|
|
56
|
+
keepProviderKeys,
|
|
57
|
+
loadModelsConfig,
|
|
58
|
+
providerKeySource,
|
|
59
|
+
resolveModel
|
|
60
|
+
} from "../chunk-NP6RIC25.js";
|
|
61
|
+
import "../chunk-EIXUSVFX.js";
|
|
62
|
+
import "../chunk-R7I2NBPX.js";
|
|
59
63
|
import {
|
|
60
64
|
loadSearchConfig
|
|
61
65
|
} from "../chunk-B25VL4RU.js";
|
|
@@ -65,7 +69,7 @@ import {
|
|
|
65
69
|
import "../chunk-EU7PA45O.js";
|
|
66
70
|
import {
|
|
67
71
|
VERSION
|
|
68
|
-
} from "../chunk-
|
|
72
|
+
} from "../chunk-XOK5OZOC.js";
|
|
69
73
|
import "../chunk-5DEWP3YX.js";
|
|
70
74
|
import "../chunk-ZAE25JM2.js";
|
|
71
75
|
import "../chunk-ATW7BNIG.js";
|
|
@@ -73,8 +77,9 @@ import "../chunk-PZS3V6P3.js";
|
|
|
73
77
|
import "../chunk-OUCV3FCT.js";
|
|
74
78
|
import {
|
|
75
79
|
JOB_DENIAL
|
|
76
|
-
} from "../chunk-
|
|
80
|
+
} from "../chunk-GXZACJUI.js";
|
|
77
81
|
import "../chunk-WMOLXTBU.js";
|
|
82
|
+
import "../chunk-3EQU2GUX.js";
|
|
78
83
|
import "../chunk-HUIK3WXO.js";
|
|
79
84
|
import "../chunk-KKB5W47S.js";
|
|
80
85
|
import "../chunk-3NJNVZTK.js";
|
|
@@ -767,7 +772,7 @@ async function main() {
|
|
|
767
772
|
"--test-command <cmd>",
|
|
768
773
|
"with --from-git: the test command; {files} takes the test files (default: detected)"
|
|
769
774
|
).action(async (options) => {
|
|
770
|
-
const { runEvalCommand } = await import("../evalCommand-
|
|
775
|
+
const { runEvalCommand } = await import("../evalCommand-OX2LQYEK.js");
|
|
771
776
|
process.exitCode = await runEvalCommand({
|
|
772
777
|
...options,
|
|
773
778
|
model: options.model ?? process.env.GARUDA_MODEL,
|
|
@@ -789,21 +794,30 @@ async function main() {
|
|
|
789
794
|
program.command("night").description(
|
|
790
795
|
"run this project's night queue (jobs from /schedule), up to 3 at a time, then write one digest"
|
|
791
796
|
).option("--at <HH:MM>", "wait until this local time first (keep the terminal open)").option("--parallel <n>", "jobs at the same time (1 to 10, default 3)").addOption(new Option("--from-launchd").hideHelp()).action(async (options) => {
|
|
792
|
-
const { nightCommand } = await import("../nightCommand-
|
|
797
|
+
const { nightCommand } = await import("../nightCommand-65MUEV32.js");
|
|
793
798
|
process.exitCode = await nightCommand(options, new PlainRenderer());
|
|
794
799
|
});
|
|
800
|
+
program.command("setup").description(
|
|
801
|
+
"choose a provider and model and store its key (~/.garuda/credentials, only you can read it); editors run it to sign in"
|
|
802
|
+
).option("--show", "show the model and where each key comes from (keys masked)").option("--forget [key-name]", "remove a stored key, or all of them").action(async (options) => {
|
|
803
|
+
const { setupCommand, terminalIO } = await import("../setupCommand-VA7D5MZK.js");
|
|
804
|
+
process.exitCode = await setupCommand(options, { io: await terminalIO() });
|
|
805
|
+
});
|
|
795
806
|
program.command("acp").description(
|
|
796
807
|
"run as an agent for an editor over the Agent Client Protocol (VS Code with an extension, Zed, JetBrains, Neovim, Emacs); the editor starts it"
|
|
797
|
-
).option("-m, --model <id>", "model id (or set GARUDA_MODEL)").action(async (options) => {
|
|
798
|
-
const { acpCommand } = await import("../acpCommand-
|
|
799
|
-
process.exitCode = await acpCommand(
|
|
808
|
+
).argument("[action]", "setup: run garuda setup (the editor's sign-in, ACP Terminal Auth)").option("-m, --model <id>", "model id (or set GARUDA_MODEL)").action(async (action, options) => {
|
|
809
|
+
const { acpCommand } = await import("../acpCommand-AJJBKAE5.js");
|
|
810
|
+
process.exitCode = await acpCommand({
|
|
811
|
+
...options,
|
|
812
|
+
...action === void 0 ? {} : { action }
|
|
813
|
+
});
|
|
800
814
|
});
|
|
801
815
|
const lsp = program.command("lsp").description("show the language servers for diagnostics (TS/JS, Python, Java)").action(async () => {
|
|
802
|
-
const { lspStatusCommand } = await import("../lspCommand-
|
|
816
|
+
const { lspStatusCommand } = await import("../lspCommand-JRXKRSL7.js");
|
|
803
817
|
process.exitCode = await lspStatusCommand();
|
|
804
818
|
});
|
|
805
819
|
lsp.command("install").description("install a pinned language server into ~/.garuda/lsp (needs the network)").argument("<language>", "typescript, python or java").action(async (language) => {
|
|
806
|
-
const { lspInstallCommand } = await import("../lspCommand-
|
|
820
|
+
const { lspInstallCommand } = await import("../lspCommand-JRXKRSL7.js");
|
|
807
821
|
process.exitCode = await lspInstallCommand(language);
|
|
808
822
|
});
|
|
809
823
|
await program.parseAsync();
|
|
@@ -815,7 +829,7 @@ async function start(options, program) {
|
|
|
815
829
|
let job;
|
|
816
830
|
let jobGuard;
|
|
817
831
|
if (options.job !== void 0) {
|
|
818
|
-
const { prepareJob } = await import("../jobCommand-
|
|
832
|
+
const { prepareJob } = await import("../jobCommand-ACSGSBQ4.js");
|
|
819
833
|
const prepared = await prepareJob(
|
|
820
834
|
mainRoot,
|
|
821
835
|
options.job,
|
|
@@ -848,10 +862,10 @@ async function start(options, program) {
|
|
|
848
862
|
if (format !== "text" && prompt === void 0) {
|
|
849
863
|
program.error(`--output-format ${format} needs a task: use -p "task" or give it on stdin.`);
|
|
850
864
|
}
|
|
851
|
-
const spec = options.model ?? job?.job.model ?? process.env.GARUDA_MODEL;
|
|
852
|
-
if (!spec) program.error("Set a model with --model <id> or the GARUDA_MODEL variable.");
|
|
853
865
|
const models = await loadModelsConfig();
|
|
854
866
|
if (models.problem !== void 0) program.error(models.problem);
|
|
867
|
+
const spec = chooseModel(models.config, options.model, job?.job.model, process.env.GARUDA_MODEL);
|
|
868
|
+
if (!spec) program.error(NO_MODEL);
|
|
855
869
|
let resolved;
|
|
856
870
|
try {
|
|
857
871
|
resolved = resolveModel(spec, models.config);
|
|
@@ -869,10 +883,12 @@ async function start(options, program) {
|
|
|
869
883
|
}
|
|
870
884
|
}
|
|
871
885
|
const searchConfig = await loadSearchConfig();
|
|
872
|
-
const
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
886
|
+
const credentialsWarning = await keepProviderKeys([
|
|
887
|
+
resolved.def.apiKeyEnv,
|
|
888
|
+
sub?.def.apiKeyEnv,
|
|
889
|
+
"ANTHROPIC_API_KEY"
|
|
890
|
+
]);
|
|
891
|
+
const anthropicKey = providerKeySource("ANTHROPIC_API_KEY");
|
|
876
892
|
const { loadTeamPolicy } = await import("../policy-EJPLEEXP.js");
|
|
877
893
|
let team;
|
|
878
894
|
try {
|
|
@@ -970,7 +986,7 @@ async function start(options, program) {
|
|
|
970
986
|
job.job.status = "failed";
|
|
971
987
|
await saveJob(job.job);
|
|
972
988
|
if (options.fromLaunchd === true || job.job.launchd !== void 0) {
|
|
973
|
-
const { removeAgent, defaultAgentEnv } = await import("../launchd-
|
|
989
|
+
const { removeAgent, defaultAgentEnv } = await import("../launchd-SSX362VG.js");
|
|
974
990
|
await removeAgent(runtime.executor, job.job, defaultAgentEnv());
|
|
975
991
|
}
|
|
976
992
|
return 1;
|
|
@@ -987,6 +1003,7 @@ async function start(options, program) {
|
|
|
987
1003
|
);
|
|
988
1004
|
}
|
|
989
1005
|
for (const note of resolved.notes) renderer.info(note);
|
|
1006
|
+
if (credentialsWarning !== void 0) renderer.warn(credentialsWarning);
|
|
990
1007
|
if (runtime.price === void 0) {
|
|
991
1008
|
renderer.warn(
|
|
992
1009
|
`Garuda has no price for ${modelId}. Set "price" for it in ~/.garuda/models.json to see cost.`
|
|
@@ -1014,7 +1031,7 @@ async function start(options, program) {
|
|
|
1014
1031
|
],
|
|
1015
1032
|
skills: runtime.skills.map((k) => k.name),
|
|
1016
1033
|
agents: runtime.agents.map((a) => a.name),
|
|
1017
|
-
apiKeySource:
|
|
1034
|
+
apiKeySource: modelId.includes("/") || anthropicKey === void 0 ? "none" : anthropicKey === "file" ? "credentials" : "ANTHROPIC_API_KEY"
|
|
1018
1035
|
})
|
|
1019
1036
|
});
|
|
1020
1037
|
if (output !== void 0) events = output;
|
|
@@ -1040,7 +1057,7 @@ async function start(options, program) {
|
|
|
1040
1057
|
if (resolved2.kind === "prompt") prompt = resolved2.prompt;
|
|
1041
1058
|
}
|
|
1042
1059
|
if (job !== void 0) {
|
|
1043
|
-
const { testsBefore } = await import("../jobCommand-
|
|
1060
|
+
const { testsBefore } = await import("../jobCommand-ACSGSBQ4.js");
|
|
1044
1061
|
await testsBefore(job, runtime, renderer);
|
|
1045
1062
|
}
|
|
1046
1063
|
const outcome = await runTurnInTerminal(
|
|
@@ -1053,7 +1070,7 @@ async function start(options, program) {
|
|
|
1053
1070
|
await runtime.close();
|
|
1054
1071
|
finish(outcome);
|
|
1055
1072
|
if (job !== void 0) {
|
|
1056
|
-
const { finishJob } = await import("../jobCommand-
|
|
1073
|
+
const { finishJob } = await import("../jobCommand-ACSGSBQ4.js");
|
|
1057
1074
|
await finishJob(job, outcome, runtime, renderer, void 0, {
|
|
1058
1075
|
fromLaunchd: options.fromLaunchd === true
|
|
1059
1076
|
});
|
|
@@ -1139,7 +1156,7 @@ function wantsInk() {
|
|
|
1139
1156
|
}
|
|
1140
1157
|
async function loadInk(renderer) {
|
|
1141
1158
|
try {
|
|
1142
|
-
return await import("../inkChat-
|
|
1159
|
+
return await import("../inkChat-YMMMGU7Y.js");
|
|
1143
1160
|
} catch (error) {
|
|
1144
1161
|
renderer.info(`Plain chat (Ink is not available: ${error.message.split("\n")[0]}).`);
|
|
1145
1162
|
return void 0;
|
|
@@ -1171,8 +1188,8 @@ function recordJobDenial(job, tool, target) {
|
|
|
1171
1188
|
}
|
|
1172
1189
|
async function jobBatchClient(job, resolved, renderer) {
|
|
1173
1190
|
const { DeadlineClient } = await import("../deadline-F5RJJ2QW.js");
|
|
1174
|
-
const { nextTime } = await import("../launchd-
|
|
1175
|
-
const { DEFAULT_FINISH_BY, DEFAULT_STEP_LIMIT_MINUTES, SWITCH_BEFORE_MS } = await import("../create-
|
|
1191
|
+
const { nextTime } = await import("../launchd-SSX362VG.js");
|
|
1192
|
+
const { DEFAULT_FINISH_BY, DEFAULT_STEP_LIMIT_MINUTES, SWITCH_BEFORE_MS } = await import("../create-VXIH2GUZ.js");
|
|
1176
1193
|
const finishBy = job.job.finishBy ?? DEFAULT_FINISH_BY;
|
|
1177
1194
|
const stepLimit = job.job.stepLimitMinutes ?? DEFAULT_STEP_LIMIT_MINUTES;
|
|
1178
1195
|
const switchAt = new Date(nextTime(finishBy).getTime() - SWITCH_BEFORE_MS);
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
jobBase,
|
|
4
4
|
linkCandidates,
|
|
5
5
|
worktreeDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-44QN5SWZ.js";
|
|
7
7
|
import {
|
|
8
8
|
agentLabel,
|
|
9
9
|
defaultAgentEnv,
|
|
@@ -12,16 +12,17 @@ import {
|
|
|
12
12
|
nextTime,
|
|
13
13
|
nightAgentTime,
|
|
14
14
|
nightSpec
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-USCUXCAU.js";
|
|
16
16
|
import {
|
|
17
17
|
jobPrompt
|
|
18
18
|
} from "./chunk-YQTGMCU6.js";
|
|
19
19
|
import "./chunk-OUCV3FCT.js";
|
|
20
20
|
import {
|
|
21
21
|
JobGitError
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-TUUEBHG2.js";
|
|
23
|
+
import "./chunk-GXZACJUI.js";
|
|
24
24
|
import "./chunk-WMOLXTBU.js";
|
|
25
|
+
import "./chunk-3EQU2GUX.js";
|
|
25
26
|
import "./chunk-HUIK3WXO.js";
|
|
26
27
|
import {
|
|
27
28
|
DEFAULT_JOB_MAX_STEPS,
|
|
@@ -220,4 +221,4 @@ export {
|
|
|
220
221
|
createJob,
|
|
221
222
|
switchTime
|
|
222
223
|
};
|
|
223
|
-
//# sourceMappingURL=create-
|
|
224
|
+
//# sourceMappingURL=create-VXIH2GUZ.js.map
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
import {
|
|
3
3
|
AutoApprover
|
|
4
4
|
} from "./chunk-NXJ4XLB5.js";
|
|
5
|
-
import {
|
|
6
|
-
loadModelsConfig,
|
|
7
|
-
resolveModel
|
|
8
|
-
} from "./chunk-YFQJXRIJ.js";
|
|
9
5
|
import {
|
|
10
6
|
CODE_INDEX_MODES,
|
|
11
7
|
DEFAULT_CODE_INDEX_MODE,
|
|
@@ -13,15 +9,24 @@ import {
|
|
|
13
9
|
Runtime,
|
|
14
10
|
detectProfiles,
|
|
15
11
|
newSessionId
|
|
16
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WIJL72ZE.js";
|
|
13
|
+
import "./chunk-G2AX7MGS.js";
|
|
17
14
|
import "./chunk-A2QAIRQL.js";
|
|
15
|
+
import "./chunk-ULAJPMY7.js";
|
|
16
|
+
import {
|
|
17
|
+
NO_MODEL,
|
|
18
|
+
chooseModel,
|
|
19
|
+
keepProviderKeys,
|
|
20
|
+
loadModelsConfig,
|
|
21
|
+
resolveModel
|
|
22
|
+
} from "./chunk-NP6RIC25.js";
|
|
23
|
+
import "./chunk-EIXUSVFX.js";
|
|
18
24
|
import {
|
|
19
25
|
totalTokens
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-G2AX7MGS.js";
|
|
26
|
+
} from "./chunk-R7I2NBPX.js";
|
|
22
27
|
import "./chunk-B25VL4RU.js";
|
|
23
28
|
import "./chunk-23FXBNBB.js";
|
|
24
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-XOK5OZOC.js";
|
|
25
30
|
import "./chunk-5DEWP3YX.js";
|
|
26
31
|
import "./chunk-ZAE25JM2.js";
|
|
27
32
|
import "./chunk-ATW7BNIG.js";
|
|
@@ -29,7 +34,7 @@ import "./chunk-PZS3V6P3.js";
|
|
|
29
34
|
import {
|
|
30
35
|
LINK_CANDIDATES,
|
|
31
36
|
cleanArgs
|
|
32
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-44QN5SWZ.js";
|
|
33
38
|
import {
|
|
34
39
|
MANIFEST,
|
|
35
40
|
TEST_PATH,
|
|
@@ -39,7 +44,7 @@ import {
|
|
|
39
44
|
import {
|
|
40
45
|
git,
|
|
41
46
|
shellWord
|
|
42
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-TUUEBHG2.js";
|
|
43
48
|
import {
|
|
44
49
|
DEFAULT_ENV_ALLOWLIST,
|
|
45
50
|
EXECUTOR_NAMES,
|
|
@@ -47,8 +52,9 @@ import {
|
|
|
47
52
|
createExecutor,
|
|
48
53
|
expandAllowlist,
|
|
49
54
|
parseSettings
|
|
50
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-GXZACJUI.js";
|
|
51
56
|
import "./chunk-WMOLXTBU.js";
|
|
57
|
+
import "./chunk-3EQU2GUX.js";
|
|
52
58
|
import "./chunk-HUIK3WXO.js";
|
|
53
59
|
import "./chunk-3NJNVZTK.js";
|
|
54
60
|
|
|
@@ -2422,14 +2428,15 @@ async function runEvalCommand(options) {
|
|
|
2422
2428
|
return 0;
|
|
2423
2429
|
}
|
|
2424
2430
|
if (options.prepare !== void 0) return prepare(options.prepare);
|
|
2425
|
-
const modelId = options.model;
|
|
2426
|
-
if (!modelId) {
|
|
2427
|
-
process.stderr.write("Set a model with --model <id> or the GARUDA_MODEL variable.\n");
|
|
2428
|
-
return 1;
|
|
2429
|
-
}
|
|
2430
2431
|
const models = await loadModelsConfig();
|
|
2431
2432
|
if (models.problem !== void 0) {
|
|
2432
2433
|
process.stderr.write(`${models.problem}
|
|
2434
|
+
`);
|
|
2435
|
+
return 1;
|
|
2436
|
+
}
|
|
2437
|
+
const modelId = chooseModel(models.config, options.model);
|
|
2438
|
+
if (!modelId) {
|
|
2439
|
+
process.stderr.write(`${NO_MODEL}
|
|
2433
2440
|
`);
|
|
2434
2441
|
return 1;
|
|
2435
2442
|
}
|
|
@@ -2546,6 +2553,13 @@ async function runEvalCommand(options) {
|
|
|
2546
2553
|
`);
|
|
2547
2554
|
return 1;
|
|
2548
2555
|
}
|
|
2556
|
+
const credentialsWarning = await keepProviderKeys([
|
|
2557
|
+
resolved.def.apiKeyEnv,
|
|
2558
|
+
sub?.def.apiKeyEnv,
|
|
2559
|
+
"ANTHROPIC_API_KEY"
|
|
2560
|
+
]);
|
|
2561
|
+
if (credentialsWarning !== void 0) process.stderr.write(`${credentialsWarning}
|
|
2562
|
+
`);
|
|
2549
2563
|
const suite = options.suite ?? "basic";
|
|
2550
2564
|
const suiteTasks = suite === "all" ? ALL_TASKS : suite === "repo" ? repoTasks : EVAL_SUITES[suite];
|
|
2551
2565
|
if (suiteTasks === void 0) {
|
|
@@ -2795,4 +2809,4 @@ export {
|
|
|
2795
2809
|
BATCH_TASK_TIMEOUT_MS,
|
|
2796
2810
|
runEvalCommand
|
|
2797
2811
|
};
|
|
2798
|
-
//# sourceMappingURL=evalCommand-
|
|
2812
|
+
//# sourceMappingURL=evalCommand-OX2LQYEK.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
fuzzyFiles,
|
|
7
7
|
runChat,
|
|
8
8
|
statusOf
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ENLDPN4S.js";
|
|
10
10
|
import {
|
|
11
11
|
retryText,
|
|
12
12
|
serverToolOutput,
|
|
@@ -19,21 +19,24 @@ import {
|
|
|
19
19
|
colorPreview,
|
|
20
20
|
header
|
|
21
21
|
} from "./chunk-4JSUUDFQ.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-A2QAIRQL.js";
|
|
24
|
-
import "./chunk-HRGX53VC.js";
|
|
22
|
+
import "./chunk-WIJL72ZE.js";
|
|
25
23
|
import "./chunk-G2AX7MGS.js";
|
|
24
|
+
import "./chunk-A2QAIRQL.js";
|
|
25
|
+
import "./chunk-ULAJPMY7.js";
|
|
26
|
+
import "./chunk-EIXUSVFX.js";
|
|
27
|
+
import "./chunk-R7I2NBPX.js";
|
|
26
28
|
import "./chunk-B25VL4RU.js";
|
|
27
29
|
import "./chunk-23FXBNBB.js";
|
|
28
30
|
import "./chunk-EU7PA45O.js";
|
|
29
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-XOK5OZOC.js";
|
|
30
32
|
import "./chunk-5DEWP3YX.js";
|
|
31
33
|
import "./chunk-ZAE25JM2.js";
|
|
32
34
|
import "./chunk-ATW7BNIG.js";
|
|
33
35
|
import "./chunk-PZS3V6P3.js";
|
|
34
36
|
import "./chunk-OUCV3FCT.js";
|
|
35
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-GXZACJUI.js";
|
|
36
38
|
import "./chunk-WMOLXTBU.js";
|
|
39
|
+
import "./chunk-3EQU2GUX.js";
|
|
37
40
|
import "./chunk-HUIK3WXO.js";
|
|
38
41
|
import "./chunk-KKB5W47S.js";
|
|
39
42
|
import "./chunk-3NJNVZTK.js";
|
|
@@ -1190,4 +1193,4 @@ async function runInkChat(runtime, approver, setEventTarget, banner, sessionPath
|
|
|
1190
1193
|
export {
|
|
1191
1194
|
runInkChat
|
|
1192
1195
|
};
|
|
1193
|
-
//# sourceMappingURL=inkChat-
|
|
1196
|
+
//# sourceMappingURL=inkChat-YMMMGU7Y.js.map
|
|
@@ -3,10 +3,11 @@ import {
|
|
|
3
3
|
INSTALL_TIMEOUT_MS,
|
|
4
4
|
installCommand,
|
|
5
5
|
installServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-B6FA4I7Q.js";
|
|
7
7
|
import "./chunk-EU7PA45O.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-GXZACJUI.js";
|
|
9
9
|
import "./chunk-WMOLXTBU.js";
|
|
10
|
+
import "./chunk-3EQU2GUX.js";
|
|
10
11
|
import "./chunk-HUIK3WXO.js";
|
|
11
12
|
import "./chunk-3NJNVZTK.js";
|
|
12
13
|
export {
|
|
@@ -14,4 +15,4 @@ export {
|
|
|
14
15
|
installCommand,
|
|
15
16
|
installServer
|
|
16
17
|
};
|
|
17
|
-
//# sourceMappingURL=install-
|
|
18
|
+
//# sourceMappingURL=install-EWDSPFFZ.js.map
|
|
@@ -5,18 +5,20 @@ import {
|
|
|
5
5
|
msUntil,
|
|
6
6
|
prepareJob,
|
|
7
7
|
testsBefore
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HE2K657U.js";
|
|
9
9
|
import "./chunk-N4I6YS3E.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-ULAJPMY7.js";
|
|
11
|
+
import "./chunk-R7I2NBPX.js";
|
|
11
12
|
import "./chunk-5DEWP3YX.js";
|
|
12
13
|
import "./chunk-PZS3V6P3.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-44QN5SWZ.js";
|
|
15
|
+
import "./chunk-USCUXCAU.js";
|
|
15
16
|
import "./chunk-YQTGMCU6.js";
|
|
16
17
|
import "./chunk-OUCV3FCT.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-TUUEBHG2.js";
|
|
19
|
+
import "./chunk-GXZACJUI.js";
|
|
19
20
|
import "./chunk-WMOLXTBU.js";
|
|
21
|
+
import "./chunk-3EQU2GUX.js";
|
|
20
22
|
import "./chunk-HUIK3WXO.js";
|
|
21
23
|
import "./chunk-KKB5W47S.js";
|
|
22
24
|
import "./chunk-3NJNVZTK.js";
|
|
@@ -27,4 +29,4 @@ export {
|
|
|
27
29
|
prepareJob,
|
|
28
30
|
testsBefore
|
|
29
31
|
};
|
|
30
|
-
//# sourceMappingURL=jobCommand-
|
|
32
|
+
//# sourceMappingURL=jobCommand-ACSGSBQ4.js.map
|
|
@@ -14,10 +14,11 @@ import {
|
|
|
14
14
|
removeSpec,
|
|
15
15
|
specPath,
|
|
16
16
|
specPlist
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-USCUXCAU.js";
|
|
18
|
+
import "./chunk-TUUEBHG2.js";
|
|
19
|
+
import "./chunk-GXZACJUI.js";
|
|
20
20
|
import "./chunk-WMOLXTBU.js";
|
|
21
|
+
import "./chunk-3EQU2GUX.js";
|
|
21
22
|
import "./chunk-HUIK3WXO.js";
|
|
22
23
|
import "./chunk-KKB5W47S.js";
|
|
23
24
|
import "./chunk-3NJNVZTK.js";
|
|
@@ -37,4 +38,4 @@ export {
|
|
|
37
38
|
specPath,
|
|
38
39
|
specPlist
|
|
39
40
|
};
|
|
40
|
-
//# sourceMappingURL=launchd-
|
|
41
|
+
//# sourceMappingURL=launchd-SSX362VG.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-36GQIVGT.js";
|
|
6
6
|
import {
|
|
7
7
|
installServer
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-B6FA4I7Q.js";
|
|
9
9
|
import {
|
|
10
10
|
LSP_CONFIG_FILE,
|
|
11
11
|
loadLspConfig
|
|
@@ -18,8 +18,9 @@ import {
|
|
|
18
18
|
HostExecutor,
|
|
19
19
|
createExecutor,
|
|
20
20
|
loadSettings
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-GXZACJUI.js";
|
|
22
22
|
import "./chunk-WMOLXTBU.js";
|
|
23
|
+
import "./chunk-3EQU2GUX.js";
|
|
23
24
|
import "./chunk-HUIK3WXO.js";
|
|
24
25
|
import "./chunk-3NJNVZTK.js";
|
|
25
26
|
|
|
@@ -96,4 +97,4 @@ export {
|
|
|
96
97
|
lspInstallCommand,
|
|
97
98
|
lspStatusCommand
|
|
98
99
|
};
|
|
99
|
-
//# sourceMappingURL=lspCommand-
|
|
100
|
+
//# sourceMappingURL=lspCommand-JRXKRSL7.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-4P26OKTP.js";
|
|
12
12
|
import {
|
|
13
13
|
VERSION
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-XOK5OZOC.js";
|
|
15
15
|
import {
|
|
16
16
|
USER_SCOPE
|
|
17
17
|
} from "./chunk-5DEWP3YX.js";
|
|
@@ -34,8 +34,9 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
DEFAULT_ENV_ALLOWLIST,
|
|
36
36
|
sandboxPaths
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-GXZACJUI.js";
|
|
38
38
|
import "./chunk-WMOLXTBU.js";
|
|
39
|
+
import "./chunk-3EQU2GUX.js";
|
|
39
40
|
import "./chunk-HUIK3WXO.js";
|
|
40
41
|
import "./chunk-3NJNVZTK.js";
|
|
41
42
|
|
|
@@ -844,4 +845,4 @@ export {
|
|
|
844
845
|
changeLines,
|
|
845
846
|
warnings
|
|
846
847
|
};
|
|
847
|
-
//# sourceMappingURL=manager-
|
|
848
|
+
//# sourceMappingURL=manager-AWU4NHHK.js.map
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
msUntil
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HE2K657U.js";
|
|
5
5
|
import {
|
|
6
6
|
notificationBytes,
|
|
7
7
|
pickChannel
|
|
8
8
|
} from "./chunk-N4I6YS3E.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-ULAJPMY7.js";
|
|
10
|
+
import "./chunk-R7I2NBPX.js";
|
|
10
11
|
import "./chunk-5DEWP3YX.js";
|
|
11
12
|
import "./chunk-PZS3V6P3.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-44QN5SWZ.js";
|
|
13
14
|
import {
|
|
14
15
|
defaultAgentEnv,
|
|
15
16
|
nightSpec,
|
|
16
17
|
removeSpec
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-USCUXCAU.js";
|
|
18
19
|
import "./chunk-YQTGMCU6.js";
|
|
19
20
|
import {
|
|
20
21
|
testSummary
|
|
@@ -22,11 +23,12 @@ import {
|
|
|
22
23
|
import {
|
|
23
24
|
hostCommand,
|
|
24
25
|
shellWord
|
|
25
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-TUUEBHG2.js";
|
|
26
27
|
import {
|
|
27
28
|
createExecutor
|
|
28
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-GXZACJUI.js";
|
|
29
30
|
import "./chunk-WMOLXTBU.js";
|
|
31
|
+
import "./chunk-3EQU2GUX.js";
|
|
30
32
|
import "./chunk-HUIK3WXO.js";
|
|
31
33
|
import {
|
|
32
34
|
JOBS_DIR,
|
|
@@ -244,4 +246,4 @@ Digest: ${file}`);
|
|
|
244
246
|
export {
|
|
245
247
|
nightCommand
|
|
246
248
|
};
|
|
247
|
-
//# sourceMappingURL=nightCommand-
|
|
249
|
+
//# sourceMappingURL=nightCommand-65MUEV32.js.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
git
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-TUUEBHG2.js";
|
|
5
|
+
import "./chunk-GXZACJUI.js";
|
|
6
6
|
import "./chunk-WMOLXTBU.js";
|
|
7
|
+
import "./chunk-3EQU2GUX.js";
|
|
7
8
|
import "./chunk-HUIK3WXO.js";
|
|
8
9
|
import {
|
|
9
10
|
JOBS_DIR,
|
|
@@ -56,4 +57,4 @@ export {
|
|
|
56
57
|
jobLeftovers,
|
|
57
58
|
removeJob
|
|
58
59
|
};
|
|
59
|
-
//# sourceMappingURL=remove-
|
|
60
|
+
//# sourceMappingURL=remove-6GDSTAIO.js.map
|
|
@@ -459,6 +459,10 @@ ${mark}`;
|
|
|
459
459
|
|
|
460
460
|
// src/acp/server.ts
|
|
461
461
|
var INTERNAL_ERROR = -32603;
|
|
462
|
+
var SETUP_METHOD_ID = "garuda-setup";
|
|
463
|
+
function setupNeeded(message) {
|
|
464
|
+
return Object.assign(new Error(message), { authRequired: true });
|
|
465
|
+
}
|
|
462
466
|
var MODES = {
|
|
463
467
|
build: { name: "Build", description: "Edits and commands, each one asks first." },
|
|
464
468
|
plan: {
|
|
@@ -486,7 +490,7 @@ function acpServer(options) {
|
|
|
486
490
|
connection = c.client;
|
|
487
491
|
}).onRequest(
|
|
488
492
|
methods.agent.initialize,
|
|
489
|
-
() => ({
|
|
493
|
+
(c) => ({
|
|
490
494
|
protocolVersion: PROTOCOL_VERSION,
|
|
491
495
|
agentInfo: { name: "garuda", title: "Garuda", version: options.version },
|
|
492
496
|
agentCapabilities: {
|
|
@@ -494,8 +498,16 @@ function acpServer(options) {
|
|
|
494
498
|
promptCapabilities: { image: false, audio: false, embeddedContext: true },
|
|
495
499
|
mcpCapabilities: { http: false, sse: false }
|
|
496
500
|
},
|
|
497
|
-
//
|
|
498
|
-
authMethods: [
|
|
501
|
+
// Terminal Auth (0.16) only for an editor that can run it (the spec: never offer it else).
|
|
502
|
+
authMethods: options.terminalAuth !== void 0 && c.params.clientCapabilities?.auth?.terminal === true ? [
|
|
503
|
+
{
|
|
504
|
+
type: "terminal",
|
|
505
|
+
id: SETUP_METHOD_ID,
|
|
506
|
+
name: "Set up Garuda",
|
|
507
|
+
description: "Choose a model and enter its API key.",
|
|
508
|
+
args: options.terminalAuth.args
|
|
509
|
+
}
|
|
510
|
+
] : []
|
|
499
511
|
})
|
|
500
512
|
).onRequest(methods.agent.authenticate, () => ({})).onRequest(methods.agent.session.new, async (c) => {
|
|
501
513
|
const root = c.params.cwd;
|
|
@@ -518,7 +530,11 @@ function acpServer(options) {
|
|
|
518
530
|
onNotice: (text) => channel.notice(text)
|
|
519
531
|
});
|
|
520
532
|
} catch (error) {
|
|
521
|
-
|
|
533
|
+
const message = error.message;
|
|
534
|
+
if (error.authRequired === true) {
|
|
535
|
+
throw RequestError.authRequired(void 0, message);
|
|
536
|
+
}
|
|
537
|
+
throw new RequestError(INTERNAL_ERROR, message);
|
|
522
538
|
}
|
|
523
539
|
if (runtime.executorNotice !== void 0) channel.notice(runtime.executorNotice);
|
|
524
540
|
const skipped = editorServers(c.params.mcpServers);
|
|
@@ -671,6 +687,8 @@ function isFolder(path) {
|
|
|
671
687
|
}
|
|
672
688
|
}
|
|
673
689
|
export {
|
|
674
|
-
|
|
690
|
+
SETUP_METHOD_ID,
|
|
691
|
+
acpServer,
|
|
692
|
+
setupNeeded
|
|
675
693
|
};
|
|
676
|
-
//# sourceMappingURL=server-
|
|
694
|
+
//# sourceMappingURL=server-KHHNHUYV.js.map
|