brass-runtime 1.14.0 → 1.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.
Files changed (90) hide show
  1. package/README.md +410 -135
  2. package/dist/agent/cli/main.cjs +49 -43
  3. package/dist/agent/cli/main.js +11 -5
  4. package/dist/agent/cli/main.mjs +11 -5
  5. package/dist/agent/index.cjs +8 -3
  6. package/dist/agent/index.d.ts +1 -1
  7. package/dist/agent/index.js +7 -2
  8. package/dist/agent/index.mjs +7 -2
  9. package/dist/{chunk-BMRF4FN6.js → chunk-2WC63LJK.mjs} +68 -242
  10. package/dist/chunk-3RG5ZIWI.js +10 -0
  11. package/dist/chunk-45F7OKGT.cjs +104 -0
  12. package/dist/chunk-5YOQOXEQ.cjs +2491 -0
  13. package/dist/chunk-7HUOJA4W.cjs +493 -0
  14. package/dist/{chunk-4N2JEK4H.mjs → chunk-7LVI2GIN.js} +252 -495
  15. package/dist/chunk-7TL2LHQJ.js +2491 -0
  16. package/dist/chunk-7V4KY4RL.mjs +104 -0
  17. package/dist/chunk-7XOPAB5Q.js +2143 -0
  18. package/dist/chunk-CCKHV5BT.mjs +193 -0
  19. package/dist/chunk-CY33PGEX.mjs +1110 -0
  20. package/dist/chunk-DJQ7OMMB.cjs +144 -0
  21. package/dist/chunk-F5EUMJL7.mjs +2143 -0
  22. package/dist/chunk-FM4W4QPL.js +193 -0
  23. package/dist/chunk-G3XGCZDQ.js +131 -0
  24. package/dist/{chunk-JT7D6M5H.js → chunk-G6IQOE4P.mjs} +252 -495
  25. package/dist/chunk-GOV47PPB.mjs +552 -0
  26. package/dist/chunk-H55LI6WY.js +93 -0
  27. package/dist/chunk-IJT6RRQ5.cjs +93 -0
  28. package/dist/chunk-J3H54ZRV.mjs +131 -0
  29. package/dist/chunk-JF4XXPZ5.cjs +552 -0
  30. package/dist/chunk-JNFRRJYH.cjs +2143 -0
  31. package/dist/chunk-JX3LZQJH.cjs +354 -0
  32. package/dist/chunk-K2T3DV26.mjs +93 -0
  33. package/dist/chunk-KCPT2D6G.js +552 -0
  34. package/dist/chunk-MWXMNYJS.cjs +1110 -0
  35. package/dist/{chunk-XTMZTVIT.cjs → chunk-N6VHMOWB.cjs} +140 -134
  36. package/dist/{chunk-WJESVBWN.js → chunk-NC5SDRYE.js} +16 -10
  37. package/dist/chunk-NOYZIMUJ.mjs +144 -0
  38. package/dist/chunk-NYL4D7SK.cjs +131 -0
  39. package/dist/chunk-OBGZSXTJ.cjs +10 -0
  40. package/dist/{chunk-UWMMYKVK.mjs → chunk-OOGJ73B6.js} +68 -242
  41. package/dist/chunk-PNVFW245.js +144 -0
  42. package/dist/chunk-PRWCB3QL.mjs +2491 -0
  43. package/dist/chunk-QY5FKYEQ.js +1110 -0
  44. package/dist/chunk-ROJC3NBJ.js +104 -0
  45. package/dist/chunk-SPUEME2B.cjs +343 -0
  46. package/dist/chunk-TDVMADDN.js +343 -0
  47. package/dist/chunk-TVN5I4U6.cjs +193 -0
  48. package/dist/chunk-U5KWK3PX.mjs +343 -0
  49. package/dist/chunk-VFIUZG7J.mjs +354 -0
  50. package/dist/{chunk-BKBFSOGT.cjs → chunk-WQ5QNU5R.cjs} +460 -703
  51. package/dist/chunk-XDZOO4L5.js +354 -0
  52. package/dist/chunk-Y6FXYEAI.mjs +10 -0
  53. package/dist/{chunk-MQF7HZ7Y.mjs → chunk-ZGLD4TVZ.mjs} +16 -10
  54. package/dist/client-CtFmoDvM.d.ts +645 -0
  55. package/dist/core/index.cjs +284 -0
  56. package/dist/core/index.d.ts +567 -0
  57. package/dist/core/index.js +284 -0
  58. package/dist/core/index.mjs +284 -0
  59. package/dist/{effect-DM56H743.d.ts → effect-CGNl5Rqp.d.ts} +118 -11
  60. package/dist/effectRunner-3ZHAD3LE.cjs +8 -0
  61. package/dist/effectRunner-A4CHJXJI.js +8 -0
  62. package/dist/effectRunner-OPUF6QRN.mjs +8 -0
  63. package/dist/http/index.cjs +4130 -890
  64. package/dist/http/index.d.ts +2289 -219
  65. package/dist/http/index.js +4116 -876
  66. package/dist/http/index.mjs +4116 -876
  67. package/dist/http/testing.cjs +159 -0
  68. package/dist/http/testing.d.ts +42 -0
  69. package/dist/http/testing.js +159 -0
  70. package/dist/http/testing.mjs +159 -0
  71. package/dist/index.cjs +305 -1168
  72. package/dist/index.d.ts +9 -701
  73. package/dist/index.js +176 -1039
  74. package/dist/index.mjs +176 -1039
  75. package/dist/observability/index.cjs +677 -0
  76. package/dist/observability/index.d.ts +79 -0
  77. package/dist/observability/index.js +677 -0
  78. package/dist/observability/index.mjs +677 -0
  79. package/dist/schedule-Fque9Abz.d.ts +70 -0
  80. package/dist/schema/index.cjs +25 -0
  81. package/dist/schema/index.d.ts +177 -0
  82. package/dist/schema/index.js +25 -0
  83. package/dist/schema/index.mjs +25 -0
  84. package/dist/server-C8hDXA74.d.ts +674 -0
  85. package/dist/stream-dvSs0QS5.d.ts +74 -0
  86. package/dist/tracer-B5tRH9H7.d.ts +230 -0
  87. package/dist/tracing-Dt9S_6V8.d.ts +148 -0
  88. package/package.json +37 -3
  89. package/dist/chunk-SKVY72E5.cjs +0 -667
  90. package/dist/stream-Oqe6WeLE.d.ts +0 -173
