@poe-platform/safe-bash 0.1.535 → 0.1.536

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 (42) hide show
  1. package/dist/safe-bash/chunks/chunk-FRSZDCZA.js +1236 -0
  2. package/dist/safe-bash/chunks/chunk-FRSZDCZA.js.map +7 -0
  3. package/dist/safe-bash/commands/pr/command.d.ts +4 -0
  4. package/dist/safe-bash/commands/pr/command.d.ts.map +1 -0
  5. package/dist/safe-bash/commands/pr/command.js +117 -0
  6. package/dist/safe-bash/commands/pr/command.js.map +1 -0
  7. package/dist/safe-bash/commands/pr/format.d.ts +52 -0
  8. package/dist/safe-bash/commands/pr/format.d.ts.map +1 -0
  9. package/dist/safe-bash/commands/pr/format.js +527 -0
  10. package/dist/safe-bash/commands/pr/format.js.map +1 -0
  11. package/dist/safe-bash/commands/pr/index.browser.js +13 -0
  12. package/dist/safe-bash/commands/pr/index.browser.js.map +7 -0
  13. package/dist/safe-bash/commands/pr/index.d.ts +7 -0
  14. package/dist/safe-bash/commands/pr/index.d.ts.map +1 -0
  15. package/dist/safe-bash/commands/pr/index.js +13 -0
  16. package/dist/safe-bash/commands/pr/index.js.map +1 -0
  17. package/dist/safe-bash/commands/pr/internal.d.ts +61 -0
  18. package/dist/safe-bash/commands/pr/internal.d.ts.map +1 -0
  19. package/dist/safe-bash/commands/pr/internal.js +181 -0
  20. package/dist/safe-bash/commands/pr/internal.js.map +1 -0
  21. package/dist/safe-bash/commands/pr/io.d.ts +37 -0
  22. package/dist/safe-bash/commands/pr/io.d.ts.map +1 -0
  23. package/dist/safe-bash/commands/pr/io.js +210 -0
  24. package/dist/safe-bash/commands/pr/io.js.map +1 -0
  25. package/dist/safe-bash/commands/pr/options.d.ts +36 -0
  26. package/dist/safe-bash/commands/pr/options.d.ts.map +1 -0
  27. package/dist/safe-bash/commands/pr/options.js +250 -0
  28. package/dist/safe-bash/commands/pr/options.js.map +1 -0
  29. package/dist/safe-bash/core.browser.js +36 -5
  30. package/dist/safe-bash/core.browser.js.map +3 -3
  31. package/dist/safe-bash/core.d.ts +1 -0
  32. package/dist/safe-bash/core.d.ts.map +1 -1
  33. package/dist/safe-bash/core.js +1 -0
  34. package/dist/safe-bash/core.js.map +1 -1
  35. package/dist/safe-bash/plugins/composition.d.ts +2 -0
  36. package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
  37. package/dist/safe-bash/plugins/composition.js +5 -1
  38. package/dist/safe-bash/plugins/composition.js.map +1 -1
  39. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  40. package/dist/safe-bash/shell/runtime.js +28 -3
  41. package/dist/safe-bash/shell/runtime.js.map +1 -1
  42. package/package.json +8 -2
