@poe-platform/safe-bash 0.1.802 → 0.1.803

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 (150) hide show
  1. package/README.md +4 -2
  2. package/dist/image-ast/index.browser.js +13 -4
  3. package/dist/image-ast/index.js +13 -4
  4. package/dist/safe-bash/chunks/{chunk-KDNSPLII.js → chunk-2LSAMQER.js} +1 -0
  5. package/dist/safe-bash/chunks/{chunk-NZQXYWA3.js → chunk-5OHX7C2V.js} +0 -1
  6. package/dist/safe-bash/chunks/{chunk-SHEMU2Z7.js → chunk-B7PIL77G.js} +82 -63
  7. package/dist/safe-bash/chunks/{chunk-WDLGKIHD.js → chunk-EEEWOYEG.js} +4 -4
  8. package/dist/safe-bash/chunks/{chunk-GETUOD5D.js → chunk-GDYNCWRV.js} +1 -1
  9. package/dist/safe-bash/chunks/{chunk-RSTHLAF3.js → chunk-JMMEIDPF.js} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-44ALJ4QG.js → chunk-PNBBUWSM.js} +71 -55
  11. package/dist/safe-bash/chunks/{chunk-NQCM3TYR.js → chunk-RYFQ3LZG.js} +73 -44
  12. package/dist/safe-bash/chunks/chunk-VBTDHOWC.js +55 -0
  13. package/dist/safe-bash/command-chunks/{chunk-ORYGZYKW.js → chunk-4FEVBOL5.js} +1 -1
  14. package/dist/safe-bash/command-chunks/{chunk-VXSLJH7G.js → chunk-6JSIFWYT.js} +26 -6
  15. package/dist/safe-bash/command-chunks/chunk-A7MU7762.js +200 -0
  16. package/dist/safe-bash/command-chunks/{chunk-KJIMDLBB.js → chunk-BXCXRYVU.js} +1 -1
  17. package/dist/safe-bash/command-chunks/{chunk-F4TEEZTL.js → chunk-CQHP3I66.js} +1 -1
  18. package/dist/safe-bash/command-chunks/{chunk-PEF7K3UQ.js → chunk-EARHPPPJ.js} +1 -1
  19. package/dist/safe-bash/command-chunks/{chunk-QKFSRZGQ.js → chunk-GFC2NTDG.js} +2 -2
  20. package/dist/safe-bash/command-chunks/chunk-GIRNFXP3.js +466 -0
  21. package/dist/safe-bash/command-chunks/{chunk-FPVUD6TH.js → chunk-HDCNKOIX.js} +9 -7
  22. package/dist/safe-bash/command-chunks/{chunk-MQFIPHIQ.js → chunk-ILX2NOLF.js} +18 -15
  23. package/dist/safe-bash/command-chunks/{chunk-5E4WAO4O.js → chunk-JD5QNRNO.js} +3 -3
  24. package/dist/safe-bash/command-chunks/{chunk-I237SNW5.js → chunk-LFJJQQND.js} +1 -1
  25. package/dist/safe-bash/command-chunks/{chunk-W5DNF4JH.js → chunk-LOICUCHG.js} +1 -1
  26. package/dist/safe-bash/command-chunks/{chunk-7U7EXOXX.js → chunk-NASVPT6F.js} +2 -1
  27. package/dist/safe-bash/command-chunks/{chunk-OQKC5ZU2.js → chunk-NKIELG7Y.js} +22 -1
  28. package/dist/safe-bash/command-chunks/{chunk-WPYIOKE3.js → chunk-PICVQ6B5.js} +2 -2
  29. package/dist/safe-bash/command-chunks/{chunk-YOFC45RK.js → chunk-QVOS4YXL.js} +1 -1
  30. package/dist/safe-bash/command-chunks/{chunk-VGG2DL5Q.js → chunk-TRR4MYWF.js} +4 -0
  31. package/dist/safe-bash/command-chunks/{chunk-2JRBIDAD.js → chunk-V4K2JDYU.js} +2 -2
  32. package/dist/safe-bash/command-chunks/{chunk-6GWJUQAV.js → chunk-WWIBP2ET.js} +38 -111
  33. package/dist/safe-bash/command-chunks/chunk-ZDN7MJE6.js +168 -0
  34. package/dist/safe-bash/commands/bytes/compression/index.js +54 -51
  35. package/dist/safe-bash/commands/chmod/index.browser.js +14 -0
  36. package/dist/safe-bash/commands/chmod/index.d.ts +2 -0
  37. package/dist/safe-bash/commands/chmod/index.js +2 -0
  38. package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -7
  39. package/dist/safe-bash/commands/metadata/chmod.js +1 -204
  40. package/dist/safe-bash/commands/metadata/index.browser.js +1 -5
  41. package/dist/safe-bash/commands/metadata/internal.d.ts +1 -30
  42. package/dist/safe-bash/commands/metadata/internal.js +1 -76
  43. package/dist/safe-bash/commands/metadata/mktemp.d.ts +1 -3
  44. package/dist/safe-bash/commands/metadata/mktemp.js +1 -202
  45. package/dist/safe-bash/commands/metadata/stat.d.ts +1 -7
  46. package/dist/safe-bash/commands/metadata/stat.js +1 -530
  47. package/dist/safe-bash/commands/mktemp/index.browser.js +13 -0
  48. package/dist/safe-bash/commands/mktemp/index.d.ts +2 -0
  49. package/dist/safe-bash/commands/mktemp/index.js +2 -0
  50. package/dist/safe-bash/commands/node/index.browser.js +2 -2
  51. package/dist/safe-bash/commands/portable-random.d.ts +1 -1
  52. package/dist/safe-bash/commands/portable-random.js +1 -12
  53. package/dist/safe-bash/commands/python/index.browser.js +3 -3
  54. package/dist/safe-bash/commands/stat/index.browser.js +13 -0
  55. package/dist/safe-bash/commands/stat/index.d.ts +2 -0
  56. package/dist/safe-bash/commands/stat/index.js +2 -0
  57. package/dist/safe-bash/commands/text.js +46 -10
  58. package/dist/safe-bash/full-core.browser.js +86 -86
  59. package/dist/safe-bash/jobs.browser.js +2 -2
  60. package/dist/safe-bash/opt-in/commands/yq/native-work.js +1 -0
  61. package/dist/safe-bash/optional-host.browser.js +10 -10
  62. package/dist/safe-bash/plugins/index.browser.js +13 -13
  63. package/dist/safe-bash/registry-entry.browser.js +16 -16
  64. package/dist/safe-bash/search.browser.js +14 -14
  65. package/dist/safe-bash/shell/runtime.d.ts +3 -0
  66. package/dist/safe-bash/shell/runtime.js +20 -3
  67. package/dist/safe-bash/shell/types.d.ts +2 -0
  68. package/dist/safe-bash/shell/worker-limits.js +1 -0
  69. package/dist/safe-bash/shell-entry.browser.js +12 -12
  70. package/dist/safe-bash/worker/host.js +1 -1
  71. package/dist/safe-bash-command-bc/index.js +12 -5
  72. package/dist/safe-bash-command-bzip2/index.js +4 -3
  73. package/dist/safe-bash-command-chmod/LICENSE +21 -0
  74. package/dist/safe-bash-command-chmod/command.d.ts +7 -0
  75. package/dist/safe-bash-command-chmod/command.js +11 -0
  76. package/dist/safe-bash-command-chmod/index.d.ts +6 -0
  77. package/dist/safe-bash-command-chmod/index.js +27 -0
  78. package/dist/safe-bash-command-exiftool/index.js +5 -5
  79. package/dist/safe-bash-command-find/find.js +1 -1
  80. package/dist/safe-bash-command-find/index.js +1 -1
  81. package/dist/safe-bash-command-fmt/index.js +9 -2
  82. package/dist/safe-bash-command-gzip/index.js +45 -42
  83. package/dist/safe-bash-command-imagemagick/index.js +3 -1
  84. package/dist/safe-bash-command-jq/index.js +1 -1
  85. package/dist/safe-bash-command-jq/jq.js +1 -1
  86. package/dist/safe-bash-command-less/index.js +12 -3
  87. package/dist/safe-bash-command-mktemp/LICENSE +21 -0
  88. package/dist/safe-bash-command-mktemp/command.d.ts +3 -0
  89. package/dist/safe-bash-command-mktemp/command.js +9 -0
  90. package/dist/safe-bash-command-mktemp/index.d.ts +6 -0
  91. package/dist/safe-bash-command-mktemp/index.js +25 -0
  92. package/dist/safe-bash-command-od/index.js +6 -2
  93. package/dist/safe-bash-command-op/index.js +25 -6
  94. package/dist/safe-bash-command-rg/index.js +1 -1
  95. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  96. package/dist/safe-bash-command-sed/index.js +1 -1
  97. package/dist/safe-bash-command-sed/sed.js +1 -1
  98. package/dist/safe-bash-command-sips/index.js +13 -5
  99. package/dist/safe-bash-command-sponge/index.js +10 -3
  100. package/dist/safe-bash-command-stat/LICENSE +21 -0
  101. package/dist/safe-bash-command-stat/command.d.ts +7 -0
  102. package/dist/safe-bash-command-stat/command.js +9 -0
  103. package/dist/safe-bash-command-stat/index.d.ts +6 -0
  104. package/dist/safe-bash-command-stat/index.js +25 -0
  105. package/dist/safe-bash-command-unrtf/index.js +11 -1
  106. package/dist/safe-bash-command-xxd/index.js +6 -2
  107. package/dist/safe-bash-command-xz/command.d.ts +1 -1
  108. package/dist/safe-bash-command-xz/index.js +3 -2
  109. package/dist/safe-bash-command-yq/index.js +1 -0
  110. package/dist/safe-bash-command-yq/native-work.js +1 -0
  111. package/dist/safe-bash-command-yq/query.js +3 -0
  112. package/dist/safe-bash-compression-engine/bounded-codec.js +3 -3
  113. package/dist/safe-bash-compression-engine/codec-loader.js +2 -2
  114. package/dist/safe-bash-compression-engine/files.js +6 -6
  115. package/dist/safe-bash-compression-engine/index.js +5 -5
  116. package/dist/safe-bash-compression-engine/operand.js +6 -6
  117. package/dist/safe-bash-compression-engine/options.js +1 -1
  118. package/dist/safe-bash-compression-engine/stream.js +5 -5
  119. package/dist/safe-bash-compression-engine/zstd-decode.js +4 -4
  120. package/dist/safe-bash-contracts/escaping.js +2 -2
  121. package/dist/safe-bash-contracts/filesystem-output.js +2 -2
  122. package/dist/safe-bash-contracts/index.js +2 -2
  123. package/dist/safe-bash-contracts/io.d.ts +2 -0
  124. package/dist/safe-bash-contracts/io.js +1 -1
  125. package/dist/safe-bash-contracts/output.js +2 -2
  126. package/dist/safe-bash-io-engine/commands/search/requirements.js +1 -1
  127. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +1 -1
  128. package/dist/safe-bash-mcp/index.browser.js +11 -1
  129. package/dist/safe-bash-mcp/index.js +35 -16
  130. package/dist/safe-bash-metadata-engine/LICENSE +21 -0
  131. package/dist/safe-bash-metadata-engine/index.d.ts +30 -0
  132. package/dist/safe-bash-metadata-engine/index.js +82 -0
  133. package/dist/safe-bash-metadata-engine/random.d.ts +1 -0
  134. package/dist/safe-bash-metadata-engine/random.js +21 -0
  135. package/dist/safe-bash-regex-engine/index.js +1 -1
  136. package/dist/safe-bash-regex-engine/text/regex.js +1 -1
  137. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  138. package/dist/safe-bash-search-engine/glob.js +2 -2
  139. package/dist/safe-bash-search-engine/grep.js +2 -2
  140. package/dist/safe-bash-search-engine/matcher.js +2 -2
  141. package/dist/safe-bash-search-engine/options.d.ts +2 -0
  142. package/dist/safe-bash-search-engine/options.js +1 -1
  143. package/dist/safe-bash-search-engine/output.js +1 -1
  144. package/dist/safe-bash-search-engine/shared.js +2 -2
  145. package/dist/safe-bash-search-engine/walk.js +3 -3
  146. package/dist/safe-playwright-cloudflare/browser-snapshot-json.js +2 -2
  147. package/dist/safe-playwright-cloudflare/browser-snapshot-references.js +1 -1
  148. package/package.json +31 -5
  149. package/dist/safe-bash/chunks/chunk-VSAJ4OTM.js +0 -962
  150. package/dist/safe-bash/chunks/{chunk-BJA5XNP6.js → chunk-A7XEHALN.js} +3 -3