@@ -1,9 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
2
 
3
+ var _chunkNYL4D7SKcjs = require('./chunk-NYL4D7SK.cjs');
3
4
 
4
5
 
6
+ var _chunkTVN5I4U6cjs = require('./chunk-TVN5I4U6.cjs');
5
7
 
6
8
 
9
+ var _chunkWQ5QNU5Rcjs = require('./chunk-WQ5QNU5R.cjs');
7
10
 
8
11
 
9
12
 
@@ -11,7 +14,10 @@
11
14
 
12
15
 
13
16
 
14
- var _chunkBKBFSOGTcjs = require('./chunk-BKBFSOGT.cjs');
17
+
18
+
19
+
20
+ var _chunkDJQ7OMMBcjs = require('./chunk-DJQ7OMMB.cjs');
15
21
 
16
22
  // src/agent/core/state.ts
17
23
  var initialAgentState = (goal) => ({
@@ -1350,22 +1356,22 @@ var decideNextAction = (state) => {
1350
1356
  const latest = state.observations.at(-1);
1351
1357
  if (_optionalChain([latest, 'optionalAccess', _109 => _109.type]) === "agent.error") {
1352
1358
  if (shouldRequestRepairAfterPatchError(state)) {
1353
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, repairAction(state, "previous patch failed to apply"));
1359
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, repairAction(state, "previous patch failed to apply"));
1354
1360
  }
1355
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "agent.finish", summary: buildErrorSummary(state) });
1361
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "agent.finish", summary: buildErrorSummary(state) });
1356
1362
  }
1357
1363
  if (!hasObservation(state, "fs.fileRead")) {
1358
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "fs.readFile", path: "package.json" });
1364
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "fs.readFile", path: "package.json" });
1359
1365
  }
1360
1366
  const probeAction = nextProjectProbeAction(state);
1361
1367
  if (probeAction) {
1362
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, probeAction);
1368
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, probeAction);
1363
1369
  }
1364
1370
  const suppliedPatch = _optionalChain([state, 'access', _110 => _110.goal, 'access', _111 => _111.initialPatch, 'optionalAccess', _112 => _112.trim, 'call', _113 => _113()]);
1365
1371
  if (suppliedPatch) {
1366
1372
  const action = initialPatchFlowAction(state, suppliedPatch);
1367
- if (action) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, action);
1368
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, {
1373
+ if (action) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, action);
1374
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, {
1369
1375
  type: "agent.finish",
1370
1376
  summary: buildCompletionSummary(state, suppliedPatch)
1371
1377
  });
@@ -1373,10 +1379,10 @@ var decideNextAction = (state) => {
1373
1379
  const pendingLlmPatch = latestLlmPatchCandidate(state);
1374
1380
  if (pendingLlmPatch) {
1375
1381
  if (isWritableMode(state.goal.mode)) {
1376
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "patch.apply", patch: pendingLlmPatch.patch });
1382
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "patch.apply", patch: pendingLlmPatch.patch });
1377
1383
  }
1378
1384
  if (state.goal.mode === "propose") {
1379
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "patch.propose", patch: pendingLlmPatch.patch });
1385
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "patch.propose", patch: pendingLlmPatch.patch });
1380
1386
  }
1381
1387
  }
1382
1388
  const planResponse = state.observations.find(
@@ -1384,10 +1390,10 @@ var decideNextAction = (state) => {
1384
1390
  );
1385
1391
  if (!planResponse) {
1386
1392
  const validationAction = nextValidationActionBeforePlanning(state);
1387
- if (validationAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, validationAction);
1393
+ if (validationAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, validationAction);
1388
1394
  const contextAction = nextContextDiscoveryAction(state);
1389
- if (contextAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, contextAction);
1390
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, {
1395
+ if (contextAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, contextAction);
1396
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, {
1391
1397
  type: "llm.complete",
1392
1398
  purpose: "plan",
1393
1399
  prompt: buildPlanningPrompt(state)
@@ -1396,39 +1402,39 @@ var decideNextAction = (state) => {
1396
1402
  if (isWritableMode(state.goal.mode)) {
1397
1403
  if (shouldContinueRollbackStack(state)) {
1398
1404
  const rollbackAction = automaticRollbackAction(state, "continuing rollback of generated patch stack");
1399
- if (rollbackAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, rollbackAction);
1405
+ if (rollbackAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, rollbackAction);
1400
1406
  }
1401
1407
  if (_optionalChain([latestWorkspaceChange, 'call', _114 => _114(state), 'optionalAccess', _115 => _115.type]) === "patch.rolledBack") {
1402
1408
  const summary = rollbackSafetySummary(state);
1403
1409
  if (summary.runValidationAfterRollback) {
1404
1410
  const validationAction = nextValidationActionAfterLatestWorkspaceChange(state);
1405
- if (validationAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, validationAction);
1411
+ if (validationAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, validationAction);
1406
1412
  }
1407
1413
  }
1408
1414
  if (_optionalChain([latestWorkspaceChange, 'call', _116 => _116(state), 'optionalAccess', _117 => _117.type]) === "patch.applied") {
1409
1415
  const validationAction = nextValidationActionAfterPatch(state);
1410
- if (validationAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, validationAction);
1416
+ if (validationAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, validationAction);
1411
1417
  if (shouldRequestRepairAfterValidation(state)) {
1412
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, repairAction(state, "validation failed after applying the generated patch"));
1418
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, repairAction(state, "validation failed after applying the generated patch"));
1413
1419
  }
1414
1420
  if (shouldAutoRollbackAfterFinalValidationFailure(state)) {
1415
1421
  const rollbackAction = automaticRollbackAction(state, "validation failed after generated patches and no repair attempts remain");
1416
- if (rollbackAction) return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, rollbackAction);
1422
+ if (rollbackAction) return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, rollbackAction);
1417
1423
  }
1418
1424
  }
1419
1425
  }
1420
1426
  const patch = latestExtractedPatch(state);
1421
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, {
1427
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, {
1422
1428
  type: "agent.finish",
1423
1429
  summary: buildCompletionSummary(state, patch)
1424
1430
  });
1425
1431
  };
