@garuda-agent/garuda 0.18.1 → 0.19.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +1 -1
  3. package/dist/{acpCommand-JAYNMIMP.js → acpCommand-SIFV5XBS.js} +12 -13
  4. package/dist/advise-EA7OIYSV.js +433 -0
  5. package/dist/{anthropic-NQIZLD64.js → anthropic-6DKONNQG.js} +4 -2
  6. package/dist/{buildCheck-HB46NWLX.js → buildCheck-JNWGER5R.js} +4 -4
  7. package/dist/buildInfo-APQVLWI7.js +8 -0
  8. package/dist/{chunk-TWQ7V2L6.js → chunk-2THG7PEC.js} +2 -2
  9. package/dist/chunk-2TX3KY4M.js +88 -0
  10. package/dist/{chunk-TLA2PDGM.js → chunk-4BELTWP4.js} +5 -5
  11. package/dist/{chunk-QXTHEFKP.js → chunk-5GF2VINR.js} +2 -2
  12. package/dist/{chunk-JMH5W5DG.js → chunk-65NUEOI7.js} +44 -1
  13. package/dist/{chunk-WK5NE6RY.js → chunk-A4SSBJ2P.js} +2 -2
  14. package/dist/{chunk-DQSCCE77.js → chunk-AX3A5KPH.js} +5 -5
  15. package/dist/{chunk-5UDYQ5MK.js → chunk-BFK432BK.js} +12 -14
  16. package/dist/{chunk-GKU62MHQ.js → chunk-CHAWBYB4.js} +2 -2
  17. package/dist/chunk-CKVF67VJ.js +1780 -0
  18. package/dist/{chunk-IKPGHM54.js → chunk-DRAZNXNP.js} +3 -3
  19. package/dist/{chunk-ZKT4P2PC.js → chunk-FALYVAFB.js} +2 -2
  20. package/dist/chunk-FBCVU2P2.js +9 -0
  21. package/dist/{chunk-LMKGSYJC.js → chunk-L5TZTKUV.js} +3 -1
  22. package/dist/{chunk-34WBDQBL.js → chunk-MTJT3D3X.js} +19 -19
  23. package/dist/{chunk-QLBCM2YQ.js → chunk-QE7E77IR.js} +4 -4
  24. package/dist/chunk-U6Z4WH3B.js +9 -0
  25. package/dist/{chunk-R7RCW4BQ.js → chunk-WXNIMQOA.js} +5 -5
  26. package/dist/{chunk-YAQ6QLKB.js → chunk-YIU5QGMV.js} +3 -3
  27. package/dist/cli/index.js +50 -51
  28. package/dist/{create-OACSGJ37.js → create-GHGJR3AY.js} +5 -5
  29. package/dist/{evalCommand-BLJJ4G76.js → evalCommand-GQWNI2YJ.js} +73 -45
  30. package/dist/{evalTune-W53KAD4V.js → evalTune-LKEIFX7F.js} +20 -21
  31. package/dist/{export-E677HIQS.js → export-ZPF3AMO6.js} +5 -5
  32. package/dist/{exportHtml-BMV73YRO.js → exportHtml-ISISG5HG.js} +4 -4
  33. package/dist/{inkChat-EVLYDC3K.js → inkChat-3YNJC7KE.js} +12 -13
  34. package/dist/{install-4ST5BNRG.js → install-BQVAOQHD.js} +3 -3
  35. package/dist/{jobCommand-ILOTYOX3.js → jobCommand-WPHZYBXM.js} +6 -6
  36. package/dist/{launchd-QG6R5RAK.js → launchd-JZ6Y6JIH.js} +4 -4
  37. package/dist/{lspCommand-X4FTTONR.js → lspCommand-4LYQRYXL.js} +3 -3
  38. package/dist/{manager-L25IUXHW.js → manager-7MA6APCK.js} +3 -3
  39. package/dist/{nightCommand-XPWT6CQZ.js → nightCommand-RQKQGDTB.js} +6 -6
  40. package/dist/{remove-STX5UO7X.js → remove-S45S7ICN.js} +3 -3
  41. package/dist/runner-EUXA5UCH.js +97 -0
  42. package/dist/{setupCommand-OSOMFHDQ.js → setupCommand-YHDRJTPZ.js} +8 -9
  43. package/dist/{tune-VX2WQTHS.js → tune-XPBOEWU6.js} +12 -13
  44. package/package.json +5 -5
  45. package/dist/advise-HDKJGNBL.js +0 -195
  46. package/dist/buildInfo-K73FFI5S.js +0 -8
  47. package/dist/chunk-CWVXOSAA.js +0 -894
  48. package/dist/chunk-DUYLVGPY.js +0 -821
  49. package/dist/chunk-H7LIBGZT.js +0 -9
  50. package/dist/chunk-IYGJWX65.js +0 -9
  51. package/dist/chunk-NH72AELP.js +0 -48
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  taskHash
4
- } from "./chunk-DUYLVGPY.js";
4
+ } from "./chunk-2TX3KY4M.js";
5
5
  import {
6
6
  compareReports,
7
7
  costPerPass,
8
8
  formatComparison
9
- } from "./chunk-CWVXOSAA.js";
9
+ } from "./chunk-CKVF67VJ.js";
10
10
 
