happy2 0.0.13 → 0.0.14

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 (213) hide show
  1. package/package.json +1 -1
  2. package/packages/happy2-server/PLUGINS.md +196 -42
  3. package/packages/happy2-server/dist/index.d.ts +1 -0
  4. package/packages/happy2-server/dist/index.d.ts.map +1 -1
  5. package/packages/happy2-server/dist/index.js +1 -0
  6. package/packages/happy2-server/dist/index.js.map +1 -1
  7. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.d.ts +4 -0
  8. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.d.ts.map +1 -0
  9. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.js +15 -0
  10. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.js.map +1 -0
  11. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.d.ts +2 -0
  12. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.d.ts.map +1 -0
  13. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.js +17 -0
  14. package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.js.map +1 -0
  15. package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.d.ts +23 -0
  16. package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.d.ts.map +1 -0
  17. package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.js +70 -0
  18. package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.js.map +1 -0
  19. package/packages/happy2-server/dist/modules/agents/service.d.ts +2 -4
  20. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  21. package/packages/happy2-server/dist/modules/agents/service.js +7 -7
  22. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  23. package/packages/happy2-server/dist/modules/auth/tokens.d.ts +15 -0
  24. package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
  25. package/packages/happy2-server/dist/modules/auth/tokens.js +74 -6
  26. package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
  27. package/packages/happy2-server/dist/modules/auth/tokens.test.js +57 -0
  28. package/packages/happy2-server/dist/modules/auth/tokens.test.js.map +1 -1
  29. package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.d.ts +19 -0
  30. package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.d.ts.map +1 -0
  31. package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.js +87 -0
  32. package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.js.map +1 -0
  33. package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.d.ts +15 -0
  34. package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.d.ts.map +1 -0
  35. package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.js +38 -0
  36. package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.js.map +1 -0
  37. package/packages/happy2-server/dist/modules/chat/chatAppendAudit.d.ts +1 -1
  38. package/packages/happy2-server/dist/modules/chat/chatAppendAudit.d.ts.map +1 -1
  39. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -1
  40. package/packages/happy2-server/dist/modules/plugin/catalog.js +3 -3
  41. package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -1
  42. package/packages/happy2-server/dist/modules/plugin/catalog.test.js +2 -2
  43. package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -1
  44. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.d.ts +5 -0
  45. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.d.ts.map +1 -0
  46. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js +106 -0
  47. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js.map +1 -0
  48. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -1
  49. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +10 -1
  50. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -1
  51. package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.d.ts +3 -0
  52. package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.d.ts.map +1 -0
  53. package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.js +68 -0
  54. package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.js.map +1 -0
  55. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -1
  56. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +10 -2
  57. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -1
  58. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts +19 -0
  59. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts.map +1 -1
  60. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js +1 -0
  61. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js.map +1 -1
  62. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -1
  63. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +4 -2
  64. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -1
  65. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js +14 -0
  66. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js.map +1 -1
  67. package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.d.ts +345 -0
  68. package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.d.ts.map +1 -0
  69. package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.js +22 -0
  70. package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.js.map +1 -0
  71. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.d.ts +16 -0
  72. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.d.ts.map +1 -0
  73. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js +67 -0
  74. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js.map +1 -0
  75. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +14 -1
  76. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -1
  77. package/packages/happy2-server/dist/modules/plugin/packageStore.js +112 -1
  78. package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -1
  79. package/packages/happy2-server/dist/modules/plugin/packageStore.test.d.ts +2 -0
  80. package/packages/happy2-server/dist/modules/plugin/packageStore.test.d.ts.map +1 -0
  81. package/packages/happy2-server/dist/modules/plugin/packageStore.test.js +50 -0
  82. package/packages/happy2-server/dist/modules/plugin/packageStore.test.js.map +1 -0
  83. package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.d.ts +5 -0
  84. package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.d.ts.map +1 -0
  85. package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.js +26 -0
  86. package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.js.map +1 -0
  87. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts.map +1 -1
  88. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +7 -3
  89. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -1
  90. package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.d.ts +2 -0
  91. package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.d.ts.map +1 -0
  92. package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.js +44 -0
  93. package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.js.map +1 -0
  94. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts +4 -2
  95. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
  96. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +19 -2
  97. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
  98. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.d.ts +7 -0
  99. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.d.ts.map +1 -0
  100. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.js +18 -0
  101. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.js.map +1 -0
  102. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.d.ts +13 -0
  103. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.d.ts.map +1 -0
  104. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.js +35 -0
  105. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.js.map +1 -0
  106. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -1
  107. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +3 -1
  108. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -1
  109. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.d.ts +6 -0
  110. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.d.ts.map +1 -0
  111. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.js +17 -0
  112. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.js.map +1 -0
  113. package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.d.ts +18 -0
  114. package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.d.ts.map +1 -0
  115. package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.js +92 -0
  116. package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.js.map +1 -0
  117. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.d.ts +16 -0
  118. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.d.ts.map +1 -0
  119. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.js +71 -0
  120. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.js.map +1 -0
  121. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.d.ts +21 -0
  122. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.d.ts.map +1 -0
  123. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.js +71 -0
  124. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.js.map +1 -0
  125. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.d.ts +12 -0
  126. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.d.ts.map +1 -0
  127. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.js +56 -0
  128. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.js.map +1 -0
  129. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.d.ts +11 -0
  130. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.d.ts.map +1 -0
  131. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.js +44 -0
  132. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.js.map +1 -0
  133. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.d.ts +10 -0
  134. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.d.ts.map +1 -0
  135. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.js +41 -0
  136. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.js.map +1 -0
  137. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.d.ts +26 -0
  138. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.d.ts.map +1 -0
  139. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.js +78 -0
  140. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.js.map +1 -0
  141. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.d.ts +25 -0
  142. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.d.ts.map +1 -0
  143. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.js +76 -0
  144. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.js.map +1 -0
  145. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.d.ts +11 -0
  146. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.d.ts.map +1 -0
  147. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.js +48 -0
  148. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.js.map +1 -0
  149. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.d.ts +12 -0
  150. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.d.ts.map +1 -0
  151. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.js +42 -0
  152. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.js.map +1 -0
  153. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.d.ts +5 -0
  154. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.d.ts.map +1 -0
  155. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.js +18 -0
  156. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.js.map +1 -0
  157. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.d.ts +4 -0
  158. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.d.ts.map +1 -0
  159. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.js +11 -0
  160. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.js.map +1 -0
  161. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.d.ts +5 -0
  162. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.d.ts.map +1 -0
  163. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.js +75 -0
  164. package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.js.map +1 -0
  165. package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.d.ts +12 -0
  166. package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.d.ts.map +1 -0
  167. package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.js +33 -0
  168. package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.js.map +1 -0
  169. package/packages/happy2-server/dist/modules/plugin/service.d.ts +108 -7
  170. package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -1
  171. package/packages/happy2-server/dist/modules/plugin/service.js +463 -26
  172. package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -1
  173. package/packages/happy2-server/dist/modules/plugin/types.d.ts +75 -9
  174. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
  175. package/packages/happy2-server/dist/modules/plugin/types.js +9 -0
  176. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -1
  177. package/packages/happy2-server/dist/modules/schema.d.ts +4224 -3264
  178. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  179. package/packages/happy2-server/dist/modules/schema.js +35 -0
  180. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  181. package/packages/happy2-server/dist/routes/pluginHost.d.ts +2 -1
  182. package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -1
  183. package/packages/happy2-server/dist/routes/pluginHost.js +288 -6
  184. package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -1
  185. package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -1
  186. package/packages/happy2-server/dist/routes/plugins.js +229 -3
  187. package/packages/happy2-server/dist/routes/plugins.js.map +1 -1
  188. package/packages/happy2-server/dist/server.d.ts +2 -0
  189. package/packages/happy2-server/dist/server.d.ts.map +1 -1
  190. package/packages/happy2-server/dist/server.js +9 -7
  191. package/packages/happy2-server/dist/server.js.map +1 -1
  192. package/packages/happy2-server/dist/web/assets/index-Dn5SZu3y.js +39 -0
  193. package/packages/happy2-server/dist/web/assets/{index-BaPUPGPe.css → index-Dys3sWv8.css} +1 -1
  194. package/packages/happy2-server/dist/web/index.html +2 -2
  195. package/packages/happy2-server/drizzle/0028_plugin_api_permissions.sql +1 -0
  196. package/packages/happy2-server/drizzle/0029_plugin_management_requests.sql +35 -0
  197. package/packages/happy2-server/drizzle/meta/_journal.json +14 -0
  198. package/packages/happy2-server/plugins/README.md +7 -3
  199. package/packages/happy2-server/plugins/chat-management/plugin.json +3 -3
  200. package/packages/happy2-server/plugins/chat-management/server.mjs +184 -17
  201. package/packages/happy2-server/plugins/plugin-developer/container/Dockerfile +6 -0
  202. package/packages/happy2-server/plugins/plugin-developer/plugin.json +17 -0
  203. package/packages/happy2-server/plugins/plugin-developer/plugin.png +0 -0
  204. package/packages/happy2-server/plugins/plugin-developer/server.mjs +155 -0
  205. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/SKILL.md +59 -0
  206. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/host-api.md +63 -0
  207. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/installing.md +86 -0
  208. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/package-format.md +137 -0
  209. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts +0 -7
  210. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts.map +0 -1
  211. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js +0 -15
  212. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js.map +0 -1
  213. package/packages/happy2-server/dist/web/assets/index-BnhFxR3U.js +0 -39
