@agoric/internal 0.3.3-other-dev-8f8782b.0 → 0.3.3-other-dev-fbe72e7.0.fbe72e7

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 (131) hide show
  1. package/README.md +7 -2
  2. package/exported.js +2 -0
  3. package/package.json +41 -19
  4. package/src/action-types.d.ts +51 -5
  5. package/src/action-types.d.ts.map +1 -1
  6. package/src/action-types.js +74 -15
  7. package/src/batched-deliver.d.ts +9 -6
  8. package/src/batched-deliver.d.ts.map +1 -1
  9. package/src/batched-deliver.js +9 -3
  10. package/src/callback.d.ts +24 -17
  11. package/src/callback.d.ts.map +1 -1
  12. package/src/callback.js +55 -61
  13. package/src/chain-storage-paths.d.ts +2 -3
  14. package/src/chain-storage-paths.d.ts.map +1 -1
  15. package/src/chain-storage-paths.js +2 -3
  16. package/src/chain-utils.d.ts +27 -0
  17. package/src/chain-utils.d.ts.map +1 -0
  18. package/src/chain-utils.js +62 -0
  19. package/src/cli-utils.d.ts +2 -0
  20. package/src/cli-utils.d.ts.map +1 -0
  21. package/src/cli-utils.js +21 -0
  22. package/src/config.d.ts +22 -12
  23. package/src/config.d.ts.map +1 -1
  24. package/src/config.js +23 -10
  25. package/src/debug.d.ts +1 -1
  26. package/src/errors.d.ts +2 -0
  27. package/src/errors.d.ts.map +1 -0
  28. package/src/errors.js +16 -0
  29. package/src/hex.d.ts +15 -0
  30. package/src/hex.d.ts.map +1 -0
  31. package/src/hex.js +105 -0
  32. package/src/index.d.ts +10 -1
  33. package/src/index.js +13 -2
  34. package/src/install-ses-debug.d.ts +2 -0
  35. package/src/install-ses-debug.d.ts.map +1 -0
  36. package/src/install-ses-debug.js +6 -0
  37. package/src/js-utils.d.ts +40 -0
  38. package/src/js-utils.d.ts.map +1 -0
  39. package/src/js-utils.js +237 -0
  40. package/src/lib-chainStorage.d.ts +59 -67
  41. package/src/lib-chainStorage.d.ts.map +1 -1
  42. package/src/lib-chainStorage.js +95 -92
  43. package/src/lib-nodejs/ava-unhandled-rejection.d.ts +13 -0
  44. package/src/lib-nodejs/ava-unhandled-rejection.d.ts.map +1 -0
  45. package/src/lib-nodejs/ava-unhandled-rejection.js +66 -0
  46. package/src/lib-nodejs/engine-gc.d.ts +3 -0
  47. package/src/lib-nodejs/engine-gc.d.ts.map +1 -0
  48. package/src/lib-nodejs/engine-gc.js +22 -0
  49. package/src/lib-nodejs/gc-and-finalize.d.ts +2 -0
  50. package/src/lib-nodejs/gc-and-finalize.d.ts.map +1 -0
  51. package/src/lib-nodejs/gc-and-finalize.js +91 -0
  52. package/src/lib-nodejs/spawnSubprocessWorker.d.ts +15 -0
  53. package/src/lib-nodejs/spawnSubprocessWorker.d.ts.map +1 -0
  54. package/src/lib-nodejs/spawnSubprocessWorker.js +89 -0
  55. package/src/lib-nodejs/waitUntilQuiescent.d.ts +2 -0
  56. package/src/lib-nodejs/waitUntilQuiescent.d.ts.map +1 -0
  57. package/src/lib-nodejs/waitUntilQuiescent.js +18 -0
  58. package/src/lib-nodejs/worker-protocol.d.ts +4 -0
  59. package/src/lib-nodejs/worker-protocol.d.ts.map +1 -0
  60. package/src/lib-nodejs/worker-protocol.js +54 -0
  61. package/src/magic-cookie-test-only.js +2 -2
  62. package/src/marshal.d.ts +33 -0
  63. package/src/marshal.d.ts.map +1 -0
  64. package/src/marshal.js +156 -0
  65. package/src/method-tools.d.ts +1 -0
  66. package/src/method-tools.d.ts.map +1 -1
  67. package/src/method-tools.js +33 -62
  68. package/src/metrics.d.ts +183 -0
  69. package/src/metrics.d.ts.map +1 -0
  70. package/src/metrics.js +476 -0
  71. package/src/module-utils.d.ts +2 -0
  72. package/src/module-utils.d.ts.map +1 -0
  73. package/src/module-utils.js +27 -0
  74. package/src/natural-sort.d.ts +2 -0
  75. package/src/natural-sort.d.ts.map +1 -0
  76. package/src/natural-sort.js +48 -0
  77. package/src/netstring.d.ts +24 -0
  78. package/src/netstring.d.ts.map +1 -0
  79. package/src/netstring.js +125 -0
  80. package/src/node/buffer-line-transform.d.ts +20 -16
  81. package/src/node/buffer-line-transform.d.ts.map +1 -1
  82. package/src/node/buffer-line-transform.js +12 -9
  83. package/src/node/createBundles.d.ts.map +1 -1
  84. package/src/node/createBundles.js +12 -3
  85. package/src/node/fs-stream.d.ts +1 -1
  86. package/src/node/fs-stream.d.ts.map +1 -1
  87. package/src/node/fs-stream.js +48 -37
  88. package/src/node/shutdown.d.ts.map +1 -1
  89. package/src/node/shutdown.js +0 -1
  90. package/src/priority-senders.d.ts +2 -1
  91. package/src/priority-senders.d.ts.map +1 -1
  92. package/src/priority-senders.js +10 -4
  93. package/src/queue.d.ts +1 -1
  94. package/src/queue.d.ts.map +1 -1
  95. package/src/queue.js +7 -8
  96. package/src/scratch.d.ts +1 -1
  97. package/src/scratch.d.ts.map +1 -1
  98. package/src/ses-utils.d.ts +68 -0
  99. package/src/ses-utils.d.ts.map +1 -0
  100. package/src/ses-utils.js +422 -0
  101. package/src/storage-test-utils.d.ts +49 -84
  102. package/src/storage-test-utils.d.ts.map +1 -1
  103. package/src/storage-test-utils.js +234 -116
  104. package/src/tagged.d.ts +152 -0
  105. package/src/testing-utils.d.ts +2 -0
  106. package/src/testing-utils.d.ts.map +1 -1
  107. package/src/testing-utils.js +44 -5
  108. package/src/tmpDir.d.ts +2 -0
  109. package/src/tmpDir.d.ts.map +1 -0
  110. package/src/tmpDir.js +17 -0
  111. package/src/tokens.d.ts +34 -0
  112. package/src/tokens.d.ts.map +1 -0
  113. package/src/tokens.js +35 -0
  114. package/src/typeCheck.d.ts +9 -0
  115. package/src/typeCheck.d.ts.map +1 -0
  116. package/src/typeCheck.js +23 -0
  117. package/src/typeGuards.d.ts +17 -0
  118. package/src/typeGuards.d.ts.map +1 -1
  119. package/src/typeGuards.js +20 -0
  120. package/src/types-index.d.ts +1 -0
  121. package/src/types-index.js +2 -0
  122. package/src/types.d.ts +83 -18
  123. package/src/types.d.ts.map +1 -0
  124. package/src/types.ts +129 -0
  125. package/src/upgrade-api.d.ts +14 -4
  126. package/src/upgrade-api.d.ts.map +1 -1
  127. package/src/upgrade-api.js +50 -18
  128. package/CHANGELOG.md +0 -106
  129. package/src/utils.d.ts +0 -67
  130. package/src/utils.d.ts.map +0 -1
  131. package/src/utils.js +0 -451