@@ -0,0 +1,250 @@
1
+ import { Budget, PrError, quote } from "./internal.js";
2
+ function digit(value) { return value >= "0" && value <= "9"; }
3
+ function integer(value, minimum, label) {
4
+ let offset = 0;
5
+ while (" \t\r\n\v\f".includes(value[offset] ?? "!") && offset < value.length)
6
+ offset++;
7
+ if (value[offset] === "+" || value[offset] === "-")
8
+ offset++;
9
+ const start = offset;
10
+ while (offset < value.length && digit(value[offset]))
11
+ offset++;
12
+ if (offset !== value.length || offset === start)
13
+ throw new PrError(`${label}: ${quote(value)}`);
14
+ const result = Number(value);
15
+ if (result < minimum || result > 2147483647 || !Number.isSafeInteger(result))
16
+ throw new PrError(`${label}: ${quote(value)}: Numerical result out of range`);
17
+ return result;
18
+ }
19
+ export function parseOptions(args, budget) {
20
+ const options = {
21
+ files: [], columns: 1, explicitColumns: false, merge: false, across: false,
22
+ length: 66, width: 72, header: undefined, extremities: true, keepFF: false,
23
+ formFeed: false, numbered: false, digits: 5, numberSeparator: "\t", startNumber: 1,
24
+ separator: "", useSeparator: false, truncate: false, join: false, doubleSpace: false,
25
+ margin: 0, expand: false, tabify: false, inputTab: "\t", inputTabWidth: 8,
26
+ outputTab: "\t", outputTabWidth: 8, control: false, octal: false, quiet: false, information: undefined,
27
+ };
28
+ const long = {
29
+ columns: "#", across: "a", "show-control-chars": "c", "double-space": "d", "expand-tabs": "e",
30
+ "form-feed": "f", header: "h", "output-tabs": "i", "join-lines": "J", length: "l", merge: "m",
31
+ "number-lines": "n", "first-line-number": "N", indent: "o", "no-file-warnings": "r", separator: "s",
32
+ "sep-string": "S", "omit-header": "t", "omit-pagination": "T", "show-nonprinting": "v", width: "w", "page-width": "W",
33
+ };
34
+ let oldWidth = false, oldSeparator = false, oldOptions = false, stop = false;
35
+ let columnDigits;
36
+ let accumulating = false;
37
+ for (let index = 0; index < args.length; index++) {
38
+ const argument = args[index];
39
+ budget.charge(argument.length);
40
+ if (stop) {
41
+ options.files.push(argument);
42
+ continue;
43
+ }
44
+ if (argument === "--") {
45
+ stop = true;
46
+ continue;
47
+ }
48
+ if (argument === "--help" || argument === "--version") {
49
+ options.information = argument === "--help" ? "help" : "version";
50
+ return options;
51
+ }
52
+ if (!argument.startsWith("-") || argument === "-") {
53
+ accumulating = false;
54
+ options.files.push(argument);
55
+ continue;
56
+ }
57
+ const isLong = argument.startsWith("--");
58
+ let switches = argument.slice(1), attached;
59
+ if (isLong) {
60
+ const equal = argument.indexOf("=");
61
+ const name = argument.slice(2, equal < 0 ? undefined : equal);
62
+ const candidates = Object.keys(long).filter(candidate => candidate.startsWith(name));
63
+ if (!Object.hasOwn(long, name) && candidates.length > 1)
64
+ throw new PrError(`option ${quote(argument)} is ambiguous; possibilities:${candidates.map(candidate => ` '--${candidate}'`).join("")}`, true);
65
+ switches = long[name] ?? (candidates.length === 1 ? long[candidates[0]] : undefined) ?? "";
66
+ if (!switches)
67
+ throw new PrError(`unrecognized option ${quote(argument)}`, true);
68
+ if (equal >= 0)
69
+ attached = argument.slice(equal + 1);
70
+ }
71
+ for (let offset = 0; offset < switches.length; offset++) {
72
+ const option = switches[offset];
73
+ if (digit(option)) {
74
+ columnDigits = (accumulating ? columnDigits ?? "" : "") + option;
75
+ accumulating = true;
76
+ continue;
77
+ }
78
+ accumulating = false;
79
+ const required = "#hlwWNo".includes(option);
80
+ const optional = "nseiS".includes(option);
81
+ let value = attached;
82
+ if (required || optional) {
83
+ if (!isLong && offset + 1 < switches.length)
84
+ value = switches.slice(offset + 1);
85
+ if (required && value === undefined) {
86
+ value = args[++index];
87
+ if (value === undefined)
88
+ throw new PrError(isLong ? `option ${quote(argument)} requires an argument` : `option requires an argument -- '${option}'`, true);
89
+ }
90
+ offset = switches.length;
91
+ }
92
+ else if (attached !== undefined)
93
+ throw new PrError(`option ${quote(argument.slice(0, argument.indexOf("=")))} doesn't allow an argument`, true);
94
+ switch (option) {
95
+ case "#":
96
+ options.columns = integer(value, 1, "invalid number of columns");
97
+ options.explicitColumns = true;
98
+ columnDigits = undefined;
99
+ break;
100
+ case "h":
101
+ options.header = value;
102
+ break;
103
+ case "l":
104
+ options.length = integer(value, 1, "'-l PAGE_LENGTH' invalid number of lines");
105
+ break;
106
+ case "w":
107
+ oldWidth = true;
108
+ oldOptions = true;
109
+ {
110
+ const width = integer(value, 1, "'-w PAGE_WIDTH' invalid number of characters");
111
+ if (!options.truncate)
112
+ options.width = width;
113
+ }
114
+ break;
115
+ case "W":
116
+ oldWidth = false;
117
+ options.truncate = true;
118
+ options.width = integer(value, 1, "'-W PAGE_WIDTH' invalid number of characters");
119
+ break;
120
+ case "m":
121
+ options.merge = true;
122
+ break;
123
+ case "a":
124
+ options.across = true;
125
+ break;
126
+ case "b": break;
127
+ case "d":
128
+ options.doubleSpace = true;
129
+ break;
130
+ case "f":
131
+ case "F":
132
+ options.formFeed = true;
133
+ break;
134
+ case "J":
135
+ options.join = true;
136
+ break;
137
+ case "N":
138
+ options.startNumber = integer(value, -2147483648, "'-N NUMBER' invalid starting line number");
139
+ break;
140
+ case "o":
141
+ options.margin = integer(value, 0, "'-o MARGIN' invalid line offset");
142
+ break;
143
+ case "r":
144
+ options.quiet = true;
145
+ break;
146
+ case "s":
147
+ oldOptions = true;
148
+ oldSeparator = true;
149
+ if (!options.useSeparator && value !== undefined)
150
+ options.separator = value;
151
+ break;
152
+ case "S":
153
+ oldSeparator = false;
154
+ options.useSeparator = true;
155
+ options.separator = value ?? "";
156
+ break;
157
+ case "t":
158
+ options.extremities = false;
159
+ options.keepFF = true;
160
+ break;
161
+ case "T":
162
+ options.extremities = false;
163
+ options.keepFF = false;
164
+ break;
165
+ case "c":
166
+ options.control = true;
167
+ break;
168
+ case "v":
169
+ options.octal = true;
170
+ break;
171
+ case "n":
172
+ case "e":
173
+ case "i": {
174
+ if (option === "n")
175
+ options.numbered = true;
176
+ if (option === "e")
177
+ options.expand = true;
178
+ if (option === "i")
179
+ options.tabify = true;
180
+ if (value === undefined || !value.length)
181
+ break;
182
+ let character;
183
+ if (!digit(value[0])) {
184
+ character = value[0];
185
+ value = value.slice(1);
186
+ }
187
+ let count;
188
+ if (value.length) {
189
+ try {
190
+ count = integer(value, 1, "invalid number");
191
+ }
192
+ catch {
193
+ throw new PrError(`'-${option}' extra characters or invalid number in the argument: ${quote(value)}${Number(value) > 2147483647 ? ": Value too large for defined data type" : ""}`, true);
194
+ }
195
+ }
196
+ if (option === "n") {
197
+ options.numberSeparator = character ?? options.numberSeparator;
198
+ options.digits = count ?? options.digits;
199
+ }
200
+ if (option === "e") {
201
+ options.inputTab = character ?? options.inputTab;
202
+ options.inputTabWidth = count ?? options.inputTabWidth;
203
+ }
204
+ if (option === "i") {
205
+ options.outputTab = character ?? options.outputTab;
206
+ options.outputTabWidth = count ?? options.outputTabWidth;
207
+ }
208
+ break;
209
+ }
210
+ default: throw new PrError(`invalid option -- '${option}'`, true);
211
+ }
212
+ }
213
+ }
214
+ if (columnDigits !== undefined) {
215
+ options.columns = integer(columnDigits, 1, "invalid number of columns");
216
+ options.explicitColumns = true;
217
+ }
218
+ if (options.merge && options.explicitColumns)
219
+ throw new PrError("cannot specify number of columns when printing in parallel");
220
+ if (options.merge && options.across)
221
+ throw new PrError("cannot specify both printing across and printing in parallel");
222
+ if (oldOptions) {
223
+ if (oldWidth) {
224
+ if (options.merge || options.explicitColumns) {
225
+ options.truncate = true;
226
+ if (oldSeparator)
227
+ options.useSeparator = true;
228
+ }
229
+ else
230
+ options.join = true;
231
+ }
232
+ else if (!options.useSeparator && oldSeparator && (options.merge || options.explicitColumns)) {
233
+ if (!options.truncate) {
234
+ options.join = true;
235
+ if (options.separator.length)
236
+ options.useSeparator = true;
237
+ }
238
+ else
239
+ options.useSeparator = true;
240
+ }
241
+ }
242
+ const { limits } = budget;
243
+ budget.check(options.files.length, limits.maxFiles, "input files");
244
+ budget.check(options.merge ? Math.max(1, options.files.length) : options.columns, limits.maxColumns, "columns");
245
+ budget.check(options.length, limits.maxPageLines, "page lines");
246
+ for (const width of [options.width, options.margin, options.digits, options.inputTabWidth, options.outputTabWidth])
247
+ budget.check(width, limits.maxPageWidth, "page width");
248
+ return options;
249
+ }
250
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/pr/options.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,11 @@ import {
97
97
  openFileOutput,
98
98
  writeFileOutput
99
99
  } from "./chunks/chunk-QY2XHZTE.js";
