@amalgm/live 0.2.81-preview.34544985641 → 0.2.81-preview.34546319610
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/dist/sharing/pack.d.ts
CHANGED
|
@@ -11,10 +11,10 @@ declare function bundleSummary(bundle: ShareBundle): Record<string, number>;
|
|
|
11
11
|
declare function parseBundle(text: string): ShareBundle;
|
|
12
12
|
/**
|
|
13
13
|
* Every identity the bundle carries for its constructs: its own id, its
|
|
14
|
-
* heads, and each entry's
|
|
14
|
+
* heads, and each entry's own id. A published copy must name none of them.
|
|
15
15
|
*/
|
|
16
16
|
declare function bundleIdentities(bundle: ShareBundle): Set<string>;
|
|
17
|
-
/** Fail
|
|
17
|
+
/** Fail if any identity of `original` is still named as an identity in `copy`. */
|
|
18
18
|
declare function assertDetached(original: ShareBundle, copy: ShareBundle): void;
|
|
19
19
|
declare function normalizeSelection(value: ConstructSelectionInput | undefined): ConstructSelection;
|
|
20
20
|
export { assertDetached, bundleIdentities, bundleKind, bundleSummary, canonicalText, normalizeSelection, parseBundle, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAcjH,6EAA6E;AAC7E,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7C;AAYD,iBAAS,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAGlD;AAMD,iBAAS,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlE;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAa9C;AAMD;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAa1D;AAeD,kFAAkF;AAClF,iBAAS,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAMtE;AAOD,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,SAAS,GAAG,kBAAkB,CAW1F;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,CAAC"}
|
package/dist/sharing/pack.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { SharingError } from './errors.js';
|
|
7
7
|
const HEAD_TYPES = new Set(['agent', 'automation', 'app', 'tool']);
|
|
8
|
-
const SOURCE_ID_KEY = /^source[A-Z][A-Za-z]*Id$/;
|
|
9
8
|
function isRecord(value) {
|
|
10
9
|
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
11
10
|
}
|
|
@@ -62,9 +61,12 @@ function parseBundle(text) {
|
|
|
62
61
|
heads(bundle);
|
|
63
62
|
return bundle;
|
|
64
63
|
}
|
|
64
|
+
const ENTRY_IDENTITY_KEY = /^id$|^source[A-Z][A-Za-z]*Id$/;
|
|
65
|
+
const IDENTITY_POSITION_KEY = /^id$|Id$|Ids$/;
|
|
66
|
+
const ENTRY_LISTS = ['agents', 'automations', 'apps', 'tools', 'toolActions'];
|
|
65
67
|
/**
|
|
66
68
|
* Every identity the bundle carries for its constructs: its own id, its
|
|
67
|
-
* heads, and each entry's
|
|
69
|
+
* heads, and each entry's own id. A published copy must name none of them.
|
|
68
70
|
*/
|
|
69
71
|
function bundleIdentities(bundle) {
|
|
70
72
|
const identities = new Set();
|
|
@@ -72,26 +74,38 @@ function bundleIdentities(bundle) {
|
|
|
72
74
|
identities.add(bundle.bundleId);
|
|
73
75
|
for (const head of heads(bundle))
|
|
74
76
|
identities.add(head.id);
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
for (const list of ENTRY_LISTS) {
|
|
78
|
+
for (const entry of Array.isArray(bundle[list]) ? bundle[list] : []) {
|
|
79
|
+
if (!isRecord(entry))
|
|
80
|
+
continue;
|
|
81
|
+
for (const [key, item] of Object.entries(entry)) {
|
|
82
|
+
if (ENTRY_IDENTITY_KEY.test(key) && typeof item === 'string' && item)
|
|
83
|
+
identities.add(item);
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
|
-
|
|
81
|
-
return;
|
|
82
|
-
for (const [key, item] of Object.entries(value)) {
|
|
83
|
-
if (SOURCE_ID_KEY.test(key) && typeof item === 'string' && item)
|
|
84
|
-
identities.add(item);
|
|
85
|
-
collect(item);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
collect(bundle);
|
|
86
|
+
}
|
|
89
87
|
return identities;
|
|
90
88
|
}
|
|
91
|
-
/**
|
|
89
|
+
/** Every value sitting where an identity is named: `id`, `…Id`, and `…Ids` keys. */
|
|
90
|
+
function identityPositions(value, found = new Set()) {
|
|
91
|
+
if (Array.isArray(value))
|
|
92
|
+
value.forEach((item) => identityPositions(item, found));
|
|
93
|
+
if (!isRecord(value))
|
|
94
|
+
return found;
|
|
95
|
+
for (const [key, item] of Object.entries(value)) {
|
|
96
|
+
if (IDENTITY_POSITION_KEY.test(key)) {
|
|
97
|
+
for (const candidate of Array.isArray(item) ? item : [item])
|
|
98
|
+
if (typeof candidate === 'string' && candidate)
|
|
99
|
+
found.add(candidate);
|
|
100
|
+
}
|
|
101
|
+
identityPositions(item, found);
|
|
102
|
+
}
|
|
103
|
+
return found;
|
|
104
|
+
}
|
|
105
|
+
/** Fail if any identity of `original` is still named as an identity in `copy`. */
|
|
92
106
|
function assertDetached(original, copy) {
|
|
93
|
-
const
|
|
94
|
-
const surviving = [...bundleIdentities(original)].filter((identity) =>
|
|
107
|
+
const named = identityPositions(copy);
|
|
108
|
+
const surviving = [...bundleIdentities(original)].filter((identity) => named.has(identity));
|
|
95
109
|
if (surviving.length) {
|
|
96
110
|
throw new SharingError('invalid', `published copy still carries source identities: ${surviving.join(', ')}`);
|
|
97
111
|
}
|
package/dist/sharing/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,KAAK,CAAC,MAAmB;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,CACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAyB,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CACzH,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,MAAmB;IACxC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,MAAqB,CAAC;IACrC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;IACvH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IACxH,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAC3D,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAU,CAAC;AAEvF;;;GAGG;AACH,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5F,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,KAAc,EAAE,QAAQ,IAAI,GAAG,EAAU;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS;oBAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpI,CAAC;QACD,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,SAAS,cAAc,CAAC,QAAqB,EAAE,IAAiB;IAC9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5F,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,mDAAmD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA0C;IACpE,MAAM,SAAS,GAAuB;QACpC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;QACpC,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;QAC9C,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,qDAAqD,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,CAAC"}
|
package/dist-cjs/sharing/pack.js
CHANGED
|
@@ -14,7 +14,6 @@ exports.normalizeSelection = normalizeSelection;
|
|
|
14
14
|
exports.parseBundle = parseBundle;
|
|
15
15
|
const errors_js_1 = require("./errors.js");
|
|
16
16
|
const HEAD_TYPES = new Set(['agent', 'automation', 'app', 'tool']);
|
|
17
|
-
const SOURCE_ID_KEY = /^source[A-Z][A-Za-z]*Id$/;
|
|
18
17
|
function isRecord(value) {
|
|
19
18
|
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
20
19
|
}
|
|
@@ -71,9 +70,12 @@ function parseBundle(text) {
|
|
|
71
70
|
heads(bundle);
|
|
72
71
|
return bundle;
|
|
73
72
|
}
|
|
73
|
+
const ENTRY_IDENTITY_KEY = /^id$|^source[A-Z][A-Za-z]*Id$/;
|
|
74
|
+
const IDENTITY_POSITION_KEY = /^id$|Id$|Ids$/;
|
|
75
|
+
const ENTRY_LISTS = ['agents', 'automations', 'apps', 'tools', 'toolActions'];
|
|
74
76
|
/**
|
|
75
77
|
* Every identity the bundle carries for its constructs: its own id, its
|
|
76
|
-
* heads, and each entry's
|
|
78
|
+
* heads, and each entry's own id. A published copy must name none of them.
|
|
77
79
|
*/
|
|
78
80
|
function bundleIdentities(bundle) {
|
|
79
81
|
const identities = new Set();
|
|
@@ -81,26 +83,38 @@ function bundleIdentities(bundle) {
|
|
|
81
83
|
identities.add(bundle.bundleId);
|
|
82
84
|
for (const head of heads(bundle))
|
|
83
85
|
identities.add(head.id);
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
for (const list of ENTRY_LISTS) {
|
|
87
|
+
for (const entry of Array.isArray(bundle[list]) ? bundle[list] : []) {
|
|
88
|
+
if (!isRecord(entry))
|
|
89
|
+
continue;
|
|
90
|
+
for (const [key, item] of Object.entries(entry)) {
|
|
91
|
+
if (ENTRY_IDENTITY_KEY.test(key) && typeof item === 'string' && item)
|
|
92
|
+
identities.add(item);
|
|
93
|
+
}
|
|
88
94
|
}
|
|
89
|
-
|
|
90
|
-
return;
|
|
91
|
-
for (const [key, item] of Object.entries(value)) {
|
|
92
|
-
if (SOURCE_ID_KEY.test(key) && typeof item === 'string' && item)
|
|
93
|
-
identities.add(item);
|
|
94
|
-
collect(item);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
collect(bundle);
|
|
95
|
+
}
|
|
98
96
|
return identities;
|
|
99
97
|
}
|
|
100
|
-
/**
|
|
98
|
+
/** Every value sitting where an identity is named: `id`, `…Id`, and `…Ids` keys. */
|
|
99
|
+
function identityPositions(value, found = new Set()) {
|
|
100
|
+
if (Array.isArray(value))
|
|
101
|
+
value.forEach((item) => identityPositions(item, found));
|
|
102
|
+
if (!isRecord(value))
|
|
103
|
+
return found;
|
|
104
|
+
for (const [key, item] of Object.entries(value)) {
|
|
105
|
+
if (IDENTITY_POSITION_KEY.test(key)) {
|
|
106
|
+
for (const candidate of Array.isArray(item) ? item : [item])
|
|
107
|
+
if (typeof candidate === 'string' && candidate)
|
|
108
|
+
found.add(candidate);
|
|
109
|
+
}
|
|
110
|
+
identityPositions(item, found);
|
|
111
|
+
}
|
|
112
|
+
return found;
|
|
113
|
+
}
|
|
114
|
+
/** Fail if any identity of `original` is still named as an identity in `copy`. */
|
|
101
115
|
function assertDetached(original, copy) {
|
|
102
|
-
const
|
|
103
|
-
const surviving = [...bundleIdentities(original)].filter((identity) =>
|
|
116
|
+
const named = identityPositions(copy);
|
|
117
|
+
const surviving = [...bundleIdentities(original)].filter((identity) => named.has(identity));
|
|
104
118
|
if (surviving.length) {
|
|
105
119
|
throw new errors_js_1.SharingError('invalid', `published copy still carries source identities: ${surviving.join(', ')}`);
|
|
106
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/sharing/pack.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/live",
|
|
3
|
-
"version": "0.2.81-preview.
|
|
3
|
+
"version": "0.2.81-preview.34546319610",
|
|
4
4
|
"description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist-cjs/index.js",
|
|
@@ -120,11 +120,11 @@
|
|
|
120
120
|
"verify": "test",
|
|
121
121
|
"cli": []
|
|
122
122
|
},
|
|
123
|
-
"gitHead": "
|
|
123
|
+
"gitHead": "47fd5e7b11b6df134e6aa4bf04f29680eea61be8",
|
|
124
124
|
"amalgmSource": {
|
|
125
125
|
"repository": "amalgm-inc/amalgm-live",
|
|
126
126
|
"branch": "preview",
|
|
127
|
-
"commit": "
|
|
128
|
-
"occurrence": "
|
|
127
|
+
"commit": "47fd5e7b11b6df134e6aa4bf04f29680eea61be8",
|
|
128
|
+
"occurrence": "34546319610"
|
|
129
129
|
}
|
|
130
130
|
}
|