package/README.md CHANGED
@@ -10,11 +10,16 @@ Like all `@agoric` packages it follows Semantic Versioning. Unlike the others, i
10
10
 
11
11
  # Design
12
12
 
13
- It must be the lowest agoric-sdk package in any import graph. Therefore it must never depend on another agoric-sdk package. If there's a module in an another agoric-package that has no agoric-sdk dependencies, it can be moved into this package.
13
+ It is meant to be a home for modules that have no dependencies on other packages in this repository, except for the following packages that do not theirselves depend upon any other @agoric packages and may be destined for migration elsewhere:
14
+
15
+ - [base-zone](../base-zone)
16
+ - [store](../store)
17
+ - [cosmic-proto](../cosmic-proto)
18
+
19
+ This package may not take dependencies on any others in this repository.
14
20
 
15
21
  It must never export ambient types.
16
22
 
17
23
  It should not be imported by deep imports. Eventually this will be enforced by [`exports`](https://nodejs.org/api/packages.html#exports) but the tooling isn't ready:
18
24
  - https://github.com/import-js/eslint-plugin-import/issues/1810
19
25
  - https://github.com/microsoft/TypeScript/issues/33079 (or some related problem with JSdoc types)
20
-
package/exported.js ADDED
@@ -0,0 +1,2 @@
1
+ // Dummy file for .d.ts twin to declare ambients
2
+ export {};
package/package.json CHANGED
@@ -1,46 +1,68 @@
1
1
  {
2
2
  "name": "@agoric/internal",
3
- "version": "0.3.3-other-dev-8f8782b.0+8f8782b",
3
+ "version": "0.3.3-other-dev-fbe72e7.0.fbe72e7",
4
4
  "description": "Externally unsupported utilities internal to agoric-sdk",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "engines": {
8
- "node": ">=14.15.0"
8
+ "node": "^20.9 || ^22.11"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "exit 0",
12
- "prepack": "tsc --build jsconfig.build.json",
13
- "postpack": "git clean -f '*.d.ts*'",
12
+ "prepack": "yarn run -T tsc --build tsconfig.build.json",
13
+ "postpack": "git clean -f '*.d.*ts*' '*.tsbuildinfo'",
14
14
  "test": "ava",
15
15
  "test:nyc": "exit 0",
16
16
  "test:xs": "exit 0",
17
17
  "lint-fix": "yarn lint:eslint --fix",
18
- "lint": "run-s --continue-on-error lint:*",
19
- "lint:eslint": "eslint .",
20
- "lint:types": "tsc -p jsconfig.json"
18
+ "lint": "yarn run -T run-s --continue-on-error 'lint:*'",
19
+ "lint:eslint": "yarn run -T eslint .",
20
+ "lint:types": "yarn run -T tsc"
21
21
  },
22
22
  "dependencies": {
23
- "@agoric/zone": "0.2.3-other-dev-8f8782b.0+8f8782b",
24
- "@endo/far": "0.2.18",
25
- "@endo/marshal": "0.8.5",
26
- "@endo/patterns": "0.2.2",
27
- "@endo/promise-kit": "0.2.56",
28
- "@endo/stream": "0.3.25",
23
+ "@agoric/base-zone": "0.1.1-other-dev-fbe72e7.0.fbe72e7",
24
+ "@endo/common": "^1.2.13",
25
+ "@endo/compartment-mapper": "^1.6.3",
26
+ "@endo/errors": "^1.2.13",
27
+ "@endo/eventual-send": "^1.3.4",
28
+ "@endo/far": "^1.1.14",
29
+ "@endo/init": "^1.1.12",
30
+ "@endo/marshal": "^1.8.0",
31
+ "@endo/nat": "^5.1.3",
32
+ "@endo/pass-style": "^1.6.3",
33
+ "@endo/patterns": "^1.7.0",
34
+ "@endo/promise-kit": "^1.1.13",
35
+ "@endo/stream": "^1.2.13",
29
36
  "anylogger": "^0.21.0",
30
- "jessie.js": "^0.3.2"
37
+ "jessie.js": "^0.3.4"
31
38
  },
32
39
  "devDependencies": {
33
- "@endo/init": "0.5.56",
34
- "ava": "^5.2.0",
35
- "tsd": "^0.28.1"
40
+ "@agoric/cosmic-proto": "0.4.1-other-dev-fbe72e7.0.fbe72e7",
41
+ "@endo/exo": "^1.5.12",
42
+ "@endo/init": "^1.1.12",
43
+ "@fast-check/ava": "^2.0.1",
44
+ "ava": "^5.3.0",
45
+ "tsd": "^0.33.0"
46
+ },
47
+ "ava": {
48
+ "require": [
49
+ "@endo/init/debug.js"
50
+ ],
51
+ "files": [
52
+ "test/**/*.test.*"
53
+ ]
36
54
  },
37
55
  "author": "Agoric",
38
56
  "license": "Apache-2.0",
39
57
  "files": [
40
- "src"
58
+ "src",
59
+ "exported.js"
41
60
  ],
42
61
  "publishConfig": {
43
62
  "access": "public"
44
63
  },
45
- "gitHead": "8f8782bc52393e9d4fc82523ecf31cab429b11b3"
64
+ "typeCoverage": {
65
+ "atLeast": 93.02
66
+ },
67
+ "gitHead": "fbe72e72107f9997f788674e668c660d92ec4492"
46
68
  }
@@ -1,16 +1,62 @@
1
+ /**
2
+ * Types of messages used for communication between a cosmos-sdk blockchain node
3
+ * and its paired swingset VM, especially for the ABCI lifecycle. See:
4
+ *
5
+ * - https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#block-execution
6
+ * - ../../../golang/cosmos/vm/action.go
7
+ * - ../../../golang/cosmos/app/app.go
8
+ * - ../../../golang/cosmos/x/swingset/abci.go
9
+ * - ../../../golang/cosmos/x/swingset/keeper/swing_store_exports_handler.go
10
+ * - ../../cosmic-swingset/src/chain-main.js
11
+ * - ../../cosmic-swingset/src/launch-chain.js
12
+ */
13
+ export type SwingsetMessageType = (typeof SwingsetMessageType)[keyof typeof SwingsetMessageType];
14
+ export namespace SwingsetMessageType {
15
+ let AG_COSMOS_INIT: "AG_COSMOS_INIT";
16
+ let BEGIN_BLOCK: "BEGIN_BLOCK";
17
+ let END_BLOCK: "END_BLOCK";
18
+ let COMMIT_BLOCK: "COMMIT_BLOCK";
19
+ let AFTER_COMMIT_BLOCK: "AFTER_COMMIT_BLOCK";
20
+ let SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
21
+ }
1
22
  export const AG_COSMOS_INIT: "AG_COSMOS_INIT";
2
- export const SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
3
23
  export const BEGIN_BLOCK: "BEGIN_BLOCK";
4
- export const CALCULATE_FEES_IN_BEANS: "CALCULATE_FEES_IN_BEANS";
5
- export const CORE_EVAL: "CORE_EVAL";
6
- export const DELIVER_INBOUND: "DELIVER_INBOUND";
7
24
  export const END_BLOCK: "END_BLOCK";
8
25
  export const COMMIT_BLOCK: "COMMIT_BLOCK";
9
26
  export const AFTER_COMMIT_BLOCK: "AFTER_COMMIT_BLOCK";
27
+ export const SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
28
+ /**
29
+ * Types of "action" messages consumed by the swingset VM from actionQueue or
30
+ * highPriorityQueue during END_BLOCK. See:
31
+ *
32
+ * - ../../../golang/cosmos/x/swingset/keeper/msg_server.go
33
+ * - ../../../golang/cosmos/x/swingset/keeper/proposal.go
34
+ * - ../../../golang/cosmos/x/vbank/vbank.go
35
+ * - ../../../golang/cosmos/x/vibc/handler.go
36
+ * - ../../../golang/cosmos/x/vibc/keeper/triggers.go
37
+ * - ../../../golang/cosmos/x/vibc/types/ibc_module.go
38
+ */
39
+ export type QueuedActionType = (typeof QueuedActionType)[keyof typeof QueuedActionType];
40
+ export namespace QueuedActionType {
41
+ let CORE_EVAL: "CORE_EVAL";
42
+ let DELIVER_INBOUND: "DELIVER_INBOUND";
43
+ let IBC_EVENT: "IBC_EVENT";
44
+ let INSTALL_BUNDLE: "INSTALL_BUNDLE";
45
+ let PLEASE_PROVISION: "PLEASE_PROVISION";
46
+ let VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
47
+ let WALLET_ACTION: "WALLET_ACTION";
48
+ let WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
49
+ let VTRANSFER_IBC_EVENT: "VTRANSFER_IBC_EVENT";
50
+ let KERNEL_UPGRADE_EVENTS: "KERNEL_UPGRADE_EVENTS";
51
+ }
52
+ export const CORE_EVAL: "CORE_EVAL";
53
+ export const DELIVER_INBOUND: "DELIVER_INBOUND";
10
54
  export const IBC_EVENT: "IBC_EVENT";
55
+ export const INSTALL_BUNDLE: "INSTALL_BUNDLE";
11
56
  export const PLEASE_PROVISION: "PLEASE_PROVISION";
12
57
  export const VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
13
58
  export const WALLET_ACTION: "WALLET_ACTION";
14
59
  export const WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
15
- export const INSTALL_BUNDLE: "INSTALL_BUNDLE";
60
+ export const VTRANSFER_IBC_EVENT: "VTRANSFER_IBC_EVENT";
61
+ export const KERNEL_UPGRADE_EVENTS: "KERNEL_UPGRADE_EVENTS";
16
62
  //# sourceMappingURL=action-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["action-types.js"],"names":[],"mappings":"AAEA,8CAA+C;AAC/C,sDAAuD;AACvD,wCAAyC;AACzC,gEAAiE;AACjE,oCAAqC;AACrC,gDAAiD;AACjD,oCAAqC;AACrC,0CAA2C;AAC3C,sDAAuD;AACvD,oCAAqC;AACrC,kDAAmD;AACnD,0DAA2D;AAC3D,4CAA6C;AAC7C,wDAAyD;AACzD,8CAA+C"}
1
+ {"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["action-types.js"],"names":[],"mappings":";;;;;;;;;;;;kCAcU,CAAC,OAAO,mBAAmB,EAAE,MAAM,OAAO,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiC9D,CAAC,OAAO,gBAAgB,EAAE,MAAM,OAAO,gBAAgB,CAAC"}
@@ -1,17 +1,76 @@
1
1
  // @jessie-check
2
2
 
3
- export const AG_COSMOS_INIT = 'AG_COSMOS_INIT';
4
- export const SWING_STORE_EXPORT = 'SWING_STORE_EXPORT';
5
- export const BEGIN_BLOCK = 'BEGIN_BLOCK';
6
- export const CALCULATE_FEES_IN_BEANS = 'CALCULATE_FEES_IN_BEANS';
7
- export const CORE_EVAL = 'CORE_EVAL';
8
- export const DELIVER_INBOUND = 'DELIVER_INBOUND';
9
- export const END_BLOCK = 'END_BLOCK';
10
- export const COMMIT_BLOCK = 'COMMIT_BLOCK';
11
- export const AFTER_COMMIT_BLOCK = 'AFTER_COMMIT_BLOCK';
12
- export const IBC_EVENT = 'IBC_EVENT';
13
- export const PLEASE_PROVISION = 'PLEASE_PROVISION';
14
- export const VBANK_BALANCE_UPDATE = 'VBANK_BALANCE_UPDATE';
15
- export const WALLET_ACTION = 'WALLET_ACTION';
16
- export const WALLET_SPEND_ACTION = 'WALLET_SPEND_ACTION';
17
- export const INSTALL_BUNDLE = 'INSTALL_BUNDLE';
3
+ /**
4
+ * Types of messages used for communication between a cosmos-sdk blockchain node
5
+ * and its paired swingset VM, especially for the ABCI lifecycle. See:
6
+ *
7
+ * - https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#block-execution
8
+ * - ../../../golang/cosmos/vm/action.go
9
+ * - ../../../golang/cosmos/app/app.go
10
+ * - ../../../golang/cosmos/x/swingset/abci.go
11
+ * - ../../../golang/cosmos/x/swingset/keeper/swing_store_exports_handler.go
12
+ * - ../../cosmic-swingset/src/chain-main.js
13
+ * - ../../cosmic-swingset/src/launch-chain.js
14
+ *
15
+ * @enum {(typeof SwingsetMessageType)[keyof typeof SwingsetMessageType]}
16
+ */
17
+ export const SwingsetMessageType = /** @type {const} */ ({
18
+ AG_COSMOS_INIT: 'AG_COSMOS_INIT', // used to synchronize at process launch
19
+ BEGIN_BLOCK: 'BEGIN_BLOCK',
20
+ END_BLOCK: 'END_BLOCK',
21
+ COMMIT_BLOCK: 'COMMIT_BLOCK',
22
+ AFTER_COMMIT_BLOCK: 'AFTER_COMMIT_BLOCK',
23
+ SWING_STORE_EXPORT: 'SWING_STORE_EXPORT', // used to synchronize data export
24
+ });
25
+ harden(SwingsetMessageType);
26
+
27
+ // TODO: Update all imports to use SwingsetMessageType. But until then...
28
+ export const {
29
+ AG_COSMOS_INIT,
30
+ BEGIN_BLOCK,
31
+ END_BLOCK,
32
+ COMMIT_BLOCK,
33
+ AFTER_COMMIT_BLOCK,
34
+ SWING_STORE_EXPORT,
35
+ } = SwingsetMessageType;
36
+
37
+ /**
38
+ * Types of "action" messages consumed by the swingset VM from actionQueue or
39
+ * highPriorityQueue during END_BLOCK. See:
40
+ *
41
+ * - ../../../golang/cosmos/x/swingset/keeper/msg_server.go
42
+ * - ../../../golang/cosmos/x/swingset/keeper/proposal.go
43
+ * - ../../../golang/cosmos/x/vbank/vbank.go
44
+ * - ../../../golang/cosmos/x/vibc/handler.go
45
+ * - ../../../golang/cosmos/x/vibc/keeper/triggers.go
46
+ * - ../../../golang/cosmos/x/vibc/types/ibc_module.go
47
+ *
48
+ * @enum {(typeof QueuedActionType)[keyof typeof QueuedActionType]}
49
+ */
50
+ export const QueuedActionType = /** @type {const} */ ({
51
+ CORE_EVAL: 'CORE_EVAL',
52
+ DELIVER_INBOUND: 'DELIVER_INBOUND',
53
+ IBC_EVENT: 'IBC_EVENT',
54
+ INSTALL_BUNDLE: 'INSTALL_BUNDLE',
55
+ PLEASE_PROVISION: 'PLEASE_PROVISION',
56
+ VBANK_BALANCE_UPDATE: 'VBANK_BALANCE_UPDATE',
57
+ WALLET_ACTION: 'WALLET_ACTION',
58
+ WALLET_SPEND_ACTION: 'WALLET_SPEND_ACTION',
59
+ VTRANSFER_IBC_EVENT: 'VTRANSFER_IBC_EVENT',
60
+ KERNEL_UPGRADE_EVENTS: 'KERNEL_UPGRADE_EVENTS',
61
+ });
62
+ harden(QueuedActionType);
63
+
64
+ // TODO: Update all imports to use QueuedActionType. But until then...
65
+ export const {
66
+ CORE_EVAL,
67
+ DELIVER_INBOUND,
68
+ IBC_EVENT,
69
+ INSTALL_BUNDLE,
70
+ PLEASE_PROVISION,
71
+ VBANK_BALANCE_UPDATE,
72
+ WALLET_ACTION,
73
+ WALLET_SPEND_ACTION,
74
+ VTRANSFER_IBC_EVENT,
75
+ KERNEL_UPGRADE_EVENTS,
76
+ } = QueuedActionType;
@@ -1,15 +1,18 @@
1
1
  /**
2
- * @typedef {(message: any[], ackNum: number) => void} DeliverMessages
2
+ * @typedef {(message: unknown[], ackNum: number) => Promise<void>} DeliverMessages
3
3
  */
4
4
  /**
5
5
  * @param {DeliverMessages} deliver
6
- * @param {{ clearTimeout: NodeJS.clearTimeout, setTimeout: NodeJS.setTimeout }} io
6
+ * @param {{
7
+ * clearTimeout: import('node:timers').clearTimeout;
8
+ * setTimeout: import('node:timers').setTimeout;
9
+ * }} io
7
10
  * @param {number} batchTimeoutMs
8
11
  */
9
12
  export function makeBatchedDeliver(deliver: DeliverMessages, { clearTimeout, setTimeout }: {
10
- clearTimeout: NodeJS.clearTimeout;
11
- setTimeout: NodeJS.setTimeout;
12
- }, batchTimeoutMs?: number): (newMessages: any[], ackNum: number) => void;
13
+ clearTimeout: typeof globalThis.clearTimeout;
14
+ setTimeout: typeof globalThis.setTimeout;
15
+ }, batchTimeoutMs?: number): (message: unknown[], ackNum: number) => Promise<void>;
13
16
  export const DEFAULT_BATCH_TIMEOUT_MS: 1000;
