@jskit-ai/workspaces-web 0.1.79 → 0.1.80

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.
@@ -1,7 +1,7 @@
1
1
  export default Object.freeze({
2
2
  packageVersion: 1,
3
3
  packageId: "@jskit-ai/workspaces-web",
4
- version: "0.1.79",
4
+ version: "0.1.80",
5
5
  kind: "runtime",
6
6
  description: "Workspace web module: workspace selector, tools widget, workspace surfaces, members UI, and settings hosts.",
7
7
  dependsOn: [
@@ -227,8 +227,8 @@ export default Object.freeze({
227
227
  mutations: {
228
228
  dependencies: {
229
229
  runtime: {
230
- "@jskit-ai/workspaces-core": "0.1.78",
231
- "@jskit-ai/users-web": "0.1.117"
230
+ "@jskit-ai/workspaces-core": "0.1.79",
231
+ "@jskit-ai/users-web": "0.1.118"
232
232
  },
233
233
  dev: {}
234
234
  },
@@ -421,47 +421,43 @@ export default Object.freeze({
421
421
  config: "tenancyMode",
422
422
  in: ["personal", "workspaces"]
423
423
  }
424
- },
424
+ }
425
+ ],
426
+ source: [
425
427
  {
426
- op: "append-text",
428
+ op: "ensure-import",
427
429
  file: "packages/main/src/client/providers/MainClientProvider.js",
428
- position: "top",
429
- skipIfContains: "import AccountPendingInvitesCue from \"../components/AccountPendingInvitesCue.vue\";",
430
- value: "import AccountPendingInvitesCue from \"../components/AccountPendingInvitesCue.vue\";\n",
430
+ defaultImport: "AccountPendingInvitesCue",
431
+ from: "../components/AccountPendingInvitesCue.vue",
431
432
  reason: "Bind app-owned account pending invites cue component into local main client provider imports.",
432
433
  category: "workspaces-web",
433
434
  id: "users-web-main-client-provider-account-invites-import"
434
435
  },
435
436
  {
436
- op: "append-text",
437
+ op: "ensure-import",
437
438
  file: "packages/main/src/client/providers/MainClientProvider.js",
438
- position: "top",
439
- skipIfContains: "import AccountSettingsInvitesSection from \"../components/AccountSettingsInvitesSection.vue\";",
440
- value:
441
- "import AccountSettingsInvitesSection from \"../components/AccountSettingsInvitesSection.vue\";\n",
439
+ defaultImport: "AccountSettingsInvitesSection",
440
+ from: "../components/AccountSettingsInvitesSection.vue",
442
441
  reason: "Bind app-owned account invites section component into local main client provider imports.",
443
442
  category: "workspaces-web",
444
443
  id: "users-web-main-client-provider-account-settings-section-import"
445
444
  },
446
445
  {
447
- op: "append-text",
446
+ op: "ensure-call",
448
447
  file: "packages/main/src/client/providers/MainClientProvider.js",
449
- position: "bottom",
450
- skipIfContains: "registerMainClientComponent(\"local.main.account.pending-invites.cue\", () => AccountPendingInvitesCue);",
451
- value:
452
- "\nregisterMainClientComponent(\"local.main.account.pending-invites.cue\", () => AccountPendingInvitesCue);\n",
448
+ callee: "registerMainClientComponent",
449
+ args: ["\"local.main.account.pending-invites.cue\"", "() => AccountPendingInvitesCue"],
450
+ beforeClass: "MainClientProvider",
453
451
  reason: "Bind app-owned account pending invites cue component token into local main client provider registry.",
454
452
  category: "workspaces-web",
455
453
  id: "users-web-main-client-provider-account-invites-register"
456
454
  },
457
455
  {
458
- op: "append-text",
456
+ op: "ensure-call",
459
457
  file: "packages/main/src/client/providers/MainClientProvider.js",
460
- position: "bottom",
461
- skipIfContains:
462
- "registerMainClientComponent(\"local.main.account-settings.section.invites\", () => AccountSettingsInvitesSection);",
463
- value:
464
- "\nregisterMainClientComponent(\"local.main.account-settings.section.invites\", () => AccountSettingsInvitesSection);\n",
458
+ callee: "registerMainClientComponent",
459
+ args: ["\"local.main.account-settings.section.invites\"", "() => AccountSettingsInvitesSection"],
460
+ beforeClass: "MainClientProvider",
465
461
  reason: "Bind app-owned account invites section component token into local main client provider registry.",
466
462
  category: "workspaces-web",
467
463
  id: "users-web-main-client-provider-account-settings-section-register"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/workspaces-web",
3
- "version": "0.1.79",
3
+ "version": "0.1.80",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -14,12 +14,12 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@mdi/js": "^7.4.47",
17
- "@jskit-ai/http-runtime": "0.1.101",
18
- "@jskit-ai/kernel": "0.1.103",
19
- "@jskit-ai/shell-web": "0.1.102",
20
- "@jskit-ai/users-core": "0.1.112",
21
- "@jskit-ai/users-web": "0.1.117",
22
- "@jskit-ai/workspaces-core": "0.1.78"
17
+ "@jskit-ai/http-runtime": "0.1.102",
18
+ "@jskit-ai/kernel": "0.1.104",
19
+ "@jskit-ai/shell-web": "0.1.103",
20
+ "@jskit-ai/users-core": "0.1.113",
21
+ "@jskit-ai/users-web": "0.1.118",
22
+ "@jskit-ai/workspaces-core": "0.1.79"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@tanstack/vue-query": "^5.90.5",
@@ -44,6 +44,13 @@ function findTextMutation(id) {
44
44
  : null;
45
45
  }
46
46
 
47
+ function findSourceMutation(id) {
48
+ const sourceMutations = descriptor?.mutations?.source;
49
+ return Array.isArray(sourceMutations)
50
+ ? sourceMutations.find((entry) => String(entry?.id || "").trim() === id) || null
51
+ : null;
52
+ }
53
+
47
54
  function findFileMutation(id) {
48
55
  const fileMutations = descriptor?.mutations?.files;
49
56
  return Array.isArray(fileMutations)
@@ -394,12 +401,23 @@ test("workspaces-web descriptor metadata advertises admin settings outlets", ()
394
401
  in: ["personal", "workspaces"]
395
402
  }
396
403
  });
397
- assert.match(
398
- findTextMutation("users-web-main-client-provider-account-settings-section-import")?.value || "",
399
- /import AccountSettingsInvitesSection from "\.\.\/components\/AccountSettingsInvitesSection\.vue";/
400
- );
401
- assert.match(
402
- findTextMutation("users-web-main-client-provider-account-settings-section-register")?.value || "",
403
- /registerMainClientComponent\("local\.main\.account-settings\.section\.invites", \(\) => AccountSettingsInvitesSection\);/
404
- );
404
+ assert.deepEqual(findSourceMutation("users-web-main-client-provider-account-settings-section-import"), {
405
+ op: "ensure-import",
406
+ file: "packages/main/src/client/providers/MainClientProvider.js",
407
+ defaultImport: "AccountSettingsInvitesSection",
408
+ from: "../components/AccountSettingsInvitesSection.vue",
409
+ reason: "Bind app-owned account invites section component into local main client provider imports.",
410
+ category: "workspaces-web",
411
+ id: "users-web-main-client-provider-account-settings-section-import"
412
+ });
413
+ assert.deepEqual(findSourceMutation("users-web-main-client-provider-account-settings-section-register"), {
414
+ op: "ensure-call",
415
+ file: "packages/main/src/client/providers/MainClientProvider.js",
416
+ callee: "registerMainClientComponent",
417
+ args: ["\"local.main.account-settings.section.invites\"", "() => AccountSettingsInvitesSection"],
418
+ beforeClass: "MainClientProvider",
419
+ reason: "Bind app-owned account invites section component token into local main client provider registry.",
420
+ category: "workspaces-web",
421
+ id: "users-web-main-client-provider-account-settings-section-register"
422
+ });
405
423
  });