100
+ import {
101
+ createPrCommand,
102
+ createPrCommands,
103
+ prCommands
104
+ } from "./chunks/chunk-FRSZDCZA.js";
100
105
  import {
101
106
  createOutputOperation
102
107
  } from "./chunks/chunk-PPVCI2F2.js";
@@ -36223,6 +36228,9 @@ function composeAgentCommands(options2, executors) {
36223
36228
  const grep = createGrepCommands(executors.grep);
36224
36229
  const exprLimits = options2.expr?.limits;
36225
36230
  const csplitLimits = options2.csplit?.limits;
36231
+ const prOptions = options2.pr;
36232
+ const prLimits = prOptions?.limits;
36233
+ const prClock = prOptions?.clock;
36226
36234
  const whichLimits = options2.which?.limits;
36227
36235
  const timeoutOptions = options2.timeout;
36228
36236
  const applyPatchLimits = options2.applyPatch?.limits;
@@ -36256,7 +36264,8 @@ function composeAgentCommands(options2, executors) {
36256
36264
  }),
36257
36265
  ...createApplyPatchCommands(applyPatchLimits === void 0 ? {} : { limits: applyPatchLimits }),
36258
36266
  ...createXmlCommands(xmlLimits === void 0 ? {} : { limits: xmlLimits }),