14
- export type DeliverMessages = (message: any[], ackNum: number) => void;
17
+ export type DeliverMessages = (message: unknown[], ackNum: number) => Promise<void>;
15
18
  //# sourceMappingURL=batched-deliver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batched-deliver.d.ts","sourceRoot":"","sources":["batched-deliver.js"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,4CAJW,eAAe,gCACf;IAAE,kCAAkC;IAAC,8BAA6B;CAAE,mBACpE,MAAM,gDAsChB;AA/CD,4CAA6C;wCAGtB,GAAG,EAAE,UAAU,MAAM,KAAK,IAAI"}
1
+ {"version":3,"file":"batched-deliver.d.ts","sourceRoot":"","sources":["batched-deliver.js"],"names":[],"mappings":"AAKA;;GAEG;AAEH;;;;;;;GAOG;AACH,4CAPW,eAAe,gCACf;IACN,YAAY,EAAE,8BAAkC,CAAC;IACjD,UAAU,EAAE,4BAAgC,CAAC;CAC9C,mBACO,MAAM,aATM,OAAO,EAAE,UAAU,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAiDjE;AApDD,uCAAwC,IAAI,CAAC;8BAGhC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC"}
@@ -1,14 +1,18 @@
1
1
  // @jessie-check
2
+ // @ts-check
2
3
 
