@poe-platform/safe-bash 0.1.736 → 0.1.738

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 (31) hide show
  1. package/dist/safe-bash/chunks/{chunk-ZFV5FGGH.js → chunk-E2FTAYLG.js} +15 -16
  2. package/dist/safe-bash/chunks/{chunk-ZFV5FGGH.js.map → chunk-E2FTAYLG.js.map} +2 -2
  3. package/dist/safe-bash/chunks/{chunk-DFNSXDHP.js → chunk-JNHKE26E.js} +2 -2
  4. package/dist/safe-bash/chunks/{chunk-N3RTTKMA.js → chunk-JTKTBT3B.js} +2 -2
  5. package/dist/safe-bash/command-assets/git_rust-NOIGQE52.wasm +0 -0
  6. package/dist/safe-bash/command-chunks/{chunk-L6GGCZOK.js → chunk-5EOMWWKN.js} +16 -15
  7. package/dist/safe-bash/command-chunks/chunk-5EOMWWKN.js.map +7 -0
  8. package/dist/safe-bash/command-chunks/{chunk-YXAPLUY4.js → chunk-WFMUMKBQ.js} +2 -2
  9. package/dist/safe-bash/core.browser.js +928 -218
  10. package/dist/safe-bash/core.browser.js.map +3 -3
  11. package/dist/safe-bash/shell/arithmetic.d.ts.map +1 -1
  12. package/dist/safe-bash/shell/arithmetic.js +10 -1
  13. package/dist/safe-bash/shell/arithmetic.js.map +1 -1
  14. package/dist/safe-bash/shell/getopts.d.ts +1 -0
  15. package/dist/safe-bash/shell/getopts.d.ts.map +1 -1
  16. package/dist/safe-bash/shell/getopts.js +71 -0
  17. package/dist/safe-bash/shell/getopts.js.map +1 -1
  18. package/dist/safe-bash/shell/runtime.d.ts +5 -0
  19. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  20. package/dist/safe-bash/shell/runtime.js +1043 -247
  21. package/dist/safe-bash/shell/runtime.js.map +1 -1
  22. package/dist/safe-bash-command-git/index.js +1 -1
  23. package/dist/safe-bash-regex-engine/index.js +2 -2
  24. package/dist/safe-bash-regex-engine/text/regex.js +2 -2
  25. package/dist/safe-bash-regex-engine/text/replacement-buffer.js +1 -1
  26. package/package.json +2 -2
  27. package/dist/safe-bash/command-assets/git_rust-VC5UCZXR.wasm +0 -0
  28. package/dist/safe-bash/command-chunks/chunk-L6GGCZOK.js.map +0 -7
  29. /package/dist/safe-bash/chunks/{chunk-DFNSXDHP.js.map → chunk-JNHKE26E.js.map} +0 -0
  30. /package/dist/safe-bash/chunks/{chunk-N3RTTKMA.js.map → chunk-JTKTBT3B.js.map} +0 -0
  31. /package/dist/safe-bash/command-chunks/{chunk-YXAPLUY4.js.map → chunk-WFMUMKBQ.js.map} +0 -0
@@ -15,7 +15,7 @@ import {
15
15
  put,
16
16
  utf8ByteLength,
17
17
  wellFormed
18
- } from "./chunk-ZFV5FGGH.js";
18
+ } from "./chunk-E2FTAYLG.js";
19
19
  import {
20
20
  path_exports
21
21
  } from "./chunk-JHW43QIT.js";
@@ -3742,4 +3742,4 @@ export {
3742
3742
  createYqCommands,
3743
3743
  yqCommands
3744
3744
  };