36259
- createCsplitCommandWithExecutor(executors.csplit, csplitLimits === void 0 ? {} : { limits: csplitLimits })
36267
+ createCsplitCommandWithExecutor(executors.csplit, csplitLimits === void 0 ? {} : { limits: csplitLimits }),
36268
+ ...createPrCommands({ ...prLimits === void 0 ? {} : { limits: prLimits }, ...prClock === void 0 ? {} : { clock: prClock } })
36260
36269
  );
36261
36270
  return new CommandRegistry(commands).list();
36262
36271
  }
@@ -41557,8 +41566,18 @@ var Budget25 = class {
41557
41566
  signal.throwIfAborted();
41558
41567
  if (!(chunk instanceof Uint8Array)) throw new TypeError("Shell output must be Uint8Array");
41559
41568
  if (chunk.byteLength > this.limits.maxOutputBytes - this.bytes) this.fail("maxOutputBytes");
41560
- this.bytes += chunk.byteLength;
41561
- await interruptible3(sink.ownedOutput.write(chunk), signal);
41569
+ try {
41570
+ const capability = sink.ownedOutput;
41571
+ const write2 = capability.write;
41572
+ signal.throwIfAborted();
41573
+ if (chunk.byteLength > this.limits.maxOutputBytes - this.bytes) this.fail("maxOutputBytes");
41574
+ this.bytes += chunk.byteLength;
41575
+ await Reflect.apply(write2, capability, [chunk]);
41576
+ } catch (error) {
41577
+ signal.throwIfAborted();
41578
+ throw error;
41579
+ }
41580
+ signal.throwIfAborted();
41562
41581
  }
41563
41582
  } } : {},
41564
41583
  write: async (chunk) => {
@@ -41726,7 +41745,16 @@ function signalSink(sink, signal) {
41726
41745
  consumerClosed: sink.ownedOutput.consumerClosed,
41727
41746
  async write(chunk) {
41728
41747
  signal.throwIfAborted();
41729
- await interruptible3(sink.ownedOutput.write(chunk), signal);
41748
+ try {
41749
+ const capability = sink.ownedOutput;
41750
+ const write3 = capability.write;
41751
+ signal.throwIfAborted();
41752
+ await Reflect.apply(write3, capability, [chunk]);
41753
+ } catch (error) {
41754
+ signal.throwIfAborted();
41755
+ throw error;
41756
+ }
41757
+ signal.throwIfAborted();
41730
41758
  }
41731
41759
  } } : {},
41732
41760
  async write(chunk) {
@@ -48532,7 +48560,7 @@ init_platform();
48532
48560
  // packages/safe-js/dist/browser/safe-fs.js
48533
48561
  init_platform();
48534
48562
 
48535
- // packages/safe-js/dist/browser/chunks/chunk-3EJ7BQOJ.js
48563
+ // packages/safe-js/dist/browser/chunks/chunk-HG5OAL4N.js
48536
48564
  init_platform();
48537
48565
  var platform = Object.freeze({
48538
48566
  errno(_code) {
@@ -52362,6 +52390,8 @@ export {
52362
52390
  createOriginAuthorizer,
52363
52391
  createOutputOperation,
52364
52392
  createOverlayFileSystem2 as createOverlayFileSystem,
52393
+ createPrCommand,
52394
+ createPrCommands,
52365
52395
  createReadOnlyFileSystem2 as createReadOnlyFileSystem,
52366
52396
  createSafeJsCommands,
52367
52397
  createSearchCommands,
@@ -52420,6 +52450,7 @@ export {
52420
52450
  pipeBytes,
52421
52451
  portableSearchCommands,
52422
52452
  posixPath3 as posixPath,
52453
+ prCommands,
52423
52454
  readBytes,
52424
52455
  relativePath3 as relativePath,
52425
52456
  resolvePath3 as resolvePath,