package/README.md CHANGED
@@ -648,11 +648,13 @@ behaviors; unsetting either variable removes its special behavior.
648
648
 
649
649
  Execution quotas are unlimited by default. Set individual `limits` to opt in;
650
650
  supplying one does not enable other quotas. Available quotas are `maxParseUnits`,
651
- `maxInputBytes`, `maxOutputBytes`, `maxCommands`, `maxFileSystemOperations`,
651
+ `maxInputBytes`, `maxOutputBytes`, `maxPipelineBytes`, `maxCommands`, `maxFileSystemOperations`,
652
652
  `maxPathComponents`, `maxPathnameComponents`, `maxRedirects`, `maxPipelineStages`, `maxLoopIterations`,
653
653
  `maxSubstitutionDepth`, `maxFunctionDepth`, `maxSourceBytes`, `maxExpansionFields`, `maxExpansionBytes`,
654
654
  `maxWallClockMs`, and `maxCpuMs`. The CPU deadline measures elapsed time including
655
- waits at cooperative checkpoints. `pipeHighWaterMark` defaults to 64 KiB for
655
+ waits at cooperative checkpoints. `maxPipelineBytes` counts bytes written across
656
+ all pipeline edges in one invocation, including nested pipelines; terminal output
657
+ does not consume this quota. `pipeHighWaterMark` defaults to 64 KiB for
656
658
  streaming backpressure and does not cap total work. `cloudflareWorkerLimits` is