11
11
  // src/evals/tune.ts
12
12
  import { readFile } from "fs/promises";
@@ -331,4 +331,4 @@ export {
331
331
  parseProposal,
332
332
  tune
333
333
  };
334
- //# sourceMappingURL=chunk-IKPGHM54.js.map
334
+ //# sourceMappingURL=chunk-DRAZNXNP.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-EU7PA45O.js";
7
7
  import {
8
8
  DEFAULT_ENV_ALLOWLIST
9
- } from "./chunk-LMKGSYJC.js";
9
+ } from "./chunk-L5TZTKUV.js";
10
10
 
11
11
  // src/lsp/install.ts
12
12
  import { mkdir } from "fs/promises";
@@ -70,4 +70,4 @@ export {
70
70
  installCommand,
71
71
  installServer
72
72
  };
73
- //# sourceMappingURL=chunk-ZKT4P2PC.js.map
73
+ //# sourceMappingURL=chunk-FALYVAFB.js.map
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/buildInfo.ts
4
+ var BUILD_COMMIT = true ? "fae9b2fd66841847b814316ddf7e428e88fcdccc" : void 0;
5
+
6
+ export {
7
+ BUILD_COMMIT
8
+ };
9
+ //# sourceMappingURL=chunk-FBCVU2P2.js.map
@@ -91,6 +91,8 @@ var DENY_READ_IN_HOME = [
91
91
  ".docker",
92
92
  ".config/gcloud",
93
93
  ".config/gh",
94
+ // The `ant` CLI's and the Anthropic SDK's stored keys (SDK 1.x reads them too, 0.18.3).
95
+ ".config/anthropic/credentials",
94
96
  ".netrc",
95
97
  ".npmrc",
96
98
  ".pypirc",
@@ -1671,4 +1673,4 @@ export {
1671
1673
  JOB_DENIAL,
1672
1674
  PermissionEngine
1673
1675
  };
1674
- //# sourceMappingURL=chunk-LMKGSYJC.js.map
1676
+ //# sourceMappingURL=chunk-L5TZTKUV.js.map
@@ -1,4 +1,18 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ colorDiff
4
+ } from "./chunk-VISKX36R.js";
5
+ import {
6
+ budgetNote,
7
+ chatStopMessage,
8
+ formatTokens,
9
+ formatUsd,
10
+ stopMessage,
11
+ usageLine
12
+ } from "./chunk-2OYTNNUJ.js";
13
+ import {
14
+ tourChoice
15
+ } from "./chunk-Y62J7PTD.js";
2
16
  import {
3
17
  AuditDirError,
4
18
  SPECIALIST_SPECS,
@@ -15,21 +29,10 @@ import {
15
29
  repoMapText,
16
30
  repoMapTool,
17
31
  verifyAuditDir
18
- } from "./chunk-5UDYQ5MK.js";
19
- import {
20
- colorDiff
21
- } from "./chunk-VISKX36R.js";
32
+ } from "./chunk-BFK432BK.js";
22
33
  import {
23
34
  hasReceipt
24
35
  } from "./chunk-4QRTTRVK.js";
