@runweave/server-darwin-arm64 0.1.3 → 0.1.4

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 (87) hide show
  1. package/manifest.json +156 -156
  2. package/native.tar.gz +0 -0
  3. package/package.json +1 -1
  4. package/payload/app-server/build-info.json +4 -4
  5. package/payload/app-server/index.cjs +100 -71
  6. package/payload/app-server/index.cjs.map +1 -1
  7. package/payload/backend/build-info.json +4 -4
  8. package/payload/backend/dev-resources/control.cjs +2 -0
  9. package/payload/backend/evolution-sqlite-worker.cjs +58 -1
  10. package/payload/backend/index.cjs +2914 -2043
  11. package/payload/frontend/dist/assets/{_baseUniq-Z8S1OGl1.js → _baseUniq-2DZJ97aQ.js} +1 -1
  12. package/payload/frontend/dist/assets/{access-BkQls-gl.js → access-Jw5gZrYY.js} +1 -1
  13. package/payload/frontend/dist/assets/{advanced-Cwuko7dT.js → advanced-DRe-Doxo.js} +1 -1
  14. package/payload/frontend/dist/assets/{appearance-D1NbgiL9.js → appearance-D1wpkdXT.js} +1 -1
  15. package/payload/frontend/dist/assets/{arc-yTzSLmPE.js → arc-keTQ5uhA.js} +1 -1
  16. package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-BvvnA771.js → architectureDiagram-Q4EWVU46-BXbCJ77m.js} +1 -1
  17. package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-4mSkYwEH.js → blockDiagram-DXYQGD6D-De0Ki8tO.js} +1 -1
  18. package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-BFsQYjNJ.js → c4Diagram-AHTNJAMY-EfazoSVi.js} +1 -1
  19. package/payload/frontend/dist/assets/channel-CExZE0tD.js +1 -0
  20. package/payload/frontend/dist/assets/{chunk-4BX2VUAB-B4j2kD8S.js → chunk-4BX2VUAB-BXCGPL07.js} +1 -1
  21. package/payload/frontend/dist/assets/{chunk-4TB4RGXK-BHHtOn_W.js → chunk-4TB4RGXK-ByjQ1_yc.js} +1 -1
  22. package/payload/frontend/dist/assets/{chunk-55IACEB6-npi1DjnI.js → chunk-55IACEB6-D-KjMbGJ.js} +1 -1
  23. package/payload/frontend/dist/assets/{chunk-EDXVE4YY-6XoKXtpJ.js → chunk-EDXVE4YY-tAgLMZ4w.js} +1 -1
  24. package/payload/frontend/dist/assets/{chunk-FMBD7UC4-D5wdm5pu.js → chunk-FMBD7UC4-D3J3ERtV.js} +1 -1
  25. package/payload/frontend/dist/assets/{chunk-OYMX7WX6-CdQRrw_z.js → chunk-OYMX7WX6-DZHtmvkW.js} +1 -1
  26. package/payload/frontend/dist/assets/{chunk-QZHKN3VN-j-pcsMU1.js → chunk-QZHKN3VN-D6IIGd1d.js} +1 -1
  27. package/payload/frontend/dist/assets/{chunk-YZCP3GAM-ISBm3jAD.js → chunk-YZCP3GAM-KD19-lMa.js} +1 -1
  28. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-DNOAkizi.js +1 -0
  29. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-DNOAkizi.js +1 -0
  30. package/payload/frontend/dist/assets/clone-CzOxlTa8.js +1 -0
  31. package/payload/frontend/dist/assets/connection-Cm6G1HOW.js +12 -0
  32. package/payload/frontend/dist/assets/{connections-BuXymnab.js → connections-B8tSRWt9.js} +1 -1
  33. package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-D3ioXA7D.js → cose-bilkent-S5V4N54A-AYXbL8jP.js} +1 -1
  34. package/payload/frontend/dist/assets/{dagre-KV5264BT-DjtjEtE5.js → dagre-KV5264BT-DCunJ-sG.js} +1 -1
  35. package/payload/frontend/dist/assets/{desktop-Du3Gd9LW.js → desktop-DnY652OH.js} +1 -1
  36. package/payload/frontend/dist/assets/{diagram-5BDNPKRD-CtxPyS9C.js → diagram-5BDNPKRD-Ch2b63ll.js} +1 -1
  37. package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-ikqU0pq3.js → diagram-G4DWMVQ6-BAuc_Uar.js} +1 -1
  38. package/payload/frontend/dist/assets/{diagram-MMDJMWI5-CoKNp7eo.js → diagram-MMDJMWI5-DH8qMuDA.js} +1 -1
  39. package/payload/frontend/dist/assets/{diagram-TYMM5635-7xoHFg4D.js → diagram-TYMM5635-BflD7Kjb.js} +1 -1
  40. package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-Da8Jm4bc.js → erDiagram-SMLLAGMA-BGzvzTP9.js} +1 -1
  41. package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-bcIflYKx.js → flowDiagram-DWJPFMVM-BR4mXArp.js} +1 -1
  42. package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-CCSwpL4k.js → ganttDiagram-T4ZO3ILL-uXtJoz5O.js} +1 -1
  43. package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-C5YN1uxh.js → gitGraphDiagram-UUTBAWPF-BeLB68OO.js} +1 -1
  44. package/payload/frontend/dist/assets/{graph-DhVKaWIc.js → graph-DakNuFNs.js} +1 -1
  45. package/payload/frontend/dist/assets/{image-CAXFSZmt.js → image-BICNaNq8.js} +1 -1
  46. package/payload/frontend/dist/assets/{index-BPgmi_HT.js → index-Cf9Vl4GJ.js} +92 -89
  47. package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-CKUkVeJd.js → infoDiagram-42DDH7IO-CAGn0b04.js} +1 -1
  48. package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-Cu6SCNrB.js → ishikawaDiagram-UXIWVN3A-fbaDUCpd.js} +1 -1
  49. package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-BJsUgp8J.js → journeyDiagram-VCZTEJTY-ZOmjleqG.js} +1 -1
  50. package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-BGowhqfi.js → kanban-definition-6JOO6SKY-BmODq4tv.js} +1 -1
  51. package/payload/frontend/dist/assets/{layout-CunOX6M2.js → layout-CLfuo3Vs.js} +1 -1
  52. package/payload/frontend/dist/assets/{linear-C_0D1AIt.js → linear-csTsZ7Al.js} +1 -1
  53. package/payload/frontend/dist/assets/main-DtzgJZEf.css +33 -0
  54. package/payload/frontend/dist/assets/{main-D9JUBZrL.js → main-DwDuhfcr.js} +154 -151
  55. package/payload/frontend/dist/assets/{min-CYRFaNhC.js → min-B4B7Rr4j.js} +1 -1
  56. package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-CC29vHKR.js → mindmap-definition-QFDTVHPH-CiV2UasH.js} +1 -1
  57. package/payload/frontend/dist/assets/{monitoring-CSJEFZ4D.js → monitoring-1_Fnxura.js} +1 -1
  58. package/payload/frontend/dist/assets/{notifications-B6plZwi5.js → notifications-VJaMbzoX.js} +1 -1
  59. package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-ZPTChlGS.js → pieDiagram-DEJITSTG-DwazVxKI.js} +1 -1
  60. package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-B4sL0Weo.js → quadrantDiagram-34T5L4WZ-CAn9HHbO.js} +1 -1
  61. package/payload/frontend/dist/assets/{record-content-DBb8tU0P.js → record-content-Bewq09_f.js} +1 -1
  62. package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-Q2PHuGEG.js → requirementDiagram-MS252O5E-CFot9peV.js} +1 -1
  63. package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-k8w1jlHT.js → sankeyDiagram-XADWPNL6-CdRX6WuA.js} +1 -1
  64. package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-0qPxopqC.js → sequenceDiagram-FGHM5R23-vRc1a5W1.js} +1 -1
  65. package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-BHxYXi2c.js → stateDiagram-FHFEXIEX-Bxcr7s70.js} +1 -1
  66. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-YGvbZNwL.js +1 -0
  67. package/payload/frontend/dist/assets/{status-Zy2MW6gr.js → status-9tZZeoV7.js} +1 -1
  68. package/payload/frontend/dist/assets/suiji-DX2ioZ0I.js +1 -0
  69. package/payload/frontend/dist/assets/{svg-vmNZnz5w.js → svg-qpyWsADE.js} +1 -1
  70. package/payload/frontend/dist/assets/{tabs-C257BfM6.js → tabs-CwPtRQY0.js} +1 -1
  71. package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-BC_3Dip2.js → timeline-definition-GMOUNBTQ-2mD2ePS6.js} +1 -1
  72. package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-V_X88VPq.js → vennDiagram-DHZGUBPP-w4DbLykx.js} +1 -1
  73. package/payload/frontend/dist/assets/{wardley-RL74JXVD-CflQhbCA.js → wardley-RL74JXVD-C3H8SQaZ.js} +1 -1
  74. package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-C75i3btX.js → wardleyDiagram-NUSXRM2D-DEI0kC2c.js} +1 -1
  75. package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-KIYpQyyi.js → xychartDiagram-5P7HB3ND-DDVlpQ28.js} +1 -1
  76. package/payload/frontend/dist/build-info.json +4 -4
  77. package/payload/frontend/dist/companion.html +1 -1
  78. package/payload/frontend/dist/index.html +3 -3
  79. package/payload/server/index.cjs +2 -0
  80. package/payload/frontend/dist/assets/channel-DGu_xwRJ.js +0 -1
  81. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-Xx1qN_NY.js +0 -1
  82. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-Xx1qN_NY.js +0 -1
  83. package/payload/frontend/dist/assets/clone-DdDT5GkX.js +0 -1
  84. package/payload/frontend/dist/assets/connection-BL2ZiJKS.js +0 -12
  85. package/payload/frontend/dist/assets/main-C-ZLrzMh.css +0 -33
  86. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-s5VUMcqx.js +0 -1
  87. package/payload/frontend/dist/assets/suiji-5pox13NE.js +0 -1