657
659
  an explicit restrictive preset. Background job quotas (`maxJobs`, `maxWaiters`,
658
660
  `maxCleanupsPerJob`) are also unlimited unless supplied. `maxFunctionDepth` limits
@@ -58800,6 +58800,7 @@ var FastDirectoryEntriesMap = class {
58800
58800
  }
58801
58801
  _rebuild(newCap) {
58802
58802
  this._missKey = "";
58803
+ this._missSlot = -1;
58803
58804
  const newTableLen = newCap * 2;
58804
58805
  const newMask = newTableLen - 1;
58805
58806
  const newTable = newCap <= 16384 ? new Int16Array(newTableLen).fill(-1) : new Int32Array(newTableLen).fill(-1);
@@ -58839,16 +58840,17 @@ var FastDirectoryEntriesMap = class {
58839
58840
  this._next = writeIdx;
58840
58841
  }
58841
58842
  set(k, v) {
58842
- if (k === this._missKey && this._next < this._keys.length) {
58843
+ const missSlot = k === this._missKey ? this._missSlot : -1;
58844
+ this._missKey = "";
58845
+ this._missSlot = -1;
58846
+ if (missSlot >= 0 && (this._table[missSlot] === -1 || this._table[missSlot] === -2) && this._next < this._keys.length) {
58843
58847
  const entryIdx = this._next++;
58844
- this._table[this._missSlot] = entryIdx;
58848
+ this._table[missSlot] = entryIdx;
58845
58849
  this._keys[entryIdx] = k;
58846
58850
  this._vals[entryIdx] = v;
58847
58851
  this.size++;
58848
- this._missKey = "";
58849
58852
  return this;
58850
58853
  }
58851
- this._missKey = "";
58852
58854
  if (this._next >= this._keys.length) {
58853
58855
  this._rebuild(this.size * 2 <= this._keys.length ? this._keys.length : this._keys.length * 2);
58854
58856
  }
@@ -58880,6 +58882,7 @@ var FastDirectoryEntriesMap = class {
58880
58882
  }
58881
58883
  delete(k) {
58882
58884
  this._missKey = "";
58885
+ this._missSlot = -1;
58883
58886
  if (this.size === 0)
58884
58887
  return false;
58885
58888
  let slot = this._hash(k);
@@ -58906,6 +58909,7 @@ var FastDirectoryEntriesMap = class {
58906
58909
  }
58907
58910
  clear() {
58908
58911
  this._missKey = "";
58912
+ this._missSlot = -1;
58909
58913
  if (this._next > 0) {
58910
58914
  this._table.fill(-1);
58911
58915
  for (let i = 0; i < this._next; i++) {
@@ -59541,6 +59545,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59541
59545
  if (alloc.isReleased64()) {
59542
59546
  alloc.detachLedger(DUMMY_POOL_LEDGER);
59543
59547
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedAllocationPoolLen < SHARED_POOL_CAPACITY) {
59548
+ alloc.data.fill(0);
59544
59549
  sharedAllocationPool[sharedAllocationPoolLen++] = alloc;
59545
59550
  } else if (cache.allocations.length < 128) {
59546
59551
  cache.allocations.push(alloc);
@@ -59548,6 +59553,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59548
59553
  } else if (alloc.isReleased65536()) {
59549
59554
  alloc.detachLedger(DUMMY_POOL_LEDGER);
59550
59555
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedLargeAllocationPoolLen < SHARED_LARGE_POOL_CAPACITY) {
59556
+ alloc.data.fill(0);
59551
59557
  sharedLargeAllocationPool[sharedLargeAllocationPoolLen++] = alloc;
59552
59558
  }
59553
59559
  }
@@ -59564,6 +59570,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59564
59570
  cache.lastFastDirNode = void 0;
59565
59571
  }
59566
59572
  if (node.entries.size === 0) {
59573
+ node.entries.clear();
59567
59574
  if (sharedDirectoryNodePoolLen < SHARED_DIR_POOL_CAPACITY) {
59568
59575
  sharedDirectoryNodePool[sharedDirectoryNodePoolLen++] = node;
59569
59576
  } else if (cache.directories.length < 32) {
@@ -59588,11 +59595,13 @@ var MemoryFileSystem = class _MemoryFileSystem {
59588
59595
  if (previous.isReleased64()) {
59589
59596
  previous.detachLedger(DUMMY_POOL_LEDGER);
59590
59597
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedAllocationPoolLen < SHARED_POOL_CAPACITY) {
59598
+ previous.data.fill(0);
59591
59599
  sharedAllocationPool[sharedAllocationPoolLen++] = previous;
59592
59600
  }
59593
59601
  } else if (previous.isReleased65536()) {
59594
59602
  previous.detachLedger(DUMMY_POOL_LEDGER);
59595
59603
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedLargeAllocationPoolLen < SHARED_LARGE_POOL_CAPACITY) {
59604
+ previous.data.fill(0);
59596
59605
  sharedLargeAllocationPool[sharedLargeAllocationPoolLen++] = previous;
59597
59606
  }
59598
59607
  }
@@ -58800,6 +58800,7 @@ var FastDirectoryEntriesMap = class {
58800
58800
  }
58801
58801
  _rebuild(newCap) {
58802
58802
  this._missKey = "";
58803
+ this._missSlot = -1;
58803
58804
  const newTableLen = newCap * 2;
58804
58805
  const newMask = newTableLen - 1;
58805
58806
  const newTable = newCap <= 16384 ? new Int16Array(newTableLen).fill(-1) : new Int32Array(newTableLen).fill(-1);
@@ -58839,16 +58840,17 @@ var FastDirectoryEntriesMap = class {
58839
58840
  this._next = writeIdx;
58840
58841
  }
58841
58842
  set(k, v) {
58842
- if (k === this._missKey && this._next < this._keys.length) {
58843
+ const missSlot = k === this._missKey ? this._missSlot : -1;
58844
+ this._missKey = "";
58845
+ this._missSlot = -1;
58846
+ if (missSlot >= 0 && (this._table[missSlot] === -1 || this._table[missSlot] === -2) && this._next < this._keys.length) {
58843
58847
  const entryIdx = this._next++;
58844
- this._table[this._missSlot] = entryIdx;
58848
+ this._table[missSlot] = entryIdx;
58845
58849
  this._keys[entryIdx] = k;
58846
58850
  this._vals[entryIdx] = v;
58847
58851
  this.size++;
58848
- this._missKey = "";
58849
58852
  return this;
58850
58853
  }
58851
- this._missKey = "";
58852
58854
  if (this._next >= this._keys.length) {
58853
58855
  this._rebuild(this.size * 2 <= this._keys.length ? this._keys.length : this._keys.length * 2);
58854
58856
  }
@@ -58880,6 +58882,7 @@ var FastDirectoryEntriesMap = class {
58880
58882
  }
58881
58883
  delete(k) {
58882
58884
  this._missKey = "";
58885
+ this._missSlot = -1;
58883
58886
  if (this.size === 0)
58884
58887
  return false;
58885
58888
  let slot = this._hash(k);
@@ -58906,6 +58909,7 @@ var FastDirectoryEntriesMap = class {
58906
58909
  }
58907
58910
  clear() {
58908
58911
  this._missKey = "";
58912
+ this._missSlot = -1;
58909
58913
  if (this._next > 0) {
58910
58914
  this._table.fill(-1);
58911
58915
  for (let i = 0; i < this._next; i++) {
@@ -59541,6 +59545,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59541
59545
  if (alloc.isReleased64()) {
59542
59546
  alloc.detachLedger(DUMMY_POOL_LEDGER);
59543
59547
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedAllocationPoolLen < SHARED_POOL_CAPACITY) {
59548
+ alloc.data.fill(0);
59544
59549
  sharedAllocationPool[sharedAllocationPoolLen++] = alloc;
59545
59550
  } else if (cache.allocations.length < 128) {
59546
59551
  cache.allocations.push(alloc);
@@ -59548,6 +59553,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59548
59553
  } else if (alloc.isReleased65536()) {
59549
59554
  alloc.detachLedger(DUMMY_POOL_LEDGER);
59550
59555
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedLargeAllocationPoolLen < SHARED_LARGE_POOL_CAPACITY) {
59556
+ alloc.data.fill(0);
59551
59557
  sharedLargeAllocationPool[sharedLargeAllocationPoolLen++] = alloc;
59552
59558
  }
59553
59559
  }
@@ -59564,6 +59570,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
59564
59570
  cache.lastFastDirNode = void 0;
59565
59571
  }
59566
59572
  if (node.entries.size === 0) {
59573
+ node.entries.clear();
59567
59574
  if (sharedDirectoryNodePoolLen < SHARED_DIR_POOL_CAPACITY) {
59568
59575
  sharedDirectoryNodePool[sharedDirectoryNodePoolLen++] = node;
59569
59576
  } else if (cache.directories.length < 32) {
@@ -59588,11 +59595,13 @@ var MemoryFileSystem = class _MemoryFileSystem {
59588
59595
  if (previous.isReleased64()) {
59589
59596
  previous.detachLedger(DUMMY_POOL_LEDGER);
59590
59597
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedAllocationPoolLen < SHARED_POOL_CAPACITY) {
59598
+ previous.data.fill(0);
59591
59599
  sharedAllocationPool[sharedAllocationPoolLen++] = previous;
59592
59600
  }
59593
59601
  } else if (previous.isReleased65536()) {
59594
59602
  previous.detachLedger(DUMMY_POOL_LEDGER);
59595
59603
  if (this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && sharedLargeAllocationPoolLen < SHARED_LARGE_POOL_CAPACITY) {
59604
+ previous.data.fill(0);
59596
59605
  sharedLargeAllocationPool[sharedLargeAllocationPoolLen++] = previous;
59597
59606
  }
59598
59607
  }
@@ -64,6 +64,7 @@ var cloudflareWorkerLimits = Object.freeze({
64
64
  maxPathnameComponents: 64,
65
65
  maxRedirects: 64,
66
66
  maxPipelineStages: 64,
67
+ maxPipelineBytes: 4 * 1024 * 1024,
67
68
  maxLoopIterations: 1e3,
68
69
  maxSubstitutionDepth: 16,
69
70
  maxFunctionDepth: 16,
@@ -11,7 +11,6 @@ init_platform();
11
11
  import { validatePath, resolvePath, normalizePath, relativePath, isPathWithin, assertPathWithin, basename, dirname, extname, joinPath, isAbsolutePath, posixPath as posixPath2 } from "@poe-platform/safe-fs/core";
12
12
 
13
13
  export {
14
- validatePath,
15
14
  resolvePath,
16
15
  normalizePath,
17
16
  relativePath,
@@ -1,3 +1,6 @@
1
+ import {
2
+ jobsExtension
3
+ } from "./chunk-A7XEHALN.js";
1
4
  import {
2
5
  evalSyncYqPrep,
3
6
  formatSyncYqYamlLines
@@ -8,9 +11,24 @@ import {
8
11
  isIdlePortableTrapInstance
9
12
  } from "./chunk-3NDIFSNM.js";
10
13
  import {
14
+ EreLedger,
15
+ EreProfileLimitError,
16
+ EreSyntaxError,
17
+ EreUnsupportedError,
18
+ compileEre,
19
+ matchEre,
20
+ tryCompileEreSync,
21
+ tryMatchEreSync
22
+ } from "./chunk-6O77NL2S.js";
23
+ import {
24
+ abortManagedController,
25
+ addAbortSignalWaiter,
11
26
  bindFileOutputBudget,
12
27
  clearRgFastRunnerPool,
28
+ combineManagedSignals,
13
29
  createFmtEngine,
30
+ createManagedControlController,
31
+ creationUmask,
14
32
  defaultEchoExecutors,
15
33
  defaultMkdirExecutors,
16
34
  defaultPredicateExecutors,
@@ -35,15 +53,27 @@ import {
35
53
  executionCommands,
36
54
  extractFastPrintfSpecifiers,
37
55
  formatPrintf,
56
+ getRuntimeBackingFileSystem,
57
+ interruptible,
58
+ isManagedAbortSignal,
59
+ isSyncResolved,
38
60
  openFileOutput,
39
61
  parseFmtArguments,
40
62
  printfCommand,
63
+ registerManagedAbortSignal,
64
+ removeAbortSignalWaiter,
41
65
  tryFastEcho,
42
66
  tryFastPredicate,
43
67
  tryFastPrintf,
44
68
  variablePresence,
45
69
  wcDisplayWidth
46
- } from "./chunk-44ALJ4QG.js";
70
+ } from "./chunk-PNBBUWSM.js";
71
+ import {
72
+ evalSyncMdq
73
+ } from "./chunk-OV6IHKO6.js";
74
+ import {
75
+ evalSyncPr
76
+ } from "./chunk-CHYGPFVM.js";
47
77
  import {
48
78
  evalSyncGetopt
49
79
  } from "./chunk-AUSNDQTJ.js";
@@ -53,9 +83,6 @@ import {
53
83
  import {
54
84
  evalSyncLineEndings
55
85
  } from "./chunk-3R3AANOR.js";
56
- import {
57
- evalSyncMdq
58
- } from "./chunk-OV6IHKO6.js";
59
86
  import {
60
87
  evalSyncXmllint,
61
88
  evalSyncXq
@@ -66,21 +93,11 @@ import {
66
93
  writeDiagnostic
67
94
  } from "./chunk-PH63PLPZ.js";
68
95
  import {
69
- evalSyncPr
70
- } from "./chunk-CHYGPFVM.js";
71
- import {
72
- EreLedger,
73
- EreProfileLimitError,
74
- EreSyntaxError,
75
- EreUnsupportedError,
76
- compileEre,
77
- matchEre,
78
- tryCompileEreSync,
79
- tryMatchEreSync
80
- } from "./chunk-6O77NL2S.js";
81
- import {
82
- jobsExtension
83
- } from "./chunk-BJA5XNP6.js";
96
+ bytesToHex,
97
+ compareUtf8,
98
+ latin1Bytes,
99
+ latin1Text
100
+ } from "./chunk-D3ANYGMC.js";
84
101
  import {
85
102
  concatShellValues,
86
103
  shellValueByteLength,
@@ -92,46 +109,6 @@ import {
92
109
  import {
93
110
  openCommandFile
94
111
  } from "./chunk-I5HZ4FGE.js";
95
- import {
96
- CommandRegistry,
97
- commandRuntimeIdentity,
98
- createCommandArguments,
99
- getCommandArguments,
100
- validateExitCode
101
- } from "./chunk-7R5BDCG7.js";
102
- import {
103
- evalSyncTree
104
- } from "./chunk-55YJASTN.js";
105
- import {
106
- evalSyncFile
107
- } from "./chunk-4BSJLKNM.js";
108
- import {
109
- evalSyncHtmlToMarkdown
110
- } from "./chunk-DQP3VHSB.js";
111
- import {
112
- evalSyncDu
113
- } from "./chunk-GEG3BWGE.js";
114
- import {
115
- abortManagedController,
116
- addAbortSignalWaiter,
117
- combineManagedSignals,
118
- createManagedControlController,
119
- creationUmask,
120
- evalSyncStat,
121
- getRuntimeBackingFileSystem,
122
- gnuInformationSync,
123
- interruptible,
124
- isManagedAbortSignal,
125
- isSyncResolved,
126
- registerManagedAbortSignal,
127
- removeAbortSignalWaiter
128
- } from "./chunk-VSAJ4OTM.js";
129
- import {
130
- bytesToHex,
131
- compareUtf8,
132
- latin1Bytes,
133
- latin1Text
134
- } from "./chunk-D3ANYGMC.js";
135
112
  import {
136
113
  FsError,
137
114
  isFsError
@@ -150,7 +127,7 @@ import {
150
127
  runYieldCheckpoint,
151
128
  scheduleTurn,
152
129
  yieldTurn
153
- } from "./chunk-NZQXYWA3.js";
130
+ } from "./chunk-5OHX7C2V.js";
154
131
  import {
155
132
  createBytePipe,
156
133
  outputFailure,
@@ -159,6 +136,28 @@ import {
159
136
  writeBytes,
160
137
  writeText
161
138
  } from "./chunk-74GHTNJA.js";
139
+ import {
140
+ CommandRegistry,
141
+ commandRuntimeIdentity,
142
+ createCommandArguments,
143
+ getCommandArguments,
144
+ validateExitCode
145
+ } from "./chunk-7R5BDCG7.js";
146
+ import {
147
+ evalSyncTree
148
+ } from "./chunk-55YJASTN.js";
149
+ import {
150
+ evalSyncFile
151
+ } from "./chunk-4BSJLKNM.js";
152
+ import {
153
+ evalSyncHtmlToMarkdown
154
+ } from "./chunk-DQP3VHSB.js";
155
+ import {
156
+ evalSyncDu
157
+ } from "./chunk-GEG3BWGE.js";
158
+ import {
159
+ evalSyncStat
160
+ } from "./chunk-VBTDHOWC.js";
162
161
  import {
163
162
  evalSyncTar,
164
163
  evalSyncUnzip,
@@ -9428,6 +9427,12 @@ import { createBaseCommand, evalSyncBase32 } from "../../safe-bash-base-encoding
9428
9427
 
9429
9428
  // packages/safe-bash/src/shell/runtime.ts
9430
9429
  import { evalSyncShuf } from "../../safe-bash-command-shuf/index.js";
9430
+
9431
+ // packages/safe-bash/src/commands/gnu-information.ts
9432
+ init_platform();
9433
+ import { gnuInformation, gnuInformationSync } from "../../safe-bash-io-engine/gnu-information.js";
9434
+
9435
+ // packages/safe-bash/src/shell/runtime.ts
9431
9436
  import { evalSyncDd } from "../../safe-bash-command-dd/index.js";
9432
9437
  import { evalSyncXan } from "../../safe-bash-command-xan/index.js";
9433
9438
 
@@ -13440,6 +13445,7 @@ var defaultLimits = {
13440
13445
  maxPathnameComponents: Infinity,
13441
13446
  maxRedirects: Infinity,
13442
13447
  maxPipelineStages: Infinity,
13448
+ maxPipelineBytes: Infinity,
13443
13449
  maxLoopIterations: Infinity,
13444
13450
  maxSubstitutionDepth: Infinity,
13445
13451
  maxFunctionDepth: Infinity,
@@ -13760,6 +13766,7 @@ function tickSharedWallClockBudgets() {
13760
13766
  }
13761
13767
  }
13762
13768
  var Budget2 = class {
13769
+ pipelineBytes = 0;
13763
13770
  get fileSystemOperations() {
13764
13771
  return this._fileSystemOperations;
13765
13772
  }
@@ -13794,7 +13801,7 @@ var Budget2 = class {
13794
13801
  if (limits.maxRedirects < 1) this.canRedirect1 = false;
13795
13802
  if (limits.maxSourceBytes < 1073741823) this.maxSourceBytesSmi = limits.maxSourceBytes | 0;
13796
13803
  if (limits.maxPipelineStages < 1073741823) this.maxPipelineStagesSmi = limits.maxPipelineStages | 0;
13797
- if (limits.pipeHighWaterMark < 65536) this.canSyncPurePipe = false;
13804
+ if (limits.pipeHighWaterMark < 65536 || limits.maxPipelineBytes !== Infinity) this.canSyncPurePipe = false;
13798
13805
  this.signal = signal ? combineManagedSignals2(signal, this.controller.signal) : this.controller.signal;
13799
13806
  if (signal) inheritYieldCheckpoint(signal, this.signal);
13800
13807
  this.parsing = new ParseBudget(limits.maxParseUnits === Infinity ? void 0 : limits.maxParseUnits, this.signal, this, limits.maxSyntaxDepth);
@@ -13933,6 +13940,14 @@ var Budget2 = class {
13933
13940
  set fsOperations(value) {
13934
13941
  this._fileSystemOperations = value;
13935
13942
  }
13943
+ pipelineInput = (bytes) => {
13944
+ if (this.limits.maxPipelineBytes === Infinity) return;
13945
+ this.assertPipelineInput(bytes);
13946
+ this.pipelineBytes += bytes;
13947
+ };
13948
+ assertPipelineInput(bytes) {
13949
+ if (bytes > this.limits.maxPipelineBytes - this.pipelineBytes) this.fail("maxPipelineBytes");
13950
+ }
13936
13951
  reservePipelineStages(count) {
13937
13952
  this.signal.throwIfAborted();
13938
13953
  if (count > this.limits.maxPipelineStages - this._pipelineStages) this.fail("maxPipelineStages");
@@ -14729,6 +14744,7 @@ var BudgetedPipeStageSink = class {
14729
14744
  return Boolean(w.open && pipe && !pipe.failed && !pipe.signal?.aborted && pipe.readerReferences && (!pipe.writes || pipe.writes.size === 0) && (pipe.availableBytes ?? 0) < (pipe.highWaterMark ?? 0));
14730
14745
  }
14731
14746
  writeSync(chunk) {
14747
+ this.budget.assertPipelineInput(chunk.byteLength);
14732
14748
  this.budget.bytes += chunk.byteLength;
14733
14749
  this.writable.write(chunk);
14734
14750
  if (chunk.byteLength && this.written) this.written.add(this.index);
@@ -20690,7 +20706,7 @@ var Runtime = class _Runtime {
20690
20706
  const n = pipeline.commands.length;
20691
20707
  this.budget.enterPipelineStages(n);
20692
20708
  this.budget.commands += n;
20693
- const pipeOptions = { highWaterMark: this.budget.limits.pipeHighWaterMark, signal: this.signal };
20709
+ const pipeOptions = { highWaterMark: this.budget.limits.pipeHighWaterMark, signal: this.signal, admitWrite: this.budget.pipelineInput };
20694
20710
  const pipes = new Array(n - 1);
20695
20711
  for (let i = 0; i < n - 1; i++) {
20696
20712
  pipes[i] = createBytePipe(pipeOptions);
@@ -28765,7 +28781,8 @@ ${s1}
28765
28781
  }
28766
28782
  for (let index = 1; index < pipeline.commands.length; index++) pipes.push(createBytePipe({
28767
28783
  highWaterMark: this.budget.limits.pipeHighWaterMark,
28768
- signal: this.signal
28784
+ signal: this.signal,
28785
+ admitWrite: this.budget.pipelineInput
28769
28786
  }));
28770
28787
  for (let index = 0; index < pipeline.commands.length; index++) {
28771
28788
  controllers.push(createManagedControlController2());
@@ -43111,6 +43128,8 @@ unsigned int ${ident}_len = ${view.byteLength};
43111
43128
  return true;
43112
43129
  }
43113
43130
  tryFastPureSubstitution(part, state, rawState, io) {
43131
+ if (!cCollation(rawState.variables.LC_ALL || rawState.variables.LC_COLLATE || rawState.variables.LANG || "C")) return void 0;
43132
+ if (this.budget.limits.maxPipelineBytes !== Infinity) return void 0;
43114
43133
  if (this.budget.limits.maxInputBytes !== Infinity) return void 0;
43115
43134
  const cachedInv = this._syncLoopInvariantSubMap?.get(part);
43116
43135
  if (cachedInv !== void 0 && !cachedInv.dynamic) {
@@ -18,9 +18,6 @@ import {
18
18
  import {
19
19
  openCommandFile
20
20
  } from "./chunk-I5HZ4FGE.js";
21
- import {
22
- validateExitCode
23
- } from "./chunk-7R5BDCG7.js";
24
21
  import {
25
22
  FsError
26
23
  } from "./chunk-VTH3MLDU.js";
@@ -29,11 +26,14 @@ import {
29
26
  inheritYieldCheckpoint,
30
27
  resolvePath,
31
28
  yieldTurn
32
- } from "./chunk-NZQXYWA3.js";
29
+ } from "./chunk-5OHX7C2V.js";
33
30
  import {
34
31
  readBytes,
35
32
  writeBytes
36
33
  } from "./chunk-74GHTNJA.js";
34
+ import {
35
+ validateExitCode
36
+ } from "./chunk-7R5BDCG7.js";
37
37
  import {
38
38
  pathOf
39
39
  } from "./chunk-E7OYNDGL.js";
@@ -2,7 +2,7 @@ import {
2
2
  composeAgentCommands,
3
3
  createAgentCommandPlugin,
4
4
  createRegexExecutors
5
- } from "./chunk-NQCM3TYR.js";
5
+ } from "./chunk-RYFQ3LZG.js";
6
6
  import {
7
7
  commandRuntimeIdentity
8
8
  } from "./chunk-7R5BDCG7.js";
@@ -15,7 +15,7 @@ import {
15
15
  posixPath,
16
16
  resolvePath,
17
17
  yieldTurn
18
- } from "./chunk-NZQXYWA3.js";
18
+ } from "./chunk-5OHX7C2V.js";
19
19
  import {
20
20
  readBytes,
21
21
  toByteSource,