25
- import {
26
- budgetNote,
27
- chatStopMessage,
28
- formatTokens,
29
- formatUsd,
30
- stopMessage,
31
- usageLine
32
- } from "./chunk-2OYTNNUJ.js";
33
36
  import {
34
37
  isCostIncomplete,
35
38
  pendingChildTokens
@@ -38,9 +41,6 @@ import {
38
41
  WEB_SEARCH_USD,
39
42
  totalTokens
40
43
  } from "./chunk-7KBOIPUT.js";
41
- import {
42
- tourChoice
43
- } from "./chunk-Y62J7PTD.js";
44
44
  import {
45
45
  BUILTIN_COMMANDS
46
46
  } from "./chunk-MNE7HHX2.js";
@@ -524,7 +524,7 @@ async function jobsCommand(runtime, renderer, id) {
524
524
  return;
525
525
  }
526
526
  const jobs = await listJobs2(runtime.root);
527
- const { defaultAgentEnv, nightAgentTime } = await import("./launchd-QG6R5RAK.js");
527
+ const { defaultAgentEnv, nightAgentTime } = await import("./launchd-JZ6Y6JIH.js");
528
528
  const night = nightAgentTime(runtime.root, defaultAgentEnv());
529
529
  const nightLine = night === void 0 ? [] : [
530
530
  `Night shift: launchd starts the queue at ${night.toTimeString().slice(0, 5)} on ${night.toDateString()} (/jobs cancel night removes it).`
@@ -562,10 +562,10 @@ async function exportCommand(runtime, renderer, file) {
562
562
  renderer.info("There is no conversation to export yet.");
563
563
  return;
564
564
  }
565
- const { sessionMarkdown, writeExport } = await import("./export-E677HIQS.js");
565
+ const { sessionMarkdown, writeExport } = await import("./export-ZPF3AMO6.js");
566
566
  const html = /^--html(\s|$)/.test(file);
567
567
  const name = html ? file.slice("--html".length).trim() : file;
568
- const text = html ? (await import("./exportHtml-BMV73YRO.js")).sessionHtml(records, id) : sessionMarkdown(records, id);
568
+ const text = html ? (await import("./exportHtml-ISISG5HG.js")).sessionHtml(records, id) : sessionMarkdown(records, id);
569
569
  const result = await writeExport(runtime.root, id, text, name, html ? ".html" : ".md");
570
570
  if ("problem" in result) renderer.warn(result.problem);
571
571
  else
@@ -1350,4 +1350,4 @@ export {
1350
1350
  statusOf,
1351
1351
  CommandArgs
1352
1352
  };
1353
- //# sourceMappingURL=chunk-34WBDQBL.js.map
1353
+ //# sourceMappingURL=chunk-MTJT3D3X.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  writeFileAtomic
4
- } from "./chunk-NH72AELP.js";
4
+ } from "./chunk-65NUEOI7.js";
5
5
  import {
6
6
  keepSecretForRedaction,
7
7
  lookupModel
@@ -272,7 +272,7 @@ function resolveModel(spec, config = { providers: {}, models: {} }) {
272
272
  ...def.type === "anthropic" ? {
273
273
  async createBatch(env = process.env, options = {}) {
274
274
  const apiKey = providerKey(env, def.apiKeyEnv ?? "ANTHROPIC_API_KEY");
275
- const { AnthropicBatchClient } = await import("./anthropic-NQIZLD64.js");
275
+ const { AnthropicBatchClient } = await import("./anthropic-6DKONNQG.js");
276
276
  return new AnthropicBatchClient({ model, ...apiKey ? { apiKey } : {}, ...options });
277
277
  }
278
278
  } : {},
@@ -285,7 +285,7 @@ function resolveModel(spec, config = { providers: {}, models: {} }) {
285
285
  }
286
286
  if (def.type === "anthropic") {
287
287
  const key = providerKey(env, def.apiKeyEnv ?? "ANTHROPIC_API_KEY");
288
- const { AnthropicClient } = await import("./anthropic-NQIZLD64.js");
288
+ const { AnthropicClient } = await import("./anthropic-6DKONNQG.js");
289
289
  return new AnthropicClient({ model, ...key ? { apiKey: key } : {} });
290
290
  }
291
291
  const { OpenAICompatibleClient } = await import("./openaiCompatible-6TLDDW5U.js");
@@ -332,4 +332,4 @@ export {
332
332
  providerKeyValue,
333
333
  resolveModel
334
334
  };
335
- //# sourceMappingURL=chunk-QLBCM2YQ.js.map
335
+ //# sourceMappingURL=chunk-QE7E77IR.js.map
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/version.ts
4
+ var VERSION = "0.19.0";
5
+
6
+ export {
7
+ VERSION
8
+ };
9
+ //# sourceMappingURL=chunk-U6Z4WH3B.js.map
@@ -21,11 +21,11 @@ import {
21
21
  jobChanges,
22
22
  outsideScope,
23
23
  prepareWorktree
24
- } from "./chunk-WK5NE6RY.js";
24
+ } from "./chunk-A4SSBJ2P.js";
25
25
  import {
26
26
  defaultAgentEnv,
27
27
  removeAgent
28
- } from "./chunk-TWQ7V2L6.js";
28
+ } from "./chunk-2THG7PEC.js";
29
29
  import {
30
30
  jobReport
31
31
  } from "./chunk-3MRQJKUO.js";
