@agoric/vat-data
Advanced tools
Comparing version 0.5.3-dev-7b30169.0 to 0.5.3-dev-7b582c1.0
{ | ||
"name": "@agoric/vat-data", | ||
"version": "0.5.3-dev-7b30169.0+7b30169", | ||
"version": "0.5.3-dev-7b582c1.0+7b582c1", | ||
"description": "Safe access to VatData global", | ||
@@ -11,3 +11,2 @@ "type": "module", | ||
"test": "ava", | ||
"test:c8": "exit 0", | ||
"test:xs": "exit 0", | ||
@@ -23,16 +22,15 @@ "lint-fix": "yarn lint:eslint --fix", | ||
"dependencies": { | ||
"@agoric/assert": "0.6.1-dev-7b30169.0+7b30169", | ||
"@agoric/base-zone": "0.1.1-dev-7b30169.0+7b30169", | ||
"@agoric/store": "0.9.3-dev-7b30169.0+7b30169", | ||
"@agoric/swingset-liveslots": "0.10.3-dev-7b30169.0+7b30169", | ||
"@agoric/vow": "0.1.1-dev-7b30169.0+7b30169", | ||
"@endo/exo": "^1.5.0", | ||
"@endo/patterns": "^1.4.0" | ||
"@agoric/base-zone": "0.1.1-dev-7b582c1.0+7b582c1", | ||
"@agoric/store": "0.9.3-dev-7b582c1.0+7b582c1", | ||
"@agoric/swingset-liveslots": "0.10.3-dev-7b582c1.0+7b582c1", | ||
"@endo/errors": "^1.2.9", | ||
"@endo/exo": "^1.5.8", | ||
"@endo/patterns": "^1.4.8" | ||
}, | ||
"devDependencies": { | ||
"@endo/far": "^1.1.2", | ||
"@endo/init": "^1.1.2", | ||
"@endo/ses-ava": "^1.2.2", | ||
"@endo/far": "^1.1.10", | ||
"@endo/init": "^1.1.8", | ||
"@endo/ses-ava": "^1.2.9", | ||
"ava": "^5.3.0", | ||
"tsd": "^0.30.7" | ||
"tsd": "^0.31.1" | ||
}, | ||
@@ -56,3 +54,3 @@ "ava": { | ||
}, | ||
"gitHead": "7b30169f5f6d72aed50b4168d0406316da8e53a3" | ||
"gitHead": "7b582c1ffac84b818165bb8e2f7f2fb97270b751" | ||
} |
@@ -23,6 +23,8 @@ // @jessie-check | ||
/** | ||
* Make a version of the argument function that takes a kind context but | ||
* ignores it. | ||
* Make a version of the argument function that takes a kind context but ignores | ||
* it. | ||
* | ||
* @type {<T extends (...args: any) => any>(fn: T) => import('@agoric/swingset-liveslots').PlusContext<never, T>} | ||
* @type {<T extends (...args: any) => any>( | ||
* fn: T, | ||
* ) => import('@agoric/swingset-liveslots').PlusContext<never, T>} | ||
*/ | ||
@@ -100,9 +102,10 @@ export const ignoreContext = | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* self: T, | ||
* state: StateResult<I> | ||
* }>} methods | ||
* @param {T & | ||
* ThisType<{ | ||
* self: T; | ||
* state: StateResult<I>; | ||
* }>} methods | ||
* @param {DefineKindOptions<{ | ||
* self: T, | ||
* state: StateResult<I> | ||
* self: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -126,9 +129,10 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').Guarded<T>} | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>, | ||
* state: StateResult<I> | ||
* }> } facets | ||
* @param {T & | ||
* ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>; | ||
* state: StateResult<I>; | ||
* }>} facets | ||
* @param {DefineKindOptions<{ | ||
* facets: T, | ||
* state: StateResult<I> | ||
* facets: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -158,9 +162,10 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').GuardedKit<T>} | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* self: T, | ||
* state: StateResult<I> | ||
* }>} methods | ||
* @param {T & | ||
* ThisType<{ | ||
* self: T; | ||
* state: StateResult<I>; | ||
* }>} methods | ||
* @param {DefineKindOptions<{ | ||
* self: T, | ||
* state: StateResult<I> | ||
* self: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -190,9 +195,10 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').Guarded<T>} | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>, | ||
* state: StateResult<I> | ||
* }> } facets | ||
* @param {T & | ||
* ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>; | ||
* state: StateResult<I>; | ||
* }>} facets | ||
* @param {DefineKindOptions<{ | ||
* facets: T, | ||
* state: StateResult<I> | ||
* facets: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -223,9 +229,10 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').GuardedKit<T>} | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* self: RemotableObject & T, | ||
* state: StateResult<I> | ||
* }>} methods | ||
* @param {T & | ||
* ThisType<{ | ||
* self: RemotableObject & T; | ||
* state: StateResult<I>; | ||
* }>} methods | ||
* @param {DefineKindOptions<{ | ||
* self: T, | ||
* state: StateResult<I> | ||
* self: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -258,9 +265,10 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').Guarded<T>} | ||
* @param {I} init | ||
* @param {T & ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>, | ||
* state: StateResult<I> | ||
* }> } facets | ||
* @param {T & | ||
* ThisType<{ | ||
* facets: import('@endo/exo').GuardedKit<T>; | ||
* state: StateResult<I>; | ||
* }>} facets | ||
* @param {DefineKindOptions<{ | ||
* facets: T, | ||
* state: StateResult<I> | ||
* facets: T; | ||
* state: StateResult<I>; | ||
* }>} [options] | ||
@@ -291,3 +299,6 @@ * @returns {(...args: Parameters<I>) => import('@endo/exo').GuardedKit<T>} | ||
* @param {InterfaceGuard | undefined} interfaceGuard | ||
* @param {M} methods | ||
* @param {M & | ||
* ThisType<{ | ||
* self: RemotableObject & M; | ||
* }>} methods | ||
* @param {DefineKindOptions<{ self: M }>} [options] | ||
@@ -317,4 +328,4 @@ * @returns {import('@endo/exo').Guarded<M>} | ||
/** | ||
* @deprecated Use prepareExo instead. | ||
* @template {Record<PropertyKey, CallableFunction>} M methods | ||
* @deprecated Use prepareExo instead. | ||
* @param {Baggage} baggage | ||
@@ -321,0 +332,0 @@ * @param {string} kindName |
@@ -46,6 +46,10 @@ // @jessie-check | ||
// TODO re-export these | ||
/** @template T @typedef {import('@agoric/swingset-liveslots').DefineKindOptions<T>} DefineKindOptions */ | ||
/** | ||
* @template T @typedef | ||
* {import('@agoric/swingset-liveslots').DefineKindOptions<T>} | ||
* DefineKindOptions | ||
*/ | ||
// Copy this type because aliasing it by `import('@agoric/swingset-liveslots').Baggage` | ||
// causes this error in typedoc: Expected a symbol for node with kind Identifier | ||
/** @typedef {MapStore<string, any>} Baggage */ | ||
/** @typedef {import('@agoric/swingset-liveslots').MapStore<string, any>} Baggage */ | ||
@@ -52,0 +56,0 @@ // //////////////////////////// deprecated ///////////////////////////////////// |
@@ -1,2 +0,1 @@ | ||
/* eslint-disable no-use-before-define */ | ||
import { expectType } from 'tsd'; | ||
@@ -9,3 +8,3 @@ import type { | ||
} from '@agoric/swingset-liveslots'; | ||
import { VirtualObjectManager } from '@agoric/swingset-liveslots/src/virtualObjectManager.js'; | ||
import type { VirtualObjectManager } from '@agoric/swingset-liveslots/src/virtualObjectManager.js'; | ||
import { | ||
@@ -12,0 +11,0 @@ defineKind, |
/* global globalThis */ | ||
import { Fail } from '@agoric/assert'; | ||
import { Fail } from '@endo/errors'; | ||
import { provideLazy } from '@agoric/store'; | ||
@@ -60,3 +60,4 @@ | ||
/** | ||
* When making a multi-facet kind, it's common to pick one facet to expose. E.g., | ||
* When making a multi-facet kind, it's common to pick one facet to expose. | ||
* E.g., | ||
* | ||
@@ -93,25 +94,24 @@ * const makeFoo = (a, b, c, d) => makeFooBase(a, b, c, d).self; | ||
/** | ||
* Unlike `provideLazy`, `provide` should be called at most once | ||
* within any vat incarnation with a given `baggage`,`key` pair. | ||
* Unlike `provideLazy`, `provide` should be called at most once within any vat | ||
* incarnation with a given `baggage`,`key` pair. | ||
* | ||
* `provide` should only to be used to populate baggage, | ||
* where the total number of calls to `provide` must be | ||
* low cardinality, since we keep the bookkeeping to detect collisions | ||
* in normal language-heap memory. All the other baggage-oriented | ||
* `provide*` and `prepare*` functions call `provide`, | ||
* and so impose the same constraints. This is consistent with | ||
* our expected durability patterns: What we store in baggage are | ||
* * kindHandles, which are per kind, which must be low cardinality | ||
* * data "variables" for reestablishing the lexical scope, especially | ||
* of singletons | ||
* * named non-baggage collections at the leaves of the baggage tree. | ||
* `provide` should only be used to populate baggage, where the total number of | ||
* calls to `provide` must be low cardinality, since we keep the bookkeeping to | ||
* detect collisions in normal language-heap memory. All the other | ||
* baggage-oriented `provide*` and `prepare*` functions call `provide`, and so | ||
* impose the same constraints. This is consistent with our expected durability | ||
* patterns: What we store in baggage are | ||
* | ||
* What is expected to be high cardinality are the instances of the kinds, | ||
* and the members of the non-bagggage collections. | ||
* - kindHandles, which are per kind, which must be low cardinality | ||
* - data "variables" for reestablishing the lexical scope, especially of | ||
* singletons | ||
* - named non-baggage collections at the leaves of the baggage tree. | ||
* | ||
* TODO https://github.com/Agoric/agoric-sdk/pull/5875 : | ||
* Implement development-time instrumentation to detect when | ||
* `provide` violates the above prescription, and is called more | ||
* than once in the same vat incarnation with the same | ||
* baggage,key pair. | ||
* What is expected to be high cardinality are the instances of the kinds, and | ||
* the members of the non-bagggage collections. | ||
* | ||
* TODO https://github.com/Agoric/agoric-sdk/pull/5875 : Implement | ||
* development-time instrumentation to detect when `provide` violates the above | ||
* prescription, and is called more than once in the same vat incarnation with | ||
* the same baggage,key pair. | ||
*/ | ||
@@ -121,5 +121,9 @@ | ||
// XXX cast because provideLazy is `any` due to broken type import | ||
/** @type {<K, V>(baggage: Baggage, key: K, makeValue: (key: K) => V) => V} */ ( | ||
provideLazy | ||
); | ||
/** | ||
* @type {<K, V>( | ||
* baggage: Baggage, | ||
* key: K, | ||
* makeValue: (key: K) => V, | ||
* ) => V} | ||
*/ (provideLazy); | ||
@@ -126,0 +130,0 @@ // TODO: Find a good home for this function used by @agoric/vat-data and testing code |
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
61289
6
1354
+ Added@endo/errors@^1.2.9
Updated@agoric/swingset-liveslots@0.10.3-dev-7b582c1.0+7b582c1
Updated@endo/exo@^1.5.8
Updated@endo/patterns@^1.4.8