3
4
  export const DEFAULT_BATCH_TIMEOUT_MS = 1000;
4
5
 
5
6
  /**
6
- * @typedef {(message: any[], ackNum: number) => void} DeliverMessages
7
+ * @typedef {(message: unknown[], ackNum: number) => Promise<void>} DeliverMessages
7
8
  */
8
9
 
9
10
  /**
10
11
  * @param {DeliverMessages} deliver
11
- * @param {{ clearTimeout: NodeJS.clearTimeout, setTimeout: NodeJS.setTimeout }} io
12
+ * @param {{
13
+ * clearTimeout: import('node:timers').clearTimeout;
14
+ * setTimeout: import('node:timers').setTimeout;
15
+ * }} io
12
16
  * @param {number} batchTimeoutMs
13
17
  */
14
18
  export function makeBatchedDeliver(
@@ -16,8 +20,10 @@ export function makeBatchedDeliver(
16
20
  { clearTimeout, setTimeout },
17
21
  batchTimeoutMs = DEFAULT_BATCH_TIMEOUT_MS,
18
22
  ) {
23
+ /** @type {unknown[]} */
19
24
  let batchedMessages = [];
20
25
  let latestAckNum = 0;
26
+ /** @type {NodeJS.Timeout} */
21
27
  let deliverTimeout;
22
28
 
23
29
  /**
@@ -34,7 +40,7 @@ export function makeBatchedDeliver(
34
40
  // Transfer the batched messages to the deliver function.
35
41
  const msgs = batchedMessages;
36
42
  batchedMessages = [];
37
- deliver(msgs, latestAckNum);
43
+ void deliver(msgs, latestAckNum);
38
44
  }, batchTimeoutMs);
39
45
  }
40
46
 
package/src/callback.d.ts CHANGED
@@ -1,23 +1,30 @@
1
- export function callSync<I extends (...args: unknown[]) => any>(callback: import("./types").SyncCallback<I>, ...args: Parameters<I>): ReturnType<I>;
2
- export function callE<I extends (...args: unknown[]) => any>(callback: import("./types").Callback<I>, ...args: Parameters<I>): Promise<Awaited<ReturnType<I>>>;
3
- export function makeSyncFunctionCallback<I extends (...args: unknown[]) => any, T extends (...args: [...B, ...Parameters<I>]) => ReturnType<I> = I, B extends unknown[] = []>(target: T, ...bound: B): import("./types").SyncCallback<I>;
4
- export function makeFunctionCallback<I extends (...args: unknown[]) => any, T extends import("@endo/far").ERef<(...args: [...B, ...Parameters<I>]) => ReturnType<I>> = import("@endo/far").ERef<I>, B extends unknown[] = []>(target: T, ...bound: B): import("./types").Callback<I>;
5
- export function makeSyncMethodCallback<I extends (...args: unknown[]) => any, P extends PropertyKey, T extends { [x in P]: (...args: [...B, ...Parameters<I>]) => ReturnType<I>; } = { [x_1 in P]: I; }, B extends unknown[] = []>(target: T, methodName: P, ...bound: B): import("./types").SyncCallback<I>;
6
- export function makeMethodCallback<I extends (...args: unknown[]) => any, P extends PropertyKey, T extends import("@endo/far").ERef<{ [x in P]: (...args: [...B, ...Parameters<I>]) => ReturnType<I>; }> = import("@endo/far").ERef<{ [x_1 in P]: I; }>, B extends unknown[] = []>(target: T, methodName: P, ...bound: B): import("./types").Callback<I>;
7
- export function isCallback(callback: any): callback is import("./types").Callback<any>;
8
- export function prepareAttenuator<M extends PropertyKey>(zone: import('@agoric/zone').Zone, methodNames: M[], { interfaceGuard, tag }?: {
9
- interfaceGuard?: InterfaceGuard | undefined;
1
+ export function callSync<I extends (...args: any[]) => any>(callback: SyncCallback<I>, ...args: Parameters<I>): ReturnType<I>;
2
+ export function callE<I extends (...args: any[]) => any>(callback: Callback<I>, ...args: Parameters<I>): Promise<Awaited<ReturnType<I>>>;
3
+ export function makeSyncFunctionCallback<I extends (...args: any[]) => any, T extends (...args: [...B, ...Parameters<I>]) => ReturnType<I> = I, B extends any[] = []>(target: T, ...bound: B): SyncCallback<I>;
4
+ export function makeFunctionCallback<I extends (...args: any[]) => any, T extends ERef<(...args: [...B, ...Parameters<I>]) => ReturnType<I>> = ERef<I>, B extends any[] = []>(target: T, ...bound: B): Callback<I>;
5
+ export function makeSyncMethodCallback<I extends (...args: any[]) => any, P extends PropertyKey, T extends { [x in P]: (...args: [...B, ...Parameters<I>]) => ReturnType<I>; } = { [x in P]: I; }, B extends any[] = []>(target: T, methodName: P, ...bound: B): SyncCallback<I>;
6
+ export function makeMethodCallback<I extends (...args: any[]) => any, P extends PropertyKey, T extends ERef<{ [x in P]: (...args: [...B, ...Parameters<I>]) => ReturnType<I>; }> = ERef<{ [x in P]: I; }>, B extends any[] = []>(target: T, methodName: P, ...bound: B): Callback<I>;
7
+ export function isCallback(callback: any): callback is Callback<any>;
8
+ export function prepareAttenuator<M extends PropertyKey>(zone: import("@agoric/base-zone").Zone, methodNames: M[], { interfaceGuard, tag }?: {
9
+ interfaceGuard?: import("@endo/patterns").InterfaceGuard<{ [K in M]: import("@endo/patterns").MethodGuard; }> | undefined;
10
10
  tag?: string | undefined;
11
11
  }): (args_0: {
12
12
  target?: any;
13
13
  isSync?: boolean | undefined;
14
- overrides?: { [K in M]?: import("./types").Callback<any> | null | undefined; } | undefined;
15
- }) => { [K_1 in M]: (this: any, ...args: unknown[]) => any; } & import("@endo/eventual-send").RemotableBrand<{}, { [K_1 in M]: (this: any, ...args: unknown[]) => any; }>;
16
- export function prepareGuardedAttenuator(zone: import('@agoric/zone').Zone, interfaceGuard: InterfaceGuard, opts?: {
14
+ overrides?: { [K_1 in M]?: Callback<any> | null | undefined; } | undefined;
15
+ }) => import("@endo/exo").Guarded<{ [K_2 in M]: (this: any, ...args: any[]) => any; }>;
16
+ export function prepareGuardedAttenuator<G extends import("@endo/patterns").InterfaceGuard>(zone: import("@agoric/base-zone").Zone, interfaceGuard: G, opts?: {
17
17
  tag?: string | undefined;
18
- } | undefined): MakeAttenuator<any>;
19
- export type MakeAttenuator<T> = MakeAttenuator<T>;
20
- export type Callback<I extends (...args: unknown[]) => any> = import('./types').Callback<I>;
21
- export type SyncCallback<I extends (...args: unknown[]) => any> = import('./types').SyncCallback<I>;
22
- export type Farable<T> = import('@endo/eventual-send').RemotableBrand<{}, T> & T;
18
+ }): MakeAttenuator<any>;
19
+ export type MakeAttenuator<T extends import("@endo/exo").Methods> = (...args: Parameters<ReturnType<(<M extends PropertyKey>(zone: import("@agoric/base-zone").Zone, methodNames: M[], { interfaceGuard, tag }?: {
20
+ interfaceGuard?: import("@endo/patterns").InterfaceGuard<{ [K in M]: import("@endo/patterns").MethodGuard; }> | undefined;
21
+ tag?: string | undefined;
22
+ }) => (args_0: {
23
+ target?: any;
24
+ isSync?: boolean | undefined;
25
+ overrides?: { [K_1 in M]?: Callback<any> | null | undefined; } | undefined;
26
+ }) => import("@endo/exo").Guarded<{ [K_2 in M]: (this: any, ...args: any[]) => any; }>)>>) => import("@endo/exo").Farable<T>;
27
+ import type { SyncCallback } from './types.js';
28
+ import type { Callback } from './types.js';
29
+ import type { ERef } from '@endo/far';
23
30
  //# sourceMappingURL=callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["callback.js"],"names":[],"mappings":"AAuDO,6CALiB,OAAO,EAAE,KAAK,GAAG,sFAWxC;AAWM,0CALiB,OAAO,EAAE,KAAK,GAAG,oGAWxC;AAaM,6DAPiB,OAAO,EAAE,KAAK,GAAG,2JAaxC;AAeM,yDATiB,OAAO,EAAE,KAAK,GAAG,2MAexC;AAiBM,2DAXiB,OAAO,EAAE,KAAK,GAAG,iOAoBxC;AAiBM,uDAXiB,OAAO,EAAE,KAAK,GAAG,iRAmBxC;AAOM,qCAHI,GAAG,+CAeb;AAcM,+DAPI,OAAO,cAAc,EAAE,IAAI;IAGL,cAAc;IAEtB,GAAG;;aAkEb,GAAG;;;2BAxDgB,GAAG,WAAW,OAAO,EAAE,KAAK,GAAG,4EAA/B,GAAG,WAAW,OAAO,EAAE,KAAK,GAAG,KA2FhE;AAWM,+CALI,OAAO,cAAc,EAAE,IAAI,kBAC3B,cAAc;;oCAYxB;;yCA5SuB,OAAO,EAAE,KAAK,GAAG,IAC5B,OAAO,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;6CAIlB,OAAO,EAAE,KAAK,GAAG,IAC5B,OAAO,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;yBAGpB,OAAO,qBAAqB,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["callback.js"],"names":[],"mappings":"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"}