solid-ui 2.6.1-b49f2e14 → 2.6.1-c6fc7fe

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 (366) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +84 -25
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +7 -9
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +162 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25542 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23485 -68926
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ /**
3
+ * Contains the [[AddAgentButtons]] class
4
+ * @packageDocumentation
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ var __importDefault = (this && this.__importDefault) || function (mod) {
40
+ return (mod && mod.__esModule) ? mod : { "default": mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.AddAgentButtons = void 0;
44
+ const debug = __importStar(require("../debug"));
45
+ const iconBase_1 = require("../iconBase");
46
+ const login_1 = require("../login/login");
47
+ const ns_1 = __importDefault(require("../ns"));
48
+ const utils = __importStar(require("../utils"));
49
+ const widgets = __importStar(require("../widgets"));
50
+ const style_1 = require("../style");
51
+ /**
52
+ * Renders the Sharing pane's "+" button and the menus behind it,
53
+ * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md#add
54
+ */
55
+ class AddAgentButtons {
56
+ groupList;
57
+ rootElement;
58
+ barElement;
59
+ isExpanded = false;
60
+ constructor(groupList) {
61
+ this.groupList = groupList;
62
+ this.rootElement = groupList.controller.dom.createElement('div');
63
+ this.barElement = groupList.controller.dom.createElement('div');
64
+ }
65
+ render() {
66
+ this.rootElement.innerHTML = '';
67
+ this.rootElement.appendChild(this.renderAddButton());
68
+ this.rootElement.appendChild(this.barElement);
69
+ return this.rootElement;
70
+ }
71
+ renderAddButton() {
72
+ return widgets.button(this.groupList.controller.dom, `${iconBase_1.icons.iconBase}noun_34653_green.svg`, 'Add ...', () => {
73
+ this.toggleBar();
74
+ this.renderBar();
75
+ });
76
+ }
77
+ renderBar() {
78
+ this.barElement.innerHTML = '';
79
+ if (!this.isExpanded) {
80
+ return;
81
+ }
82
+ this.barElement.appendChild(this.renderPersonButton());
83
+ this.barElement.appendChild(this.renderGroupButton());
84
+ this.barElement.appendChild(this.renderPublicButton());
85
+ this.barElement.appendChild(this.renderAuthenticatedAgentButton());
86
+ this.barElement.appendChild(this.renderBotButton());
87
+ this.barElement.appendChild(this.renderAppsButton());
88
+ }
89
+ renderSimplifiedBar(button) {
90
+ Array.from(this.barElement.children)
91
+ .filter(element => element !== button)
92
+ .forEach(element => this.barElement.removeChild(element));
93
+ }
94
+ renderPersonButton() {
95
+ return widgets.button(this.groupList.controller.dom, iconBase_1.icons.iconBase + widgets.iconForClass['vcard:Individual'], 'Add Person', event => {
96
+ this.renderSimplifiedBar(event.target);
97
+ this.renderNameForm(ns_1.default.vcard('Individual'), 'person')
98
+ .then(name => this.addPerson(name))
99
+ .then(() => this.renderCleanup())
100
+ .catch(error => this.groupList.controller.renderStatus(error));
101
+ });
102
+ }
103
+ renderGroupButton() {
104
+ return widgets.button(this.groupList.controller.dom, iconBase_1.icons.iconBase + widgets.iconForClass['vcard:Group'], 'Add Group', event => {
105
+ this.renderSimplifiedBar(event.target);
106
+ this.renderNameForm(ns_1.default.vcard('Group'), 'group')
107
+ .then(name => this.addGroup(name))
108
+ .then(() => this.renderCleanup())
109
+ .catch(error => this.groupList.controller.renderStatus(error));
110
+ });
111
+ }
112
+ renderNameForm(type, noun) {
113
+ return widgets.askName(this.groupList.controller.dom, this.groupList.store, this.barElement, ns_1.default.vcard('URI'), type, noun);
114
+ }
115
+ renderPublicButton() {
116
+ return widgets.button(this.groupList.controller.dom, iconBase_1.icons.iconBase + widgets.iconForClass['foaf:Agent'], 'Add Everyone', () => this.addAgent(ns_1.default.foaf('Agent').uri)
117
+ .then(() => this.groupList.controller.renderTemporaryStatus('Adding the general public to those who can read. Drag the globe to a different level to give them more access.'))
118
+ .then(() => this.renderCleanup()));
119
+ }
120
+ renderAuthenticatedAgentButton() {
121
+ return widgets.button(this.groupList.controller.dom, `${iconBase_1.icons.iconBase}noun_99101.svg`, 'Anyone logged In', () => this.addAgent(ns_1.default.acl('AuthenticatedAgent').uri)
122
+ .then(() => this.groupList.controller.renderTemporaryStatus('Adding anyone logged in to those who can read. Drag the ID icon to a different level to give them more access.'))
123
+ .then(() => this.renderCleanup()));
124
+ }
125
+ renderBotButton() {
126
+ return widgets.button(this.groupList.controller.dom, iconBase_1.icons.iconBase + 'noun_Robot_849764.svg', 'A Software Agent (bot)', event => {
127
+ this.renderSimplifiedBar(event.target);
128
+ this.renderNameForm(ns_1.default.schema('Application'), 'bot')
129
+ .then(name => this.addBot(name))
130
+ .then(() => this.renderCleanup());
131
+ });
132
+ }
133
+ renderAppsButton() {
134
+ return widgets.button(this.groupList.controller.dom, `${iconBase_1.icons.iconBase}noun_15177.svg`, 'A Web App (origin)', event => {
135
+ this.renderSimplifiedBar(event.target);
136
+ const eventContext = {
137
+ div: this.barElement,
138
+ dom: this.groupList.controller.dom
139
+ };
140
+ const existingApps = this.renderAppsTable(eventContext)
141
+ .catch(error => this.groupList.controller.renderStatus(error));
142
+ this.renderAppsView();
143
+ const newApp = this.renderNameForm(ns_1.default.schema('WebApplication'), 'webapp domain')
144
+ .then(name => this.getOriginFromName(name));
145
+ Promise.race([
146
+ existingApps,
147
+ newApp
148
+ ])
149
+ .then(origin => {
150
+ if (origin) {
151
+ this.groupList.addNewURI(origin);
152
+ }
153
+ })
154
+ .then(() => this.renderCleanup());
155
+ });
156
+ }
157
+ renderAppsView() {
158
+ const trustedApplications = this.groupList.controller.context.session.paneRegistry.byName('trustedApplications');
159
+ if (trustedApplications) {
160
+ const trustedApplicationsElement = trustedApplications.render(null, this.groupList.controller.context);
161
+ trustedApplicationsElement.setAttribute('style', style_1.style.trustedAppController);
162
+ const cancelButton = widgets.cancelButton(this.groupList.controller.dom, () => this.renderCleanup());
163
+ cancelButton.setAttribute('style', style_1.style.trustedAppCancelButton);
164
+ trustedApplicationsElement.insertBefore(cancelButton, trustedApplicationsElement.firstChild);
165
+ this.barElement.appendChild(trustedApplicationsElement);
166
+ }
167
+ }
168
+ async renderAppsTable(eventContext) {
169
+ await (0, login_1.ensureLoadedProfile)(eventContext);
170
+ const trustedApps = this.groupList.store.each(eventContext.me, ns_1.default.acl('trustedApp')); // @@ TODO fix as
171
+ const trustedOrigins = trustedApps.flatMap(app => this.groupList.store.each(app, ns_1.default.acl('origin'))); // @@ TODO fix as
172
+ this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = `You have ${trustedOrigins.length} selected web apps.`;
173
+ return new Promise((resolve, reject) => {
174
+ const appsTable = this.barElement.appendChild(this.groupList.controller.dom.createElement('table'));
175
+ appsTable.setAttribute('style', style_1.style.trustedAppAddApplicationsTable);
176
+ trustedApps.forEach(app => {
177
+ const origin = this.groupList.store.any(app, ns_1.default.acl('origin')); // @@ TODO fix as
178
+ if (!origin) {
179
+ reject(new Error(`Unable to pick app: ${app.value}`));
180
+ }
181
+ const thingTR = widgets.personTR(this.groupList.controller.dom, ns_1.default.acl('origin'), origin, {});
182
+ const innerTable = this.groupList.controller.dom.createElement('table');
183
+ const innerRow = innerTable.appendChild(this.groupList.controller.dom.createElement('tr'));
184
+ const innerLeftColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'));
185
+ innerLeftColumn.appendChild(thingTR);
186
+ const innerMiddleColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'));
187
+ innerMiddleColumn.textContent = `Give access to ${this.groupList.controller.noun} ${utils.label(this.groupList.controller.subject)}?`;
188
+ const innerRightColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'));
189
+ innerRightColumn.appendChild(widgets.continueButton(this.groupList.controller.dom, () => resolve(origin.value)));
190
+ appsTable.appendChild(innerTable);
191
+ });
192
+ });
193
+ }
194
+ renderCleanup() {
195
+ this.renderBar();
196
+ this.groupList.render();
197
+ }
198
+ async addPerson(name) {
199
+ if (!name)
200
+ return this.toggleBar(); // user cancelled
201
+ const domainNameRegexp = /^https?:/i;
202
+ if (!name.match(domainNameRegexp)) {
203
+ // @@ enforce in user input live like a form element
204
+ return Promise.reject(new Error('Not a http URI'));
205
+ }
206
+ // @@ check it actually is a person and has an owner who agrees they own it
207
+ debug.log(`Adding to ACL person: ${name}`);
208
+ await this.groupList.addNewURI(name);
209
+ this.toggleBar();
210
+ }
211
+ async addGroup(name) {
212
+ if (!name)
213
+ return this.toggleBar(); // user cancelled
214
+ const domainNameRegexp = /^https?:/i;
215
+ if (!name.match(domainNameRegexp)) {
216
+ // @@ enforce in user input live like a form element
217
+ return Promise.reject(new Error('Not a http URI'));
218
+ }
219
+ // @@ check it actually is a group and has an owner who agrees they own it
220
+ debug.log('Adding to ACL group: ' + name);
221
+ await this.groupList.addNewURI(name);
222
+ this.toggleBar();
223
+ }
224
+ async addAgent(agentUri) {
225
+ await this.groupList.addNewURI(agentUri);
226
+ this.toggleBar();
227
+ }
228
+ async addBot(name) {
229
+ if (!name)
230
+ return this.toggleBar(); // user cancelled
231
+ const domainNameRegexp = /^https?:/i;
232
+ if (!name.match(domainNameRegexp)) {
233
+ // @@ enforce in user input live like a form element
234
+ return Promise.reject(new Error('Not a http URI'));
235
+ }
236
+ // @@ check it actually is a bot and has an owner who agrees they own it
237
+ debug.log('Adding to ACL bot: ' + name);
238
+ await this.groupList.addNewURI(name);
239
+ this.toggleBar();
240
+ }
241
+ async getOriginFromName(name) {
242
+ if (!name)
243
+ return Promise.resolve(); // user cancelled
244
+ const domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i;
245
+ // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html
246
+ if (!name.match(domainNameRegexp)) {
247
+ // @@ enforce in user input live like a form element
248
+ return Promise.reject(new Error('Not a domain name'));
249
+ }
250
+ const origin = 'https://' + name;
251
+ debug.log('Adding to ACL origin: ' + origin);
252
+ this.toggleBar();
253
+ return origin;
254
+ }
255
+ toggleBar() {
256
+ this.isExpanded = !this.isExpanded;
257
+ }
258
+ }
259
+ exports.AddAgentButtons = AddAgentButtons;
260
+ //# sourceMappingURL=add-agent-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-agent-buttons.js","sourceRoot":"","sources":["../../src/acl/add-agent-buttons.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Re-exports all the exports from the various files in the src/acl/ folder
4
+ * @packageDocumentation
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.aclControl = exports.acl = void 0;
8
+ const acl_1 = require("./acl");
9
+ const acl_control_1 = require("./acl-control");
10
+ exports.acl = {
11
+ adoptACLDefault: acl_1.adoptACLDefault,
12
+ readACL: acl_1.readACL,
13
+ sameACL: acl_1.sameACL,
14
+ ACLunion: acl_1.ACLunion,
15
+ loadUnionACL: acl_1.loadUnionACL,
16
+ ACLbyCombination: acl_1.ACLbyCombination,
17
+ makeACLGraph: acl_1.makeACLGraph,
18
+ makeACLGraphbyCombo: acl_1.makeACLGraphbyCombo,
19
+ ACLToString: acl_1.ACLToString,
20
+ comboToString: acl_1.comboToString,
21
+ makeACLString: acl_1.makeACLString,
22
+ putACLObject: acl_1.putACLObject,
23
+ putACLbyCombo: acl_1.putACLbyCombo,
24
+ fixIndividualCardACL: acl_1.fixIndividualCardACL,
25
+ fixIndividualACL: acl_1.fixIndividualACL,
26
+ setACL: acl_1.setACL,
27
+ getACLorDefault: acl_1.getACLorDefault,
28
+ getACL: acl_1.getACL
29
+ };
30
+ exports.aclControl = {
31
+ preventBrowserDropEvents: acl_control_1.preventBrowserDropEvents,
32
+ shortNameForFolder: acl_control_1.shortNameForFolder,
33
+ ACLControlBox5: acl_control_1.ACLControlBox5
34
+ };
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acl/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+BAmBc;AACd,+CAIsB;AAET,QAAA,GAAG,GAAG;IACjB,eAAe,EAAf,qBAAe;IACf,OAAO,EAAP,aAAO;IACP,OAAO,EAAP,aAAO;IACP,QAAQ,EAAR,cAAQ;IACR,YAAY,EAAZ,kBAAY;IACZ,gBAAgB,EAAhB,sBAAgB;IAChB,YAAY,EAAZ,kBAAY;IACZ,mBAAmB,EAAnB,yBAAmB;IACnB,WAAW,EAAX,iBAAW;IACX,aAAa,EAAb,mBAAa;IACb,aAAa,EAAb,mBAAa;IACb,YAAY,EAAZ,kBAAY;IACZ,aAAa,EAAb,mBAAa;IACb,oBAAoB,EAApB,0BAAoB;IACpB,gBAAgB,EAAhB,sBAAgB;IAChB,MAAM,EAAN,YAAM;IACN,eAAe,EAAf,qBAAe;IACf,MAAM,EAAN,YAAM;CACP,CAAA;AAEY,QAAA,UAAU,GAAG;IACxB,wBAAwB,EAAxB,sCAAwB;IACxB,kBAAkB,EAAlB,gCAAkB;IAClB,cAAc,EAAd,4BAAc;CACf,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Contains types for src/acl/
4
+ * @packageDocumentation
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/acl/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -8,6 +8,6 @@ export declare function generatePublicKey(privateKey: string): string;
8
8
  * @param webId
