wao 0.7.0 → 0.7.2

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/cjs/ao.js CHANGED
@@ -525,6 +525,7 @@ var AO = /*#__PURE__*/function () {
525
525
  module,
526
526
  _ref11$scheduler,
527
527
  scheduler,
528
+ memory,
528
529
  jwk,
529
530
  _ref11$tags,
530
531
  tags,
@@ -534,11 +535,12 @@ var AO = /*#__PURE__*/function () {
534
535
  _yield$this$ar$checkW,
535
536
  pid,
536
537
  _tags,
538
+ p,
537
539
  _args8 = arguments;
538
540
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
539
541
  while (1) switch (_context8.prev = _context8.next) {
540
542
  case 0:
541
- _ref11 = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}, boot = _ref11.boot, _ref11$module = _ref11.module, module = _ref11$module === void 0 ? this.module : _ref11$module, _ref11$scheduler = _ref11.scheduler, scheduler = _ref11$scheduler === void 0 ? this.scheduler : _ref11$scheduler, jwk = _ref11.jwk, _ref11$tags = _ref11.tags, tags = _ref11$tags === void 0 ? {} : _ref11$tags, data = _ref11.data, auth = _ref11.auth;
543
+ _ref11 = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}, boot = _ref11.boot, _ref11$module = _ref11.module, module = _ref11$module === void 0 ? this.module : _ref11$module, _ref11$scheduler = _ref11.scheduler, scheduler = _ref11$scheduler === void 0 ? this.scheduler : _ref11$scheduler, memory = _ref11.memory, jwk = _ref11.jwk, _ref11$tags = _ref11.tags, tags = _ref11$tags === void 0 ? {} : _ref11$tags, data = _ref11.data, auth = _ref11.auth;
542
544
  err = null;
543
545
  _context8.next = 4;
544
546
  return this.ar.checkWallet({
@@ -564,6 +566,7 @@ var AO = /*#__PURE__*/function () {
564
566
  _tags = (0, _utils.buildTags)(null, tags);
565
567
  _context8.next = 17;
566
568
  return this.spawn({
569
+ memory: memory,
567
570
  module: module,
568
571
  scheduler: scheduler,
569
572
  signer: this.toSigner(jwk),
@@ -580,11 +583,13 @@ var AO = /*#__PURE__*/function () {
580
583
  console.log(_context8.t0);
581
584
  err = _context8.t0;
582
585
  case 24:
586
+ p = pid ? this.p(pid) : null;
583
587
  return _context8.abrupt("return", {
584
588
  err: err,
585
- pid: pid
589
+ pid: pid,
590
+ p: p
586
591
  });
587
- case 25:
592
+ case 26:
588
593
  case "end":
589
594
  return _context8.stop();
590
595
  }
package/cjs/aoconnect.js CHANGED
@@ -149,7 +149,7 @@ var connect = exports.connect = function connect(mem) {
149
149
  };
150
150
  var spawn = /*#__PURE__*/function () {
151
151
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
152
- var _opt$module, _mem$wasms$mod, _format, _opt$tags, _opt$tags2;
152
+ var _opt$module, _mem$wasms$mod, _format, _opt$tags, _opt$tags2, _opt$memory;
153
153
  var opt,
154
154
  mod,
155
155
  _module,
@@ -180,7 +180,6 @@ var connect = exports.connect = function connect(mem) {
180
180
  data,
181
181
  msg,
182
182
  _env,
183
- _t,
184
183
  _tags$CronInterval$s,
185
184
  _tags$CronInterval$s2,
186
185
  num,
@@ -308,7 +307,7 @@ var connect = exports.connect = function connect(mem) {
308
307
  Date.now = now;
309
308
  _tags = (0, _utils.tags)(opt.tags);
310
309
  res = null;
311
- memory = null;
310
+ memory = (_opt$memory = opt.memory) !== null && _opt$memory !== void 0 ? _opt$memory : null;
312
311
  p = {
313
312
  id: id,
314
313
  epochs: [],
@@ -323,8 +322,15 @@ var connect = exports.connect = function connect(mem) {
323
322
  txs: [],
324
323
  opt: opt
325
324
  };
325
+ if (!memory) {
326
+ _context.next = 56;
327
+ break;
328
+ }
329
+ _context.next = 70;
330
+ break;
331
+ case 56:
326
332
  if (!(_tags["On-Boot"] || true)) {
327
- _context.next = 67;
333
+ _context.next = 69;
328
334
  break;
329
335
  }
330
336
  data = "";
@@ -336,52 +342,51 @@ var connect = exports.connect = function connect(mem) {
336
342
  module: p.module,
337
343
  auth: _test.mu.addr
338
344
  });
339
- _t = (0, _utils.tags)(msg.Tags);
340
- _context.next = 61;
345
+ _context.next = 63;
341
346
  return _module.handle(null, msg, _env);
342
- case 61:
347
+ case 63:
343
348
  res = _context.sent;
344
349
  p.memory = res.Memory;
345
350
  delete res.Memory;
346
351
  p.res[id] = res;
347
- _context.next = 68;
352
+ _context.next = 70;
348
353
  break;
349
- case 67:
354
+ case 69:
350
355
  p.height += 1;
351
- case 68:
356
+ case 70:
352
357
  mem.msgs[id] = opt;
353
358
  mem.env[id] = p;
354
359
  if (!_tags["Cron-Interval"]) {
355
- _context.next = 94;
360
+ _context.next = 96;
356
361
  break;
357
362
  }
358
363
  _tags$CronInterval$s = _tags["Cron-Interval"].split("-"), _tags$CronInterval$s2 = _slicedToArray(_tags$CronInterval$s, 2), num = _tags$CronInterval$s2[0], unit = _tags$CronInterval$s2[1];
359
364
  _int = 0;
360
365
  _context.t1 = unit.replace(/s$/, "");
361
- _context.next = _context.t1 === "millisecond" ? 76 : _context.t1 === "second" ? 78 : _context.t1 === "minute" ? 80 : _context.t1 === "hour" ? 82 : _context.t1 === "day" ? 84 : _context.t1 === "month" ? 86 : _context.t1 === "year" ? 88 : 90;
366
+ _context.next = _context.t1 === "millisecond" ? 78 : _context.t1 === "second" ? 80 : _context.t1 === "minute" ? 82 : _context.t1 === "hour" ? 84 : _context.t1 === "day" ? 86 : _context.t1 === "month" ? 88 : _context.t1 === "year" ? 90 : 92;
362
367
  break;
363
- case 76:
364
- _int = num;
365
- return _context.abrupt("break", 90);
366
368
  case 78:
367
- _int = num * 1000;
368
- return _context.abrupt("break", 90);
369
+ _int = num;
370
+ return _context.abrupt("break", 92);
369
371
  case 80:
370
- _int = num * 1000 * 60;
371
- return _context.abrupt("break", 90);
372
+ _int = num * 1000;
373
+ return _context.abrupt("break", 92);
372
374
  case 82:
373
- _int = num * 1000 * 60 * 60;
374
- return _context.abrupt("break", 90);
375
+ _int = num * 1000 * 60;
376
+ return _context.abrupt("break", 92);
375
377
  case 84:
376
- _int = num * 1000 * 60 * 60 * 24;
377
- return _context.abrupt("break", 90);
378
+ _int = num * 1000 * 60 * 60;
379
+ return _context.abrupt("break", 92);
378
380
  case 86:
379
- _int = num * 1000 * 60 * 60 * 24 * 30;
380
- return _context.abrupt("break", 90);
381
+ _int = num * 1000 * 60 * 60 * 24;
382
+ return _context.abrupt("break", 92);
381
383
  case 88:
382
- _int = num * 1000 * 60 * 60 * 24 * 365;
383
- return _context.abrupt("break", 90);
384
+ _int = num * 1000 * 60 * 60 * 24 * 30;
385
+ return _context.abrupt("break", 92);
384
386
  case 90:
387
+ _int = num * 1000 * 60 * 60 * 24 * 365;
388
+ return _context.abrupt("break", 92);
389
+ case 92:
385
390
  cronTags = [];
386
391
  for (_k in _tags) {
387
392
  if (/^Cron-Tag-/.test(_k)) {
@@ -393,9 +398,9 @@ var connect = exports.connect = function connect(mem) {
393
398
  }
394
399
  mem.env[id].cronTags = cronTags;
395
400
  mem.env[id].span = _int;
396
- case 94:
401
+ case 96:
397
402
  return _context.abrupt("return", id);
398
- case 95:
403
+ case 97:
399
404
  case "end":
400
405
  return _context.stop();
401
406
  }
package/cjs/tar.js CHANGED
@@ -265,7 +265,7 @@ var AR = /*#__PURE__*/function (_MAR) {
265
265
  };
266
266
  data = di.data;
267
267
  try {
268
- data = _base64url["default"].decode(di.data);
268
+ //data = base64url.decode(di.data)
269
269
  } catch (e) {}
270
270
  _context4.t0 = {
271
271
  size: data_size,
@@ -545,7 +545,7 @@ var AR = /*#__PURE__*/function (_MAR) {
545
545
  }, {
546
546
  key: "data",
547
547
  value: function () {
548
- var _data2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(id, _string) {
548
+ var _data2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(id, _string, log) {
549
549
  var _tx$data;
550
550
  var decode, string, tx, _data, isBuf, isStr;
551
551
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
@@ -559,7 +559,11 @@ var AR = /*#__PURE__*/function (_MAR) {
559
559
  }
560
560
  tx = this.mem.txs[id];
561
561
  _data = (_tx$data = tx === null || tx === void 0 ? void 0 : tx.data) !== null && _tx$data !== void 0 ? _tx$data : null;
562
- if ((tx === null || tx === void 0 ? void 0 : tx.format) === 2 && _data) _data = Buffer.from(_data, "base64");
562
+ if ((tx === null || tx === void 0 ? void 0 : tx.format) === 2 && _data) {
563
+ _data = Buffer.from(_data, "base64");
564
+ } else {
565
+ _data = Buffer.from(_base64url["default"].decode(_data));
566
+ }
563
567
  isBuf = (0, _ramda.is)(Uint8Array, _data) || (0, _ramda.is)(ArrayBuffer, _data);
564
568
  isStr = (0, _ramda.is)(String, _data);
565
569
  if (!(decode === false)) {
@@ -573,7 +577,7 @@ var AR = /*#__PURE__*/function (_MAR) {
573
577
  _context7.next = 17;
574
578
  break;
575
579
  }
576
- return _context7.abrupt("return", Buffer.from(_data).toString());
580
+ return _context7.abrupt("return", _data.toString());
577
581
  case 17:
578
582
  if (!(isStr && string !== true)) {
579
583
  _context7.next = 19;
@@ -588,7 +592,7 @@ var AR = /*#__PURE__*/function (_MAR) {
588
592
  }
589
593
  }, _callee7, this);
590
594
  }));
591
- function data(_x9, _x10) {
595
+ function data(_x9, _x10, _x11) {
592
596
  return _data2.apply(this, arguments);
593
597
  }
594
598
  return data;
package/cjs/weavedrive.js CHANGED
@@ -317,9 +317,7 @@ var WeaveDrive = exports["default"] = /*#__PURE__*/_createClass(function WeaveDr
317
317
  dst_ptr = Number(raw_dst_ptr);
318
318
  stream = 0;
319
319
  for (i = 0; i < FS.streams.length; i++) {
320
- if (FS.streams[i].fd === fd) {
321
- stream = FS.streams[i];
322
- }
320
+ if (FS.streams[i].fd === fd) stream = FS.streams[i];
323
321
  }
324
322
  // read block headers
325
323
  if (!stream.path.includes("/block")) {
@@ -357,7 +355,7 @@ var WeaveDrive = exports["default"] = /*#__PURE__*/_createClass(function WeaveDr
357
355
  to = Math.min(stream.node.total_size, stream.position + chunk_download_sz); //console.log("WeaveDrive: fd: ", fd, " Read length: ", to_read, " Reading ahead:", to - to_read - stream.position)
358
356
  // fetch(`/${stream.node.name}`)
359
357
  _context6.next = 21;
360
- return ar.data(stream.node.name);
358
+ return ar.data(stream.node.name, null, log);
361
359
  case 21:
362
360
  data = _context6.sent;
363
361
  // Extract the Range header to determine the start and end of the requested chunk
@@ -0,0 +1 @@
1
+ {"name":"Bob","age":40}
package/esm/ao.js CHANGED
@@ -333,6 +333,7 @@ class AO {
333
333
  boot,
334
334
  module = this.module,
335
335
  scheduler = this.scheduler,
336
+ memory,
336
337
  jwk,
337
338
  tags = {},
338
339
  data,
@@ -348,6 +349,7 @@ class AO {
348
349
  if (!tags.Authority && this.authority) tags.Authority = this.authority
349
350
  let _tags = buildTags(null, tags)
350
351
  pid = await this.spawn({
352
+ memory,
351
353
  module,
352
354
  scheduler,
353
355
  signer: this.toSigner(jwk),
@@ -358,7 +360,8 @@ class AO {
358
360
  console.log(e)
359
361
  err = e
360
362
  }
361
- return { err, pid }
363
+ const p = pid ? this.p(pid) : null
364
+ return { err, pid, p }
362
365
  }
363
366
 
364
367
  async msg({
package/esm/aoconnect.js CHANGED
@@ -167,7 +167,7 @@ export const connect = (mem, { log = false, extensions = {} } = {}) => {
167
167
 
168
168
  const _tags = tags(opt.tags)
169
169
  let res = null
170
- let memory = null
170
+ let memory = opt.memory ?? null
171
171
  let p = {
172
172
  id: id,
173
173
  epochs: [],
@@ -182,7 +182,9 @@ export const connect = (mem, { log = false, extensions = {} } = {}) => {
182
182
  txs: [],
183
183
  opt,
184
184
  }
185
- if (_tags["On-Boot"] || true) {
185
+ if (memory) {
186
+ // forking...
187
+ } else if (_tags["On-Boot"] || true) {
186
188
  let data = ""
187
189
  if (_tags["On-Boot"] === "Data") data = opt.data ?? ""
188
190
  else data = mem.msgs[_tags["On-Boot"]]?.data ?? ""
@@ -193,8 +195,6 @@ export const connect = (mem, { log = false, extensions = {} } = {}) => {
193
195
  module: p.module,
194
196
  auth: mu.addr,
195
197
  })
196
-
197
- const _t = tags(msg.Tags)
198
198
  res = await _module.handle(null, msg, _env)
199
199
  p.memory = res.Memory
200
200
  delete res.Memory
package/esm/tar.js CHANGED
@@ -63,7 +63,7 @@ class AR extends MAR {
63
63
  this.mem.addrmap[owner] = { key: di.owner, address: owner }
64
64
  let data = di.data
65
65
  try {
66
- data = base64url.decode(di.data)
66
+ //data = base64url.decode(di.data)
67
67
  } catch (e) {}
68
68
  let _item = {
69
69
  _data: { size: data_size, type: data_type },
@@ -177,7 +177,7 @@ class AR extends MAR {
177
177
  return this.mem.txs[id]
178
178
  }
179
179
 
180
- async data(id, _string) {
180
+ async data(id, _string, log) {
181
181
  let decode = true
182
182
  let string = _string
183
183
  if (is(Object, _string)) {
@@ -186,7 +186,11 @@ class AR extends MAR {
186
186
  }
187
187
  let tx = this.mem.txs[id]
188
188
  let _data = tx?.data ?? null
189
- if (tx?.format === 2 && _data) _data = Buffer.from(_data, "base64")
189
+ if (tx?.format === 2 && _data) {
190
+ _data = Buffer.from(_data, "base64")
191
+ } else {
192
+ _data = Buffer.from(base64url.decode(_data))
193
+ }
190
194
  let isBuf = is(Uint8Array, _data) || is(ArrayBuffer, _data)
191
195
  let isStr = is(String, _data)
192
196
  if (decode === false) {
@@ -194,7 +198,7 @@ class AR extends MAR {
194
198
  return base64url.encode(_data)
195
199
  } else {
196
200
  if (isBuf && string) {
197
- return Buffer.from(_data).toString()
201
+ return _data.toString()
198
202
  } else if (isStr && string !== true) {
199
203
  return new TextEncoder().encode(_data)
200
204
  }
package/esm/weavedrive.js CHANGED
@@ -122,7 +122,6 @@ export default class WeaveDrive {
122
122
  false,
123
123
  )
124
124
  var stream = FS.open("/tx2/" + id, "r")
125
-
126
125
  return stream
127
126
  },
128
127
  async open(filename) {
@@ -190,9 +189,7 @@ export default class WeaveDrive {
190
189
 
191
190
  var stream = 0
192
191
  for (var i = 0; i < FS.streams.length; i++) {
193
- if (FS.streams[i].fd === fd) {
194
- stream = FS.streams[i]
195
- }
192
+ if (FS.streams[i].fd === fd) stream = FS.streams[i]
196
193
  }
197
194
  // read block headers
198
195
  if (stream.path.includes("/block")) {
@@ -226,8 +223,7 @@ export default class WeaveDrive {
226
223
  //console.log("WeaveDrive: fd: ", fd, " Read length: ", to_read, " Reading ahead:", to - to_read - stream.position)
227
224
 
228
225
  // fetch(`/${stream.node.name}`)
229
- const data = await ar.data(stream.node.name)
230
-
226
+ const data = await ar.data(stream.node.name, null, log)
231
227
  // Extract the Range header to determine the start and end of the requested chunk
232
228
  const start = 0
233
229
  const end = data.length
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wao",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",