1426
1432
 
1427
1433
  // src/agent/core/events.ts
1428
- var nowMillis = () => _chunkBKBFSOGTcjs.async.call(void 0, (_env, cb) => {
1434
+ var nowMillis = () => _chunkDJQ7OMMBcjs.asyncEffect.call(void 0, (_env, cb) => {
1429
1435
  cb({ _tag: "Success", value: Date.now() });
1430
1436
  });
1431
- var emitAgentEvent = (event) => _chunkBKBFSOGTcjs.async.call(void 0, (env, cb) => {
1437
+ var emitAgentEvent = (event) => _chunkDJQ7OMMBcjs.asyncEffect.call(void 0, (env, cb) => {
1432
1438
  try {
1433
1439
  _optionalChain([env, 'access', _118 => _118.events, 'optionalAccess', _119 => _119.emit, 'call', _120 => _120(event)]);
1434
1440
  } catch (e5) {
@@ -1436,8 +1442,8 @@ var emitAgentEvent = (event) => _chunkBKBFSOGTcjs.async.call(void 0, (env, cb) =
1436
1442
  cb({ _tag: "Success", value: void 0 });
1437
1443
  });
1438
1444
  var emitAgentEvents = (events) => events.reduce(
1439
- (acc, event) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, acc, () => emitAgentEvent(event)),
1440
- _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, void 0)
1445
+ (acc, event) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, acc, () => emitAgentEvent(event)),
1446
+ _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, void 0)
1441
1447
  );
1442
1448
  var summarizeAgentAction = (action) => {
1443
1449
  switch (action.type) {
@@ -1549,7 +1555,7 @@ var observationEventFor = (state, observation, at) => {
1549
1555
  var runStatusFor = (phase) => phase === "done" ? "done" : "failed";
1550
1556
 
1551
1557
  // src/agent/tools/env.ts
1552
- var service = (key) => _chunkBKBFSOGTcjs.asyncSync.call(void 0, (env) => env[key]);
1558
+ var service = (key) => _chunkDJQ7OMMBcjs.asyncSync.call(void 0, (env) => env[key]);
1553
1559
 
1554
1560
  // src/agent/tools/path.ts
1555
1561
  var isAbsoluteLike = (path) => path.startsWith("/") || /^[A-Za-z]:[\\/]/.test(path);
@@ -1575,48 +1581,48 @@ var normalizeWorkspaceRelativePath = (inputPath) => {
1575
1581
  var resolveWorkspacePath = (cwd, inputPath) => {
1576
1582
  const normalized = normalizeWorkspaceRelativePath(inputPath);
1577
1583
  if (!normalized) {
1578
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0, { _tag: "PathOutsideWorkspace", path: inputPath, cwd });
1584
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0, { _tag: "PathOutsideWorkspace", path: inputPath, cwd });
1579
1585
  }
1580
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, `${trimTrailingSlash(cwd)}/${normalized}`);
1586
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, `${trimTrailingSlash(cwd)}/${normalized}`);
1581
1587
  };
1582
1588
 
1583
1589
  // src/agent/tools/actionToEffect.ts
1584
1590
  var actionToEffect = (action, state) => {
1585
1591
  switch (action.type) {
1586
1592
  case "fs.readFile":
1587
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1593
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1588
1594
  resolveWorkspacePath(state.goal.cwd, action.path),
1589
- (path) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1595
+ (path) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1590
1596
  service("fs"),
1591
- (fs) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1597
+ (fs) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1592
1598
  fs.readFile(path),
1593
1599
  (content) => ({ type: "fs.fileRead", path: action.path, content })
1594
1600
  )
1595
1601
  )
1596
1602
  );
1597
1603
  case "fs.exists":
1598
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1604
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1599
1605
  resolveWorkspacePath(state.goal.cwd, action.path),
1600
- (path) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1606
+ (path) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1601
1607
  service("fs"),
1602
- (fs) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1608
+ (fs) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1603
1609
  fs.exists(path),
1604
1610
  (exists) => ({ type: "fs.exists", path: action.path, exists })
1605
1611
  )
1606
1612
  )
1607
1613
  );
1608
1614
  case "fs.searchText":
1609
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1615
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1610
1616
  service("fs"),
1611
- (fs) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1617
+ (fs) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1612
1618
  fs.searchText(state.goal.cwd, action.query, { globs: action.globs }),
1613
1619
  (matches) => ({ type: "fs.searchResult", query: action.query, matches })
1614
1620
  )
1615
1621
  );
1616
1622
  case "shell.exec":
1617
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1623
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1618
1624
  service("shell"),
1619
- (shell) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1625
+ (shell) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1620
1626
  shell.exec(action.command, { cwd: _nullishCoalesce(action.cwd, () => ( state.goal.cwd)) }),
1621
1627
  (result) => ({
1622
1628
  type: "shell.result",
@@ -1628,19 +1634,19 @@ var actionToEffect = (action, state) => {
1628
1634
  )
1629
1635
  );
1630
1636
  case "llm.complete":
1631
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1637
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1632
1638
  service("llm"),
1633
- (llm) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1639
+ (llm) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1634
1640
  llm.complete({ purpose: action.purpose, prompt: action.prompt }),
1635
1641
  (response) => ({ type: "llm.response", purpose: action.purpose, content: response.content })
1636
1642
  )