9
9
  * @returns string | undefined
10
10
  */
11
- export declare function getPublicKey(webId: NamedNode): Promise<string | undefined>;
11
+ export declare function getPublicKey(webId: NamedNode): Promise<any>;
12
12
  export declare function getPrivateKey(webId: NamedNode): Promise<string>;
13
13
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/chat/keys.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAKlC,wBAAgB,kBAAkB,IAAK,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,SAAS,+BAUnD;AAED,wBAAsB,aAAa,CAAE,KAAK,EAAE,SAAS,mBA4CpD"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/chat/keys.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAKlC,wBAAgB,kBAAkB,IAAK,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,SAAS,gBAUnD;AAED,wBAAsB,aAAa,CAAE,KAAK,EAAE,SAAS,mBA4CpD"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.generatePrivateKey = generatePrivateKey;
40
+ exports.generatePublicKey = generatePublicKey;
41
+ exports.getPublicKey = getPublicKey;
42
+ exports.getPrivateKey = getPrivateKey;
43
+ const debug = __importStar(require("../debug"));
44
+ const secp256k1_1 = require("@noble/curves/secp256k1");
45
+ const utils_1 = require("@noble/hashes/utils");
46
+ const ns_1 = __importDefault(require("../ns"));
47
+ const solid_logic_1 = require("solid-logic");
48
+ const $rdf = __importStar(require("rdflib"));
49
+ const accessData_1 = require("../utils/keyHelpers/accessData");
50
+ const acl_1 = require("../utils/keyHelpers/acl");
51
+ function generatePrivateKey() {
52
+ return (0, utils_1.bytesToHex)(secp256k1_1.schnorr.utils.randomPrivateKey());
53
+ }
54
+ function generatePublicKey(privateKey) {
55
+ return (0, utils_1.bytesToHex)(secp256k1_1.schnorr.getPublicKey(privateKey));
56
+ }
57
+ /**
58
+ * getPublicKey
59
+ * used for displaying messages in chat, therefore does not
60
+ * create a new key if not found
61
+ * @param webId
62
+ * @returns string | undefined
63
+ */
64
+ async function getPublicKey(webId) {
65
+ await solid_logic_1.store.fetcher.load(webId);
66
+ const publicKeyDoc = await (0, accessData_1.pubKeyUrl)(webId);
67
+ try {
68
+ await solid_logic_1.store.fetcher.load(publicKeyDoc); // url.href)
69
+ const key = solid_logic_1.store.any(webId, ns_1.default.solid('publicKey'));
70
+ return key?.value; // as NamedNode
71
+ }
72
+ catch (err) {
73
+ return undefined;
74
+ }
75
+ }
76
+ async function getPrivateKey(webId) {
77
+ await solid_logic_1.store.fetcher.load(webId);
78
+ // find keys url's
79
+ const publicKeyDoc = await (0, accessData_1.pubKeyUrl)(webId);
80
+ const privateKeyDoc = await (0, accessData_1.privKeyUrl)(webId);
81
+ // find key pair
82
+ const publicKey = await (0, accessData_1.getExistingPublicKey)(webId, publicKeyDoc);
83
+ let privateKey = await (0, accessData_1.getExistingPrivateKey)(webId, privateKeyDoc);
84
+ // is publicKey valid ?
85
+ let validPublicKey = true;
86
+ if (privateKey && (publicKey !== generatePublicKey(privateKey))) {
87
+ if (confirm('This is strange the publicKey is not valid for\n' + webId?.uri +
88
+ '\'shall we repair keeping the private key ?'))
89
+ validPublicKey = false;
90
+ }
91
+ // create key pair or repair publicKey
92
+ if (!privateKey || !publicKey || !validPublicKey) {
93
+ let del = [];
94
+ let add = [];
95
+ if (!privateKey) {
96
+ // add = []
97
+ privateKey = generatePrivateKey();
98
+ add = [$rdf.st(webId, ns_1.default.solid('privateKey'), $rdf.literal(privateKey), solid_logic_1.store.sym(privateKeyDoc))];
99
+ await saveKey(privateKeyDoc, [], add, webId.uri);
100
+ }
101
+ if (!publicKey || !validPublicKey) {
102
+ del = [];
103
+ // delete invalid public key
104
+ if (publicKey) {
105
+ del = [$rdf.st(webId, ns_1.default.solid('publicKey'), $rdf.lit(publicKey), solid_logic_1.store.sym(publicKeyDoc))];
106
+ debug.log('delete invalid publicKey ' + del);
107
+ }
108
+ // update new valid key
109
+ const newPublicKey = generatePublicKey(privateKey);
110
+ add = [$rdf.st(webId, ns_1.default.solid('publicKey'), $rdf.literal(newPublicKey), solid_logic_1.store.sym(publicKeyDoc))];
111
+ await saveKey(publicKeyDoc, del, add);
112
+ }
113
+ const keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
114
+ await (0, acl_1.setAcl)(keyContainer, (0, acl_1.keyContainerAclBody)(webId.uri)); // includes DELETE and PUT
115
+ }
116
+ return privateKey;
117
+ }
118
+ const deleteKeyAcl = async (keyDoc) => {
119
+ await solid_logic_1.store.fetcher.load(keyDoc);
120
+ const keyAclDoc = solid_logic_1.store.any(solid_logic_1.store.sym(keyDoc), solid_logic_1.store.sym('http://www.iana.org/assignments/link-relations/acl'));
121
+ if (keyAclDoc) {
122
+ // delete READ only keyAclDoc. This is possible if the webId is an owner
123
+ try {
124
+ const response = await solid_logic_1.store.fetcher.webOperation('DELETE', keyAclDoc.value); // this may fail if webId is not an owner
125
+ debug.log('delete keyAcl' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
126
+ }
127
+ catch (err) {
128
+ if (err.response.status !== 404) {
129
+ throw new Error(err);
130
+ }
131
+ debug.log('delete keyAcl' + keyAclDoc.value + ' ' + err.response.status); // should test 404 and 2xx
132
+ }
133
+ }
134
+ };
135
+ /**
136
+ * delete acl if keydoc exists
137
+ * create/edit keyDoc
138
+ * set keyDoc acl
139
+ */
140
+ async function saveKey(keyDoc, del, add, me = '') {
141
+ await deleteKeyAcl(keyDoc);
142
+ // save key
143
+ await solid_logic_1.store.updater.updateMany(del, add); // or a promise store.updater.update ?
144
+ // create READ only ACL
145
+ const aclBody = (0, acl_1.keyAclBody)(keyDoc, me);
146
+ await (0, acl_1.setAcl)(keyDoc, aclBody);
147
+ }
148
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/chat/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEC = exports.utf8Encoder = exports.utf8Decoder = void 0;
4
+ exports.getBlankMsg = getBlankMsg;
5
+ exports.serializeMsg = serializeMsg;
6
+ exports.getMsgHash = getMsgHash;
7
+ exports.verifySignature = verifySignature;
8
+ exports.signMsg = signMsg;
9
+ const secp256k1_1 = require("@noble/curves/secp256k1");
10
+ const utils_1 = require("@noble/hashes/utils");
11
+ const sha256_1 = require("@noble/hashes/sha256");
12
+ // import {utf8Encoder} from './utils'
13
+ // import { getPublicKey } from './keys'
14
+ exports.utf8Decoder = new TextDecoder('utf-8');
15
+ exports.utf8Encoder = new TextEncoder();
16
+ exports.SEC = 'https://w3id.org/security#'; // Proof, VerificationMethod
17
+ function getBlankMsg() {
18
+ return {
19
+ id: '',
20
+ created: '',
21
+ dateDeleted: '', // TODO to remove if not used
22
+ content: '',
23
+ maker: '',
24
+ sig: '' // TODO to remove if not used
25
+ };
26
+ }
27
+ /* export function finishMsg (t: MsgTemplate, privateKey: string): Message {
28
+ // to update to chat message triples
29
+ const message = t as Message
30
+ // message.pubkey = getPublicKey(privateKey)
31
+ message.id = getMsgHash(message)
32
+ message.sig = signMsg(message, privateKey)
33
+ return message
34
+ } */
35
+ function serializeMsg(msg) {
36
+ // to update to chat messages triples
37
+ /* if (!validateMsg(msg))
38
+ throw new Error("can't serialize message with wrong or missing properties") */
39
+ return JSON.stringify(msg);
40
+ }
41
+ function getMsgHash(message) {
42
+ const msgHash = (0, sha256_1.sha256)(exports.utf8Encoder.encode(serializeMsg(message)));
43
+ return (0, utils_1.bytesToHex)(msgHash);
44
+ }
45
+ // const isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object
46
+ /* export function validateMsg<T> (message: T): message is T & UnsignedMsg {
47
+ if (!isRecord(message)) return false
48
+ if (typeof message.kind !== 'number') return false
49
+ if (typeof message.content !== 'string') return false
50
+ if (typeof message.created_at !== 'number') return false
51
+ if (typeof message.pubkey !== 'string') return false
52
+ if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
53
+
54
+ if (!Array.isArray(message.tags)) return false
55
+ for (let i = 0; i < message.tags.length; i++) {
56
+ let tag = message.tags[i]
57
+ if (!Array.isArray(tag)) return false
58
+ for (let j = 0; j < tag.length; j++) {
59
+ if (typeof tag[j] === 'object') return false
60
+ }
61
+ }
62
+
63
+ return true
64
+ } */
65
+ function verifySignature(sig, message, pubKey) {
66
+ return secp256k1_1.schnorr.verify(sig, getMsgHash(message), pubKey);
67
+ }
68
+ function signMsg(message, key) {
69
+ return (0, utils_1.bytesToHex)(secp256k1_1.schnorr.sign(getMsgHash(message), key));
70
+ }
71
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/chat/signature.ts"],"names":[],"mappings":";;;AAuDA,kCASC;AAWD,oCAMC;AAED,gCAGC;AAwBD,0CAMC;AAED,0BAIC;AA1HD,uDAAiD;AACjD,+CAAgD;AAChD,iDAA6C;AAE7C,sCAAsC;AACtC,wCAAwC;AAE3B,QAAA,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;AACtC,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAE/B,QAAA,GAAG,GAAG,4BAA4B,CAAA,CAAC,4BAA4B;AA6C5E,SAAgB,WAAW;IACzB,OAAO;QACL,EAAE,EAAE,EAAE;QACN,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE,EAAE,6BAA6B;QAC9C,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE,CAAC,6BAA6B;KACtC,CAAA;AACH,CAAC;AAED;;;;;;;IAOI;AAEJ,SAAgB,YAAY,CAAE,GAAgB;IAC5C,qCAAqC;IACrC;oFACgF;IAEhF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,SAAgB,UAAU,CAAE,OAAoB;IAC9C,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,mBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,2FAA2F;AAE3F;;;;;;;;;;;;;;;;;;IAkBI;AAEJ,SAAgB,eAAe,CAAE,GAAW,EAAE,OAAgB,EAAE,MAAc;IAC5E,OAAO,mBAAO,CAAC,MAAM,CACnB,GAAG,EACH,UAAU,CAAC,OAAO,CAAC,EACnB,MAAM,CACP,CAAA;AACH,CAAC;AAED,SAAgB,OAAO,CAAE,OAAoB,EAAE,GAAW;IACxD,OAAO,IAAA,kBAAU,EACf,mBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CACvC,CAAA;AACH,CAAC"}