@@ -42,11 +42,11 @@ import {
42
42
  JobGitError,
43
43
  git,
44
44
  hostCommand
45
- } from "./chunk-QXTHEFKP.js";
45
+ } from "./chunk-5GF2VINR.js";
46
46
  import {
47
47
  createExecutor,
48
48
  loadSettings
49
- } from "./chunk-LMKGSYJC.js";
49
+ } from "./chunk-L5TZTKUV.js";
50
50
  import {
51
51
  JOBS_DIR,
52
52
  loadJob,
@@ -352,4 +352,4 @@ export {
352
352
  msUntil,
353
353
  finishJob
354
354
  };
355
- //# sourceMappingURL=chunk-R7RCW4BQ.js.map
355
+ //# sourceMappingURL=chunk-WXNIMQOA.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  git
4
- } from "./chunk-QXTHEFKP.js";
4
+ } from "./chunk-5GF2VINR.js";
5
5
  import {
6
6
  HostExecutor
7
- } from "./chunk-LMKGSYJC.js";
7
+ } from "./chunk-L5TZTKUV.js";
8
8
 
9
9
  // src/buildCheck.ts
10
10
  import { existsSync } from "fs";
@@ -37,4 +37,4 @@ export {
37
37
  staleBuildNote,
38
38
  CHAT_STALE
39
39
  };