1637
1643
  );
1638
1644
  case "patch.propose":
1639
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "patch.proposed", patch: action.patch });
1645
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "patch.proposed", patch: action.patch });
1640
1646
  case "patch.apply":
1641
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1647
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1642
1648
  service("patch"),
1643
- (patch) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1649
+ (patch) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1644
1650
  patch.apply(state.goal.cwd, action.patch),
1645
1651
  (result) => ({
1646
1652
  type: "patch.applied",
@@ -1650,9 +1656,9 @@ var actionToEffect = (action, state) => {
1650
1656
  )
1651
1657
  );
1652
1658
  case "patch.rollback":
1653
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1659
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1654
1660
  service("patch"),
1655
- (patch) => _chunkBKBFSOGTcjs.asyncMap.call(void 0,
1661
+ (patch) => _chunkDJQ7OMMBcjs.asyncMap.call(void 0,
1656
1662
  patch.rollback(state.goal.cwd, action.patch),
1657
1663
  (result) => ({
1658
1664
  type: "patch.rolledBack",
@@ -1664,33 +1670,33 @@ var actionToEffect = (action, state) => {
1664
1670
  )
1665
1671
  );
1666
1672
  case "agent.finish":
1667
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "agent.done", summary: action.summary });
1673
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "agent.done", summary: action.summary });
1668
1674
  case "agent.fail":
1669
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0, { _tag: "AgentLoopError", message: action.reason });
1675
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0, { _tag: "AgentLoopError", message: action.reason });
1670
1676
  }
1671
1677
  };
1672
1678
 
1673
1679
  // src/agent/tools/retry.ts
1674
1680
  var retry = (make, options) => {
1675
- const loop = (remaining) => _chunkBKBFSOGTcjs.asyncFold.call(void 0,
1681
+ const loop = (remaining) => _chunkDJQ7OMMBcjs.asyncFold.call(void 0,
1676
1682
  make(),
1677
1683
  (error) => {
1678
1684
  if (remaining > 0 && options.while(error)) return loop(remaining - 1);
1679
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0, error);
1685
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0, error);
1680
1686
  },
1681
- (value) => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, value)
1687
+ (value) => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, value)
1682
1688
  );
1683
1689
  return loop(options.times);
1684
1690
  };
1685
1691
 
1686
1692
  // src/agent/tools/timeout.ts
1687
- var sleep = (ms) => _chunkBKBFSOGTcjs.async.call(void 0, (_env, cb) => {
1693
+ var sleep = (ms) => _chunkDJQ7OMMBcjs.asyncEffect.call(void 0, (_env, cb) => {
1688
1694
  const id = setTimeout(() => cb({ _tag: "Success", value: void 0 }), ms);
1689
1695
  return () => clearTimeout(id);
1690
1696
  });
1691
- var timeout = (effect, ms, scope) => _chunkBKBFSOGTcjs.race.call(void 0,
1697
+ var timeout = (effect, ms, scope) => _chunkNYL4D7SKcjs.race.call(void 0,
1692
1698
  effect,
1693
- _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, sleep(ms), () => _chunkBKBFSOGTcjs.asyncFail.call(void 0, { _tag: "ToolTimeout", timeoutMs: ms })),
1699
+ _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, sleep(ms), () => _chunkDJQ7OMMBcjs.asyncFail.call(void 0, { _tag: "ToolTimeout", timeoutMs: ms })),
1694
1700
  scope
1695
1701
  );
1696
1702
 
@@ -1724,7 +1730,7 @@ var configuredPolicyFor = (action, overrides) => {
1724
1730
  retries: _optionalChain([override, 'optionalAccess', _123 => _123.retries]) !== void 0 ? Math.max(0, Math.floor(override.retries)) : base.retries
1725
1731
  };
1726
1732
  };