package/native.tar.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runweave/server-darwin-arm64",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": "0.1.0",
3
- "buildId": "20261101T045619729Z-f866322b",
4
- "sourceRevision": "f866322b32d9c3896ed3c60bc387f1184a104614",
3
+ "buildId": "20261107T223312427Z-f6afc191",
4
+ "sourceRevision": "f6afc191b5f9be76aa35a6ee494a0d752c21af08",
5
5
  "sourceDirty": false,
6
- "builtAt": "2026-11-01T04:56:19.729Z",
7
- "contentSha256": "a601618f713f08277371b4f143be99ed25c2380cff89952b97460e1862f1d399"
6
+ "builtAt": "2026-11-07T22:33:12.427Z",
7
+ "contentSha256": "c391a00b597ca25406e1b3afa7654d2fa4ecc180b3a685c649dbd2acd40c8900"
8
8
  }
@@ -1,4 +1,4 @@
1
- /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261101T045619729Z-f866322b","sourceRevision":"f866322b32d9c3896ed3c60bc387f1184a104614","sourceDirty":false,"builtAt":"2026-11-01T04:56:19.729Z","contentSha256":"a601618f713f08277371b4f143be99ed25c2380cff89952b97460e1862f1d399"};
1
+ /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261107T223312427Z-f6afc191","sourceRevision":"f6afc191b5f9be76aa35a6ee494a0d752c21af08","sourceDirty":false,"builtAt":"2026-11-07T22:33:12.427Z","contentSha256":"c391a00b597ca25406e1b3afa7654d2fa4ecc180b3a685c649dbd2acd40c8900"};
2
2
  const __IMPORT_META_URL__ = require('url').pathToFileURL(__filename).href;
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -25745,13 +25745,13 @@ var require_view = __commonJS({
25745
25745
  View.prototype.resolve = function resolve2(dir, file) {
25746
25746
  var ext = this.ext;
25747
25747
  var path22 = join(dir, file);
25748
- var stat2 = tryStat(path22);
25749
- if (stat2 && stat2.isFile()) {
25748
+ var stat3 = tryStat(path22);
25749
+ if (stat3 && stat3.isFile()) {
25750
25750
  return path22;
25751
25751
  }
25752
25752
  path22 = join(dir, basename(file, ext), "index" + ext);
25753
- stat2 = tryStat(path22);
25754
- if (stat2 && stat2.isFile()) {
25753
+ stat3 = tryStat(path22);
25754
+ if (stat3 && stat3.isFile()) {
25755
25755
  return path22;
25756
25756
  }
25757
25757
  };
@@ -26021,9 +26021,9 @@ var require_etag = __commonJS({
26021
26021
  }
26022
26022
  return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number";
26023
26023
  }
26024
- function stattag(stat2) {
26025
- var mtime = stat2.mtime.getTime().toString(16);
26026
- var size = stat2.size.toString(16);
26024
+ function stattag(stat3) {
26025
+ var mtime = stat3.mtime.getTime().toString(16);
26026
+ var size = stat3.size.toString(16);
26027
26027
  return '"' + size + "-" + mtime + '"';
26028
26028
  }
26029
26029
  }
@@ -26636,8 +26636,8 @@ var require_send = __commonJS({
26636
26636
  this.sendFile(path22);
26637
26637
  return res;
26638
26638
  };
26639
- SendStream.prototype.send = function send3(path22, stat2) {
26640
- var len = stat2.size;
26639
+ SendStream.prototype.send = function send3(path22, stat3) {
26640
+ var len = stat3.size;
26641
26641
  var options = this.options;
26642
26642
  var opts = {};
26643
26643
  var res = this.res;
@@ -26649,7 +26649,7 @@ var require_send = __commonJS({
26649
26649
  return;
26650
26650
  }
26651
26651
  debug('pipe "%s"', path22);
26652
- this.setHeader(path22, stat2);
26652
+ this.setHeader(path22, stat3);
26653
26653
  this.type(path22);
26654
26654
  if (this.isConditionalGET()) {
26655
26655
  if (this.isPreconditionFailure()) {
@@ -26705,14 +26705,14 @@ var require_send = __commonJS({
26705
26705
  var i = 0;
26706
26706
  var self = this;
26707
26707
  debug('stat "%s"', path22);
26708
- fs.stat(path22, function onstat(err, stat2) {
26708
+ fs.stat(path22, function onstat(err, stat3) {
26709
26709
  if (err && err.code === "ENOENT" && !extname(path22) && path22[path22.length - 1] !== sep) {
26710
26710
  return next(err);
26711
26711
  }
26712
26712
  if (err) return self.onStatError(err);
26713
- if (stat2.isDirectory()) return self.redirect(path22);
26714
- self.emit("file", path22, stat2);
26715
- self.send(path22, stat2);
26713
+ if (stat3.isDirectory()) return self.redirect(path22);
26714
+ self.emit("file", path22, stat3);
26715
+ self.send(path22, stat3);
26716
26716
  });
26717
26717
  function next(err) {
26718
26718
  if (self._extensions.length <= i) {
@@ -26720,11 +26720,11 @@ var require_send = __commonJS({
26720
26720
  }
26721
26721
  var p = path22 + "." + self._extensions[i++];
26722
26722
  debug('stat "%s"', p);
26723
- fs.stat(p, function(err2, stat2) {
26723
+ fs.stat(p, function(err2, stat3) {
26724
26724
  if (err2) return next(err2);
26725
- if (stat2.isDirectory()) return next();
26726
- self.emit("file", p, stat2);
26727
- self.send(p, stat2);
26725
+ if (stat3.isDirectory()) return next();
26726
+ self.emit("file", p, stat3);
26727
+ self.send(p, stat3);
26728
26728
  });
26729
26729
  }
26730
26730
  };
@@ -26738,11 +26738,11 @@ var require_send = __commonJS({
26738
26738
  }
26739
26739
  var p = join(path22, self._index[i]);
26740
26740
  debug('stat "%s"', p);
26741
- fs.stat(p, function(err2, stat2) {
26741
+ fs.stat(p, function(err2, stat3) {
26742
26742
  if (err2) return next(err2);
26743
- if (stat2.isDirectory()) return next();
26744
- self.emit("file", p, stat2);
26745
- self.send(p, stat2);
26743
+ if (stat3.isDirectory()) return next();
26744
+ self.emit("file", p, stat3);
26745
+ self.send(p, stat3);
26746
26746
  });
26747
26747
  }
26748
26748
  next();
@@ -26777,9 +26777,9 @@ var require_send = __commonJS({
26777
26777
  debug("content-type %s", type2);
26778
26778
  res.setHeader("Content-Type", type2 + (charset ? "; charset=" + charset : ""));
26779
26779
  };
26780
- SendStream.prototype.setHeader = function setHeader(path22, stat2) {
26780
+ SendStream.prototype.setHeader = function setHeader(path22, stat3) {
26781
26781
  var res = this.res;
26782
- this.emit("headers", res, path22, stat2);
26782
+ this.emit("headers", res, path22, stat3);
26783
26783
  if (this._acceptRanges && !res.getHeader("Accept-Ranges")) {
26784
26784
  debug("accept ranges");
26785
26785
  res.setHeader("Accept-Ranges", "bytes");
@@ -26793,12 +26793,12 @@ var require_send = __commonJS({
26793
26793
  res.setHeader("Cache-Control", cacheControl);
26794
26794
  }
26795
26795
  if (this._lastModified && !res.getHeader("Last-Modified")) {
26796
- var modified = stat2.mtime.toUTCString();
26796
+ var modified = stat3.mtime.toUTCString();
26797
26797
  debug("modified %s", modified);
26798
26798
  res.setHeader("Last-Modified", modified);
26799
26799
  }
26800
26800
  if (this._etag && !res.getHeader("ETag")) {
26801
- var val = etag(stat2);
26801
+ var val = etag(stat3);
26802
26802
  debug("etag %s", val);
26803
26803
  res.setHeader("ETag", val);
26804
26804
  }
@@ -33560,16 +33560,16 @@ async function scanConversationSource(file, consume, signal) {
33560
33560
  try {
33561
33561
  if (await (0, import_promises.realpath)(file) !== file) return null;
33562
33562
  handle = await (0, import_promises.open)(file, import_node_fs2.constants.O_RDONLY | import_node_fs2.constants.O_NOFOLLOW);
33563
- const stat2 = await handle.stat();
33564
- if (!stat2.isFile()) return null;
33563
+ const stat3 = await handle.stat();
33564
+ if (!stat3.isFile()) return null;
33565
33565
  const windowBytes = 64 * 1024 * 1024;
33566
- const truncated = stat2.size > windowBytes;
33566
+ const truncated = stat3.size > windowBytes;
33567
33567
  let partial = truncated;
33568
33568
  const chunk = Buffer.alloc(256 * 1024);
33569
33569
  const ranges = truncated ? [
33570
- { start: 0, end: Math.min(chunk.length, stat2.size), header: true },
33571
- { start: stat2.size - windowBytes, end: stat2.size, header: false }
33572
- ] : [{ start: 0, end: stat2.size, header: false }];
33570
+ { start: 0, end: Math.min(chunk.length, stat3.size), header: true },
33571
+ { start: stat3.size - windowBytes, end: stat3.size, header: false }
33572
+ ] : [{ start: 0, end: stat3.size, header: false }];
33573
33573
  for (const range of ranges) {
33574
33574
  let position = range.start;
33575
33575
  let lineOffset = position;
@@ -34558,15 +34558,15 @@ var ConfigurationError = class extends Error {
34558
34558
  // packages/config-node/src/private-file.ts
34559
34559
  var import_node_fs4 = require("node:fs");
34560
34560
  function assertPrivateDirectory(directory) {
34561
- const stat2 = (0, import_node_fs4.lstatSync)(directory);
34562
- if (!stat2.isDirectory() || stat2.isSymbolicLink() || stat2.mode & 63 || typeof process.getuid === "function" && stat2.uid !== process.getuid()) throw new ConfigurationError("CONFIG_ROOT_PERMISSIONS_INVALID");
34561
+ const stat3 = (0, import_node_fs4.lstatSync)(directory);
34562
+ if (!stat3.isDirectory() || stat3.isSymbolicLink() || stat3.mode & 63 || typeof process.getuid === "function" && stat3.uid !== process.getuid()) throw new ConfigurationError("CONFIG_ROOT_PERMISSIONS_INVALID");
34563
34563
  }
34564
34564
  function assertPrivateDescriptor(fd, maxBytes = 1024 * 1024) {
34565
- const stat2 = (0, import_node_fs4.fstatSync)(fd);
34566
- if (!stat2.isFile() || stat2.nlink !== 1) throw new ConfigurationError("CONFIG_FILE_NOT_PRIVATE_REGULAR");
34567
- if (typeof process.getuid === "function" && stat2.uid !== process.getuid()) throw new ConfigurationError("CONFIG_FILE_OWNER_MISMATCH");
34568
- if (stat2.mode & 63) throw new ConfigurationError("CONFIG_FILE_PERMISSIONS_INVALID");
34569
- if (stat2.size > maxBytes) throw new ConfigurationError("CONFIG_FILE_TOO_LARGE");
34565
+ const stat3 = (0, import_node_fs4.fstatSync)(fd);
34566
+ if (!stat3.isFile() || stat3.nlink !== 1) throw new ConfigurationError("CONFIG_FILE_NOT_PRIVATE_REGULAR");
34567
+ if (typeof process.getuid === "function" && stat3.uid !== process.getuid()) throw new ConfigurationError("CONFIG_FILE_OWNER_MISMATCH");
34568
+ if (stat3.mode & 63) throw new ConfigurationError("CONFIG_FILE_PERMISSIONS_INVALID");
34569
+ if (stat3.size > maxBytes) throw new ConfigurationError("CONFIG_FILE_TOO_LARGE");
34570
34570
  }
34571
34571
  function readPrivateFile(file, maxBytes = 1024 * 1024) {
34572
34572
  const fd = (0, import_node_fs4.openSync)(file, import_node_fs4.constants.O_RDONLY | import_node_fs4.constants.O_NOFOLLOW);
@@ -35086,6 +35086,8 @@ function isConfigurationContainer(key, array = false) {
35086
35086
  });
35087
35087
  }
35088
35088
  function domainForPath(key) {
35089
+ const declared = Object.keys(CONFIGURATION_DOMAIN_VERSIONS).find((domain) => key === domain || key.startsWith(`${domain}.`));
35090
+ if (declared) return declared;
35089
35091
  const parts = key.split(".");
35090
35092
  return ["backend", "services", "desktop", "agents"].includes(parts[0]) ? parts.slice(0, 2).join(".") : parts[0];
35091
35093
  }
@@ -35254,11 +35256,11 @@ function parseConfigurationYaml(source, context) {
35254
35256
  return { document: document2, value, digest: (0, import_node_crypto4.createHash)("sha256").update(source).digest("hex"), issues: validateDomains(value, context) };
35255
35257
  }
35256
35258
  function assertPrivateFile(file, fd) {
35257
- const stat2 = fd === void 0 ? (0, import_node_fs7.lstatSync)(file) : (0, import_node_fs7.fstatSync)(fd);
35258
- if (!stat2.isFile() || stat2.isSymbolicLink() || stat2.nlink !== 1) throw new ConfigurationError("CONFIG_FILE_NOT_PRIVATE_REGULAR");
35259
- if (typeof process.getuid === "function" && stat2.uid !== process.getuid()) throw new ConfigurationError("CONFIG_FILE_OWNER_MISMATCH");
35260
- if ((stat2.mode & 63) !== 0) throw new ConfigurationError("CONFIG_FILE_PERMISSIONS_INVALID");
35261
- if (stat2.size > MAX_BYTES) throw new ConfigurationError("CONFIG_FILE_TOO_LARGE", [], { line: 1, column: 1 });
35259
+ const stat3 = fd === void 0 ? (0, import_node_fs7.lstatSync)(file) : (0, import_node_fs7.fstatSync)(fd);
35260
+ if (!stat3.isFile() || stat3.isSymbolicLink() || stat3.nlink !== 1) throw new ConfigurationError("CONFIG_FILE_NOT_PRIVATE_REGULAR");
35261
+ if (typeof process.getuid === "function" && stat3.uid !== process.getuid()) throw new ConfigurationError("CONFIG_FILE_OWNER_MISMATCH");
35262
+ if ((stat3.mode & 63) !== 0) throw new ConfigurationError("CONFIG_FILE_PERMISSIONS_INVALID");
35263
+ if (stat3.size > MAX_BYTES) throw new ConfigurationError("CONFIG_FILE_TOO_LARGE", [], { line: 1, column: 1 });
35262
35264
  }
35263
35265
  var ConfigurationStore = class {
35264
35266
  constructor(context) {
@@ -35910,8 +35912,8 @@ var PiSessionReader = class {
35910
35912
  try {
35911
35913
  if (await (0, import_promises4.realpath)(file) !== file) return null;
35912
35914
  handle = await (0, import_promises4.open)(file, "r");
35913
- const stat2 = await handle.stat();
35914
- if (!stat2.isFile() || stat2.size > 64 * 1024 * 1024) return null;
35915
+ const stat3 = await handle.stat();
35916
+ if (!stat3.isFile() || stat3.size > 64 * 1024 * 1024) return null;
35915
35917
  const content = await handle.readFile("utf8");
35916
35918
  const lines = content.split("\n");
35917
35919
  lines.pop();
@@ -36041,7 +36043,7 @@ ${entry.summary}`
36041
36043
  preview,
36042
36044
  status: status === "running" ? "active" : status === "idle" ? "idle" : "notLoaded",
36043
36045
  createdAt: String(header.timestamp ?? ""),
36044
- updatedAt: new Date(stat2.mtimeMs).toISOString(),
36046
+ updatedAt: new Date(stat3.mtimeMs).toISOString(),
36045
36047
  turns
36046
36048
  },
36047
36049
  latest
@@ -36408,15 +36410,15 @@ var ThreadPreviewReader = class {
36408
36410
  }
36409
36411
  const handle = await (0, import_promises6.open)(file, "r");
36410
36412
  try {
36411
- const stat2 = await handle.stat();
36412
- if (!stat2.isFile()) {
36413
+ const stat3 = await handle.stat();
36414
+ if (!stat3.isFile()) {
36413
36415
  entry.ready = false;
36414
36416
  entry.availability = "source_missing";
36415
36417
  return;
36416
36418
  }
36417
- if (entry.file !== file || entry.inode !== stat2.ino || stat2.size < entry.offset) {
36419
+ if (entry.file !== file || entry.inode !== stat3.ino || stat3.size < entry.offset) {
36418
36420
  entry.file = file;
36419
- entry.inode = stat2.ino;
36421
+ entry.inode = stat3.ino;
36420
36422
  entry.offset = 0;
36421
36423
  entry.pending = Buffer.alloc(0);
36422
36424
  entry.skippingLine = false;
@@ -36428,11 +36430,11 @@ var ThreadPreviewReader = class {
36428
36430
  entry.leaf = null;
36429
36431
  entry.piCursor = null;
36430
36432
  }
36431
- const buffer = Buffer.alloc(Math.min(READ_BYTES, stat2.size - entry.offset));
36433
+ const buffer = Buffer.alloc(Math.min(READ_BYTES, stat3.size - entry.offset));
36432
36434
  const { bytesRead } = await handle.read(buffer, 0, buffer.length, entry.offset);
36433
36435
  entry.offset += bytesRead;
36434
36436
  this.consume(entry, buffer.subarray(0, bytesRead));
36435
- if (entry.offset < stat2.size) {
36437
+ if (entry.offset < stat3.size) {
36436
36438
  this.queued.add(entry);
36437
36439
  return;
36438
36440
  }
@@ -37353,6 +37355,7 @@ var import_promises9 = require("node:fs/promises");
37353
37355
  var import_node_os5 = __toESM(require("node:os"), 1);
37354
37356
  var import_node_path16 = __toESM(require("node:path"), 1);
37355
37357
  var ROLLOUT_TAIL_BYTES = 1024 * 1024;
37358
+ var ROLLOUT_LOOKBACK_BYTES = 64 * ROLLOUT_TAIL_BYTES;
37356
37359
  var TERMINAL_LIFECYCLE_TYPES = /* @__PURE__ */ new Set([
37357
37360
  "task_started",
37358
37361
  "task_complete",
@@ -37378,13 +37381,11 @@ var CodexRolloutLifecycleReader = class {
37378
37381
  }
37379
37382
  try {
37380
37383
  const previous = this.snapshots.get(threadId);
37381
- const tail = await readFileTail(filePath, previous?.signature);
37382
- if (tail.content === null) return previous.lifecycle;
37383
- const lifecycle = parseLatestLifecycle(tail.content);
37384
+ const snapshot = await readFileLifecycle(filePath, previous);
37384
37385
  this.snapshots.delete(threadId);
37385
- this.snapshots.set(threadId, { signature: tail.signature, lifecycle });
37386
+ this.snapshots.set(threadId, snapshot);
37386
37387
  if (this.snapshots.size > 128) this.snapshots.delete(this.snapshots.keys().next().value);
37387
- return lifecycle;
37388
+ return snapshot.lifecycle;
37388
37389
  } catch {
37389
37390
  this.threadPaths.delete(threadId);
37390
37391
  this.snapshots.delete(threadId);
@@ -37417,21 +37418,32 @@ var CodexRolloutLifecycleReader = class {
37417
37418
  return this.threadPaths.get(threadId) ?? [...this.threadPaths].find(([id]) => id.endsWith(`-${threadId}`))?.[1] ?? null;
37418
37419
  }
37419
37420
  };
37420
- async function readFileTail(filePath, previousSignature) {
37421
+ async function readFileLifecycle(filePath, previous) {
37421
37422
  const handle = await (0, import_promises9.open)(filePath, "r");
37422
37423
  try {
37423
37424
  const { size, dev, ino, mtimeMs, ctimeMs } = await handle.stat();
37424
37425
  const signature = `${filePath}:${dev}:${ino}:${size}:${mtimeMs}:${ctimeMs}`;
37425
- if (signature === previousSignature) return { signature, content: null };
37426
- const start = Math.max(0, size - ROLLOUT_TAIL_BYTES);
37427
- const buffer = Buffer.alloc(size - start);
37428
- const { bytesRead } = await handle.read(buffer, 0, buffer.length, start);
37429
- const value = buffer.subarray(0, bytesRead).toString("utf8");
37430
- if (start === 0) {
37431
- return { signature, content: value };
37432
- }
37433
- const firstNewline = value.indexOf("\n");
37434
- return { signature, content: firstNewline === -1 ? "" : value.slice(firstNewline + 1) };
37426
+ if (signature === previous?.signature) return previous;
37427
+ const floor = Math.max(0, size - ROLLOUT_LOOKBACK_BYTES);
37428
+ let end = size;
37429
+ let suffix = Buffer.alloc(0);
37430
+ let lifecycle = null;
37431
+ while (end > floor && !lifecycle) {
37432
+ const start = Math.max(floor, end - ROLLOUT_TAIL_BYTES);
37433
+ const buffer = Buffer.alloc(end - start);
37434
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, start);
37435
+ if (bytesRead !== buffer.length) return { signature, lifecycle: null };
37436
+ const value = Buffer.concat([buffer, suffix]);
37437
+ const boundary = start > 0 ? value.indexOf(10) : -1;
37438
+ const complete = start === 0 ? value : boundary < 0 ? Buffer.alloc(0) : value.subarray(boundary + 1);
37439
+ lifecycle = parseLatestLifecycle(complete.toString("utf8"));
37440
+ suffix = boundary >= 0 && boundary < ROLLOUT_TAIL_BYTES ? Buffer.from(value.subarray(0, boundary + 1)) : Buffer.alloc(0);
37441
+ end = start;
37442
+ }
37443
+ const current = await (0, import_promises9.stat)(filePath);
37444
+ if (current.dev !== dev || current.ino !== ino || current.size !== size || current.mtimeMs !== mtimeMs || current.ctimeMs !== ctimeMs)
37445
+ return { signature, lifecycle: null };
37446
+ return { signature, lifecycle };
37435
37447
  } finally {
37436
37448
  await handle.close();
37437
37449
  }
@@ -37629,6 +37641,7 @@ var AgentThreadStatusReconciler = class {
37629
37641
  collectCandidates() {
37630
37642
  const cutoff = Date.now() - ACTIVE_WINDOW_MS;
37631
37643
  return this.options.eventCenter.getStateStore().listThreads({ limit: 1e4 }).filter((thread) => RECONCILED_AGENTS.has(thread.agent)).filter((thread) => !thread.threadId.startsWith("unknown-thread:")).filter((thread) => {
37644
+ if (thread.status === "running") return true;
37632
37645
  const lastActivityAtMs = Date.parse(thread.lastActivityAt);
37633
37646
  return !Number.isFinite(lastActivityAtMs) || lastActivityAtMs >= cutoff;
37634
37647
  }).sort(
@@ -37664,8 +37677,19 @@ var AgentThreadStatusReconciler = class {
37664
37677
  const lifecycle2 = await this.options.codexRolloutLifecycleReader.readLatestLifecycle(
37665
37678
  thread.threadId
37666
37679
  );
37680
+ if (lifecycle2?.status === "running" && (thread.status === "running" || !isOlderThanThreadProjection(lifecycle2.timestamp, thread))) {
37681
+ return {
37682
+ status: "running",
37683
+ lifecycleType: `rollout:${lifecycle2.type}`,
37684
+ lifecycleCursor: lifecycle2.cursor,
37685
+ detailStatus: null,
37686
+ preview: null,
37687
+ turnId: lifecycle2.turnId
37688
+ };
37689
+ }
37667
37690
  const sameObservedFailure = lifecycle2?.error && thread.status === "idle" && thread.lastLifecycleType === `rollout:${lifecycle2.type}` && thread.lastLifecycleCursor === lifecycle2.cursor;
37668
- if (lifecycle2?.status === "idle" && (!isOlderThanThreadProjection(lifecycle2.timestamp, thread) || sameObservedFailure) && // A terminal error is a fact even if a Hook already marked the thread
37691
+ const followsObservedStart = lifecycle2 && thread.lastLifecycleType === "rollout:task_started" && newerRolloutCursor(lifecycle2.cursor, thread.lastLifecycleCursor);
37692
+ if (lifecycle2?.status === "idle" && (!isOlderThanThreadProjection(lifecycle2.timestamp, thread) || sameObservedFailure || followsObservedStart) && // A terminal error is a fact even if a Hook already marked the thread
37669
37693
  // idle, or thread/read still reports active. Never adopt an old turn.
37670
37694
  (lifecycle2.error || thread.status === "running" && status !== "active")) {
37671
37695
  return {
@@ -37784,6 +37808,11 @@ var AgentThreadStatusReconciler = class {
37784
37808
  });
37785
37809
  }
37786
37810
  };
37811
+ function newerRolloutCursor(current, previous) {
37812
+ const currentOrdinal = current.match(/^rollout:(\d+)$/)?.[1];
37813
+ const previousOrdinal = previous?.match(/^rollout:(\d+)$/)?.[1];
37814
+ return Boolean(currentOrdinal && previousOrdinal && BigInt(currentOrdinal) > BigInt(previousOrdinal));
37815
+ }
37787
37816
  function isOlderThanThreadProjection(observedAt, thread) {
37788
37817
  const observedAtMs = Date.parse(observedAt);
37789
37818
  const projectedAtMs = Date.parse(thread.updatedAt);