40
- //# sourceMappingURL=chunk-YAQ6QLKB.js.map
40
+ //# sourceMappingURL=chunk-YIU5QGMV.js.map
package/dist/cli/index.js CHANGED
@@ -16,29 +16,15 @@ import {
16
16
  runCommand,
17
17
  runTurnInTerminal,
18
18
  stopHandoff
19
- } from "../chunk-34WBDQBL.js";
19
+ } from "../chunk-MTJT3D3X.js";
20
20
  import {
21
- AutoApprover
22
- } from "../chunk-NXJ4XLB5.js";
23
- import {
24
- DEFAULT_MAX_TOKENS,
25
- Runtime,
26
- ToolRegistry,
27
- auditDirFor,
28
- defaultTools,
29
- rebuildState,
30
- runAgent,
31
- signature
32
- } from "../chunk-5UDYQ5MK.js";
33
- import "../chunk-G2AX7MGS.js";
21
+ SwitchApprover,
22
+ TerminalApprover
23
+ } from "../chunk-VISKX36R.js";
34
24
  import {
35
25
  Notifier,
36
26
  pickChannel
37
27
  } from "../chunk-N4I6YS3E.js";
38
- import "../chunk-ULAJPMY7.js";
39
- import {
40
- loadCatalog
41
- } from "../chunk-JMH5W5DG.js";
42
28
  import {
43
29
  NO_MODEL,
44
30
  chooseModel,
@@ -46,21 +32,37 @@ import {
46
32
  loadModelsConfig,
47
33
  providerKeySource,
48
34
  resolveModel
49
- } from "../chunk-QLBCM2YQ.js";
50
- import "../chunk-NH72AELP.js";
51
- import {
52
- SwitchApprover,
53
- TerminalApprover
54
- } from "../chunk-VISKX36R.js";
35
+ } from "../chunk-QE7E77IR.js";
55
36
  import {
56
37
  PlainRenderer
57
- } from "../chunk-DQSCCE77.js";
58
- import "../chunk-4QRTTRVK.js";
59
- import "../chunk-A2QAIRQL.js";
38
+ } from "../chunk-AX3A5KPH.js";
60
39
  import {
61
40
  formatTokens,
62
41
  stopMessage
63
42
  } from "../chunk-2OYTNNUJ.js";
43
+ import {
44
+ tourChoice
45
+ } from "../chunk-Y62J7PTD.js";
46
+ import {
47
+ AutoApprover
48
+ } from "../chunk-NXJ4XLB5.js";
49
+ import {
50
+ DEFAULT_MAX_TOKENS,
51
+ Runtime,
52
+ ToolRegistry,
53
+ auditDirFor,
54
+ defaultTools,
55
+ rebuildState,
56
+ runAgent,
57
+ signature
58
+ } from "../chunk-BFK432BK.js";
59
+ import "../chunk-G2AX7MGS.js";
60
+ import "../chunk-ULAJPMY7.js";
61
+ import {
62
+ loadCatalog
63
+ } from "../chunk-65NUEOI7.js";
64
+ import "../chunk-4QRTTRVK.js";
65
+ import "../chunk-A2QAIRQL.js";
64
66
  import {
65
67
  FileSessionStore,
66
68
  closeOpenToolCalls,
@@ -73,9 +75,6 @@ import {
73
75
  redoPoint
74
76
  } from "../chunk-NLS7GMF7.js";
75
77
  import "../chunk-7KBOIPUT.js";
76
- import {
77
- tourChoice
78
- } from "../chunk-Y62J7PTD.js";
79
78
  import {
80
79
  loadSearchConfig
81
80
  } from "../chunk-B25VL4RU.js";
@@ -86,7 +85,7 @@ import "../chunk-42DSA4EA.js";
86
85
  import "../chunk-EU7PA45O.js";
87
86
  import {
88
87
  VERSION
89
- } from "../chunk-IYGJWX65.js";
88
+ } from "../chunk-U6Z4WH3B.js";
90
89
  import "../chunk-5DEWP3YX.js";
91
90
  import "../chunk-PZS3V6P3.js";
92
91
  import "../chunk-QANRZW7W.js";
@@ -94,7 +93,7 @@ import "../chunk-ATW7BNIG.js";
94
93
  import "../chunk-AOGFYUKG.js";
