@arcblock/did-connect-service 4.0.0-beta.8

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 (503) hide show
  1. package/dist/_generated/did-address-bundle-string.d.ts +3 -0
  2. package/dist/_generated/did-address-bundle-string.d.ts.map +1 -0
  3. package/dist/_generated/did-address-bundle-string.js +3 -0
  4. package/dist/_generated/did-address-bundle-string.js.map +1 -0
  5. package/dist/_generated/header-bundle-string.d.ts +3 -0
  6. package/dist/_generated/header-bundle-string.d.ts.map +1 -0
  7. package/dist/_generated/header-bundle-string.js +3 -0
  8. package/dist/_generated/header-bundle-string.js.map +1 -0
  9. package/dist/_generated/login-bundle-string.d.ts +3 -0
  10. package/dist/_generated/login-bundle-string.d.ts.map +1 -0
  11. package/dist/_generated/login-bundle-string.js +3 -0
  12. package/dist/_generated/login-bundle-string.js.map +1 -0
  13. package/dist/_generated/qr-bundle-string.d.ts +3 -0
  14. package/dist/_generated/qr-bundle-string.d.ts.map +1 -0
  15. package/dist/_generated/qr-bundle-string.js +3 -0
  16. package/dist/_generated/qr-bundle-string.js.map +1 -0
  17. package/dist/access/access-key-util.d.ts +19 -0
  18. package/dist/access/access-key-util.d.ts.map +1 -0
  19. package/dist/access/access-key-util.js +45 -0
  20. package/dist/access/access-key-util.js.map +1 -0
  21. package/dist/access/access-policy.d.ts +55 -0
  22. package/dist/access/access-policy.d.ts.map +1 -0
  23. package/dist/access/access-policy.js +177 -0
  24. package/dist/access/access-policy.js.map +1 -0
  25. package/dist/access/login-access-check.d.ts +27 -0
  26. package/dist/access/login-access-check.d.ts.map +1 -0
  27. package/dist/access/login-access-check.js +34 -0
  28. package/dist/access/login-access-check.js.map +1 -0
  29. package/dist/access/rbac.d.ts +19 -0
  30. package/dist/access/rbac.d.ts.map +1 -0
  31. package/dist/access/rbac.js +79 -0
  32. package/dist/access/rbac.js.map +1 -0
  33. package/dist/access-key-handler.d.ts +37 -0
  34. package/dist/access-key-handler.d.ts.map +1 -0
  35. package/dist/access-key-handler.js +316 -0
  36. package/dist/access-key-handler.js.map +1 -0
  37. package/dist/access-key-util.d.ts +19 -0
  38. package/dist/access-key-util.d.ts.map +1 -0
  39. package/dist/access-key-util.js +45 -0
  40. package/dist/access-key-util.js.map +1 -0
  41. package/dist/access-policy.d.ts +53 -0
  42. package/dist/access-policy.d.ts.map +1 -0
  43. package/dist/access-policy.js +153 -0
  44. package/dist/access-policy.js.map +1 -0
  45. package/dist/auth-client.d.ts +20 -0
  46. package/dist/auth-client.d.ts.map +1 -0
  47. package/dist/auth-client.js +42 -0
  48. package/dist/auth-client.js.map +1 -0
  49. package/dist/auth-entrypoint.d.ts +45 -0
  50. package/dist/auth-entrypoint.d.ts.map +1 -0
  51. package/dist/auth-entrypoint.js +31 -0
  52. package/dist/auth-entrypoint.js.map +1 -0
  53. package/dist/auth-handler.d.ts +136 -0
  54. package/dist/auth-handler.d.ts.map +1 -0
  55. package/dist/auth-handler.js +408 -0
  56. package/dist/auth-handler.js.map +1 -0
  57. package/dist/auth-rpc-types.d.ts +139 -0
  58. package/dist/auth-rpc-types.d.ts.map +1 -0
  59. package/dist/auth-rpc-types.js +11 -0
  60. package/dist/auth-rpc-types.js.map +1 -0
  61. package/dist/auth-rpc.d.ts +80 -0
  62. package/dist/auth-rpc.d.ts.map +1 -0
  63. package/dist/auth-rpc.js +257 -0
  64. package/dist/auth-rpc.js.map +1 -0
  65. package/dist/auth-worker.d.ts +42 -0
  66. package/dist/auth-worker.d.ts.map +1 -0
  67. package/dist/auth-worker.js +120 -0
  68. package/dist/auth-worker.js.map +1 -0
  69. package/dist/blocklet-js-handler.d.ts +22 -0
  70. package/dist/blocklet-js-handler.d.ts.map +1 -0
  71. package/dist/blocklet-js-handler.js +205 -0
  72. package/dist/blocklet-js-handler.js.map +1 -0
  73. package/dist/blocklet-service-client.d.ts +80 -0
  74. package/dist/blocklet-service-client.d.ts.map +1 -0
  75. package/dist/blocklet-service-client.js +130 -0
  76. package/dist/blocklet-service-client.js.map +1 -0
  77. package/dist/blocklet-service-rpc-types.d.ts +153 -0
  78. package/dist/blocklet-service-rpc-types.d.ts.map +1 -0
  79. package/dist/blocklet-service-rpc-types.js +11 -0
  80. package/dist/blocklet-service-rpc-types.js.map +1 -0
  81. package/dist/blocklet-service-rpc.d.ts +92 -0
  82. package/dist/blocklet-service-rpc.d.ts.map +1 -0
  83. package/dist/blocklet-service-rpc.js +410 -0
  84. package/dist/blocklet-service-rpc.js.map +1 -0
  85. package/dist/blocklet-service.d.ts +57 -0
  86. package/dist/blocklet-service.d.ts.map +1 -0
  87. package/dist/blocklet-service.js +377 -0
  88. package/dist/blocklet-service.js.map +1 -0
  89. package/dist/branding-handler.d.ts +42 -0
  90. package/dist/branding-handler.d.ts.map +1 -0
  91. package/dist/branding-handler.js +326 -0
  92. package/dist/branding-handler.js.map +1 -0
  93. package/dist/constants.d.ts +18 -0
  94. package/dist/constants.d.ts.map +1 -0
  95. package/dist/constants.js +17 -0
  96. package/dist/constants.js.map +1 -0
  97. package/dist/crypto/aes-gcm.d.ts +18 -0
  98. package/dist/crypto/aes-gcm.d.ts.map +1 -0
  99. package/dist/crypto/aes-gcm.js +46 -0
  100. package/dist/crypto/aes-gcm.js.map +1 -0
  101. package/dist/d1-token-storage.d.ts +31 -0
  102. package/dist/d1-token-storage.d.ts.map +1 -0
  103. package/dist/d1-token-storage.js +83 -0
  104. package/dist/d1-token-storage.js.map +1 -0
  105. package/dist/did-connect-handler.d.ts +57 -0
  106. package/dist/did-connect-handler.d.ts.map +1 -0
  107. package/dist/did-connect-handler.js +182 -0
  108. package/dist/did-connect-handler.js.map +1 -0
  109. package/dist/did.d.ts +14 -0
  110. package/dist/did.d.ts.map +1 -0
  111. package/dist/did.js +17 -0
  112. package/dist/did.js.map +1 -0
  113. package/dist/email-login-handler.d.ts +50 -0
  114. package/dist/email-login-handler.d.ts.map +1 -0
  115. package/dist/email-login-handler.js +238 -0
  116. package/dist/email-login-handler.js.map +1 -0
  117. package/dist/embedded.d.ts +25 -0
  118. package/dist/embedded.d.ts.map +1 -0
  119. package/dist/embedded.js +21 -0
  120. package/dist/embedded.js.map +1 -0
  121. package/dist/federation-utils.d.ts +23 -0
  122. package/dist/federation-utils.d.ts.map +1 -0
  123. package/dist/federation-utils.js +25 -0
  124. package/dist/federation-utils.js.map +1 -0
  125. package/dist/handler.d.ts +90 -0
  126. package/dist/handler.d.ts.map +1 -0
  127. package/dist/handler.js +591 -0
  128. package/dist/handler.js.map +1 -0
  129. package/dist/handlers/access-key-connect-handler.d.ts +40 -0
  130. package/dist/handlers/access-key-connect-handler.d.ts.map +1 -0
  131. package/dist/handlers/access-key-connect-handler.js +153 -0
  132. package/dist/handlers/access-key-connect-handler.js.map +1 -0
  133. package/dist/handlers/access-key-handler.d.ts +54 -0
  134. package/dist/handlers/access-key-handler.d.ts.map +1 -0
  135. package/dist/handlers/access-key-handler.js +336 -0
  136. package/dist/handlers/access-key-handler.js.map +1 -0
  137. package/dist/handlers/admin-instance-handler.d.ts +29 -0
  138. package/dist/handlers/admin-instance-handler.d.ts.map +1 -0
  139. package/dist/handlers/admin-instance-handler.js +156 -0
  140. package/dist/handlers/admin-instance-handler.js.map +1 -0
  141. package/dist/handlers/auth-handler.d.ts +151 -0
  142. package/dist/handlers/auth-handler.d.ts.map +1 -0
  143. package/dist/handlers/auth-handler.js +873 -0
  144. package/dist/handlers/auth-handler.js.map +1 -0
  145. package/dist/handlers/avatar-handler.d.ts +42 -0
  146. package/dist/handlers/avatar-handler.d.ts.map +1 -0
  147. package/dist/handlers/avatar-handler.js +179 -0
  148. package/dist/handlers/avatar-handler.js.map +1 -0
  149. package/dist/handlers/blocklet-js-handler.d.ts +26 -0
  150. package/dist/handlers/blocklet-js-handler.d.ts.map +1 -0
  151. package/dist/handlers/blocklet-js-handler.js +226 -0
  152. package/dist/handlers/blocklet-js-handler.js.map +1 -0
  153. package/dist/handlers/branding-handler.d.ts +45 -0
  154. package/dist/handlers/branding-handler.d.ts.map +1 -0
  155. package/dist/handlers/branding-handler.js +392 -0
  156. package/dist/handlers/branding-handler.js.map +1 -0
  157. package/dist/handlers/did-connect-handler.d.ts +81 -0
  158. package/dist/handlers/did-connect-handler.d.ts.map +1 -0
  159. package/dist/handlers/did-connect-handler.js +384 -0
  160. package/dist/handlers/did-connect-handler.js.map +1 -0
  161. package/dist/handlers/email-login-handler.d.ts +53 -0
  162. package/dist/handlers/email-login-handler.d.ts.map +1 -0
  163. package/dist/handlers/email-login-handler.js +320 -0
  164. package/dist/handlers/email-login-handler.js.map +1 -0
  165. package/dist/handlers/federation-admin-handler.d.ts +69 -0
  166. package/dist/handlers/federation-admin-handler.d.ts.map +1 -0
  167. package/dist/handlers/federation-admin-handler.js +602 -0
  168. package/dist/handlers/federation-admin-handler.js.map +1 -0
  169. package/dist/handlers/membership-handler.d.ts +27 -0
  170. package/dist/handlers/membership-handler.d.ts.map +1 -0
  171. package/dist/handlers/membership-handler.js +122 -0
  172. package/dist/handlers/membership-handler.js.map +1 -0
  173. package/dist/handlers/oauth-handler.d.ts +79 -0
  174. package/dist/handlers/oauth-handler.d.ts.map +1 -0
  175. package/dist/handlers/oauth-handler.js +870 -0
  176. package/dist/handlers/oauth-handler.js.map +1 -0
  177. package/dist/handlers/passkey-handler.d.ts +112 -0
  178. package/dist/handlers/passkey-handler.d.ts.map +1 -0
  179. package/dist/handlers/passkey-handler.js +1020 -0
  180. package/dist/handlers/passkey-handler.js.map +1 -0
  181. package/dist/handlers/team-handler.d.ts +120 -0
  182. package/dist/handlers/team-handler.d.ts.map +1 -0
  183. package/dist/handlers/team-handler.js +1750 -0
  184. package/dist/handlers/team-handler.js.map +1 -0
  185. package/dist/handlers/ticket-handler.d.ts +33 -0
  186. package/dist/handlers/ticket-handler.d.ts.map +1 -0
  187. package/dist/handlers/ticket-handler.js +131 -0
  188. package/dist/handlers/ticket-handler.js.map +1 -0
  189. package/dist/identity/auth-entrypoint.d.ts +45 -0
  190. package/dist/identity/auth-entrypoint.d.ts.map +1 -0
  191. package/dist/identity/auth-entrypoint.js +32 -0
  192. package/dist/identity/auth-entrypoint.js.map +1 -0
  193. package/dist/identity/auto-membership.d.ts +16 -0
  194. package/dist/identity/auto-membership.d.ts.map +1 -0
  195. package/dist/identity/auto-membership.js +52 -0
  196. package/dist/identity/auto-membership.js.map +1 -0
  197. package/dist/identity/federation.d.ts +23 -0
  198. package/dist/identity/federation.d.ts.map +1 -0
  199. package/dist/identity/federation.js +26 -0
  200. package/dist/identity/federation.js.map +1 -0
  201. package/dist/identity/gravatar.d.ts +14 -0
  202. package/dist/identity/gravatar.d.ts.map +1 -0
  203. package/dist/identity/gravatar.js +132 -0
  204. package/dist/identity/gravatar.js.map +1 -0
  205. package/dist/identity/instance-role.d.ts +10 -0
  206. package/dist/identity/instance-role.d.ts.map +1 -0
  207. package/dist/identity/instance-role.js +20 -0
  208. package/dist/identity/instance-role.js.map +1 -0
  209. package/dist/identity/invitation-util.d.ts +7 -0
  210. package/dist/identity/invitation-util.d.ts.map +1 -0
  211. package/dist/identity/invitation-util.js +66 -0
  212. package/dist/identity/invitation-util.js.map +1 -0
  213. package/dist/identity/jwt.d.ts +7 -0
  214. package/dist/identity/jwt.d.ts.map +1 -0
  215. package/dist/identity/jwt.js +72 -0
  216. package/dist/identity/jwt.js.map +1 -0
  217. package/dist/identity/passkey-did.d.ts +14 -0
  218. package/dist/identity/passkey-did.d.ts.map +1 -0
  219. package/dist/identity/passkey-did.js +17 -0
  220. package/dist/identity/passkey-did.js.map +1 -0
  221. package/dist/identity/session-context.d.ts +35 -0
  222. package/dist/identity/session-context.d.ts.map +1 -0
  223. package/dist/identity/session-context.js +39 -0
  224. package/dist/identity/session-context.js.map +1 -0
  225. package/dist/identity/sign-response.d.ts +31 -0
  226. package/dist/identity/sign-response.d.ts.map +1 -0
  227. package/dist/identity/sign-response.js +62 -0
  228. package/dist/identity/sign-response.js.map +1 -0
  229. package/dist/identity/wallet-identity.d.ts +71 -0
  230. package/dist/identity/wallet-identity.d.ts.map +1 -0
  231. package/dist/identity/wallet-identity.js +97 -0
  232. package/dist/identity/wallet-identity.js.map +1 -0
  233. package/dist/identity/webauthn.d.ts +69 -0
  234. package/dist/identity/webauthn.d.ts.map +1 -0
  235. package/dist/identity/webauthn.js +113 -0
  236. package/dist/identity/webauthn.js.map +1 -0
  237. package/dist/index.d.ts +67 -0
  238. package/dist/index.d.ts.map +1 -0
  239. package/dist/index.js +53 -0
  240. package/dist/index.js.map +1 -0
  241. package/dist/instance-role.d.ts +10 -0
  242. package/dist/instance-role.d.ts.map +1 -0
  243. package/dist/instance-role.js +20 -0
  244. package/dist/instance-role.js.map +1 -0
  245. package/dist/jwt.d.ts +7 -0
  246. package/dist/jwt.d.ts.map +1 -0
  247. package/dist/jwt.js +72 -0
  248. package/dist/jwt.js.map +1 -0
  249. package/dist/locale.d.ts +17 -0
  250. package/dist/locale.d.ts.map +1 -0
  251. package/dist/locale.js +48 -0
  252. package/dist/locale.js.map +1 -0
  253. package/dist/login-entry.d.ts +9 -0
  254. package/dist/login-entry.d.ts.map +1 -0
  255. package/dist/login-entry.js +9 -0
  256. package/dist/login-entry.js.map +1 -0
  257. package/dist/membership-handler.d.ts +27 -0
  258. package/dist/membership-handler.d.ts.map +1 -0
  259. package/dist/membership-handler.js +111 -0
  260. package/dist/membership-handler.js.map +1 -0
  261. package/dist/oauth-adapters/apple.d.ts +36 -0
  262. package/dist/oauth-adapters/apple.d.ts.map +1 -0
  263. package/dist/oauth-adapters/apple.js +127 -0
  264. package/dist/oauth-adapters/apple.js.map +1 -0
  265. package/dist/oauth-adapters/auth0-legacy.d.ts +28 -0
  266. package/dist/oauth-adapters/auth0-legacy.d.ts.map +1 -0
  267. package/dist/oauth-adapters/auth0-legacy.js +63 -0
  268. package/dist/oauth-adapters/auth0-legacy.js.map +1 -0
  269. package/dist/oauth-adapters/auth0.d.ts +24 -0
  270. package/dist/oauth-adapters/auth0.d.ts.map +1 -0
  271. package/dist/oauth-adapters/auth0.js +59 -0
  272. package/dist/oauth-adapters/auth0.js.map +1 -0
  273. package/dist/oauth-adapters/facebook.d.ts +20 -0
  274. package/dist/oauth-adapters/facebook.d.ts.map +1 -0
  275. package/dist/oauth-adapters/facebook.js +52 -0
  276. package/dist/oauth-adapters/facebook.js.map +1 -0
  277. package/dist/oauth-adapters/github.d.ts +20 -0
  278. package/dist/oauth-adapters/github.d.ts.map +1 -0
  279. package/dist/oauth-adapters/github.js +78 -0
  280. package/dist/oauth-adapters/github.js.map +1 -0
  281. package/dist/oauth-adapters/google.d.ts +21 -0
  282. package/dist/oauth-adapters/google.d.ts.map +1 -0
  283. package/dist/oauth-adapters/google.js +61 -0
  284. package/dist/oauth-adapters/google.js.map +1 -0
  285. package/dist/oauth-adapters/jwks-cache.d.ts +24 -0
  286. package/dist/oauth-adapters/jwks-cache.d.ts.map +1 -0
  287. package/dist/oauth-adapters/jwks-cache.js +77 -0
  288. package/dist/oauth-adapters/jwks-cache.js.map +1 -0
  289. package/dist/oauth-adapters/twitter.d.ts +23 -0
  290. package/dist/oauth-adapters/twitter.d.ts.map +1 -0
  291. package/dist/oauth-adapters/twitter.js +65 -0
  292. package/dist/oauth-adapters/twitter.js.map +1 -0
  293. package/dist/oauth-adapters/types.d.ts +60 -0
  294. package/dist/oauth-adapters/types.d.ts.map +1 -0
  295. package/dist/oauth-adapters/types.js +8 -0
  296. package/dist/oauth-adapters/types.js.map +1 -0
  297. package/dist/oauth-callback-page.d.ts +9 -0
  298. package/dist/oauth-callback-page.d.ts.map +1 -0
  299. package/dist/oauth-callback-page.js +31 -0
  300. package/dist/oauth-callback-page.js.map +1 -0
  301. package/dist/oauth-handler.d.ts +72 -0
  302. package/dist/oauth-handler.d.ts.map +1 -0
  303. package/dist/oauth-handler.js +423 -0
  304. package/dist/oauth-handler.js.map +1 -0
  305. package/dist/page.d.ts +33 -0
  306. package/dist/page.d.ts.map +1 -0
  307. package/dist/page.js +59 -0
  308. package/dist/page.js.map +1 -0
  309. package/dist/pages/admin/i18n.d.ts +31 -0
  310. package/dist/pages/admin/i18n.d.ts.map +1 -0
  311. package/dist/pages/admin/i18n.js +1345 -0
  312. package/dist/pages/admin/i18n.js.map +1 -0
  313. package/dist/pages/admin/index.d.ts +36 -0
  314. package/dist/pages/admin/index.d.ts.map +1 -0
  315. package/dist/pages/admin/index.js +418 -0
  316. package/dist/pages/admin/index.js.map +1 -0
  317. package/dist/pages/admin/scripts/api-client.d.ts +6 -0
  318. package/dist/pages/admin/scripts/api-client.d.ts.map +1 -0
  319. package/dist/pages/admin/scripts/api-client.js +38 -0
  320. package/dist/pages/admin/scripts/api-client.js.map +1 -0
  321. package/dist/pages/admin/scripts/cropper.d.ts +8 -0
  322. package/dist/pages/admin/scripts/cropper.d.ts.map +1 -0
  323. package/dist/pages/admin/scripts/cropper.js +222 -0
  324. package/dist/pages/admin/scripts/cropper.js.map +1 -0
  325. package/dist/pages/admin/scripts/dialog.d.ts +5 -0
  326. package/dist/pages/admin/scripts/dialog.d.ts.map +1 -0
  327. package/dist/pages/admin/scripts/dialog.js +88 -0
  328. package/dist/pages/admin/scripts/dialog.js.map +1 -0
  329. package/dist/pages/admin/scripts/router.d.ts +5 -0
  330. package/dist/pages/admin/scripts/router.d.ts.map +1 -0
  331. package/dist/pages/admin/scripts/router.js +54 -0
  332. package/dist/pages/admin/scripts/router.js.map +1 -0
  333. package/dist/pages/admin/scripts/toast.d.ts +5 -0
  334. package/dist/pages/admin/scripts/toast.d.ts.map +1 -0
  335. package/dist/pages/admin/scripts/toast.js +30 -0
  336. package/dist/pages/admin/scripts/toast.js.map +1 -0
  337. package/dist/pages/admin/scripts/utils.d.ts +5 -0
  338. package/dist/pages/admin/scripts/utils.d.ts.map +1 -0
  339. package/dist/pages/admin/scripts/utils.js +108 -0
  340. package/dist/pages/admin/scripts/utils.js.map +1 -0
  341. package/dist/pages/admin/styles.d.ts +9 -0
  342. package/dist/pages/admin/styles.d.ts.map +1 -0
  343. package/dist/pages/admin/styles.js +2223 -0
  344. package/dist/pages/admin/styles.js.map +1 -0
  345. package/dist/pages/admin/tab-access-keys.d.ts +8 -0
  346. package/dist/pages/admin/tab-access-keys.d.ts.map +1 -0
  347. package/dist/pages/admin/tab-access-keys.js +255 -0
  348. package/dist/pages/admin/tab-access-keys.js.map +1 -0
  349. package/dist/pages/admin/tab-access.d.ts +14 -0
  350. package/dist/pages/admin/tab-access.d.ts.map +1 -0
  351. package/dist/pages/admin/tab-access.js +420 -0
  352. package/dist/pages/admin/tab-access.js.map +1 -0
  353. package/dist/pages/admin/tab-appearance.d.ts +9 -0
  354. package/dist/pages/admin/tab-appearance.d.ts.map +1 -0
  355. package/dist/pages/admin/tab-appearance.js +298 -0
  356. package/dist/pages/admin/tab-appearance.js.map +1 -0
  357. package/dist/pages/admin/tab-audit.d.ts +8 -0
  358. package/dist/pages/admin/tab-audit.d.ts.map +1 -0
  359. package/dist/pages/admin/tab-audit.js +289 -0
  360. package/dist/pages/admin/tab-audit.js.map +1 -0
  361. package/dist/pages/admin/tab-branding.d.ts +9 -0
  362. package/dist/pages/admin/tab-branding.d.ts.map +1 -0
  363. package/dist/pages/admin/tab-branding.js +486 -0
  364. package/dist/pages/admin/tab-branding.js.map +1 -0
  365. package/dist/pages/admin/tab-federation.d.ts +8 -0
  366. package/dist/pages/admin/tab-federation.d.ts.map +1 -0
  367. package/dist/pages/admin/tab-federation.js +416 -0
  368. package/dist/pages/admin/tab-federation.js.map +1 -0
  369. package/dist/pages/admin/tab-invitations.d.ts +8 -0
  370. package/dist/pages/admin/tab-invitations.d.ts.map +1 -0
  371. package/dist/pages/admin/tab-invitations.js +161 -0
  372. package/dist/pages/admin/tab-invitations.js.map +1 -0
  373. package/dist/pages/admin/tab-members.d.ts +8 -0
  374. package/dist/pages/admin/tab-members.d.ts.map +1 -0
  375. package/dist/pages/admin/tab-members.js +575 -0
  376. package/dist/pages/admin/tab-members.js.map +1 -0
  377. package/dist/pages/admin/tab-profile-accounts.d.ts +9 -0
  378. package/dist/pages/admin/tab-profile-accounts.d.ts.map +1 -0
  379. package/dist/pages/admin/tab-profile-accounts.js +580 -0
  380. package/dist/pages/admin/tab-profile-accounts.js.map +1 -0
  381. package/dist/pages/admin/tab-profile.d.ts +8 -0
  382. package/dist/pages/admin/tab-profile.d.ts.map +1 -0
  383. package/dist/pages/admin/tab-profile.js +383 -0
  384. package/dist/pages/admin/tab-profile.js.map +1 -0
  385. package/dist/pages/admin/tab-settings.d.ts +9 -0
  386. package/dist/pages/admin/tab-settings.d.ts.map +1 -0
  387. package/dist/pages/admin/tab-settings.js +486 -0
  388. package/dist/pages/admin/tab-settings.js.map +1 -0
  389. package/dist/pages/admin-instances-page.d.ts +8 -0
  390. package/dist/pages/admin-instances-page.d.ts.map +1 -0
  391. package/dist/pages/admin-instances-page.js +386 -0
  392. package/dist/pages/admin-instances-page.js.map +1 -0
  393. package/dist/pages/auth-script.d.ts +18 -0
  394. package/dist/pages/auth-script.d.ts.map +1 -0
  395. package/dist/pages/auth-script.js +185 -0
  396. package/dist/pages/auth-script.js.map +1 -0
  397. package/dist/pages/design-tokens.d.ts +86 -0
  398. package/dist/pages/design-tokens.d.ts.map +1 -0
  399. package/dist/pages/design-tokens.js +159 -0
  400. package/dist/pages/design-tokens.js.map +1 -0
  401. package/dist/pages/did-address-bundle-entry.d.ts +14 -0
  402. package/dist/pages/did-address-bundle-entry.d.ts.map +1 -0
  403. package/dist/pages/did-address-bundle-entry.js +20 -0
  404. package/dist/pages/did-address-bundle-entry.js.map +1 -0
  405. package/dist/pages/did-connect-script.d.ts +16 -0
  406. package/dist/pages/did-connect-script.d.ts.map +1 -0
  407. package/dist/pages/did-connect-script.js +105 -0
  408. package/dist/pages/did-connect-script.js.map +1 -0
  409. package/dist/pages/error-page.d.ts +21 -0
  410. package/dist/pages/error-page.d.ts.map +1 -0
  411. package/dist/pages/error-page.js +103 -0
  412. package/dist/pages/error-page.js.map +1 -0
  413. package/dist/pages/gen-access-key-page.d.ts +27 -0
  414. package/dist/pages/gen-access-key-page.d.ts.map +1 -0
  415. package/dist/pages/gen-access-key-page.js +406 -0
  416. package/dist/pages/gen-access-key-page.js.map +1 -0
  417. package/dist/pages/header-bundle-entry.d.ts +2 -0
  418. package/dist/pages/header-bundle-entry.d.ts.map +1 -0
  419. package/dist/pages/header-bundle-entry.js +4 -0
  420. package/dist/pages/header-bundle-entry.js.map +1 -0
  421. package/dist/pages/homepage.d.ts +17 -0
  422. package/dist/pages/homepage.d.ts.map +1 -0
  423. package/dist/pages/homepage.js +407 -0
  424. package/dist/pages/homepage.js.map +1 -0
  425. package/dist/pages/invite-page.d.ts +16 -0
  426. package/dist/pages/invite-page.d.ts.map +1 -0
  427. package/dist/pages/invite-page.js +241 -0
  428. package/dist/pages/invite-page.js.map +1 -0
  429. package/dist/pages/login-bundle-entry.d.ts +9 -0
  430. package/dist/pages/login-bundle-entry.d.ts.map +1 -0
  431. package/dist/pages/login-bundle-entry.js +9 -0
  432. package/dist/pages/login-bundle-entry.js.map +1 -0
  433. package/dist/pages/login-page.d.ts +37 -0
  434. package/dist/pages/login-page.d.ts.map +1 -0
  435. package/dist/pages/login-page.js +93 -0
  436. package/dist/pages/login-page.js.map +1 -0
  437. package/dist/pages/oauth-callback-page.d.ts +16 -0
  438. package/dist/pages/oauth-callback-page.d.ts.map +1 -0
  439. package/dist/pages/oauth-callback-page.js +84 -0
  440. package/dist/pages/oauth-callback-page.js.map +1 -0
  441. package/dist/pages/qr-bundle-entry.d.ts +6 -0
  442. package/dist/pages/qr-bundle-entry.d.ts.map +1 -0
  443. package/dist/pages/qr-bundle-entry.js +7 -0
  444. package/dist/pages/qr-bundle-entry.js.map +1 -0
  445. package/dist/pages/shared-styles.d.ts +6 -0
  446. package/dist/pages/shared-styles.d.ts.map +1 -0
  447. package/dist/pages/shared-styles.js +109 -0
  448. package/dist/pages/shared-styles.js.map +1 -0
  449. package/dist/rbac.d.ts +19 -0
  450. package/dist/rbac.d.ts.map +1 -0
  451. package/dist/rbac.js +76 -0
  452. package/dist/rbac.js.map +1 -0
  453. package/dist/session-context.d.ts +35 -0
  454. package/dist/session-context.d.ts.map +1 -0
  455. package/dist/session-context.js +39 -0
  456. package/dist/session-context.js.map +1 -0
  457. package/dist/store/d1-compat.d.ts +21 -0
  458. package/dist/store/d1-compat.d.ts.map +1 -0
  459. package/dist/store/d1-compat.js +111 -0
  460. package/dist/store/d1-compat.js.map +1 -0
  461. package/dist/store/d1-store.d.ts +348 -0
  462. package/dist/store/d1-store.d.ts.map +1 -0
  463. package/dist/store/d1-store.js +1587 -0
  464. package/dist/store/d1-store.js.map +1 -0
  465. package/dist/store/d1-token-storage.d.ts +31 -0
  466. package/dist/store/d1-token-storage.d.ts.map +1 -0
  467. package/dist/store/d1-token-storage.js +92 -0
  468. package/dist/store/d1-token-storage.js.map +1 -0
  469. package/dist/store.d.ts +222 -0
  470. package/dist/store.d.ts.map +1 -0
  471. package/dist/store.js +1366 -0
  472. package/dist/store.js.map +1 -0
  473. package/dist/team-handler.d.ts +90 -0
  474. package/dist/team-handler.d.ts.map +1 -0
  475. package/dist/team-handler.js +1225 -0
  476. package/dist/team-handler.js.map +1 -0
  477. package/dist/theme-utils.d.ts +195 -0
  478. package/dist/theme-utils.d.ts.map +1 -0
  479. package/dist/theme-utils.js +132 -0
  480. package/dist/theme-utils.js.map +1 -0
  481. package/dist/ticket-handler.d.ts +28 -0
  482. package/dist/ticket-handler.d.ts.map +1 -0
  483. package/dist/ticket-handler.js +74 -0
  484. package/dist/ticket-handler.js.map +1 -0
  485. package/dist/types.d.ts +258 -0
  486. package/dist/types.d.ts.map +1 -0
  487. package/dist/types.js +3 -0
  488. package/dist/types.js.map +1 -0
  489. package/dist/wallet-identity.d.ts +32 -0
  490. package/dist/wallet-identity.d.ts.map +1 -0
  491. package/dist/wallet-identity.js +43 -0
  492. package/dist/wallet-identity.js.map +1 -0
  493. package/dist/webauthn.d.ts +65 -0
  494. package/dist/webauthn.d.ts.map +1 -0
  495. package/dist/webauthn.js +112 -0
  496. package/dist/webauthn.js.map +1 -0
  497. package/migrations/0001_initial_schema.sql +143 -0
  498. package/migrations/0002_add_columns.sql +12 -0
  499. package/migrations/0003_add_tables.sql +53 -0
  500. package/migrations/0004_seed_policies.sql +17 -0
  501. package/migrations/0005_add_instance_indexes.sql +9 -0
  502. package/migrations/0006_add_audit_query_indexes.sql +8 -0
  503. package/package.json +74 -0