@@ -0,0 +1,106 @@
1
+ import { PluginError, pluginHostPermissions, } from "../types.js";
2
+ const definitions = {
3
+ "channels:manage": {
4
+ id: "channels:manage",
5
+ displayName: "Manage channels",
6
+ description: "Create channels and add or remove channel members.",
7
+ section: "channels",
8
+ access: "mutations",
9
+ },
10
+ "chats:update": {
11
+ id: "chats:update",
12
+ displayName: "Update current chat",
13
+ description: "Change the current chat title and description.",
14
+ section: "chats",
15
+ access: "mutations",
16
+ },
17
+ "plugins:list": {
18
+ id: "plugins:list",
19
+ displayName: "View plugins",
20
+ description: "View installed plugins and their current status.",
21
+ section: "plugins",
22
+ access: "readOnly",
23
+ },
24
+ "plugins:install": {
25
+ id: "plugins:install",
26
+ displayName: "Install plugins",
27
+ description: "Install another plugin and choose the permissions granted to it.",
28
+ section: "plugins",
29
+ access: "mutations",
30
+ },
31
+ "plugins:uninstall": {
32
+ id: "plugins:uninstall",
33
+ displayName: "Uninstall plugins",
34
+ description: "Stop and uninstall an existing plugin installation.",
35
+ section: "plugins",
36
+ access: "mutations",
37
+ },
38
+ "plugins:request-install": {
39
+ id: "plugins:request-install",
40
+ displayName: "Request plugin installs",
41
+ description: "Ask a user in the current chat to approve installing a plugin.",
42
+ section: "plugins",
43
+ access: "mutations",
44
+ },
45
+ "plugins:request-uninstall": {
46
+ id: "plugins:request-uninstall",
47
+ displayName: "Request plugin uninstalls",
48
+ description: "Ask a user in the current chat to approve uninstalling a plugin.",
49
+ section: "plugins",
50
+ access: "mutations",
51
+ },
52
+ };
53
+ const pluginHostPermissionSet = new Set(pluginHostPermissions);
54
+ export function pluginApiPermissionSections(permissions) {
55
+ const requested = permissions.map((permission) => definitions[permission]);
56
+ return [
57
+ { id: "channels", displayName: "Channels" },
58
+ { id: "chats", displayName: "Chats" },
59
+ { id: "plugins", displayName: "Plugins" },
60
+ ].flatMap((section) => {
61
+ const definitionsForSection = requested.filter((definition) => definition.section === section.id);
62
+ if (definitionsForSection.length === 0)
63
+ return [];
64
+ return [
65
+ {
66
+ ...section,
67
+ readOnly: definitionsForSection
68
+ .filter(({ access }) => access === "readOnly")
69
+ .map(({ access: _, section: __, ...definition }) => definition),
70
+ mutations: definitionsForSection
71
+ .filter(({ access }) => access === "mutations")
72
+ .map(({ access: _, section: __, ...definition }) => definition),
73
+ },
74
+ ];
75
+ });
76
+ }
77
+ export function pluginPermissionsValidate(requested, declared) {
78
+ const declaredSet = new Set(declared);
79
+ const granted = [];
80
+ for (const permission of requested) {
81
+ if (!pluginHostPermissionSet.has(permission))
82
+ throw new PluginError("broken_configuration", `Unknown plugin permission ${permission}`);
83
+ if (granted.includes(permission))
84
+ throw new PluginError("broken_configuration", `Duplicate plugin permission ${permission}`);
85
+ if (!declaredSet.has(permission))
86
+ throw new PluginError("broken_configuration", `Plugin did not declare permission ${permission}`);
87
+ granted.push(permission);
88
+ }
89
+ return granted;
90
+ }
91
+ export function pluginPermissionsParse(source) {
92
+ let value;
93
+ try {
94
+ value = JSON.parse(source);
95
+ }
96
+ catch {
97
+ throw new Error("Installed plugin permissions are unreadable");
98
+ }
99
+ if (!Array.isArray(value) ||
100
+ value.some((permission) => typeof permission !== "string" ||
101
+ !pluginHostPermissionSet.has(permission)) ||
102
+ new Set(value).size !== value.length)
103
+ throw new Error("Installed plugin permissions are unreadable");
104
+ return value;
105
+ }
106
+ //# sourceMappingURL=apiPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiPermissions.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/apiPermissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"asInstallation.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asInstallation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,yBAAyB,EAE5B,MAAM,aAAa,CAAC;AAUrB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,yBAAyB,CA8B5F"}
1
+ {"version":3,"file":"asInstallation.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asInstallation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,yBAAyB,EAE5B,MAAM,aAAa,CAAC;AAWrB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAiC5F"}
@@ -1,3 +1,4 @@
1
+ import { pluginPermissionsParse } from "./apiPermissions.js";
1
2
  const statuses = [
2
3
  "preparing",
3
4
  "starting",
@@ -20,6 +21,7 @@ export function asPluginInstallation(row) {
20
21
  sourceReference: requiredString(row.sourceReference, "plugin source reference"),
21
22
  sourceVersion: requiredString(row.sourceVersion, "plugin source version"),
22
23
  packageDigest: requiredString(row.packageDigest, "plugin package digest"),
24
+ grantedPermissions: pluginPermissionsParse(requiredString(row.grantedPermissionsJson, "plugin granted permissions")),
23
25
  status: status,
24
26
  ...(optionalString(row.statusDetail)
25
27
  ? { statusDetail: optionalString(row.statusDetail) }
@@ -36,7 +38,14 @@ export function asPluginInstallation(row) {
36
38
  ...(optionalString(row.readyAt) ? { readyAt: optionalString(row.readyAt) } : {}),
37
39
  };
38
40
  }
39
- const sourceKinds = new Set(["builtin", "github", "upload", "zip_url"]);
41
+ const sourceKinds = new Set([
42
+ "builtin",
43
+ "github",
44
+ "upload",
45
+ "zip_url",
46
+ "archive",
47
+ "link",
48
+ ]);
40
49
  function requiredString(value, name) {
41
50
  if (typeof value !== "string" || !value)
42
51
  throw new Error(`Invalid ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"asInstallation.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asInstallation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asInstallation.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asInstallation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PluginManagementRequestSummary } from "../types.js";
2
+ export declare function asPluginManagementRequest(row: Record<string, unknown>): PluginManagementRequestSummary;
3
+ //# sourceMappingURL=asManagementRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asManagementRequest.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asManagementRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,8BAA8B,EACjC,MAAM,aAAa,CAAC;AAWrB,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,8BAA8B,CAmDhC"}
@@ -0,0 +1,68 @@
1
+ const actions = ["install", "uninstall"];
2
+ const statuses = [
3
+ "pending",
4
+ "processing",
5
+ "approved",
6
+ "denied",
7
+ "failed",
8
+ ];
9
+ export function asPluginManagementRequest(row) {
10
+ const id = requiredString(row.id, "plugin management request id");
11
+ const chatId = requiredString(row.chatId, "plugin management request chat id");
12
+ const action = requiredString(row.action, "plugin management request action");
13
+ const status = requiredString(row.status, "plugin management request status");
14
+ if (!actions.includes(action))
15
+ throw new Error(`Unknown plugin management request action ${action}`);
16
+ if (!statuses.includes(status))
17
+ throw new Error(`Unknown plugin management request status ${status}`);
18
+ const rawSourceKind = optionalString(row.sourceKind);
19
+ const sourceKind = rawSourceKind === "archive" || rawSourceKind === "builtin" || rawSourceKind === "link"
20
+ ? rawSourceKind
21
+ : undefined;
22
+ if (rawSourceKind && !sourceKind)
23
+ throw new Error(`Unknown requested plugin source kind ${rawSourceKind}`);
24
+ return {
25
+ id,
26
+ action: action,
27
+ status: status,
28
+ chatId,
29
+ ...(optionalString(row.agentUserId)
30
+ ? { agentUserId: optionalString(row.agentUserId) }
31
+ : {}),
32
+ ...(optionalString(row.requesterInstallationId)
33
+ ? { requesterInstallationId: optionalString(row.requesterInstallationId) }
34
+ : {}),
35
+ displayName: requiredString(row.displayName, "plugin display name"),
36
+ shortName: requiredString(row.shortName, "plugin short name"),
37
+ description: requiredString(row.description, "plugin description"),
38
+ ...(status === "pending" || status === "processing"
39
+ ? { imageUrl: `/v0/chats/${chatId}/pluginManagementRequests/${id}/image` }
40
+ : {}),
41
+ ...(optionalString(row.reason) ? { reason: optionalString(row.reason) } : {}),
42
+ ...(sourceKind ? { sourceKind } : {}),
43
+ ...(optionalString(row.sourceReference)
44
+ ? { sourceReference: optionalString(row.sourceReference) }
45
+ : {}),
46
+ ...(optionalString(row.targetInstallationId)
47
+ ? { targetInstallationId: optionalString(row.targetInstallationId) }
48
+ : {}),
49
+ createdAt: requiredString(row.createdAt, "plugin request creation timestamp"),
50
+ ...(optionalString(row.resolvedAt) ? { resolvedAt: optionalString(row.resolvedAt) } : {}),
51
+ ...(optionalString(row.resolvedByUserId)
52
+ ? { resolvedByUserId: optionalString(row.resolvedByUserId) }
53
+ : {}),
54
+ ...(optionalString(row.installationId)
55
+ ? { installationId: optionalString(row.installationId) }
56
+ : {}),
57
+ ...(optionalString(row.lastError) ? { lastError: optionalString(row.lastError) } : {}),
58
+ };
59
+ }
60
+ function requiredString(value, name) {
61
+ if (typeof value !== "string" || !value)
62
+ throw new Error(`Invalid ${name}`);
63
+ return value;
64
+ }
65
+ function optionalString(value) {
66
+ return typeof value === "string" && value ? value : undefined;
67
+ }
68
+ //# sourceMappingURL=asManagementRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asManagementRequest.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asManagementRequest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"asPlugin.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIzE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CA2DhF"}
1
+ {"version":3,"file":"asPlugin.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKzE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CA2DhF"}
@@ -1,5 +1,6 @@
1
1
  import { installedManifest } from "./installedManifest.js";
2
2
  import { effectiveContainer } from "./effectiveContainer.js";
3
+ import { pluginApiPermissionSections } from "./apiPermissions.js";
3
4
  export function asSystemPlugin(row) {
4
5
  const sourceKind = requiredString(row.sourceKind, "plugin source kind");
5
6
  if (!sourceKinds.has(sourceKind))
@@ -21,6 +22,7 @@ export function asSystemPlugin(row) {
21
22
  sourceVersion: requiredString(row.sourceVersion, "plugin source version"),
22
23
  packageDigest: requiredString(row.packageDigest, "plugin package digest"),
23
24
  variables: manifest.variables,
25
+ apiPermissions: pluginApiPermissionSections(localContainer?.permissions ?? []),
24
26
  ...(mcp
25
27
  ? {
26
28
  mcp: {
@@ -40,7 +42,6 @@ export function asSystemPlugin(row) {
40
42
  ? "bundled"
41
43
  : "selection_required",
42
44
  command: Boolean(localContainer.command),
43
- permissions: localContainer.permissions,
44
45
  },
45
46
  }
46
47
  : {}),
@@ -60,7 +61,14 @@ export function asSystemPlugin(row) {
60
61
  updatedAt: requiredString(row.updatedAt, "plugin update timestamp"),
61
62
  };
62
63
  }
63
- const sourceKinds = new Set(["builtin", "github", "upload", "zip_url"]);
64
+ const sourceKinds = new Set([
65
+ "builtin",
66
+ "github",
67
+ "upload",
68
+ "zip_url",
69
+ "archive",
70
+ "link",
71
+ ]);
64
72
  function requiredString(value, name) {
65
73
  if (typeof value !== "string" || !value)
66
74
  throw new Error(`Invalid ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"asPlugin.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asPlugin.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/asPlugin.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,25 @@ export declare const pluginInstallationSelection: {
132
132
  }, {}, {
133
133
  length: number | undefined;
134
134
  }>;
135
+ grantedPermissionsJson: import("drizzle-orm/sqlite-core").SQLiteColumn<{
136
+ name: "granted_permissions_json";
137
+ tableName: "plugin_installations";
138
+ dataType: "string";
139
+ columnType: "SQLiteText";
140
+ data: string;
141
+ driverParam: string;
142
+ notNull: true;
143
+ hasDefault: true;
144
+ isPrimaryKey: false;
145
+ isAutoincrement: false;
146
+ hasRuntimeDefault: false;
147
+ enumValues: [string, ...string[]];
148
+ baseColumn: never;
149
+ identity: undefined;
150
+ generated: undefined;
151
+ }, {}, {
152
+ length: number | undefined;
153
+ }>;
135
154
  containerImageId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
136
155
  name: "container_image_id";
137
156
  tableName: "plugin_installations";
@@ -1 +1 @@
1
- {"version":3,"file":"installationSelection.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installationSelection.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,2BAA2B;IACpC,EAAE;;;;;;;;;;;;;;;;;;;IACF,QAAQ;;;;;;;;;;;;;;;;;;;IACR,SAAS;;;;;;;;;;;;;;;;;;;IACT,UAAU;;;;;;;;;;;;;;;;;;;IACV,eAAe;;;;;;;;;;;;;;;;;;;IACf,aAAa;;;;;;;;;;;;;;;;;;;IACb,aAAa;;;;;;;;;;;;;;;;;;;IACb,gBAAgB;;;;;;;;;;;;;;;;;;;IAChB,MAAM;;;;;;;;;;;;;;;;;;;IACN,YAAY;;;;;;;;;;;;;;;;;;;IACZ,SAAS;;;;;;;;;;;;;;;;;;;IACT,iBAAiB;;;;;;;;;;;;;;;;;;;IACjB,WAAW;;;;;;;;;;;;;;;;;;;IACX,SAAS;;;;;;;;;;;;;;;;;;;IACT,OAAO;;;;;;;;;;;;;;;;;;;CACV,CAAC"}
1
+ {"version":3,"file":"installationSelection.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installationSelection.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,2BAA2B;IACpC,EAAE;;;;;;;;;;;;;;;;;;;IACF,QAAQ;;;;;;;;;;;;;;;;;;;IACR,SAAS;;;;;;;;;;;;;;;;;;;IACT,UAAU;;;;;;;;;;;;;;;;;;;IACV,eAAe;;;;;;;;;;;;;;;;;;;IACf,aAAa;;;;;;;;;;;;;;;;;;;IACb,aAAa;;;;;;;;;;;;;;;;;;;IACb,sBAAsB;;;;;;;;;;;;;;;;;;;IACtB,gBAAgB;;;;;;;;;;;;;;;;;;;IAChB,MAAM;;;;;;;;;;;;;;;;;;;IACN,YAAY;;;;;;;;;;;;;;;;;;;IACZ,SAAS;;;;;;;;;;;;;;;;;;;IACT,iBAAiB;;;;;;;;;;;;;;;;;;;IACjB,WAAW;;;;;;;;;;;;;;;;;;;IACX,SAAS;;;;;;;;;;;;;;;;;;;IACT,OAAO;;;;;;;;;;;;;;;;;;;CACV,CAAC"}
@@ -7,6 +7,7 @@ export const pluginInstallationSelection = {
7
7
  sourceReference: plugins.sourceReference,
8
8
  sourceVersion: plugins.sourceVersion,
9
9
  packageDigest: plugins.packageDigest,
10
+ grantedPermissionsJson: pluginInstallations.grantedPermissionsJson,
10
11
  containerImageId: pluginInstallations.containerImageId,
11
12
  status: pluginInstallations.status,
12
13
  statusDetail: pluginInstallations.statusDetail,
@@ -1 +1 @@
1
- {"version":3,"file":"installationSelection.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installationSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,EAAE,EAAE,mBAAmB,CAAC,EAAE;IAC1B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;IACtC,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;IACxC,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB;IACtD,MAAM,EAAE,mBAAmB,CAAC,MAAM;IAClC,YAAY,EAAE,mBAAmB,CAAC,YAAY;IAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS;IACxC,iBAAiB,EAAE,mBAAmB,CAAC,iBAAiB;IACxD,WAAW,EAAE,mBAAmB,CAAC,WAAW;IAC5C,SAAS,EAAE,mBAAmB,CAAC,SAAS;IACxC,OAAO,EAAE,mBAAmB,CAAC,OAAO;CACvC,CAAC"}
1
+ {"version":3,"file":"installationSelection.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installationSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,EAAE,EAAE,mBAAmB,CAAC,EAAE;IAC1B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;IACtC,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;IACxC,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB;IAClE,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB;IACtD,MAAM,EAAE,mBAAmB,CAAC,MAAM;IAClC,YAAY,EAAE,mBAAmB,CAAC,YAAY;IAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS;IACxC,iBAAiB,EAAE,mBAAmB,CAAC,iBAAiB;IACxD,WAAW,EAAE,mBAAmB,CAAC,WAAW;IAC5C,SAAS,EAAE,mBAAmB,CAAC,SAAS;IACxC,OAAO,EAAE,mBAAmB,CAAC,OAAO;CACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"installedManifest.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAqBhE"}
1
+ {"version":3,"file":"installedManifest.d.ts","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,cAAc,EACtB,MAAM,aAAa,CAAC;AAErB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAqBhE"}
@@ -1,4 +1,4 @@
1
- import { PluginError } from "../types.js";
1
+ import { PluginError, pluginHostPermissions, } from "../types.js";
2
2
  export function installedManifest(source) {
3
3
  let value;
4
4
  try {
@@ -30,7 +30,9 @@ function container(value) {
30
30
  Array.isArray(value.args) &&
31
31
  value.args.every((argument) => typeof argument === "string") &&
32
32
  Array.isArray(value.permissions) &&
33
- value.permissions.every((permission) => permission === "chats:update" || permission === "plugins:list"));
33
+ value.permissions.every((permission) => typeof permission === "string" &&
34
+ pluginHostPermissions.includes(permission)) &&
35
+ new Set(value.permissions).size === value.permissions.length);
34
36
  }
35
37
  function variable(value) {
36
38
  return (record(value) &&
@@ -1 +1 @@
1
- {"version":3,"file":"installedManifest.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installedManifest.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,19 @@ describe("installedManifest", () => {
13
13
  mcp: { type: "remote", url: "https://example.com", headers: null },
14
14
  }))).toThrow("Installed plugin manifest is unreadable");
15
15
  });
16
+ it("accepts the channel-management host capability", () => {
17
+ expect(installedManifest(JSON.stringify({
18
+ schemaVersion: 1,
19
+ version: "1.0.0",
20
+ displayName: "Channels",
21
+ shortName: "channels",
22
+ description: "Manages channels",
23
+ variables: [],
24
+ container: {
25
+ args: [],
26
+ permissions: ["channels:manage"],
27
+ },
28
+ })).container?.permissions).toEqual(["channels:manage"]);
29
+ });
16
30
  });
17
31
  //# sourceMappingURL=installedManifest.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installedManifest.test.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,EAAE,CACR,iBAAiB,CACb,IAAI,CAAC,SAAS,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,iBAAiB;YAC9B,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE;SACrE,CAAC,CACL,CACJ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"installedManifest.test.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/impl/installedManifest.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,EAAE,CACR,iBAAiB,CACb,IAAI,CAAC,SAAS,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,iBAAiB;YAC9B,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE;SACrE,CAAC,CACL,CACJ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,CACF,iBAAiB,CACb,IAAI,CAAC,SAAS,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,EAAE;YACb,SAAS,EAAE;gBACP,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,CAAC,iBAAiB,CAAC;aACnC;SACJ,CAAC,CACL,CAAC,SAAS,EAAE,WAAW,CAC3B,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}