1727
- var runAuthorizedAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, _chunkBKBFSOGTcjs.asyncSync.call(void 0, (env) => env.toolPolicies), (toolPolicies) => {
1733
+ var runAuthorizedAction = (action, state, scope) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, _chunkDJQ7OMMBcjs.asyncSync.call(void 0, (env) => env.toolPolicies), (toolPolicies) => {
1728
1734
  const policy = configuredPolicyFor(action, toolPolicies);
1729
1735
  return retry(() => timeout(actionToEffect(action, state), policy.timeoutMs, scope), {
1730
1736
  times: policy.retries,
@@ -1736,7 +1742,7 @@ var rejected = (action, reason) => ({
1736
1742
  action,
1737
1743
  reason
1738
1744
  });
1739
- var emitApprovalResolved = (action, state, approved, reason) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1745
+ var emitApprovalResolved = (action, state, approved, reason) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1740
1746
  nowMillis(),
1741
1747
  (at) => emitAgentEvent({
1742
1748
  type: "agent.approval.resolved",
@@ -1750,9 +1756,9 @@ var emitApprovalResolved = (action, state, approved, reason) => _chunkBKBFSOGTcj
1750
1756
  );
1751
1757
  var requestApproval = (action, state, decision) => {
1752
1758
  const defaultAnswer = _nullishCoalesce(decision.defaultAnswer, () => ( "reject"));
1753
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1759
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1754
1760
  nowMillis(),
1755
- (at) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1761
+ (at) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1756
1762
  emitAgentEvent({
1757
1763
  type: "agent.approval.requested",
1758
1764
  action,
@@ -1763,15 +1769,15 @@ var requestApproval = (action, state, decision) => {
1763
1769
  defaultAnswer,
1764
1770
  at
1765
1771
  }),
1766
- () => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, service("approvals"), (approvals) => {
1772
+ () => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, service("approvals"), (approvals) => {
1767
1773
  if (!approvals) {
1768
1774
  const reason = "No approval service configured.";
1769
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1775
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1770
1776
  emitApprovalResolved(action, state, false, reason),
1771
- () => _chunkBKBFSOGTcjs.asyncFail.call(void 0, rejected(action, reason))
1777
+ () => _chunkDJQ7OMMBcjs.asyncFail.call(void 0, rejected(action, reason))
1772
1778
  );
1773
1779
  }
1774
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1780
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1775
1781
  approvals.request({
1776
1782
  action,
1777
1783
  state,
@@ -1781,15 +1787,15 @@ var requestApproval = (action, state, decision) => {
1781
1787
  }),
1782
1788
  (response) => {
1783
1789
  if (response.type === "approved") {
1784
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1790
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1785
1791
  emitApprovalResolved(action, state, true, void 0),
1786
- () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, void 0)
1792
+ () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, void 0)
1787
1793
  );
1788
1794
  }
1789
1795
  const reason = _nullishCoalesce(response.reason, () => ( "Approval rejected."));
1790
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1796
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1791
1797
  emitApprovalResolved(action, state, false, reason),
1792
- () => _chunkBKBFSOGTcjs.asyncFail.call(void 0, rejected(action, reason))
1798
+ () => _chunkDJQ7OMMBcjs.asyncFail.call(void 0, rejected(action, reason))
1793
1799
  );
1794
1800
  }
1795
1801
  );
@@ -1797,18 +1803,18 @@ var requestApproval = (action, state, decision) => {
1797
1803
  )
1798
1804
  );
1799
1805
  };
1800
- var invokeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1806
+ var invokeAction = (action, state, scope) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1801
1807
  service("permissions"),
1802
- (permissions) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, permissions.check(action, state), (decision) => {
1808
+ (permissions) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, permissions.check(action, state), (decision) => {
1803
1809
  if (decision.type === "deny") {
1804
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0, {
1810
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0, {
1805
1811
  _tag: "PermissionDenied",
1806
1812
  action,
1807
1813
  reason: decision.reason
1808
1814
  });
1809
1815
  }
1810
1816
  if (decision.type === "ask") {
1811
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1817
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1812
1818
  requestApproval(action, state, decision),
1813
1819
  () => runAuthorizedAction(action, state, scope)
1814
1820
  );
@@ -1818,9 +1824,9 @@ var invokeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.call
1818
1824
  );
1819
1825
 
1820
1826
  // src/agent/core/runAgent.ts
1821
- var executeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1827
+ var executeAction = (action, state, scope) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1822
1828
  nowMillis(),
1823
- (startedAt) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1829
+ (startedAt) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1824
1830
  emitAgentEvent({
1825
1831
  type: "agent.action.started",
1826
1832
  action,
@@ -1828,9 +1834,9 @@ var executeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.cal
1828
1834
  phase: state.phase,
1829
1835
  at: startedAt
1830
1836
  }),
1831
- () => _chunkBKBFSOGTcjs.asyncFold.call(void 0,
1837
+ () => _chunkDJQ7OMMBcjs.asyncFold.call(void 0,
1832
1838
  invokeAction(action, state, scope),
1833
- (error) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, nowMillis(), (endedAt) => {
1839
+ (error) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, nowMillis(), (endedAt) => {
1834
1840
  const specific = errorEventFor(action, state, error, endedAt);
1835
1841
  const events = [
1836
1842
  ...specific ? [specific] : [],
@@ -1844,14 +1850,14 @@ var executeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.cal
1844
1850
  at: endedAt
1845
1851
  }
1846
1852
  ];
1847
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1853
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1848
1854
  emitAgentEvents(events),
1849
- () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "agent.error", error })
1855
+ () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "agent.error", error })
1850
1856
  );
1851
1857
  }),
1852
- (observation) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1858
+ (observation) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1853
1859
  nowMillis(),
1854
- (endedAt) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1860
+ (endedAt) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1855
1861
  emitAgentEvent({
1856
1862
  type: "agent.action.completed",
1857
1863
  action,
@@ -1861,13 +1867,13 @@ var executeAction = (action, state, scope) => _chunkBKBFSOGTcjs.asyncFlatMap.cal
1861
1867
  durationMs: endedAt - startedAt,
1862
1868
  at: endedAt
1863
1869
  }),
1864
- () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, observation)
1870
+ () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, observation)
1865
1871
  )
1866
1872
  )
1867
1873
  )
1868
1874
  )
1869
1875
  );
1870
- var recordObservation = (next, observation) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, nowMillis(), (at) => {
1876
+ var recordObservation = (next, observation) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, nowMillis(), (at) => {
1871
1877
  const specific = observationEventFor(next, observation, at);
1872
1878
  const events = [
1873
1879
  {
@@ -1883,9 +1889,9 @@ var recordObservation = (next, observation) => _chunkBKBFSOGTcjs.asyncFlatMap.ca
1883
1889
  });
1884
1890
  var runLoop = (state, scope, runStartedAt) => {
1885
1891
  if (isTerminal(state)) {
1886
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1892
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1887
1893
  nowMillis(),
1888
- (at) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1894
+ (at) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1889
1895
  emitAgentEvent({
1890
1896
  type: "agent.run.completed",
1891
1897
  goal: state.goal,
@@ -1895,26 +1901,26 @@ var runLoop = (state, scope, runStartedAt) => {
1895
1901
  durationMs: at - runStartedAt,
1896
1902
  at
1897
1903
  }),
1898
- () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, state)
1904
+ () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, state)
1899
1905
  )
1900
1906
  );
1901
1907
  }
1902
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1908
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1903
1909
  decideNextAction(state),
1904
- (action) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0, executeAction(action, state, scope), (observation) => {
1910
+ (action) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0, executeAction(action, state, scope), (observation) => {
1905
1911
  const next = reduceAgentState(state, observation);
1906
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1912
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1907
1913
  recordObservation(next, observation),
1908
1914
  () => runLoop(next, scope, runStartedAt)
1909
1915
  );
1910
1916
  })