95
94
  import {
96
95
  JOB_DENIAL
97
- } from "../chunk-LMKGSYJC.js";
96
+ } from "../chunk-L5TZTKUV.js";
98
97
  import "../chunk-BHZ6G65V.js";
99
98
  import "../chunk-P6XWWIEK.js";
100
99
  import "../chunk-VTMD5IHD.js";
@@ -967,7 +966,7 @@ async function main() {
967
966
  "--test-command <cmd>",
968
967
  "with --from-git: the test command; {files} takes the test files (default: detected)"
969
968
  ).action(async (options) => {
970
- const { runEvalCommand } = await import("../evalCommand-BLJJ4G76.js");
969
+ const { runEvalCommand } = await import("../evalCommand-GQWNI2YJ.js");
971
970
  process.exitCode = await runEvalCommand({
972
971
  ...options,
973
972
  model: options.model ?? process.env.GARUDA_MODEL,
@@ -984,14 +983,14 @@ async function main() {
984
983
  "stop before a round that would pass this (default 20)",
985
984
  (v) => Number(v)
986
985
  ).option("--seed <n>", "seed for the run order and the intervals (default 1)", (v) => Number(v)).option("--yes", "start without the question").option("--parallel <n>", "runs at the same time in each score (default 4)", (v) => Number(v)).action(async (options) => {
987
- const { runEvalTune } = await import("../evalTune-W53KAD4V.js");
986
+ const { runEvalTune } = await import("../evalTune-LKEIFX7F.js");
988
987
  process.exitCode = await runEvalTune({
989
988
  ...options,
990
989
  model: options.model ?? process.env.GARUDA_MODEL
991
990
  });
992
991
  });
993
992
  evalCommand.command("compare").description("compare two eval reports of the same tasks (pass rates with a paired interval)").argument("<a>", "report.json, or its run folder (.garuda/evals/<run-id>)").argument("<b>", "the second report").option("--seed <n>", "seed for the bootstrap (default 1)", (v) => Number(v)).action(async (a, b, options) => {
994
- const { runEvalCompare } = await import("../evalCommand-BLJJ4G76.js");
993
+ const { runEvalCompare } = await import("../evalCommand-GQWNI2YJ.js");
995
994
  process.exitCode = await runEvalCompare(a, b, options);
996
995
  });
997
996
  program.command("advise").description(
@@ -1004,8 +1003,8 @@ async function main() {
1004
1003
  "--max-cost <usd>",
1005
1004
  "stop before a model that would pass this (default 2)",
1006
1005
  (v) => Number(v)
1007
- ).option("--seed <n>", "seed for the run order and the intervals (default 1)", (v) => Number(v)).option("--yes", "start without the question").action(async (options) => {
1008
- const { runAdvise } = await import("../advise-HDKJGNBL.js");
1006
+ ).option("--seed <n>", "seed for the run order and the intervals (default 1)", (v) => Number(v)).option("--parallel <n>", "runs at the same time (default 4)", (v) => Number(v)).option("--yes", "start without the question").action(async (options) => {
1007
+ const { runAdvise } = await import("../advise-EA7OIYSV.js");
1009
1008
  process.exitCode = await runAdvise(options);
1010
1009
  });
1011
1010
  program.command("init").description(
@@ -1023,30 +1022,30 @@ async function main() {
1023
1022
  program.command("night").description(
1024
1023
  "run this project's night queue (jobs from /schedule), up to 3 at a time, then write one digest"
1025
1024
  ).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) => {
1026
- const { nightCommand } = await import("../nightCommand-XPWT6CQZ.js");
1025
+ const { nightCommand } = await import("../nightCommand-RQKQGDTB.js");
1027
1026
  process.exitCode = await nightCommand(options, new PlainRenderer());
1028
1027
  });
1029
1028
  program.command("setup").description(
1030
1029
  "choose a provider and model and store its key (~/.garuda/credentials, only you can read it); editors run it to sign in"
1031
1030
  ).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) => {
1032
- const { setupCommand, terminalIO } = await import("../setupCommand-OSOMFHDQ.js");
1031
+ const { setupCommand, terminalIO } = await import("../setupCommand-YHDRJTPZ.js");
1033
1032
  process.exitCode = await setupCommand(options, { io: await terminalIO() });
1034
1033
  });
1035
1034
  program.command("acp").description(
1036
1035
  "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"
1037
1036
  ).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) => {
1038
- const { acpCommand } = await import("../acpCommand-JAYNMIMP.js");
1037
+ const { acpCommand } = await import("../acpCommand-SIFV5XBS.js");
1039
1038
  process.exitCode = await acpCommand({
1040
1039
  ...options,
1041
1040
  ...action === void 0 ? {} : { action }
1042
1041
  });
1043
1042
  });
1044
1043
  const lsp = program.command("lsp").description("show the language servers for diagnostics (TS/JS, Python, Java)").action(async () => {
1045
- const { lspStatusCommand } = await import("../lspCommand-X4FTTONR.js");
1044
+ const { lspStatusCommand } = await import("../lspCommand-4LYQRYXL.js");
1046
1045
  process.exitCode = await lspStatusCommand();
1047
1046
  });
1048
1047
  lsp.command("install").description("install a pinned language server into ~/.garuda/lsp (needs the network)").argument("<language>", "typescript, python or java").action(async (language) => {
1049
- const { lspInstallCommand } = await import("../lspCommand-X4FTTONR.js");
1048
+ const { lspInstallCommand } = await import("../lspCommand-4LYQRYXL.js");
1050
1049
  process.exitCode = await lspInstallCommand(language);
1051
1050
  });
1052
1051
  await program.parseAsync();
@@ -1058,7 +1057,7 @@ async function start(options, program) {
1058
1057
  let job;
1059
1058
  let jobGuard;
1060
1059
  if (options.job !== void 0) {
1061
- const { prepareJob } = await import("../jobCommand-ILOTYOX3.js");
1060
+ const { prepareJob } = await import("../jobCommand-WPHZYBXM.js");
1062
1061
  const prepared = await prepareJob(
1063
1062
  mainRoot,
1064
1063
  options.job,
@@ -1220,7 +1219,7 @@ async function start(options, program) {
1220
1219
  job.job.status = "failed";
1221
1220
  await saveJob(job.job);
1222
1221
  if (options.fromLaunchd === true || job.job.launchd !== void 0) {
1223
- const { removeAgent, defaultAgentEnv } = await import("../launchd-QG6R5RAK.js");
1222
+ const { removeAgent, defaultAgentEnv } = await import("../launchd-JZ6Y6JIH.js");
1224
1223
  await removeAgent(runtime.executor, job.job, defaultAgentEnv());
1225
1224
  }
1226
1225
  return 1;
@@ -1300,7 +1299,7 @@ async function start(options, program) {
1300
1299
  if (resolved2.kind === "prompt") prompt = resolved2.prompt;
1301
1300
  }
1302
1301
  if (job !== void 0) {
1303
- const { testsBefore } = await import("../jobCommand-ILOTYOX3.js");
1302
+ const { testsBefore } = await import("../jobCommand-WPHZYBXM.js");
1304
1303
  await testsBefore(job, runtime, renderer);
1305
1304
  }
1306
1305
  const outcome = await runTurnInTerminal(
@@ -1313,7 +1312,7 @@ async function start(options, program) {
1313
1312
  await runtime.close();
1314
1313
  finish(outcome);
1315
1314
  if (job !== void 0) {
1316
- const { finishJob } = await import("../jobCommand-ILOTYOX3.js");
1315
+ const { finishJob } = await import("../jobCommand-WPHZYBXM.js");
1317
1316
  await finishJob(job, outcome, runtime, renderer, void 0, {
1318
1317
  fromLaunchd: options.fromLaunchd === true
1319
1318
  });
@@ -1345,8 +1344,8 @@ async function start(options, program) {
1345
1344
  screenReader: screenReaderMode()
1346
1345
  });
1347
1346
  {
1348
- const { BUILD_COMMIT } = await import("../buildInfo-K73FFI5S.js");
1349
- const { CHAT_STALE, garudaCommit, staleBuildNote } = await import("../buildCheck-HB46NWLX.js");
1347
+ const { BUILD_COMMIT } = await import("../buildInfo-APQVLWI7.js");
1348
+ const { CHAT_STALE, garudaCommit, staleBuildNote } = await import("../buildCheck-JNWGER5R.js");
1350
1349
  const stale = staleBuildNote(BUILD_COMMIT, await garudaCommit(), CHAT_STALE);
1351
1350
  if (stale !== void 0) {
1352
1351
  startBanner += `
@@ -1438,7 +1437,7 @@ function wantsInk() {
1438
1437
  }
1439
1438
  async function loadInk(renderer) {
1440
1439
  try {
1441
- return await import("../inkChat-EVLYDC3K.js");
1440
+ return await import("../inkChat-3YNJC7KE.js");
1442
1441
  } catch (error) {
1443
1442
  renderer.info(`Plain chat (Ink is not available: ${error.message.split("\n")[0]}).`);
1444
1443
  return void 0;
@@ -1470,8 +1469,8 @@ function recordJobDenial(job, tool, target) {
1470
1469
  }
1471
1470
  async function jobBatchClient(job, resolved, renderer) {
1472
1471
  const { DeadlineClient } = await import("../deadline-TP7ZGLT2.js");
1473
- const { nextTime } = await import("../launchd-QG6R5RAK.js");
1474
- const { DEFAULT_FINISH_BY, DEFAULT_STEP_LIMIT_MINUTES, SWITCH_BEFORE_MS } = await import("../create-OACSGJ37.js");
1472
+ const { nextTime } = await import("../launchd-JZ6Y6JIH.js");
1473
+ const { DEFAULT_FINISH_BY, DEFAULT_STEP_LIMIT_MINUTES, SWITCH_BEFORE_MS } = await import("../create-GHGJR3AY.js");
1475
1474
  const finishBy = job.job.finishBy ?? DEFAULT_FINISH_BY;
1476
1475
  const stepLimit = job.job.stepLimitMinutes ?? DEFAULT_STEP_LIMIT_MINUTES;
1477
1476
  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-WK5NE6RY.js";
6
+ } from "./chunk-A4SSBJ2P.js";
7
7
  import {
8
8
  agentLabel,
9
9
  defaultAgentEnv,
@@ -12,15 +12,15 @@ import {
12
12
  nextTime,
13
13
  nightAgentTime,
14
14
  nightSpec
15
- } from "./chunk-TWQ7V2L6.js";
15
+ } from "./chunk-2THG7PEC.js";
16
16
  import {
17
17
  jobPrompt
18
18
  } from "./chunk-3MRQJKUO.js";
19
19
  import "./chunk-AOGFYUKG.js";
20
20
  import {
21
21
  JobGitError
22
- } from "./chunk-QXTHEFKP.js";
23
- import "./chunk-LMKGSYJC.js";
22
+ } from "./chunk-5GF2VINR.js";
23
+ import "./chunk-L5TZTKUV.js";
24
24
  import "./chunk-BHZ6G65V.js";
25
25
  import "./chunk-P6XWWIEK.js";
26
26
  import {
@@ -227,4 +227,4 @@ export {
227
227
  createJob,
228
228
  switchTime
229
229
  };
230
- //# sourceMappingURL=create-OACSGJ37.js.map
230
+ //# sourceMappingURL=create-GHGJR3AY.js.map