@@ -0,0 +1,486 @@
1
+ /**
2
+ * Settings tab — OAuth providers, builtin providers, session, email config.
3
+ * Only visible to owner role.
4
+ */
5
+ import { OAUTH_ICONS } from "@arcblock/did-connect-core/ui";
6
+ import { FEDERATION_SECTION_SCRIPT, federationSectionHtml } from "./tab-federation.js";
7
+ /** Provider display metadata for the visual picker */
8
+ const PROVIDER_META = {
9
+ google: { name: "Google", icon: OAUTH_ICONS.google ?? "" },
10
+ github: { name: "GitHub", icon: OAUTH_ICONS.github ?? "" },
11
+ apple: { name: "Apple", icon: OAUTH_ICONS.apple ?? "" },
12
+ twitter: { name: "Twitter", icon: OAUTH_ICONS.twitter ?? "" },
13
+ auth0: { name: "Auth0", icon: OAUTH_ICONS.auth0 ?? "" },
14
+ };
15
+ /** Build the provider meta JSON to embed at build time. */
16
+ function buildProviderMetaJSON() {
17
+ return JSON.stringify(PROVIDER_META);
18
+ }
19
+ export function settingsTabHtml(t) {
20
+ return /* html */ `
21
+ <div data-panel="settings" class="hidden tab-panel">
22
+ <h2 class="section-title">${t("settings.title")}</h2>
23
+ <p class="section-desc">${t("settings.desc")}</p>
24
+
25
+ <!-- Section 1: OAuth Providers — card grid -->
26
+ <div class="settings-card">
27
+ <div class="settings-card-header">
28
+ <span>${t("settings.oauth")}</span>
29
+ <button class="btn btn-xs" onclick="openOAuthDialog('add')">${t("settings.addProvider")}</button>
30
+ </div>
31
+ <div id="st-oauth-list" class="st-oauth-grid"></div>
32
+ </div>
33
+
34
+ <!-- Section 2: Login Methods + Email Service — side by side -->
35
+ <div class="st-dual-panel">
36
+ <!-- Left: Login Methods -->
37
+ <div class="settings-card" style="flex:1;min-width:240px">
38
+ <div class="settings-card-header">
39
+ <span>${t("settings.builtin")}</span>
40
+ </div>
41
+ <div id="st-builtin-list">
42
+ <div class="settings-row">
43
+ <div class="settings-label">${t("settings.passkey")}</div>
44
+ <label class="toggle-switch">
45
+ <input type="checkbox" id="st-bp-passkey" onchange="saveBuiltinProviders()" />
46
+ <span class="toggle-slider"></span>
47
+ </label>
48
+ </div>
49
+ <div class="settings-row">
50
+ <div class="settings-label">
51
+ ${t("settings.email")}
52
+ <span id="st-email-hint" class="st-hint hidden">${t("settings.emailNeedsConfig")}</span>
53
+ </div>
54
+ <label class="toggle-switch">
55
+ <input type="checkbox" id="st-bp-email" onchange="saveBuiltinProviders()" />
56
+ <span class="toggle-slider"></span>
57
+ </label>
58
+ </div>
59
+ <div class="settings-row">
60
+ <div class="settings-label">${t("settings.didWallet")}</div>
61
+ <label class="toggle-switch">
62
+ <input type="checkbox" id="st-bp-wallet" onchange="saveBuiltinProviders()" />
63
+ <span class="toggle-slider"></span>
64
+ </label>
65
+ </div>
66
+ </div>
67
+ </div>
68
+
69
+ <!-- Right: Email Service -->
70
+ <div class="settings-card" style="flex:1;min-width:240px">
71
+ <div class="settings-card-header">
72
+ <span>${t("settings.emailResend")}</span>
73
+ </div>
74
+ <div style="padding: 0 20px 16px;">
75
+ <div class="form-group">
76
+ <label class="form-label">${t("settings.resendApiKey")}</label>
77
+ <input class="input" type="password" id="st-email-apikey" placeholder="${t("settings.apiKeyPlaceholder")}" />
78
+ </div>
79
+ <div class="form-group">
80
+ <label class="form-label">${t("settings.fromAddress")}</label>
81
+ <input class="input" type="email" id="st-email-from" placeholder="${t("settings.fromPlaceholder")}" />
82
+ </div>
83
+ <button class="btn btn-sm" onclick="saveEmailConfig()">${t("common.save")}</button>
84
+ </div>
85
+ </div>
86
+ </div>
87
+
88
+ <!-- Section 3: Session — compact inline -->
89
+ <div class="settings-card">
90
+ <div class="settings-card-header">
91
+ <span>${t("settings.session")}</span>
92
+ <span class="settings-card-header-desc">${t("settings.sessionDesc")}</span>
93
+ </div>
94
+ <div class="settings-row" style="gap:12px;flex-wrap:wrap;">
95
+ <span class="settings-label" style="flex-shrink:0">${t("settings.jwtLifetime", { days: "" }).trim()}</span>
96
+ <input type="range" min="1" max="30" value="7" id="st-session-ttl" class="range-slider" style="flex:1;min-width:120px" oninput="updateSessionLabel()" />
97
+ <span id="st-session-lifetime-label" style="font-size:13px;color:var(--text);font-weight:500;min-width:48px;text-align:right;flex-shrink:0"></span>
98
+ <button class="btn btn-sm" style="width:auto;flex-shrink:0" onclick="saveSessionConfig()">${t("common.save")}</button>
99
+ </div>
100
+ </div>
101
+
102
+ ${federationSectionHtml(t)}
103
+
104
+ </div>
105
+
106
+ <!-- OAuth Provider Dialog -->
107
+ <dialog id="st-oauth-dialog">
108
+ <div class="dialog-content">
109
+ <h3 id="st-oauth-dialog-title">${t("settings.addOAuthTitle")}</h3>
110
+ <div class="form-group" id="st-oauth-provider-group">
111
+ <label class="form-label">${t("settings.provider")}</label>
112
+ <input type="hidden" id="st-oauth-provider" value="google" />
113
+ <div class="provider-picker" id="st-oauth-provider-picker"></div>
114
+ <div id="st-oauth-provider-display" style="display:none;align-items:center;gap:8px;padding:8px 0;"></div>
115
+ </div>
116
+ <div class="form-group" data-oauth-field="common">
117
+ <label class="form-label">${t("settings.clientId")}</label>
118
+ <input class="input" id="st-oauth-clientid" />
119
+ </div>
120
+ <div class="form-group" data-oauth-field="common">
121
+ <label class="form-label">${t("settings.clientSecret")}</label>
122
+ <input class="input" type="password" id="st-oauth-secret" />
123
+ </div>
124
+ <div class="form-group" data-oauth-field="apple" style="display:none">
125
+ <label class="form-label">${t("settings.teamId")}</label>
126
+ <input class="input" id="st-oauth-teamid" />
127
+ </div>
128
+ <div class="form-group" data-oauth-field="apple" style="display:none">
129
+ <label class="form-label">${t("settings.keyId")}</label>
130
+ <input class="input" id="st-oauth-keyid" />
131
+ </div>
132
+ <div class="form-group" data-oauth-field="apple" style="display:none">
133
+ <label class="form-label">${t("settings.privateKey")}</label>
134
+ <textarea class="input" id="st-oauth-privatekey" rows="4" style="height:auto;resize:vertical"></textarea>
135
+ </div>
136
+ <div class="form-group" data-oauth-field="apple" style="display:none">
137
+ <label class="form-label">${t("settings.serviceId")}</label>
138
+ <input class="input" id="st-oauth-serviceid" />
139
+ </div>
140
+ <div class="form-group" data-oauth-field="apple" style="display:none">
141
+ <label class="form-label">${t("settings.bundleId")}</label>
142
+ <input class="input" id="st-oauth-bundleid" />
143
+ </div>
144
+ <div class="form-group" data-oauth-field="auth0" style="display:none">
145
+ <label class="form-label">${t("settings.domain")}</label>
146
+ <input class="input" id="st-oauth-domain" placeholder="${t("settings.domainPlaceholder")}" />
147
+ </div>
148
+ <div class="form-group">
149
+ <label class="form-label">${t("settings.enabled")}</label>
150
+ <label class="toggle-switch">
151
+ <input type="checkbox" id="st-oauth-enabled" checked />
152
+ <span class="toggle-slider"></span>
153
+ </label>
154
+ </div>
155
+ <div class="form-group">
156
+ <label class="form-label">${t("settings.sortOrder")}</label>
157
+ <input class="input" type="number" id="st-oauth-order" value="0" min="0" />
158
+ </div>
159
+ <div class="form-group" id="st-oauth-callback-group">
160
+ <label class="form-label">${t("settings.callbackUrl")}</label>
161
+ <div style="display:flex;gap:8px;align-items:center">
162
+ <code id="st-oauth-callback" style="font-size:12px;color:var(--text-secondary);word-break:break-all"></code>
163
+ <button class="btn btn-sm btn-secondary" id="st-copy-callback-btn" onclick="copyCallbackUrl()" style="flex-shrink:0">${t("common.copy")}</button>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ <div class="dialog-actions">
168
+ <button class="btn btn-secondary" onclick="closeDialog('st-oauth-dialog')">${t("common.cancel")}</button>
169
+ <button class="btn" id="st-oauth-save-btn" onclick="saveOAuthProvider()">${t("common.save")}</button>
170
+ </div>
171
+ </dialog>
172
+ `;
173
+ }
174
+ export const SETTINGS_TAB_SCRIPT = /* js */ `
175
+ // ─── Settings tab ─────────────────────────────────────────────────
176
+
177
+ var __settingsData = null;
178
+ var __oauthEditMode = false;
179
+ var __providerMeta = ${buildProviderMetaJSON()};
180
+
181
+ function loadSettings() {
182
+ document.getElementById("st-oauth-list").innerHTML = skeletonRows(3);
183
+ api("GET", "/settings").then(function(data) {
184
+ if (!data.ok) return;
185
+ __settingsData = data.settings;
186
+ renderOAuthProviders();
187
+ renderBuiltinProviders();
188
+ renderSessionConfig();
189
+ renderEmailConfig();
190
+ fedLoad();
191
+ });
192
+ }
193
+
194
+ // ─── OAuth Providers (card grid) ─────────────────────────────────
195
+
196
+ function renderOAuthProviders() {
197
+ var wrap = document.getElementById("st-oauth-list");
198
+ if (!wrap || !__settingsData) return;
199
+ var providers = __settingsData.oauthProviders || {};
200
+ var keys = Object.keys(providers);
201
+ if (keys.length === 0) {
202
+ wrap.innerHTML = '<div class="settings-row" style="color:var(--text-tertiary)">' + __t("settings.noOAuth") + '</div>';
203
+ return;
204
+ }
205
+ keys.sort(function(a, b) {
206
+ return (providers[a].order || 999) - (providers[b].order || 999);
207
+ });
208
+ var html = "";
209
+ for (var i = 0; i < keys.length; i++) {
210
+ var name = keys[i];
211
+ var p = providers[name];
212
+ var meta = __providerMeta[name];
213
+ var displayName = meta ? meta.name : (name.charAt(0).toUpperCase() + name.slice(1));
214
+ var iconHtml = meta && meta.icon ? '<span class="st-oauth-card-icon">' + meta.icon + '</span>' : "";
215
+ var statusDot = p.enabled !== false
216
+ ? '<span class="st-oauth-dot st-oauth-dot-on"></span>'
217
+ : '<span class="st-oauth-dot st-oauth-dot-off"></span>';
218
+ html += '<div class="st-oauth-card" onclick="openOAuthDialog(\\'edit\\',\\'' + escapeHtml(name) + '\\')" title="' + escapeHtml(displayName) + '">'
219
+ + iconHtml
220
+ + '<span class="st-oauth-card-name">' + escapeHtml(displayName) + '</span>'
221
+ + statusDot
222
+ + '</div>';
223
+ }
224
+ wrap.innerHTML = html;
225
+ }
226
+
227
+ function escapeHtml(s) {
228
+ var d = document.createElement("div");
229
+ d.textContent = s;
230
+ return d.innerHTML;
231
+ }
232
+
233
+ function renderProviderPicker(selectedProvider) {
234
+ var picker = document.getElementById("st-oauth-provider-picker");
235
+ if (!picker) return;
236
+ var configuredProviders = (__settingsData && __settingsData.oauthProviders) ? __settingsData.oauthProviders : {};
237
+ var html = "";
238
+ var keys = Object.keys(__providerMeta);
239
+ for (var i = 0; i < keys.length; i++) {
240
+ var id = keys[i];
241
+ var meta = __providerMeta[id];
242
+ var isSelected = id === selectedProvider;
243
+ var isAdded = !__oauthEditMode && !!configuredProviders[id];
244
+ var cls = "provider-card";
245
+ if (isSelected) cls += " selected";
246
+ if (isAdded) cls += " added";
247
+ var badge = isAdded ? '<span class="provider-added-badge">' + __t("settings.added") + '</span>' : "";
248
+ var onclick = isAdded ? "" : 'onclick="selectOAuthProvider(\\'' + id + '\\')"';
249
+ html += '<div class="' + cls + '" data-provider="' + id + '" ' + onclick + '>'
250
+ + '<span class="provider-icon">' + meta.icon + '</span>'
251
+ + '<span class="provider-name">' + escapeHtml(meta.name) + '</span>'
252
+ + badge
253
+ + '</div>';
254
+ }
255
+ picker.innerHTML = html;
256
+ }
257
+
258
+ function selectOAuthProvider(id) {
259
+ document.getElementById("st-oauth-provider").value = id;
260
+ renderProviderPicker(id);
261
+ onOAuthProviderChange();
262
+ }
263
+
264
+ function openOAuthDialog(mode, providerName) {
265
+ __oauthEditMode = mode === "edit";
266
+ var title = document.getElementById("st-oauth-dialog-title");
267
+ title.textContent = __oauthEditMode ? __t("settings.editOAuthTitle") : __t("settings.addOAuthTitle");
268
+
269
+ var defaultProvider = "google";
270
+ if (__oauthEditMode && providerName) {
271
+ defaultProvider = providerName;
272
+ } else if (__settingsData && __settingsData.oauthProviders) {
273
+ var configured = __settingsData.oauthProviders;
274
+ var keys = Object.keys(__providerMeta);
275
+ for (var i = 0; i < keys.length; i++) {
276
+ if (!configured[keys[i]]) { defaultProvider = keys[i]; break; }
277
+ }
278
+ }
279
+ document.getElementById("st-oauth-provider").value = defaultProvider;
280
+
281
+ var picker = document.getElementById("st-oauth-provider-picker");
282
+ var display = document.getElementById("st-oauth-provider-display");
283
+ if (__oauthEditMode) {
284
+ picker.style.display = "none";
285
+ var meta = __providerMeta[defaultProvider] || { name: defaultProvider, icon: "" };
286
+ display.style.display = "flex";
287
+ display.innerHTML = '<span style="display:inline-flex;width:20px;height:20px">' + meta.icon + '</span>'
288
+ + '<span style="font-size:14px;font-weight:500;color:var(--text)">' + escapeHtml(meta.name) + '</span>';
289
+ } else {
290
+ picker.style.display = "";
291
+ display.style.display = "none";
292
+ renderProviderPicker(defaultProvider);
293
+ }
294
+
295
+ document.getElementById("st-oauth-clientid").value = "";
296
+ document.getElementById("st-oauth-secret").value = "";
297
+ document.getElementById("st-oauth-teamid").value = "";
298
+ document.getElementById("st-oauth-keyid").value = "";
299
+ document.getElementById("st-oauth-privatekey").value = "";
300
+ document.getElementById("st-oauth-serviceid").value = "";
301
+ document.getElementById("st-oauth-bundleid").value = "";
302
+ document.getElementById("st-oauth-domain").value = "";
303
+ document.getElementById("st-oauth-enabled").checked = true;
304
+ document.getElementById("st-oauth-order").value = "0";
305
+
306
+ if (__oauthEditMode && providerName && __settingsData) {
307
+ var p = __settingsData.oauthProviders[providerName];
308
+ if (p) {
309
+ document.getElementById("st-oauth-clientid").value = p.clientId || "";
310
+ document.getElementById("st-oauth-secret").value = p.clientSecret || "";
311
+ document.getElementById("st-oauth-teamid").value = p.teamId || "";
312
+ document.getElementById("st-oauth-keyid").value = p.keyId || "";
313
+ document.getElementById("st-oauth-privatekey").value = p.privateKey || "";
314
+ document.getElementById("st-oauth-serviceid").value = p.serviceId || "";
315
+ document.getElementById("st-oauth-bundleid").value = p.bundleId || "";
316
+ document.getElementById("st-oauth-domain").value = p.domain || "";
317
+ document.getElementById("st-oauth-enabled").checked = p.enabled !== false;
318
+ document.getElementById("st-oauth-order").value = String(p.order ?? 0);
319
+ }
320
+ }
321
+
322
+ onOAuthProviderChange();
323
+ updateCallbackUrl();
324
+ showDialog("st-oauth-dialog");
325
+ }
326
+
327
+ function onOAuthProviderChange() {
328
+ var provider = document.getElementById("st-oauth-provider").value;
329
+ var appleFields = document.querySelectorAll('[data-oauth-field="apple"]');
330
+ var auth0Fields = document.querySelectorAll('[data-oauth-field="auth0"]');
331
+ for (var i = 0; i < appleFields.length; i++) {
332
+ appleFields[i].style.display = provider === "apple" ? "" : "none";
333
+ }
334
+ for (var i = 0; i < auth0Fields.length; i++) {
335
+ auth0Fields[i].style.display = provider === "auth0" ? "" : "none";
336
+ }
337
+ updateCallbackUrl();
338
+ }
339
+
340
+ function updateCallbackUrl() {
341
+ var provider = document.getElementById("st-oauth-provider").value;
342
+ var el = document.getElementById("st-oauth-callback");
343
+ if (el) el.textContent = location.origin + "/.well-known/service/oauth/callback/" + provider;
344
+ }
345
+
346
+ function copyCallbackUrl() {
347
+ var el = document.getElementById("st-oauth-callback");
348
+ var btn = document.getElementById("st-copy-callback-btn");
349
+ if (el && btn && navigator.clipboard) {
350
+ var originalText = btn.textContent;
351
+ navigator.clipboard.writeText(el.textContent).then(function() {
352
+ btn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" style="vertical-align:middle"><path d="M5 13l4 4L19 7" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg> ' + __t("common.copied");
353
+ btn.disabled = true;
354
+ setTimeout(function() { btn.textContent = originalText; btn.disabled = false; }, 2000);
355
+ });
356
+ }
357
+ }
358
+
359
+ function saveOAuthProvider() {
360
+ var provider = document.getElementById("st-oauth-provider").value;
361
+ var body = {
362
+ clientId: document.getElementById("st-oauth-clientid").value,
363
+ clientSecret: document.getElementById("st-oauth-secret").value,
364
+ enabled: document.getElementById("st-oauth-enabled").checked,
365
+ order: parseInt(document.getElementById("st-oauth-order").value, 10) || 0,
366
+ };
367
+
368
+ if (provider === "apple") {
369
+ body.teamId = document.getElementById("st-oauth-teamid").value;
370
+ body.keyId = document.getElementById("st-oauth-keyid").value;
371
+ body.privateKey = document.getElementById("st-oauth-privatekey").value;
372
+ body.serviceId = document.getElementById("st-oauth-serviceid").value;
373
+ body.bundleId = document.getElementById("st-oauth-bundleid").value;
374
+ }
375
+ if (provider === "auth0") {
376
+ body.domain = document.getElementById("st-oauth-domain").value;
377
+ }
378
+
379
+ api("PUT", "/settings/oauth/" + provider, body).then(function(data) {
380
+ if (data.ok) {
381
+ closeDialog("st-oauth-dialog");
382
+ showToast(__t("settings.oauthSaved"), "success");
383
+ loadSettings();
384
+ }
385
+ });
386
+ }
387
+
388
+ async function deleteOAuthProvider(name) {
389
+ var ok = await confirmDialog({ title: __t("settings.deleteProvider", { name: name }), message: __t("settings.deleteProviderMsg"), confirmLabel: __t("common.delete"), danger: true });
390
+ if (!ok) return;
391
+ var data = await api("DELETE", "/settings/oauth/" + name);
392
+ if (data.ok) {
393
+ showToast(__t("settings.providerDeleted"), "success");
394
+ loadSettings();
395
+ }
396
+ }
397
+
398
+ // ─── Built-in Providers ──────────────────────────────────────────
399
+
400
+ function renderBuiltinProviders() {
401
+ if (!__settingsData) return;
402
+ var bp = __settingsData.builtinProviders || {};
403
+ var email = __settingsData.email || {};
404
+ var emailConfigured = !!(email.resendApiKey && email.fromAddress);
405
+
406
+ document.getElementById("st-bp-passkey").checked = bp.passkey ? bp.passkey.enabled !== false : true;
407
+ document.getElementById("st-bp-email").checked = bp.email ? bp.email.enabled !== false : true;
408
+ document.getElementById("st-bp-wallet").checked = bp.wallet ? bp.wallet.enabled !== false : true;
409
+
410
+ // Show hint if email not configured
411
+ var hint = document.getElementById("st-email-hint");
412
+ var emailToggle = document.getElementById("st-bp-email");
413
+ if (hint && emailToggle) {
414
+ if (!emailConfigured) {
415
+ hint.classList.remove("hidden");
416
+ emailToggle.disabled = true;
417
+ emailToggle.checked = false;
418
+ } else {
419
+ hint.classList.add("hidden");
420
+ emailToggle.disabled = false;
421
+ }
422
+ }
423
+ }
424
+
425
+ function saveBuiltinProviders() {
426
+ var body = {
427
+ passkey: { enabled: document.getElementById("st-bp-passkey").checked },
428
+ email: { enabled: document.getElementById("st-bp-email").checked },
429
+ wallet: { enabled: document.getElementById("st-bp-wallet").checked },
430
+ };
431
+ api("PUT", "/settings/builtin-providers", body).then(function(data) {
432
+ if (data.ok) showToast(__t("settings.saved"), "success");
433
+ });
434
+ }
435
+
436
+ // ─── Session ─────────────────────────────────────────────────────
437
+
438
+ function updateSessionLabel() {
439
+ var ttl = document.getElementById("st-session-ttl").value;
440
+ document.getElementById("st-session-lifetime-label").textContent = __t("settings.jwtLifetime", { days: ttl });
441
+ document.getElementById("st-session-ttl").title = __t("settings.jwtLifetime", { days: ttl });
442
+ }
443
+
444
+ function renderSessionConfig() {
445
+ if (!__settingsData) return;
446
+ var s = __settingsData.session || {};
447
+ var ttl = s.jwtTtlDays || 7;
448
+ document.getElementById("st-session-ttl").value = ttl;
449
+ updateSessionLabel();
450
+ }
451
+
452
+ function saveSessionConfig() {
453
+ var ttl = parseInt(document.getElementById("st-session-ttl").value, 10);
454
+ api("PUT", "/settings/session", { jwtTtlDays: ttl }).then(function(data) {
455
+ if (data.ok) showToast(__t("settings.sessionSaved"), "success");
456
+ });
457
+ }
458
+
459
+ // ─── Email ───────────────────────────────────────────────────────
460
+
461
+ function renderEmailConfig() {
462
+ if (!__settingsData) return;
463
+ var e = __settingsData.email || {};
464
+ document.getElementById("st-email-apikey").value = e.resendApiKey || "";
465
+ document.getElementById("st-email-from").value = e.fromAddress || "";
466
+ }
467
+
468
+ function saveEmailConfig() {
469
+ var body = {
470
+ resendApiKey: document.getElementById("st-email-apikey").value,
471
+ fromAddress: document.getElementById("st-email-from").value,
472
+ };
473
+ api("PUT", "/settings/email", body).then(function(data) {
474
+ if (data.ok) {
475
+ showToast(__t("settings.emailSaved"), "success");
476
+ // Re-render builtin providers to update email toggle state
477
+ loadSettings();
478
+ }
479
+ });
480
+ }
481
+
482
+ registerTab("settings", loadSettings);
483
+
484
+ ${FEDERATION_SECTION_SCRIPT}
485
+ `;
486
+ //# sourceMappingURL=tab-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-settings.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Admin Instances page — HTML for instance registration management.
3
+ *
4
+ * Pattern: embedded LoginPage + registration form + registered instance list.
5
+ * Follows gen-access-key-page.ts architecture.
6
+ */
7
+ export declare function buildAdminInstancesPageHTML(): string;
8
+ //# sourceMappingURL=admin-instances-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-instances-page.d.ts","sourceRoot":"","sources":["../../src/pages/admin-instances-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkKH,wBAAgB,2BAA2B,IAAI,MAAM,CA+NpD"}