1911
1917
  );
1912
1918
  };
1913
- var runAgent = (runtime, goal) => _chunkBKBFSOGTcjs.withScopeAsync.call(void 0,
1919
+ var runAgent = (runtime, goal) => _chunkTVN5I4U6cjs.withScopeAsync.call(void 0,
1914
1920
  runtime,
1915
- (scope) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1921
+ (scope) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1916
1922
  nowMillis(),
1917
- (startedAt) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
1923
+ (startedAt) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
1918
1924
  emitAgentEvent({ type: "agent.run.started", goal, at: startedAt }),
1919
1925
  () => runLoop(initialAgentState(goal), scope, startedAt)
1920
1926
  )
@@ -2064,45 +2070,45 @@ var makeConfiguredPermissions = (config = {}) => ({
2064
2070
  switch (state.goal.mode) {
2065
2071
  case "read-only": {
2066
2072
  if (action.type === "fs.readFile" || action.type === "fs.exists" || action.type === "fs.searchText" || action.type === "llm.complete" || action.type === "agent.finish" || action.type === "agent.fail") {
2067
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, allow());
2073
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, allow());
2068
2074
  }
2069
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, deny(`Action ${action.type} is not allowed in read-only mode`));
2075
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, deny(`Action ${action.type} is not allowed in read-only mode`));
2070
2076
  }
2071
2077
  case "propose": {
2072
2078
  if (action.type === "shell.exec") {
2073
2079
  const decision = shellDecisionFromConfig(action.command, config.shell);
2074
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0,
2080
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0,
2075
2081
  _nullishCoalesce(decision, () => ( deny(`Command not whitelisted: ${action.command.join(" ")}`)))
2076
2082
  );
2077
2083
  }
2078
2084
  if (action.type === "patch.apply" || action.type === "patch.rollback") {
2079
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, deny(`${action.type} is not allowed in propose mode; use write mode or --apply.`));
2085
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, deny(`${action.type} is not allowed in propose mode; use write mode or --apply.`));
2080
2086
  }
2081
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, allow());
2087
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, allow());
2082
2088
  }
2083
2089
  case "write": {
2084
2090
  if (action.type === "shell.exec") {
2085
2091
  const decision = shellDecisionFromConfig(action.command, config.shell);
2086
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0,
2092
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0,
2087
2093
  _nullishCoalesce(decision, () => ( deny(`Command not whitelisted: ${action.command.join(" ")}`)))
2088
2094
  );
2089
2095
  }
2090
2096
  if (action.type === "patch.apply" || action.type === "patch.rollback") {
2091
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, patchApplyDecisionFromConfig(action, config.patchApply));
2097
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, patchApplyDecisionFromConfig(action, config.patchApply));
2092
2098
  }
2093
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, allow());
2099
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, allow());
2094
2100
  }
2095
2101
  case "autonomous": {
2096
2102
  if (action.type === "patch.apply" || action.type === "patch.rollback") {
2097
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, patchApplyDecisionFromConfig(action, config.patchApply));
2103
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, patchApplyDecisionFromConfig(action, config.patchApply));
2098
2104
  }
2099
2105
  if (action.type === "shell.exec") {
2100
2106
  const decision = shellDecisionFromConfig(action.command, config.shell);
2101
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0,
2107
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0,
2102
2108
  _nullishCoalesce(decision, () => ( ask(`Run non-whitelisted command: ${describeCommand(action)}`, "high", "reject")))
2103
2109
  );
2104
2110
  }
2105
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, allow());
2111
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, allow());
2106
2112
  }
2107
2113
  }
2108
2114
  }
@@ -2111,10 +2117,10 @@ var defaultPermissions = makeConfiguredPermissions();
2111
2117
 
2112
2118
  // src/agent/tools/approvals.ts
2113
2119
  var autoApproveApprovals = {
2114
- request: () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "approved" })
2120
+ request: () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "approved" })
2115
2121
  };
2116
2122
  var makeAutoDenyApprovals = (reason = "Approval denied by non-interactive policy.") => ({
2117
- request: () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { type: "rejected", reason })
2123
+ request: () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { type: "rejected", reason })
2118
2124
  });
2119
2125
 
2120
2126
  // src/agent/node/nodeShell.ts
@@ -2124,12 +2130,12 @@ var chunkToString = (chunk) => {
2124
2130
  return typeof maybeToString === "function" ? maybeToString.call(chunk, "utf8") : String(chunk);
2125
2131
  };
