@kynver-app/runtime 0.1.112 → 0.1.117

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.
@@ -1,5 +1,7 @@
1
- // src/heartbeat.ts
2
- import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __esm = (fn, res) => function __init() {
3
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
4
+ };
3
5
 
4
6
  // src/heartbeat-final-result.ts
5
7
  function tryParseJsonObject(text) {
@@ -50,6 +52,11 @@ function terminalFinalResultFromHeartbeatRow(row) {
50
52
  if (embedded) return embedded;
51
53
  return summary;
52
54
  }
55
+ var init_heartbeat_final_result = __esm({
56
+ "src/heartbeat-final-result.ts"() {
57
+ "use strict";
58
+ }
59
+ });
53
60
 
54
61
  // src/util.ts
55
62
  import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
@@ -112,9 +119,14 @@ function latestIso(values) {
112
119
  function secsAgo(ms) {
113
120
  return Math.max(0, Math.round((Date.now() - ms) / 1e3));
114
121
  }
122
+ var init_util = __esm({
123
+ "src/util.ts"() {
124
+ "use strict";
125
+ }
126
+ });
115
127
 
116
128
  // src/heartbeat.ts
117
- var HEARTBEAT_FUTURE_SKEW_MS = 6e4;
129
+ import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
118
130
  function isTerminalHeartbeatPhase(phase) {
119
131
  return phase === "complete";
120
132
  }
@@ -177,29 +189,17 @@ function parseHeartbeat(file) {
177
189
  }
178
190
  return result;
179
191
  }
180
-
181
- // src/stream.ts
182
- import { existsSync as existsSync3, readFileSync as readFileSync3 } from "node:fs";
192
+ var HEARTBEAT_FUTURE_SKEW_MS;
193
+ var init_heartbeat = __esm({
194
+ "src/heartbeat.ts"() {
195
+ "use strict";
196
+ init_heartbeat_final_result();
197
+ init_util();
198
+ HEARTBEAT_FUTURE_SKEW_MS = 6e4;
199
+ }
200
+ });
183
201
 
184
202
  // src/repo-search.ts
185
- var RG_BINARIES = /* @__PURE__ */ new Set(["rg", "ripgrep", "grep"]);
186
- var RG_OPTS_WITH_VALUE = /* @__PURE__ */ new Set([
187
- "-e",
188
- "--regexp",
189
- "-f",
190
- "--file",
191
- "-m",
192
- "--max-count",
193
- "-A",
194
- "--after-context",
195
- "-B",
196
- "--before-context",
197
- "-C",
198
- "--context",
199
- "-g",
200
- "--glob",
201
- "--iglob"
202
- ]);
203
203
  function binaryName(token) {
204
204
  if (!token) return null;
205
205
  const base = token.split("/").pop() ?? token;
@@ -398,11 +398,32 @@ function diagnoseRepoSearchFailure(input) {
398
398
  }
399
399
  return null;
400
400
  }
401
+ var RG_BINARIES, RG_OPTS_WITH_VALUE;
402
+ var init_repo_search = __esm({
403
+ "src/repo-search.ts"() {
404
+ "use strict";
405
+ RG_BINARIES = /* @__PURE__ */ new Set(["rg", "ripgrep", "grep"]);
406
+ RG_OPTS_WITH_VALUE = /* @__PURE__ */ new Set([
407
+ "-e",
408
+ "--regexp",
409
+ "-f",
410
+ "--file",
411
+ "-m",
412
+ "--max-count",
413
+ "-A",
414
+ "--after-context",
415
+ "-B",
416
+ "--before-context",
417
+ "-C",
418
+ "--context",
419
+ "-g",
420
+ "--glob",
421
+ "--iglob"
422
+ ]);
423
+ }
424
+ });
401
425
 
402
426
  // src/shell-command-outcome.ts
403
- var NPM_AUDIT_RE = /\bnpm\s+audit\b/i;
404
- var RG_CMD_RE = /\b(rg|ripgrep)\b/i;
405
- var RG_REAL_ERROR_RE = /\b(error|invalid|unknown|panic|not found)\b/i;
406
427
  function tidy(text, max = 200) {
407
428
  const one = text.replace(/\s+/g, " ").trim();
408
429
  return one.length > max ? `${one.slice(0, max - 1)}\u2026` : one;
@@ -606,8 +627,19 @@ function classifyShellCommandOutcome(input) {
606
627
  summary: `command failed (exit ${input.exitCode}): ${tail}`
607
628
  };
608
629
  }
630
+ var NPM_AUDIT_RE, RG_CMD_RE, RG_REAL_ERROR_RE;
631
+ var init_shell_command_outcome = __esm({
632
+ "src/shell-command-outcome.ts"() {
633
+ "use strict";
634
+ init_repo_search();
635
+ NPM_AUDIT_RE = /\bnpm\s+audit\b/i;
636
+ RG_CMD_RE = /\b(rg|ripgrep)\b/i;
637
+ RG_REAL_ERROR_RE = /\b(error|invalid|unknown|panic|not found)\b/i;
638
+ }
639
+ });
609
640
 
610
641
  // src/stream.ts
642
+ import { existsSync as existsSync3, readFileSync as readFileSync3 } from "node:fs";
611
643
  function eventTimestampIso(event) {
612
644
  const tsMs = event.timestamp_ms;
613
645
  return event.timestamp || event.ts || (tsMs ? new Date(tsMs).toISOString() : void 0);
@@ -708,38 +740,15 @@ function parseHarnessStream(file) {
708
740
  }
709
741
  return result;
710
742
  }
743
+ var init_stream = __esm({
744
+ "src/stream.ts"() {
745
+ "use strict";
746
+ init_shell_command_outcome();
747
+ init_util();
748
+ }
749
+ });
711
750
 
712
751
  // src/exit-classify.ts
713
- var FAILURE_PATTERNS = [
714
- {
715
- test: /\b(?:invalid|unknown|unsupported|unrecognized)\b[^.\n]*\bmodel\b/i,
716
- label: "provider rejected the requested model"
717
- },
718
- {
719
- test: /\bmodel\b[^.\n]*\b(?:not\s+(?:found|supported|available|recognized|valid)|is\s+not\s+valid|does\s+not\s+exist)/i,
720
- label: "provider rejected the requested model"
721
- },
722
- {
723
- test: /\b(?:did you mean|available models|choose (?:a|one of)|supported models)\b/i,
724
- label: "provider rejected the requested model"
725
- },
726
- {
727
- test: /model preflight failed/i,
728
- label: "model/provider preflight failed"
729
- },
730
- {
731
- test: /\b(?:command not found|ENOENT|is the .*CLI on PATH|executable not found|no such file or directory)\b/i,
732
- label: "provider CLI is missing or not on PATH"
733
- },
734
- {
735
- test: /\bfailed to spawn\b/i,
736
- label: "provider failed to spawn the worker process"
737
- },
738
- {
739
- test: /\b(?:not logged in|unauthorized|authentication (?:failed|required)|invalid api key|missing api key|401)\b/i,
740
- label: "provider authentication failed"
741
- }
742
- ];
743
752
  function tidy2(errorText, max = 240) {
744
753
  const oneLine2 = errorText.replace(/\s+/g, " ").trim();
745
754
  return oneLine2.length > max ? `${oneLine2.slice(0, max - 1)}\u2026` : oneLine2;
@@ -754,6 +763,42 @@ function classifyExitFailure(errorText) {
754
763
  }
755
764
  return null;
756
765
  }
766
+ var FAILURE_PATTERNS;
767
+ var init_exit_classify = __esm({
768
+ "src/exit-classify.ts"() {
769
+ "use strict";
770
+ FAILURE_PATTERNS = [
771
+ {
772
+ test: /\b(?:invalid|unknown|unsupported|unrecognized)\b[^.\n]*\bmodel\b/i,
773
+ label: "provider rejected the requested model"
774
+ },
775
+ {
776
+ test: /\bmodel\b[^.\n]*\b(?:not\s+(?:found|supported|available|recognized|valid)|is\s+not\s+valid|does\s+not\s+exist)/i,
777
+ label: "provider rejected the requested model"
778
+ },
779
+ {
780
+ test: /\b(?:did you mean|available models|choose (?:a|one of)|supported models)\b/i,
781
+ label: "provider rejected the requested model"
782
+ },
783
+ {
784
+ test: /model preflight failed/i,
785
+ label: "model/provider preflight failed"
786
+ },
787
+ {
788
+ test: /\b(?:command not found|ENOENT|is the .*CLI on PATH|executable not found|no such file or directory)\b/i,
789
+ label: "provider CLI is missing or not on PATH"
790
+ },
791
+ {
792
+ test: /\bfailed to spawn\b/i,
793
+ label: "provider failed to spawn the worker process"
794
+ },
795
+ {
796
+ test: /\b(?:not logged in|unauthorized|authentication (?:failed|required)|invalid api key|missing api key|401)\b/i,
797
+ label: "provider authentication failed"
798
+ }
799
+ ];
800
+ }
801
+ });
757
802
 
758
803
  // src/exited-salvage.ts
759
804
  function trimOrNull(value) {
@@ -812,46 +857,55 @@ function assessExitedWorkerSalvage(input) {
812
857
  attentionReason: buildAttentionReason(kind, uncommittedCount, headCommit)
813
858
  };
814
859
  }
815
-
816
- // src/git.ts
817
- import { spawnSync } from "node:child_process";
860
+ var init_exited_salvage = __esm({
861
+ "src/exited-salvage.ts"() {
862
+ "use strict";
863
+ }
864
+ });
818
865
 
819
866
  // src/worker-env.ts
820
- var FORBIDDEN_WORKER_ENV_KEYS = [
821
- "ANTHROPIC_API_KEY",
822
- "ANALYST_API_KEY",
823
- "RECRUITER_API_KEY",
824
- "AUTH_SECRET",
825
- "NEXTAUTH_SECRET",
826
- "DATABASE_URL",
827
- "PRODUCTION_DATABASE_URL",
828
- "KYNVER_PRODUCTION_DATABASE_URL",
829
- "REDIS_URL",
830
- "GOOGLE_CLIENT_SECRET",
831
- "GITHUB_CLIENT_SECRET",
832
- "KYNVER_API_KEY",
833
- "KYNVER_SERVICE_SECRET",
834
- "KYNVER_RUNTIME_SECRET",
835
- "KYNVER_CRON_SECRET",
836
- "OPENCLAW_CRON_SECRET",
837
- "QSTASH_TOKEN",
838
- "QSTASH_CURRENT_SIGNING_KEY",
839
- "QSTASH_NEXT_SIGNING_KEY",
840
- "TOOL_SECRETS_KEK",
841
- "TOOL_EXECUTOR_DISPATCH_SECRET",
842
- "CLOUDFLARE_API_TOKEN",
843
- "STRIPE_SECRET_KEY",
844
- "STRIPE_WEBHOOK_SECRET",
845
- "STRIPE_IDENTITY_WEBHOOK_SECRET",
846
- "VOYAGE_API_KEY",
847
- "PERPLEXITY_API_KEY",
848
- "FRED_API_KEY",
849
- "FMP_API_KEY",
850
- "CURSOR_API_KEY"
851
- ];
852
- var FORBIDDEN_KEY_SET = new Set(FORBIDDEN_WORKER_ENV_KEYS);
867
+ var FORBIDDEN_WORKER_ENV_KEYS, FORBIDDEN_KEY_SET;
868
+ var init_worker_env = __esm({
869
+ "src/worker-env.ts"() {
870
+ "use strict";
871
+ FORBIDDEN_WORKER_ENV_KEYS = [
872
+ "ANTHROPIC_API_KEY",
873
+ "ANALYST_API_KEY",
874
+ "RECRUITER_API_KEY",
875
+ "AUTH_SECRET",
876
+ "NEXTAUTH_SECRET",
877
+ "DATABASE_URL",
878
+ "PRODUCTION_DATABASE_URL",
879
+ "KYNVER_PRODUCTION_DATABASE_URL",
880
+ "REDIS_URL",
881
+ "GOOGLE_CLIENT_SECRET",
882
+ "GITHUB_CLIENT_SECRET",
883
+ "KYNVER_API_KEY",
884
+ "KYNVER_SERVICE_SECRET",
885
+ "KYNVER_RUNTIME_SECRET",
886
+ "KYNVER_CRON_SECRET",
887
+ "OPENCLAW_CRON_SECRET",
888
+ "QSTASH_TOKEN",
889
+ "QSTASH_CURRENT_SIGNING_KEY",
890
+ "QSTASH_NEXT_SIGNING_KEY",
891
+ "TOOL_SECRETS_KEK",
892
+ "TOOL_EXECUTOR_DISPATCH_SECRET",
893
+ "CLOUDFLARE_API_TOKEN",
894
+ "STRIPE_SECRET_KEY",
895
+ "STRIPE_WEBHOOK_SECRET",
896
+ "STRIPE_IDENTITY_WEBHOOK_SECRET",
897
+ "VOYAGE_API_KEY",
898
+ "PERPLEXITY_API_KEY",
899
+ "FRED_API_KEY",
900
+ "FMP_API_KEY",
901
+ "CURSOR_API_KEY"
902
+ ];
903
+ FORBIDDEN_KEY_SET = new Set(FORBIDDEN_WORKER_ENV_KEYS);
904
+ }
905
+ });
853
906
 
854
907
  // src/git.ts
908
+ import { spawnSync } from "node:child_process";
855
909
  function git(cwd, args, options = {}) {
856
910
  const res = spawnSync(
857
911
  "git",
@@ -972,6 +1026,13 @@ function unknownAncestry(base, error, head = null) {
972
1026
  error
973
1027
  };
974
1028
  }
1029
+ var init_git = __esm({
1030
+ "src/git.ts"() {
1031
+ "use strict";
1032
+ init_util();
1033
+ init_worker_env();
1034
+ }
1035
+ });
975
1036
 
976
1037
  // src/landing-gate.ts
977
1038
  function trimOrNull2(value) {
@@ -1017,6 +1078,11 @@ function landingAttentionReason(verdict) {
1017
1078
  if (!verdict.blocked) return void 0;
1018
1079
  return verdict.detail ?? verdict.reason ?? "dirty_worktree_no_pr";
1019
1080
  }
1081
+ var init_landing_gate = __esm({
1082
+ "src/landing-gate.ts"() {
1083
+ "use strict";
1084
+ }
1085
+ });
1020
1086
 
1021
1087
  // src/worker-final-result-embed.ts
1022
1088
  function tryParseJsonObject2(text) {
@@ -1066,6 +1132,11 @@ function extractEmbeddedWorkerFinalResultRecord(value) {
1066
1132
  }
1067
1133
  return best;
1068
1134
  }
1135
+ var init_worker_final_result_embed = __esm({
1136
+ "src/worker-final-result-embed.ts"() {
1137
+ "use strict";
1138
+ }
1139
+ });
1069
1140
 
1070
1141
  // src/landing-contract-gate.ts
1071
1142
  function trimOrNull3(value) {
@@ -1225,10 +1296,14 @@ function landingContractAttentionReason(verdict) {
1225
1296
  if (!verdict.blocked) return void 0;
1226
1297
  return verdict.detail ?? verdict.reason;
1227
1298
  }
1299
+ var init_landing_contract_gate = __esm({
1300
+ "src/landing-contract-gate.ts"() {
1301
+ "use strict";
1302
+ init_worker_final_result_embed();
1303
+ }
1304
+ });
1228
1305
 
1229
1306
  // src/status.ts
1230
- var NO_START_MS = 18e4;
1231
- var STALE_MS = 6e5;
1232
1307
  function computeAttention(input) {
1233
1308
  const now = Date.now();
1234
1309
  if (input.completionBlocker && !isSkippedTerminalCompletionBlocker(input.completionBlocker)) {
@@ -1420,7 +1495,15 @@ function computeWorkerStatus(worker, options = {}) {
1420
1495
  changedFiles,
1421
1496
  gitAncestry,
1422
1497
  instructionPolicyFingerprint: worker.instructionPolicyFingerprint ?? null,
1423
- instructionPolicyEvidence: worker.instructionPolicyEvidence ?? null
1498
+ instructionPolicyEvidence: worker.instructionPolicyEvidence ?? null,
1499
+ model: worker.model ?? worker.orchestrationAudit?.model ?? null,
1500
+ provider: worker.orchestrationAudit?.provider ?? null,
1501
+ boxKind: worker.boxKind ?? null,
1502
+ boxId: worker.boxId ?? null,
1503
+ runtimeId: worker.runtimeId ?? null,
1504
+ personaSlug: worker.personaSlug ?? null,
1505
+ dispatched: worker.dispatched ?? null,
1506
+ localOnly: worker.localOnly ?? null
1424
1507
  };
1425
1508
  }
1426
1509
  function isFinishedWorkerStatus(status) {
@@ -1433,6 +1516,165 @@ function isLandingBlockedWorkerStatus(status) {
1433
1516
  if (!status.finalResult) return false;
1434
1517
  return status.attention.state === "needs_attention" || status.attention.state === "blocked";
1435
1518
  }
1519
+ var NO_START_MS, STALE_MS;
1520
+ var init_status = __esm({
1521
+ "src/status.ts"() {
1522
+ "use strict";
1523
+ init_heartbeat();
1524
+ init_stream();
1525
+ init_exit_classify();
1526
+ init_exited_salvage();
1527
+ init_git();
1528
+ init_landing_gate();
1529
+ init_landing_contract_gate();
1530
+ init_worker_final_result_embed();
1531
+ init_util();
1532
+ NO_START_MS = 18e4;
1533
+ STALE_MS = 6e5;
1534
+ }
1535
+ });
1536
+
1537
+ // src/path-values.ts
1538
+ var init_path_values = __esm({
1539
+ "src/path-values.ts"() {
1540
+ "use strict";
1541
+ }
1542
+ });
1543
+
1544
+ // src/default-repo-discovery.ts
1545
+ var init_default_repo_discovery = __esm({
1546
+ "src/default-repo-discovery.ts"() {
1547
+ "use strict";
1548
+ init_git();
1549
+ init_path_values();
1550
+ }
1551
+ });
1552
+
1553
+ // src/box-identity.ts
1554
+ var init_box_identity = __esm({
1555
+ "src/box-identity.ts"() {
1556
+ "use strict";
1557
+ }
1558
+ });
1559
+
1560
+ // src/bounded-build/meminfo.ts
1561
+ var init_meminfo = __esm({
1562
+ "src/bounded-build/meminfo.ts"() {
1563
+ "use strict";
1564
+ }
1565
+ });
1566
+
1567
+ // src/wsl-host.ts
1568
+ var DEFAULT_WSL_HOST_WARN_FREE_BYTES, DEFAULT_WSL_HOST_CRITICAL_FREE_BYTES;
1569
+ var init_wsl_host = __esm({
1570
+ "src/wsl-host.ts"() {
1571
+ "use strict";
1572
+ DEFAULT_WSL_HOST_WARN_FREE_BYTES = 25 * 1024 * 1024 * 1024;
1573
+ DEFAULT_WSL_HOST_CRITICAL_FREE_BYTES = 12 * 1024 * 1024 * 1024;
1574
+ }
1575
+ });
1576
+
1577
+ // src/disk-gate.ts
1578
+ var DEFAULT_WARN_FREE_BYTES, DEFAULT_CRITICAL_FREE_BYTES;
1579
+ var init_disk_gate = __esm({
1580
+ "src/disk-gate.ts"() {
1581
+ "use strict";
1582
+ init_wsl_host();
1583
+ DEFAULT_WARN_FREE_BYTES = 30 * 1024 * 1024 * 1024;
1584
+ DEFAULT_CRITICAL_FREE_BYTES = 15 * 1024 * 1024 * 1024;
1585
+ }
1586
+ });
1587
+
1588
+ // src/run-worker-index.ts
1589
+ var init_run_worker_index = __esm({
1590
+ "src/run-worker-index.ts"() {
1591
+ "use strict";
1592
+ init_run_store();
1593
+ init_util();
1594
+ }
1595
+ });
1596
+
1597
+ // src/harness-worker-active.ts
1598
+ var init_harness_worker_active = __esm({
1599
+ "src/harness-worker-active.ts"() {
1600
+ "use strict";
1601
+ init_status();
1602
+ }
1603
+ });
1604
+
1605
+ // src/resource-gate.ts
1606
+ var DEFAULT_PER_WORKER_MEM_BYTES, DEFAULT_MEM_RESERVE_BYTES;
1607
+ var init_resource_gate = __esm({
1608
+ "src/resource-gate.ts"() {
1609
+ "use strict";
1610
+ init_meminfo();
1611
+ init_config();
1612
+ init_box_identity();
1613
+ init_worker_cap_source();
1614
+ init_disk_gate();
1615
+ init_run_store();
1616
+ init_run_worker_index();
1617
+ init_harness_worker_active();
1618
+ init_util();
1619
+ DEFAULT_PER_WORKER_MEM_BYTES = 500 * 1024 * 1024;
1620
+ DEFAULT_MEM_RESERVE_BYTES = 4 * 1024 * 1024 * 1024;
1621
+ }
1622
+ });
1623
+
1624
+ // src/worker-cap-source.ts
1625
+ var init_worker_cap_source = __esm({
1626
+ "src/worker-cap-source.ts"() {
1627
+ "use strict";
1628
+ init_resource_gate();
1629
+ }
1630
+ });
1631
+
1632
+ // src/config.ts
1633
+ import { homedir, totalmem } from "node:os";
1634
+ import path from "node:path";
1635
+ var CONFIG_DIR, CONFIG_FILE, CREDENTIALS_FILE, SETUP_PER_WORKER_MEM_BYTES, SETUP_MEM_RESERVE_BYTES;
1636
+ var init_config = __esm({
1637
+ "src/config.ts"() {
1638
+ "use strict";
1639
+ init_default_repo_discovery();
1640
+ init_path_values();
1641
+ init_util();
1642
+ init_box_identity();
1643
+ init_worker_cap_source();
1644
+ init_disk_gate();
1645
+ CONFIG_DIR = path.join(homedir(), ".kynver");
1646
+ CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
1647
+ CREDENTIALS_FILE = path.join(CONFIG_DIR, "credentials");
1648
+ SETUP_PER_WORKER_MEM_BYTES = 500 * 1024 * 1024;
1649
+ SETUP_MEM_RESERVE_BYTES = 4 * 1024 * 1024 * 1024;
1650
+ }
1651
+ });
1652
+
1653
+ // src/paths.ts
1654
+ import { homedir as homedir2 } from "node:os";
1655
+ import path2 from "node:path";
1656
+ var LEGACY_ROOT;
1657
+ var init_paths = __esm({
1658
+ "src/paths.ts"() {
1659
+ "use strict";
1660
+ init_config();
1661
+ init_path_values();
1662
+ init_util();
1663
+ LEGACY_ROOT = path2.join(homedir2(), ".openclaw", "harness");
1664
+ }
1665
+ });
1666
+
1667
+ // src/run-store.ts
1668
+ var init_run_store = __esm({
1669
+ "src/run-store.ts"() {
1670
+ "use strict";
1671
+ init_paths();
1672
+ init_util();
1673
+ }
1674
+ });
1675
+
1676
+ // src/server/monitor.ts
1677
+ init_status();
1436
1678
 
1437
1679
  // src/harness-lease-owner.ts
1438
1680
  var HARNESS_LEASE_PREFIX = "kynver-harness:";
@@ -1456,6 +1698,8 @@ function harnessLeaseOwnerMatchesRun(leaseOwner, runId) {
1456
1698
  }
1457
1699
 
1458
1700
  // src/monitor/monitor.classify.ts
1701
+ init_status();
1702
+ init_util();
1459
1703
  function classifyWorkerHealth(input) {
1460
1704
  const { worker, status, taskLease } = input;
1461
1705
  const leaseOwner = taskLease?.leaseOwner ?? null;
@@ -1504,42 +1748,14 @@ function classifyWorkerHealth(input) {
1504
1748
  };
1505
1749
  }
1506
1750
 
1507
- // src/paths.ts
1508
- import { homedir as homedir2 } from "node:os";
1509
- import path2 from "node:path";
1510
-
1511
- // src/config.ts
1512
- import { homedir, totalmem } from "node:os";
1513
- import path from "node:path";
1514
-
1515
- // src/wsl-host.ts
1516
- var DEFAULT_WSL_HOST_WARN_FREE_BYTES = 25 * 1024 * 1024 * 1024;
1517
- var DEFAULT_WSL_HOST_CRITICAL_FREE_BYTES = 12 * 1024 * 1024 * 1024;
1518
-
1519
- // src/disk-gate.ts
1520
- var DEFAULT_WARN_FREE_BYTES = 30 * 1024 * 1024 * 1024;
1521
- var DEFAULT_CRITICAL_FREE_BYTES = 15 * 1024 * 1024 * 1024;
1522
-
1523
- // src/resource-gate.ts
1524
- var DEFAULT_PER_WORKER_MEM_BYTES = 500 * 1024 * 1024;
1525
- var DEFAULT_MEM_RESERVE_BYTES = 4 * 1024 * 1024 * 1024;
1526
-
1527
- // src/config.ts
1528
- var CONFIG_DIR = path.join(homedir(), ".kynver");
1529
- var CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
1530
- var CREDENTIALS_FILE = path.join(CONFIG_DIR, "credentials");
1531
- var SETUP_PER_WORKER_MEM_BYTES = 500 * 1024 * 1024;
1532
- var SETUP_MEM_RESERVE_BYTES = 4 * 1024 * 1024 * 1024;
1533
-
1534
- // src/paths.ts
1535
- var LEGACY_ROOT = path2.join(homedir2(), ".openclaw", "harness");
1536
-
1537
1751
  // src/completion-ack.ts
1752
+ init_run_store();
1538
1753
  function hasCompletionAck(worker) {
1539
1754
  return Boolean(worker.completionReportedAt?.trim());
1540
1755
  }
1541
1756
 
1542
1757
  // src/monitor/monitor.terminal.ts
1758
+ init_status();
1543
1759
  function assessAutoCompleteEligibility(input) {
1544
1760
  const { worker, status } = input;
1545
1761
  const blockers = [];