3745
- //# sourceMappingURL=chunk-DFNSXDHP.js.map
3745
+ //# sourceMappingURL=chunk-JNHKE26E.js.map
@@ -22,7 +22,7 @@ import {
22
22
  tryProcessFlatSelectProjectChunkSync,
23
23
  tryWriteCompactSync,
24
24
  wellFormed
25
- } from "./chunk-ZFV5FGGH.js";
25
+ } from "./chunk-E2FTAYLG.js";
26
26
  import {
27
27
  shellValueByteLength,
28
28
  value_exports
@@ -2526,4 +2526,4 @@ export {
2526
2526
  createXmlCommands,
2527
2527
  xmlCommands
2528
2528
  };
2529
- //# sourceMappingURL=chunk-N3RTTKMA.js.map
2529
+ //# sourceMappingURL=chunk-JTKTBT3B.js.map
@@ -12,7 +12,6 @@ var ReplacementBuffer = class {
12
12
  #segments = [];
13
13
  #size = 0;
14
14
  #allocated = 0;
15
- #tailUsed = 0;
16
15
  #unboundedText = "";
17
16
  constructor(budget) {
18
17
  this.budget = budget;
@@ -43,21 +42,24 @@ var ReplacementBuffer = class {
43
42
  let offset = start;
44
43
  while (offset < end) {
45
44
  await this.budget.checkpoint();
46
- let tail = this.#segments.at(-1);
47
- const available = tail ? tail.length - this.#tailUsed : 0;
48
- const capacity = Math.min(1024, this.budget.maxBufferBytes - this.#allocated);
49
- const length = Math.min(end - offset, available || capacity);
50
- this.budget.step(length);
51
- if (!available) {
45
+ this.budget.step();
46
+ const width = source.charCodeAt(offset) <= 255 ? 1 : 2;
47
+ let length = 1;
48
+ while (length < 1024 && offset + length < end) {
52
49
  this.budget.step();
53
- tail = new Uint16Array(capacity);
54
- this.#segments.push(tail);
55
- this.#allocated += capacity;
56
- this.#tailUsed = 0;
50
+ if ((source.charCodeAt(offset + length) <= 255 ? 1 : 2) !== width)
51
+ break;
52
+ length++;
57
53
  }
54
+ const bytes = length * width;
55
+ if (bytes > this.budget.maxBufferBytes - this.#allocated)
56
+ throw new ProgramError("text buffer limit exceeded");
57
+ this.budget.step(length + 1);
58
+ const segment = width === 1 ? new Uint8Array(length) : new Uint16Array(length);
58
59
  for (let index = 0; index < length; index++)
59
- tail[this.#tailUsed + index] = source.charCodeAt(offset + index);
60
- this.#tailUsed += length;
60
+ segment[index] = source.charCodeAt(offset + index);
61
+ this.#segments.push(segment);
62
+ this.#allocated += segment.byteLength;
61
63
  this.#size += length;
62
64
  offset += length;
63
65
  }
@@ -100,7 +102,6 @@ var ReplacementBuffer = class {
100
102
  this.#segments = [];
101
103
  this.#size = 0;
102
104
  this.#allocated = 0;
103
- this.#tailUsed = 0;
104
105
  this.#unboundedText = "";
105
106
  }
106
107
  };
@@ -108,4 +109,4 @@ var ReplacementBuffer = class {
108
109
  export {
109
110
  ReplacementBuffer
110
111
  };
111
- //# sourceMappingURL=chunk-L6GGCZOK.js.map
112
+ //# sourceMappingURL=chunk-5EOMWWKN.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../safe-bash-regex-engine/dist/text/replacement-buffer.js"],
4
+ "sourcesContent": ["import { ProgramError } from \"./budget.js\";\nexport class ReplacementBuffer {\n budget;\n #segments = [];\n #size = 0;\n #allocated = 0;\n #unboundedText = \"\";\n constructor(budget) {\n this.budget = budget;\n }\n get remaining() { return this.budget.maxBufferBytes - this.#size; }\n admit(length) {\n this.budget.step(0);\n if (!Number.isSafeInteger(length) || length < 0 || length > this.remaining)\n throw new ProgramError(\"text buffer limit exceeded\");\n }\n async append(source, start = 0, end = source.length) {\n this.admit(end - start);\n if (this.budget.maxBufferBytes === Infinity) {\n let offset = start;\n while (offset < end) {\n await this.budget.checkpoint();\n const length = Math.min(end - offset, 1024);\n this.budget.step(length);\n this.budget.step();\n this.#unboundedText += offset === 0 && length === source.length ? source : source.slice(offset, offset + length);\n this.#size += length;\n offset += length;\n }\n return;\n }\n let offset = start;\n while (offset < end) {\n await this.budget.checkpoint();\n this.budget.step();\n const width = source.charCodeAt(offset) <= 255 ? 1 : 2;\n let length = 1;\n while (length < 1024 && offset + length < end) {\n this.budget.step();\n if ((source.charCodeAt(offset + length) <= 255 ? 1 : 2) !== width)\n break;\n length++;\n }\n // Exact width runs avoid reserving unused bytes when Latin1 and wide\n // UTF-16 units alternate. Wide units, including lone surrogates, cost two\n // backing bytes even though admit()/remaining count logical units.\n const bytes = length * width;\n if (bytes > this.budget.maxBufferBytes - this.#allocated)\n throw new ProgramError(\"text buffer limit exceeded\");\n this.budget.step(length + 1);\n const segment = width === 1 ? new Uint8Array(length) : new Uint16Array(length);\n for (let index = 0; index < length; index++)\n segment[index] = source.charCodeAt(offset + index);\n this.#segments.push(segment);\n this.#allocated += segment.byteLength;\n this.#size += length;\n offset += length;\n }\n }\n async finish() {\n this.budget.step(0);\n if (!this.#size)\n return \"\";\n this.budget.step(this.#size);\n await this.budget.checkpoint();\n this.budget.step(0);\n if (this.budget.maxBufferBytes === Infinity) {\n const text = this.#unboundedText;\n this.clear();\n return text;\n }\n if (this.#segments.length === 1) {\n const text = String.fromCharCode(...this.#segments[0].subarray(0, this.#size));\n this.clear();\n return text;\n }\n this.budget.step(this.#size);\n if (this.#allocated > this.budget.maxBufferBytes || this.#size > this.budget.maxBufferBytes)\n throw new ProgramError(\"text buffer limit exceeded\");\n const parts = [];\n let offset = 0;\n for (const segment of this.#segments) {\n await this.budget.checkpoint();\n this.budget.step(0);\n const length = Math.min(segment.length, this.#size - offset);\n parts.push(String.fromCharCode(...segment.subarray(0, length)));\n offset += length;\n }\n this.clear();\n await this.budget.checkpoint();\n this.budget.step(0);\n return parts.join(\"\");\n }\n clear() {\n this.#segments = [];\n this.#size = 0;\n this.#allocated = 0;\n this.#unboundedText = \"\";\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["offset"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ReplacementBuffer
3
- } from "./chunk-L6GGCZOK.js";
3
+ } from "./chunk-5EOMWWKN.js";
4
4
  import {
5
5
  ProgramError
6
6
  } from "./chunk-43XD6W27.js";
@@ -2437,4 +2437,4 @@ export {
2437
2437
  trySubstitutePairToBufferSync,
2438
2438
  trySubstitutePairBatchToBufferSync
2439
2439
  };
2440
- //# sourceMappingURL=chunk-YXAPLUY4.js.map
2440
+ //# sourceMappingURL=chunk-WFMUMKBQ.js.map