2126
2132
  var NodeShell = {
2127
- exec: (command, options) => _chunkBKBFSOGTcjs.async.call(void 0, (_env, cb) => {
2133
+ exec: (command, options) => _chunkDJQ7OMMBcjs.asyncEffect.call(void 0, (_env, cb) => {
2128
2134
  const [bin, ...args] = command;
2129
2135
  if (!bin) {
2130
2136
  cb(
2131
- _chunkBKBFSOGTcjs.Exit.failCause(
2132
- _chunkBKBFSOGTcjs.Cause.fail({
2137
+ _chunkDJQ7OMMBcjs.Exit.failCause(
2138
+ _chunkDJQ7OMMBcjs.Cause.fail({
2133
2139
  _tag: "ShellError",
2134
2140
  operation: "exec",
2135
2141
  command,
@@ -2160,8 +2166,8 @@ var NodeShell = {
2160
2166
  if (done) return;
2161
2167
  done = true;
2162
2168
  cb(
2163
- _chunkBKBFSOGTcjs.Exit.failCause(
2164
- _chunkBKBFSOGTcjs.Cause.fail({
2169
+ _chunkDJQ7OMMBcjs.Exit.failCause(
2170
+ _chunkDJQ7OMMBcjs.Cause.fail({
2165
2171
  _tag: "ShellError",
2166
2172
  operation: "exec",
2167
2173
  command,
@@ -2174,7 +2180,7 @@ var NodeShell = {
2174
2180
  if (done) return;
2175
2181
  done = true;
2176
2182
  cb(
2177
- _chunkBKBFSOGTcjs.Exit.succeed({
2183
+ _chunkDJQ7OMMBcjs.Exit.succeed({
2178
2184
  exitCode: _nullishCoalesce(code, () => ( 1)),
2179
2185
  stdout,
2180
2186
  stderr
@@ -2190,8 +2196,8 @@ var NodeShell = {
2190
2196
  if (done) return;
2191
2197
  done = true;
2192
2198
  cb(
2193
- _chunkBKBFSOGTcjs.Exit.failCause(
2194
- _chunkBKBFSOGTcjs.Cause.fail({
2199
+ _chunkDJQ7OMMBcjs.Exit.failCause(
2200
+ _chunkDJQ7OMMBcjs.Cause.fail({
2195
2201
  _tag: "ShellError",
2196
2202
  operation: "exec",
2197
2203
  command,
@@ -2215,15 +2221,15 @@ var parseRipgrep = (stdout) => stdout.split("\n").filter(Boolean).map((line) =>
2215
2221
  return { path, line: Number(lineNo), text: rest.join(":") };
2216
2222
  });
2217
2223
  var makeNodeFileSystem = (shell) => ({
2218
- readFile: (path) => _chunkBKBFSOGTcjs.fromPromiseAbortable.call(void 0,
2219
- _chunkBKBFSOGTcjs.async.call(void 0, signal) => {
2224
+ readFile: (path) => _chunkWQ5QNU5Rcjs.fromPromiseAbortable.call(void 0,
2225
+ async (signal) => {
2220
2226
  const { readFile } = await dynamicImport2("node:fs/promises");
2221
2227
  return readFile(path, { encoding: "utf8", signal });
2222
2228
  },
2223
2229
  (cause) => ({ _tag: "FsError", operation: "readFile", cause })
2224
2230
  ),
2225
- exists: (path) => _chunkBKBFSOGTcjs.fromPromiseAbortable.call(void 0,
2226
- _chunkBKBFSOGTcjs.async.call(void 0, signal) => {
2231
+ exists: (path) => _chunkWQ5QNU5Rcjs.fromPromiseAbortable.call(void 0,
2232
+ async (signal) => {
2227
2233
  if (signal.aborted) return false;
2228
2234
  const { stat } = await dynamicImport2("node:fs/promises");
2229
2235
  if (signal.aborted) return false;
@@ -2236,7 +2242,7 @@ var makeNodeFileSystem = (shell) => ({
2236
2242
  },
2237
2243
  (cause) => ({ _tag: "FsError", operation: "exists", cause })
2238
2244
  ),
2239
- searchText: (cwd, query, options) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2245
+ searchText: (cwd, query, options) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2240
2246
  shell.exec(
2241
2247
  [
2242
2248
  "rg",
@@ -2256,27 +2262,27 @@ var makeNodeFileSystem = (shell) => ({
2256
2262
  ),
2257
2263
  (result) => {
2258
2264
  if (result.exitCode > 1) {
2259
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0, {
2265
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0, {
2260
2266
  _tag: "FsError",
2261
2267
  operation: "searchText",
2262
2268
  cause: result.stderr
2263
2269
  });
2264
2270
  }
2265
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, parseRipgrep(result.stdout));
2271
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, parseRipgrep(result.stdout));
2266
2272
  }
2267
2273
  )
2268
2274
  });
2269
2275
 
2270
2276
  // src/agent/node/nodePatchService.ts
2271
2277
  var validatePatchTargets = (cwd, paths) => paths.reduce(
2272
- (acc, path) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2278
+ (acc, path) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2273
2279
  acc,
2274
- (validated) => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2280
+ (validated) => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2275
2281
  resolveWorkspacePath(cwd, path),
2276
- () => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, [...validated, path])
2282
+ () => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, [...validated, path])
2277
2283
  )
2278
2284
  ),
2279
- _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, [])
2285
+ _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, [])
2280
2286
  );
2281
2287
  var patchFailure = (operation, cause, patch) => ({
2282
2288
  _tag: "PatchError",
@@ -2292,7 +2298,7 @@ var makeNodePatchService = (shell) => {
2292
2298
  `;
2293
2299
  const operation = reverse ? "rollback" : "apply";
2294
2300
  if (!patch || !changedFiles.length) {
2295
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0,
2301
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0,
2296
2302
  patchFailure("extract", "No unified diff with workspace-scoped paths was found.", rawPatch)
2297
2303
  );
2298
2304
  }
@@ -2313,13 +2319,13 @@ var makeNodePatchService = (shell) => {
2313
2319
  "--whitespace=nowarn",
2314
2320
  "-"
2315
2321
  ];
2316
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2322
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2317
2323
  validatePatchTargets(cwd, changedFiles),
2318
- () => _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2324
+ () => _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2319
2325
  shell.exec(checkArgs, { cwd, stdin }),
2320
2326
  (checkResult) => {
2321
2327
  if (checkResult.exitCode !== 0) {
2322
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0,
2328
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0,
2323
2329
  patchFailure(
2324
2330
  `${operation}.check`,
2325
2331
  checkResult.stderr || checkResult.stdout || `git apply --check exited with ${checkResult.exitCode}`,
@@ -2327,11 +2333,11 @@ var makeNodePatchService = (shell) => {
2327
2333
  )
2328
2334
  );
2329
2335
  }
2330
- return _chunkBKBFSOGTcjs.asyncFlatMap.call(void 0,
2336
+ return _chunkDJQ7OMMBcjs.asyncFlatMap.call(void 0,
2331
2337
  shell.exec(applyArgs, { cwd, stdin }),
2332
2338
  (applyResult) => {
2333
2339
  if (applyResult.exitCode !== 0) {
2334
- return _chunkBKBFSOGTcjs.asyncFail.call(void 0,
2340
+ return _chunkDJQ7OMMBcjs.asyncFail.call(void 0,
2335
2341
  patchFailure(
2336
2342
  operation,
2337
2343
  applyResult.stderr || applyResult.stdout || `git apply exited with ${applyResult.exitCode}`,
@@ -2339,7 +2345,7 @@ var makeNodePatchService = (shell) => {
2339
2345
  )
2340
2346
  );
2341
2347
  }
2342
- return _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, { changedFiles });
2348
+ return _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, { changedFiles });
2343
2349
  }
2344
2350
  );
2345
2351
  }
@@ -2554,7 +2560,7 @@ var validateAgentConfig = (config, sourcePath) => {
2554
2560
  }
2555
2561
  return config;
2556
2562
  };
2557
- var isFile = _chunkBKBFSOGTcjs.async.call(void 0, path) => {
2563
+ var isFile = async (path) => {
2558
2564
  const { stat } = await dynamicImport3("node:fs/promises");
2559
2565
  try {
2560
2566
  return (await stat(path)).isFile();
@@ -2562,7 +2568,7 @@ var isFile = _chunkBKBFSOGTcjs.async.call(void 0, path) => {
2562
2568
  return false;
2563
2569
  }
2564
2570
  };
2565
- var findConfigPath = _chunkBKBFSOGTcjs.async.call(void 0, cwd) => {
2571
+ var findConfigPath = async (cwd) => {
2566
2572
  const nodePath = await dynamicImport3("node:path");
2567
2573
  let current = nodePath.resolve(cwd);
2568
2574
  while (true) {
@@ -2575,7 +2581,7 @@ var findConfigPath = _chunkBKBFSOGTcjs.async.call(void 0, cwd) => {
2575
2581
  current = parent;
2576
2582
  }
2577
2583
  };
2578
- var readConfigFile = _chunkBKBFSOGTcjs.async.call(void 0, path) => {
2584
+ var readConfigFile = async (path) => {
2579
2585
  const { readFile } = await dynamicImport3("node:fs/promises");
2580
2586
  const raw = String(await readFile(path, "utf8")).replace(/^\uFEFF/, "");
2581
2587
  try {
@@ -2587,7 +2593,7 @@ var readConfigFile = _chunkBKBFSOGTcjs.async.call(void 0, path) => {
2587
2593
  throw error;
2588
2594
  }
2589
2595
  };
2590
- var loadNodeAgentConfig = _chunkBKBFSOGTcjs.async.call(void 0, options) => {
2596
+ var loadNodeAgentConfig = async (options) => {
2591
2597
  if (options.noConfig) return { config: {} };
2592
2598
  const nodePath = await dynamicImport3("node:path");
2593
2599
  if (options.configPath) {
@@ -2603,8 +2609,8 @@ var loadNodeAgentConfig = _chunkBKBFSOGTcjs.async.call(void 0, options) => {
2603
2609
  // src/agent/llm/openAICompatible.ts
2604
2610
  var extractText = (json) => _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([json, 'optionalAccess', _150 => _150.choices, 'optionalAccess', _151 => _151[0], 'optionalAccess', _152 => _152.message, 'optionalAccess', _153 => _153.content]), () => ( _optionalChain([json, 'optionalAccess', _154 => _154.output_text]))), () => ( _optionalChain([json, 'optionalAccess', _155 => _155.content, 'optionalAccess', _156 => _156[0], 'optionalAccess', _157 => _157.text]))), () => ( JSON.stringify(json)));
2605
2611
  var makeOpenAICompatibleLLM = (config) => ({
2606
- complete: (request) => _chunkBKBFSOGTcjs.fromPromiseAbortable.call(void 0,
2607
- _chunkBKBFSOGTcjs.async.call(void 0, signal) => {
2612
+ complete: (request) => _chunkWQ5QNU5Rcjs.fromPromiseAbortable.call(void 0,
2613
+ async (signal) => {
2608
2614
  const res = await fetch(config.endpoint, {
2609
2615
  method: "POST",
2610
2616
  signal,
@@ -2685,7 +2691,7 @@ var extractGoogleText = (json) => {
2685
2691
  }
2686
2692
  return JSON.stringify(json);
2687
2693
  };
2688
- var responseErrorMessage = _chunkBKBFSOGTcjs.async.call(void 0, res) => {
2694
+ var responseErrorMessage = async (res) => {
2689
2695
  const raw = await res.text();
2690
2696
  try {
2691
2697
  const json = JSON.parse(raw);
@@ -2695,8 +2701,8 @@ var responseErrorMessage = _chunkBKBFSOGTcjs.async.call(void 0, res) => {
2695
2701
  }
2696
2702
  };
2697
2703
  var makeGoogleGenerativeAILLM = (config) => ({
2698
- complete: (request) => _chunkBKBFSOGTcjs.fromPromiseAbortable.call(void 0,
2699
- _chunkBKBFSOGTcjs.async.call(void 0, signal) => {
2704
+ complete: (request) => _chunkWQ5QNU5Rcjs.fromPromiseAbortable.call(void 0,
2705
+ async (signal) => {
2700
2706
  const res = await fetch(makeGenerateContentEndpoint(config), {
2701
2707
  method: "POST",
2702
2708
  signal,
@@ -2726,7 +2732,7 @@ var defaultContent = (request) => [
2726
2732
  "You can also set BRASS_FAKE_LLM_RESPONSE to provide a deterministic offline response, including a fenced ```diff block."
2727
2733
  ].join("\n");
2728
2734
  var makeFakeLLM = (options = {}) => ({
2729
- complete: (request) => _chunkBKBFSOGTcjs.asyncSucceed.call(void 0, {
2735
+ complete: (request) => _chunkDJQ7OMMBcjs.asyncSucceed.call(void 0, {
2730
2736
  content: typeof options.content === "function" ? options.content(request) : _nullishCoalesce(options.content, () => ( defaultContent(request)))
2731
2737
  })
2732
2738
  });