dsh-plugin-shop 0.5.3 → 0.5.4-beta.0
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/lib/client.js +8 -8
- package/lib/index.js +21 -7
- package/lib/typert.host.js +8 -8
- package/lib/typert.remote-client.js +8 -8
- package/lib/types/host/profile.d.ts +18 -4
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -4434,7 +4434,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4434
4434
|
},
|
|
4435
4435
|
sourceLocation: {
|
|
4436
4436
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4437
|
-
"line":
|
|
4437
|
+
"line": 525,
|
|
4438
4438
|
"column": 9
|
|
4439
4439
|
}
|
|
4440
4440
|
},
|
|
@@ -4452,7 +4452,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4452
4452
|
},
|
|
4453
4453
|
sourceLocation: {
|
|
4454
4454
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4455
|
-
"line":
|
|
4455
|
+
"line": 681,
|
|
4456
4456
|
"column": 9
|
|
4457
4457
|
}
|
|
4458
4458
|
},
|
|
@@ -4480,7 +4480,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4480
4480
|
},
|
|
4481
4481
|
sourceLocation: {
|
|
4482
4482
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4483
|
-
"line":
|
|
4483
|
+
"line": 551,
|
|
4484
4484
|
"column": 9
|
|
4485
4485
|
}
|
|
4486
4486
|
},
|
|
@@ -4507,7 +4507,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4507
4507
|
},
|
|
4508
4508
|
sourceLocation: {
|
|
4509
4509
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4510
|
-
"line":
|
|
4510
|
+
"line": 670,
|
|
4511
4511
|
"column": 3
|
|
4512
4512
|
}
|
|
4513
4513
|
},
|
|
@@ -4525,7 +4525,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4525
4525
|
},
|
|
4526
4526
|
sourceLocation: {
|
|
4527
4527
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4528
|
-
"line":
|
|
4528
|
+
"line": 831,
|
|
4529
4529
|
"column": 9
|
|
4530
4530
|
}
|
|
4531
4531
|
},
|
|
@@ -4580,7 +4580,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4580
4580
|
},
|
|
4581
4581
|
sourceLocation: {
|
|
4582
4582
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4583
|
-
"line":
|
|
4583
|
+
"line": 773,
|
|
4584
4584
|
"column": 9
|
|
4585
4585
|
}
|
|
4586
4586
|
},
|
|
@@ -4607,7 +4607,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4607
4607
|
},
|
|
4608
4608
|
sourceLocation: {
|
|
4609
4609
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4610
|
-
"line":
|
|
4610
|
+
"line": 891,
|
|
4611
4611
|
"column": 9
|
|
4612
4612
|
}
|
|
4613
4613
|
},
|
|
@@ -4625,7 +4625,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
4625
4625
|
},
|
|
4626
4626
|
sourceLocation: {
|
|
4627
4627
|
"file": "packages/dsh-plugin-shop/src/host/index.ts",
|
|
4628
|
-
"line":
|
|
4628
|
+
"line": 875,
|
|
4629
4629
|
"column": 9
|
|
4630
4630
|
}
|
|
4631
4631
|
}
|
package/lib/index.js
CHANGED
|
@@ -987,16 +987,31 @@ function collectEntryIds(entries, into) {
|
|
|
987
987
|
/**
|
|
988
988
|
* Does a live loader entry id belong to the package that owns `owned`?
|
|
989
989
|
*
|
|
990
|
-
*
|
|
991
|
-
*
|
|
992
|
-
*
|
|
993
|
-
*
|
|
990
|
+
* `owned` holds CONFIG ids — the ids a bundle patch's `insert` declares. A
|
|
991
|
+
* LIVE id is that id under the namespace of every tree composed above it,
|
|
992
|
+
* colon-joined, so the last segment is the declared id and the segments
|
|
993
|
+
* before it name the trees:
|
|
994
|
+
*
|
|
995
|
+
* - `foo` — no tree above the entry at all (a harness that composes the
|
|
996
|
+
* entry list directly).
|
|
997
|
+
* - `include:foo` — what a REAL dsh boot produces: app-boot mounts the whole
|
|
998
|
+
* profile as one root Include entry (`id: include`), so EVERY entry any
|
|
999
|
+
* bundle patch inserted is namespaced by it. Matching only the bare
|
|
1000
|
+
* spelling found no row for any installed package, and the toggle answered
|
|
1001
|
+
* "not in the running plugin tree" for all of them.
|
|
1002
|
+
* - `include:<tree>:mkt-foo` — the shop's own hot subtree, which prefixes its
|
|
1003
|
+
* rows `mkt-` so a plugin installed this session cannot collide with a
|
|
1004
|
+
* boot-layer id. The same plugin, one restart earlier.
|
|
1005
|
+
*
|
|
1006
|
+
* The last segment is therefore the answer, with `mkt-` stripped when a tree
|
|
1007
|
+
* namespace is present.
|
|
994
1008
|
*/
|
|
995
1009
|
function ownsEntryId(owned, entryId) {
|
|
996
1010
|
if (owned.has(entryId)) return true;
|
|
997
1011
|
const colon = entryId.lastIndexOf(":");
|
|
998
1012
|
if (colon === -1) return false;
|
|
999
1013
|
const tail = entryId.slice(colon + 1);
|
|
1014
|
+
if (owned.has(tail)) return true;
|
|
1000
1015
|
return tail.startsWith("mkt-") && owned.has(tail.slice(4));
|
|
1001
1016
|
}
|
|
1002
1017
|
//#endregion
|
|
@@ -1407,14 +1422,13 @@ let ShopGateway = (() => {
|
|
|
1407
1422
|
detail: `dsh-plugin-shop: ${args.name} contributes no plugin entries, so there is nothing to enable or disable`
|
|
1408
1423
|
};
|
|
1409
1424
|
const ownedSet = new Set(owned);
|
|
1410
|
-
|
|
1411
|
-
if (rows.length === 0) return {
|
|
1425
|
+
if ((await this.listInventory()).filter((entry) => ownsEntryId(ownedSet, entry.entryId)).length === 0) return {
|
|
1412
1426
|
ok: false,
|
|
1413
1427
|
detail: `dsh-plugin-shop: ${args.name} is installed but its entries are not in the running plugin tree; restart dsh to compose them`
|
|
1414
1428
|
};
|
|
1415
1429
|
setUserLayerRows({
|
|
1416
1430
|
profileDir,
|
|
1417
|
-
rows:
|
|
1431
|
+
rows: owned.map((id) => ({
|
|
1418
1432
|
id,
|
|
1419
1433
|
disabled: !args.enabled
|
|
1420
1434
|
}))
|
package/lib/typert.host.js
CHANGED
|
@@ -151,7 +151,7 @@ export const TYPERT = {
|
|
|
151
151
|
typeSymbol: 'dsh-plugin-shop/types#ShopCatalogResult',
|
|
152
152
|
schema: dsh_plugin_shop_shop_catalog_result$schema,
|
|
153
153
|
},
|
|
154
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
154
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":525,"column":9},
|
|
155
155
|
},
|
|
156
156
|
{
|
|
157
157
|
id: 'dsh-plugin-shop#shop/installed',
|
|
@@ -166,7 +166,7 @@ export const TYPERT = {
|
|
|
166
166
|
typeSymbol: 'dsh-plugin-shop#shop/installed:result',
|
|
167
167
|
schema: dsh_plugin_shop_shop_installed_result$schema,
|
|
168
168
|
},
|
|
169
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
169
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":681,"column":9},
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
172
|
id: 'dsh-plugin-shop#shop/installStart',
|
|
@@ -192,7 +192,7 @@ export const TYPERT = {
|
|
|
192
192
|
typeSymbol: 'dsh-plugin-shop/types#ShopInstallResult',
|
|
193
193
|
schema: dsh_plugin_shop_shop_installStart_result$schema,
|
|
194
194
|
},
|
|
195
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
195
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":551,"column":9},
|
|
196
196
|
},
|
|
197
197
|
{
|
|
198
198
|
id: 'dsh-plugin-shop#shop/installStatus',
|
|
@@ -217,7 +217,7 @@ export const TYPERT = {
|
|
|
217
217
|
typeSymbol: 'dsh-plugin-shop/types#ShopInstallStatusResult',
|
|
218
218
|
schema: dsh_plugin_shop_shop_installStatus_result$schema,
|
|
219
219
|
},
|
|
220
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
220
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":670,"column":3},
|
|
221
221
|
},
|
|
222
222
|
{
|
|
223
223
|
id: 'dsh-plugin-shop#shop/restart',
|
|
@@ -232,7 +232,7 @@ export const TYPERT = {
|
|
|
232
232
|
typeSymbol: 'dsh-plugin-shop/types#ShopRestartResult',
|
|
233
233
|
schema: dsh_plugin_shop_shop_restart_result$schema,
|
|
234
234
|
},
|
|
235
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
235
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":831,"column":9},
|
|
236
236
|
},
|
|
237
237
|
{
|
|
238
238
|
id: 'dsh-plugin-shop#shop/setEnabled',
|
|
@@ -283,7 +283,7 @@ export const TYPERT = {
|
|
|
283
283
|
typeSymbol: 'dsh-plugin-shop/types#ShopUninstallResult',
|
|
284
284
|
schema: dsh_plugin_shop_shop_uninstallStart_result$schema,
|
|
285
285
|
},
|
|
286
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
286
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":773,"column":9},
|
|
287
287
|
},
|
|
288
288
|
{
|
|
289
289
|
id: 'dsh-plugin-shop#shop/updateStart',
|
|
@@ -308,7 +308,7 @@ export const TYPERT = {
|
|
|
308
308
|
typeSymbol: 'dsh-plugin-shop/types#ShopUpdateResult',
|
|
309
309
|
schema: dsh_plugin_shop_shop_updateStart_result$schema,
|
|
310
310
|
},
|
|
311
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
311
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":891,"column":9},
|
|
312
312
|
},
|
|
313
313
|
{
|
|
314
314
|
id: 'dsh-plugin-shop#shop/version',
|
|
@@ -323,7 +323,7 @@ export const TYPERT = {
|
|
|
323
323
|
typeSymbol: 'dsh-plugin-shop/types#ShopVersionResult',
|
|
324
324
|
schema: dsh_plugin_shop_shop_version_result$schema,
|
|
325
325
|
},
|
|
326
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
326
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":875,"column":9},
|
|
327
327
|
},
|
|
328
328
|
],
|
|
329
329
|
model: {
|
|
@@ -148,7 +148,7 @@ export const TYPERT_REMOTE = {
|
|
|
148
148
|
typeSymbol: 'dsh-plugin-shop/types#ShopCatalogResult',
|
|
149
149
|
schema: dsh_plugin_shop_shop_catalog_result$schema,
|
|
150
150
|
},
|
|
151
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
151
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":525,"column":9},
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
id: 'dsh-plugin-shop#shop/installed',
|
|
@@ -163,7 +163,7 @@ export const TYPERT_REMOTE = {
|
|
|
163
163
|
typeSymbol: 'dsh-plugin-shop#shop/installed:result',
|
|
164
164
|
schema: dsh_plugin_shop_shop_installed_result$schema,
|
|
165
165
|
},
|
|
166
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
166
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":681,"column":9},
|
|
167
167
|
},
|
|
168
168
|
{
|
|
169
169
|
id: 'dsh-plugin-shop#shop/installStart',
|
|
@@ -189,7 +189,7 @@ export const TYPERT_REMOTE = {
|
|
|
189
189
|
typeSymbol: 'dsh-plugin-shop/types#ShopInstallResult',
|
|
190
190
|
schema: dsh_plugin_shop_shop_installStart_result$schema,
|
|
191
191
|
},
|
|
192
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
192
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":551,"column":9},
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
id: 'dsh-plugin-shop#shop/installStatus',
|
|
@@ -214,7 +214,7 @@ export const TYPERT_REMOTE = {
|
|
|
214
214
|
typeSymbol: 'dsh-plugin-shop/types#ShopInstallStatusResult',
|
|
215
215
|
schema: dsh_plugin_shop_shop_installStatus_result$schema,
|
|
216
216
|
},
|
|
217
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
217
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":670,"column":3},
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
id: 'dsh-plugin-shop#shop/restart',
|
|
@@ -229,7 +229,7 @@ export const TYPERT_REMOTE = {
|
|
|
229
229
|
typeSymbol: 'dsh-plugin-shop/types#ShopRestartResult',
|
|
230
230
|
schema: dsh_plugin_shop_shop_restart_result$schema,
|
|
231
231
|
},
|
|
232
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
232
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":831,"column":9},
|
|
233
233
|
},
|
|
234
234
|
{
|
|
235
235
|
id: 'dsh-plugin-shop#shop/setEnabled',
|
|
@@ -280,7 +280,7 @@ export const TYPERT_REMOTE = {
|
|
|
280
280
|
typeSymbol: 'dsh-plugin-shop/types#ShopUninstallResult',
|
|
281
281
|
schema: dsh_plugin_shop_shop_uninstallStart_result$schema,
|
|
282
282
|
},
|
|
283
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
283
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":773,"column":9},
|
|
284
284
|
},
|
|
285
285
|
{
|
|
286
286
|
id: 'dsh-plugin-shop#shop/updateStart',
|
|
@@ -305,7 +305,7 @@ export const TYPERT_REMOTE = {
|
|
|
305
305
|
typeSymbol: 'dsh-plugin-shop/types#ShopUpdateResult',
|
|
306
306
|
schema: dsh_plugin_shop_shop_updateStart_result$schema,
|
|
307
307
|
},
|
|
308
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
308
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":891,"column":9},
|
|
309
309
|
},
|
|
310
310
|
{
|
|
311
311
|
id: 'dsh-plugin-shop#shop/version',
|
|
@@ -320,7 +320,7 @@ export const TYPERT_REMOTE = {
|
|
|
320
320
|
typeSymbol: 'dsh-plugin-shop/types#ShopVersionResult',
|
|
321
321
|
schema: dsh_plugin_shop_shop_version_result$schema,
|
|
322
322
|
},
|
|
323
|
-
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":
|
|
323
|
+
sourceLocation: {"file":"packages/dsh-plugin-shop/src/host/index.ts","line":875,"column":9},
|
|
324
324
|
},
|
|
325
325
|
],
|
|
326
326
|
}
|
|
@@ -68,9 +68,23 @@ export declare function ownedEntryIds(options: {
|
|
|
68
68
|
/**
|
|
69
69
|
* Does a live loader entry id belong to the package that owns `owned`?
|
|
70
70
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
71
|
+
* `owned` holds CONFIG ids — the ids a bundle patch's `insert` declares. A
|
|
72
|
+
* LIVE id is that id under the namespace of every tree composed above it,
|
|
73
|
+
* colon-joined, so the last segment is the declared id and the segments
|
|
74
|
+
* before it name the trees:
|
|
75
|
+
*
|
|
76
|
+
* - `foo` — no tree above the entry at all (a harness that composes the
|
|
77
|
+
* entry list directly).
|
|
78
|
+
* - `include:foo` — what a REAL dsh boot produces: app-boot mounts the whole
|
|
79
|
+
* profile as one root Include entry (`id: include`), so EVERY entry any
|
|
80
|
+
* bundle patch inserted is namespaced by it. Matching only the bare
|
|
81
|
+
* spelling found no row for any installed package, and the toggle answered
|
|
82
|
+
* "not in the running plugin tree" for all of them.
|
|
83
|
+
* - `include:<tree>:mkt-foo` — the shop's own hot subtree, which prefixes its
|
|
84
|
+
* rows `mkt-` so a plugin installed this session cannot collide with a
|
|
85
|
+
* boot-layer id. The same plugin, one restart earlier.
|
|
86
|
+
*
|
|
87
|
+
* The last segment is therefore the answer, with `mkt-` stripped when a tree
|
|
88
|
+
* namespace is present.
|
|
75
89
|
*/
|
|
76
90
|
export declare function ownsEntryId(owned: ReadonlySet<string>, entryId: string): boolean;
|
package/package.json
CHANGED