poe-code 14.0.15 → 14.0.17

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "14.0.15",
3
+ "version": "14.0.17",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/network/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGvG,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAapF;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB3I;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/I;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAiBnG"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/network/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGhH,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAapF;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3I;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/I;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAiBnG"}
@@ -1,4 +1,4 @@
1
- import { readBytes, writeBytes } from "../../contracts/index.js";
1
+ import { FsError, readBytes, writeBytes } from "../../contracts/index.js";
2
2
  import { pathOf } from "../internal.js";
3
3
  import { encode, withSignal } from "./shared.js";
4
4
  import { CurlError } from "./types.js";
@@ -34,13 +34,26 @@ export async function writeOutput(context, path, source, signal) {
34
34
  }
35
35
  try {
36
36
  const target = pathOf(context, path);
37
- if (context.fs.writeStream)
38
- await withSignal(() => context.fs.writeStream(target, source, { signal, flag: "w" }), signal);
39
- else {
40
- await withSignal(() => context.fs.writeFile(target, new Uint8Array(), { signal, flag: "w" }), signal);
41
- for await (const chunk of readBytes(source, signal))
42
- await withSignal(() => context.fs.appendFile(target, chunk, { signal }), signal);
37
+ if (context.fs.capabilities.streamingWrite !== false && context.fs.writeStream) {
38
+ let acquired = false;
39
+ const observed = {
40
+ [Symbol.asyncIterator]() {
41
+ acquired = true;
42
+ return source[Symbol.asyncIterator]();
43
+ }
44
+ };
45
+ try {
46
+ await withSignal(() => context.fs.writeStream(target, observed, { signal, flag: "w" }), signal);
47
+ return;
48
+ }
49
+ catch (error) {
50
+ if (acquired || !(error instanceof FsError) || error.code !== "ENOTSUP")
51
+ throw error;
52
+ }
43
53
  }
54
+ await withSignal(() => context.fs.writeFile(target, new Uint8Array(), { signal, flag: "w" }), signal);
55
+ for await (const chunk of readBytes(source, signal))
56
+ await withSignal(() => context.fs.appendFile(target, chunk, { signal }), signal);
44
57
  }
45
58
  catch (error) {
46
59
  signal.throwIfAborted();
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/commands/network/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/commands/network/output.ts"],"names":[],"mappings":"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"}
@@ -6380,11 +6380,15 @@ function createLiveHostObject(definition, controller) {
6380
6380
  if (input.named !== void 0) {
6381
6381
  const data = readDataRecord(input.named, "Named host capability");
6382
6382
  if (Object.keys(data).some(
6383
- (key) => !["keys", "get", "maxKeys", "maxKeyCodeUnits", "enumerable"].includes(key)
6383
+ (key) => !["keys", "get", "set", "delete", "maxKeys", "maxKeyCodeUnits", "enumerable"].includes(key)
6384
6384
  ))
6385
6385
  throw new TypeError("Unknown named host capability field.");
6386
- if (typeof data.keys !== "function" || typeof data.get !== "function")
6387
- throw new TypeError("Named keys and get must be synchronous functions.");
6386
+ for (const name of ["keys", "get", "set", "delete"]) {
6387
+ const operation = data[name];
6388
+ if (operation === void 0 && (name === "set" || name === "delete")) continue;
6389
+ if (typeof operation !== "function" || types3.isProxy(operation) || types3.isAsyncFunction(operation) || types3.isGeneratorFunction(operation))
6390
+ throw new TypeError(`Named ${name} must be a synchronous non-generator function, not a proxy.`);
6391
+ }
6388
6392
  if (typeof data.maxKeys !== "number" || !Number.isInteger(data.maxKeys) || data.maxKeys < 1 || data.maxKeys > MAX_NAMED_KEYS)
6389
6393
  throw new RangeError(`Named maxKeys must be an integer from 1 to ${MAX_NAMED_KEYS}.`);
6390
6394
  if (typeof data.maxKeyCodeUnits !== "number" || !Number.isInteger(data.maxKeyCodeUnits) || data.maxKeyCodeUnits < 1 || data.maxKeyCodeUnits > MAX_NAMED_KEY_CODE_UNITS)
@@ -6396,6 +6400,8 @@ function createLiveHostObject(definition, controller) {
6396
6400
  named = {
6397
6401
  keys: data.keys,
6398
6402
  get: data.get,
6403
+ set: data.set,
6404
+ delete: data.delete,
6399
6405
  maxKeys: data.maxKeys,
6400
6406
  maxKeyCodeUnits: data.maxKeyCodeUnits,
6401
6407
  enumerable: data.enumerable
@@ -6519,8 +6525,28 @@ function setHostObjectMember(value, key, entry) {
6519
6525
  state.controller.assertActive();
6520
6526
  state.controller.chargeWork();
6521
6527
  const property = state.properties.get(key);
6522
- if (property?.set === void 0) throw new TypeError(`Host property '${key}' is not writable.`);
6523
- state.controller.write(property.set, entry);
6528
+ if (property !== void 0) {
6529
+ if (property.set === void 0) throw new TypeError(`Host property '${key}' is not writable.`);
6530
+ state.controller.write(property.set, entry);
6531
+ return;
6532
+ }
6533
+ if (state.named?.set === void 0) throw new TypeError(`Host property '${key}' is not writable.`);
6534
+ namedMutationKeys(state, key, true);
6535
+ state.controller.write((value2) => state.named.set(key, value2), entry);
6536
+ namedKeys(state);
6537
+ }
6538
+ function deleteHostObjectMember(value, key) {
6539
+ const state = guestObjects.get(value);
6540
+ state.controller.assertActive();
6541
+ state.controller.chargeWork();
6542
+ if (state.named?.delete === void 0) throw new TypeError("Live host properties cannot be deleted.");
6543
+ if (!namedMutationKeys(state, key, false).includes(key)) return true;
6544
+ const deleted = state.controller.read(() => state.named.delete(key), (result) => {
6545
+ if (typeof result !== "boolean") throw new TypeError("Named delete must return a boolean.");
6546
+ return result;
6547
+ });
6548
+ namedKeys(state);
6549
+ return deleted;
6524
6550
  }
6525
6551
  function getHostObjectKeys(value) {
6526
6552
  const state = guestObjects.get(value);
@@ -6591,6 +6617,27 @@ function canonicalIndex(key) {
6591
6617
  const index = Number(key);
6592
6618
  return Number.isInteger(index) && index >= 0 && index < 4294967295 && String(index) === key ? index : void 0;
6593
6619
  }
6620
+ function namedMutationKeys(state, key, create) {
6621
+ state.controller.chargeWork(key.length);
6622
+ state.controller.checkString(key);
6623
+ if (["constructor", "prototype", "__proto__"].includes(key) || state.properties.has(key) || state.methods.has(key) || state.indexed !== void 0 && (key === "length" || canonicalIndex(key) !== void 0))
6624
+ throw new TypeError(`Host member '${key}' is protected from named mutation.`);
6625
+ const named = state.named;
6626
+ if (key.length > named.maxKeyCodeUnits)
6627
+ throw new RangeError("Named key exceeds maximum UTF-16 code units.");
6628
+ const keys = namedKeys(state);
6629
+ if (create && !keys.includes(key)) {
6630
+ const length = keys.length + 1;
6631
+ if (length > named.maxKeys) throw new RangeError("Named keys exceed maxKeys.");
6632
+ state.controller.checkLength(length);
6633
+ let units = key.length;
6634
+ for (const existing of keys) units += existing.length;
6635
+ if (units > named.maxKeyCodeUnits)
6636
+ throw new RangeError("Named keys exceed maximum UTF-16 code units.");
6637
+ state.controller.checkTemporaryDataSize(1 + length + units);
6638
+ }
6639
+ return keys;
6640
+ }
6594
6641
  function namedKeys(state) {
6595
6642
  const named = state.named;
6596
6643
  return state.controller.read(named.keys, (value) => {
@@ -27141,11 +27188,11 @@ async function evaluateDeleteExpression(node, context) {
27141
27188
  if (!isIndexableSandboxValue(member.object)) {
27142
27189
  throw new TypeError("Unary operator 'delete' requires a sandbox object property.");
27143
27190
  }
27144
- deleteSandboxProperty(member.object, member.property);
27191
+ const deleted = deleteSandboxProperty(member.object, member.property);
27145
27192
  return {
27146
27193
  kind: "normal",
27147
27194
  hasValue: true,
27148
- value: true
27195
+ value: deleted
27149
27196
  };
27150
27197
  }
27151
27198
  async function evaluateUpdateExpression(node, context) {
@@ -28007,12 +28054,12 @@ function setSandboxProperty(target, property, value, budget) {
28007
28054
  }
28008
28055
  }
28009
28056
  function deleteSandboxProperty(target, property) {
28010
- if (isGuestHostObject(target)) throw new TypeError("Live host properties cannot be deleted.");
28057
+ if (isGuestHostObject(target)) return deleteHostObjectMember(target, String(property));
28011
28058
  if (isGuestClosure(target)) target = materializeFunctionProperties(target);
28012
28059
  if (Array.isArray(target)) {
28013
28060
  assertCollectionMutable(target);
28014
28061
  }
28015
- delete target[String(property)];
28062
+ return delete target[String(property)];
28016
28063
  }
28017
28064
  function getClosureMemberValue(target, property, context) {
28018
28065
  return getFunctionMember(target, property, createFunctionMethodOptions(context));
@@ -31052,6 +31099,9 @@ var RealmState = class {
31052
31099
  assertActive: this.assertOpen,
31053
31100
  chargeWork: this.chargeWork,
31054
31101
  checkLength: (length) => this.budget.allocateArrayLength(length),
31102
+ checkString: (value) => {
31103
+ this.budget.allocateString(value);
31104
+ },
31055
31105
  checkTemporaryDataSize: (size) => {
31056
31106
  const temporary = {};
31057
31107
  try {
@@ -31064,7 +31114,7 @@ var RealmState = class {
31064
31114
  const value = this.invokeHost(operation, operation);
31065
31115
  if (types5.isPromise(value)) {
31066
31116
  void Promise.resolve(value).catch(() => void 0);
31067
- throw new TypeError("Live property getters must be synchronous.");
31117
+ throw new TypeError("Live property operations must be synchronous.");
31068
31118
  }
31069
31119
  return this.importValue(validate === void 0 ? value : validate(value));
31070
31120
  },
@@ -32693,4 +32743,4 @@ export {
32693
32743
  FileSnapshotBackend,
32694
32744
  run
32695
32745
  };
32696
- //# sourceMappingURL=chunk-LBJGHXII.js.map
32746
+ //# sourceMappingURL=chunk-BW4SYRDC.js.map