@arcblock/did-connect-service 4.1.19 → 4.1.21

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 (37) hide show
  1. package/dist/access/rbac.d.ts +12 -0
  2. package/dist/access/rbac.d.ts.map +1 -1
  3. package/dist/access/rbac.js +20 -0
  4. package/dist/access/rbac.js.map +1 -1
  5. package/dist/handlers/access-key-connect-handler.d.ts +6 -0
  6. package/dist/handlers/access-key-connect-handler.d.ts.map +1 -1
  7. package/dist/handlers/access-key-connect-handler.js +40 -2
  8. package/dist/handlers/access-key-connect-handler.js.map +1 -1
  9. package/dist/handlers/auth-handler.d.ts +5 -0
  10. package/dist/handlers/auth-handler.d.ts.map +1 -1
  11. package/dist/handlers/auth-handler.js +1 -0
  12. package/dist/handlers/auth-handler.js.map +1 -1
  13. package/dist/handlers/cimd.d.ts +109 -0
  14. package/dist/handlers/cimd.d.ts.map +1 -0
  15. package/dist/handlers/cimd.js +370 -0
  16. package/dist/handlers/cimd.js.map +1 -0
  17. package/dist/handlers/oauth-as-handler.d.ts +107 -6
  18. package/dist/handlers/oauth-as-handler.d.ts.map +1 -1
  19. package/dist/handlers/oauth-as-handler.js +513 -101
  20. package/dist/handlers/oauth-as-handler.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/pages/brand-icons.d.ts +41 -0
  25. package/dist/pages/brand-icons.d.ts.map +1 -0
  26. package/dist/pages/brand-icons.js +76 -0
  27. package/dist/pages/brand-icons.js.map +1 -0
  28. package/dist/pages/gen-access-key-page.d.ts +9 -1
  29. package/dist/pages/gen-access-key-page.d.ts.map +1 -1
  30. package/dist/pages/gen-access-key-page.js +259 -40
  31. package/dist/pages/gen-access-key-page.js.map +1 -1
  32. package/dist/store/d1-store.d.ts +10 -0
  33. package/dist/store/d1-store.d.ts.map +1 -1
  34. package/dist/store/d1-store.js +26 -6
  35. package/dist/store/d1-store.js.map +1 -1
  36. package/migrations/0014_oauth_client_name.sql +8 -0
  37. package/package.json +3 -3
@@ -3,12 +3,13 @@
3
3
  *
4
4
  * Three-phase state machine: Login → Authorize → Success
5
5
  * - Login phase: embedded LoginPage component (no redirect)
6
- * - Authorize phase: user info + role display + Authorize/Cancel
6
+ * - Authorize phase: user info + role picker (own role or lower) + Authorize/Cancel
7
7
  * - Success phase: postMessage to opener + auto-close
8
8
  *
9
9
  * Uses same LoginPage bundle and design system as login-page.ts.
10
10
  */
11
11
  import { assetUrl } from "../asset-registry.js";
12
+ import { brandGlyphFor } from "./brand-icons.js";
12
13
  /**
13
14
  * Authorize-page copy, localized. `en` is the default fallback for any unknown
14
15
  * locale and reproduces the page's original (pre-i18n) strings byte-for-byte.
@@ -33,6 +34,13 @@ const GEN_ACCESS_KEY_I18N = {
33
34
  closeTabManually: "You can close this tab manually.",
34
35
  authorizationFailed: "Authorization failed",
35
36
  networkError: "Network error",
37
+ roles: { owner: "Owner", admin: "Admin", member: "Member", guest: "Guest" },
38
+ credentialsGoTo: "Credentials go to",
39
+ requestingAccess: "wants access to your account",
40
+ onThisDevice: "on this device",
41
+ unverifiedClient: "Unverified — this name is self-reported",
42
+ verifiedDomain: "Verified domain",
43
+ operatorApproved: "Approved by this service",
36
44
  },
37
45
  zh: {
38
46
  title: "授权访问",
@@ -53,8 +61,28 @@ const GEN_ACCESS_KEY_I18N = {
53
61
  closeTabManually: "您可以手动关闭此标签页。",
54
62
  authorizationFailed: "授权失败",
55
63
  networkError: "网络错误",
64
+ roles: { owner: "所有者", admin: "管理员", member: "成员", guest: "访客" },
65
+ credentialsGoTo: "凭证将发送至",
66
+ requestingAccess: "正在请求访问您的账户",
67
+ onThisDevice: "本机",
68
+ unverifiedClient: "未验证 —— 该名称由应用自行声明",
69
+ verifiedDomain: "已验证域名",
70
+ operatorApproved: "本服务已批准",
56
71
  },
57
72
  };
73
+ /**
74
+ * Escape for HTML text/attribute context. The consent block renders a
75
+ * client-supplied name, so this is mandatory: `sanitizeDisplayText` upstream
76
+ * removes control characters, not markup.
77
+ */
78
+ function escapeHtml(s) {
79
+ return s
80
+ .replace(/&/g, "&")
81
+ .replace(/</g, "&lt;")
82
+ .replace(/>/g, "&gt;")
83
+ .replace(/"/g, "&quot;")
84
+ .replace(/'/g, "&#39;");
85
+ }
58
86
  /** Escape string for safe embedding inside <script> — prevents XSS. */
59
87
  function escapeForScript(s) {
60
88
  return s.replace(/<\/(script)/gi, "<\\/$1");
@@ -63,6 +91,8 @@ function escapeForScript(s) {
63
91
  const ICONS = {
64
92
  key: '<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="15.5" cy="9.5" r="3.5"/><path d="M15.5 13a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11z" fill="none"/><path d="m2 21 5.5-5.5"/><path d="m7.5 15.5 2 2"/><path d="m4 18 2 2"/><path d="M9 11l-7 7"/></svg>',
65
93
  shield: '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>',
94
+ verified: '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',
95
+ warning: '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9v4M12 17h.01M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/></svg>',
66
96
  check: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',
67
97
  };
68
98
  /** Authorize-specific CSS — extends LOGIN_PAGE_STYLES design system. */
@@ -70,6 +100,46 @@ const AUTH_STYLES = /* css */ `
70
100
  /* ── Layout: reuse body from LOGIN_PAGE_STYLES ── */
71
101
  .hidden { display: none !important; }
72
102
 
103
+ /* ── Trust line: sits under the name, because a verification mark detached
104
+ from what it qualifies says nothing. For CIMD it shows the DOMAIN. ── */
105
+ .trust-line {
106
+ display: inline-flex; align-items: center; gap: 5px;
107
+ margin: 2px 0 6px; font-size: 12px; line-height: 1.4;
108
+ }
109
+ .trust-line.verified { color: var(--text-tertiary); }
110
+ .trust-line.unverified { color: var(--amber-muted, #d08700); }
111
+ .trust-line span { font-weight: 500; }
112
+
113
+ /* ── Grant card: one surface for everything being granted, with dividers
114
+ instead of three equally-weighted boxes. ── */
115
+ .grant-card {
116
+ border: 1px solid var(--border-subtle);
117
+ border-radius: var(--radius-sm);
118
+ background: var(--bg-elevated);
119
+ margin-bottom: 16px;
120
+ overflow: hidden;
121
+ }
122
+ .grant-row {
123
+ display: flex; align-items: center; justify-content: space-between;
124
+ gap: 12px; padding: 12px 14px;
125
+ }
126
+ .grant-row + .grant-row { border-top: 1px solid var(--border-subtle); }
127
+ .grant-label {
128
+ font-size: 13px; color: var(--text-tertiary);
129
+ flex-shrink: 0; /* never let the label steal the value's width */
130
+ }
131
+ .grant-value {
132
+ display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
133
+ min-width: 0; text-align: right;
134
+ }
135
+ /* Wraps rather than ellipsing: clipping this string hid the word "device". */
136
+ .grant-mono {
137
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
138
+ font-size: 12px; color: var(--text-primary);
139
+ overflow-wrap: anywhere; word-break: break-word;
140
+ }
141
+ .grant-note { font-size: 11px; color: var(--text-tertiary); }
142
+
73
143
  /* ── Source header ── */
74
144
  .source-header { margin-bottom: 28px; text-align: center; }
75
145
  .source-header h1 { margin-bottom: 4px; }
@@ -89,6 +159,13 @@ const AUTH_STYLES = /* css */ `
89
159
  .logo-box img {
90
160
  width: 56px; height: 56px; border-radius: var(--radius-lg); object-fit: cover;
91
161
  }
162
+ /* Client logo overlays the fallback key icon: if it 404s, is blocked, or is
163
+ removed by the onerror handler, the icon underneath is already there — the
164
+ box is never empty and never shows a broken-image glyph. */
165
+ .logo-box { position: relative; }
166
+ .logo-box .client-logo {
167
+ position: absolute; inset: 0; background: var(--bg-elevated);
168
+ }
92
169
  .connector-label {
93
170
  font-size: 11px; color: var(--text-tertiary);
94
171
  max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
@@ -101,13 +178,11 @@ const AUTH_STYLES = /* css */ `
101
178
  }
102
179
 
103
180
  /* ── User identity card ── */
181
+ /* Framed by .grant-card now; keeps its class because the client script and
182
+ tests key off it. */
104
183
  .user-identity {
105
184
  display: flex; align-items: center; gap: 12px;
106
- padding: 14px 16px;
107
- background: var(--bg-elevated);
108
- border: 1px solid var(--border-subtle);
109
- border-radius: var(--radius-sm);
110
- margin-bottom: 16px;
185
+ justify-content: flex-start;
111
186
  }
112
187
  .user-avatar {
113
188
  width: 40px; height: 40px; border-radius: 50%;
@@ -129,13 +204,9 @@ const AUTH_STYLES = /* css */ `
129
204
  }
130
205
 
131
206
  /* ── Permission notice ── */
207
+ /* Framed by .grant-card now; class retained (tests + client script). */
132
208
  .permission-row {
133
209
  display: flex; align-items: center; justify-content: space-between;
134
- padding: 12px 16px;
135
- background: var(--bg-elevated);
136
- border: 1px solid var(--border-subtle);
137
- border-radius: var(--radius-sm);
138
- margin-bottom: 20px;
139
210
  }
140
211
  .permission-label { font-size: 13px; color: var(--text-secondary); }
141
212
  .role-badge {
@@ -145,6 +216,21 @@ const AUTH_STYLES = /* css */ `
145
216
  background: var(--blue-light); color: var(--blue-muted);
146
217
  text-transform: capitalize;
147
218
  }
219
+ /* Role picker: looks like .role-badge, behaves like a <select>. Rendered
220
+ disabled (indistinguishable from the old static badge) when the user's
221
+ own role is the only grantable one. */
222
+ select.role-badge {
223
+ appearance: none; -webkit-appearance: none;
224
+ border: 1px solid transparent; cursor: pointer;
225
+ padding-right: 26px;
226
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
227
+ background-repeat: no-repeat;
228
+ background-position: right 8px center;
229
+ }
230
+ select.role-badge:hover:not(:disabled) { border-color: var(--blue-muted); }
231
+ select.role-badge:focus-visible { outline: 2px solid var(--blue-muted); outline-offset: 1px; }
232
+ select.role-badge:disabled { cursor: default; background-image: none; padding-right: 10px; }
233
+ select.role-badge option { color: initial; text-transform: capitalize; }
148
234
 
149
235
  /* ── Actions: equal-width side-by-side buttons (Cancel left, Authorize right) ── */
150
236
  .auth-actions { display: flex; flex-direction: row; gap: 8px; }
@@ -202,15 +288,97 @@ const AUTH_STYLES = /* css */ `
202
288
  .phase-authorize .auth-card-inner,
203
289
  .phase-success .auth-card-inner { display: block; }
204
290
  `;
291
+ /**
292
+ * The trust line, rendered directly under the client name.
293
+ *
294
+ * It sits there rather than in a box further down because a verification mark
295
+ * is meaningless detached from the thing it qualifies — and because for CIMD
296
+ * the *domain* is the whole point: the spec asks the authorization server to
297
+ * show the client_id's hostname, which the earlier "Verified domain" label
298
+ * never actually did.
299
+ */
300
+ function renderTrustLine(consent, t) {
301
+ if (consent.trust === "cimd" && consent.verifiedHost) {
302
+ return `<p class="trust-line verified" title="${escapeHtml(t.verifiedDomain)}">${ICONS.verified}<span>${escapeHtml(consent.verifiedHost)}</span></p>`;
303
+ }
304
+ if (consent.trust === "pre-registered") {
305
+ return `<p class="trust-line verified">${ICONS.verified}<span>${escapeHtml(t.operatorApproved)}</span></p>`;
306
+ }
307
+ return `<p class="trust-line unverified">${ICONS.warning}<span>${escapeHtml(t.unverifiedClient)}</span></p>`;
308
+ }
309
+ /**
310
+ * The destination row of the grant card.
311
+ *
312
+ * The value wraps instead of ellipsing: this is the one string on the screen a
313
+ * user is being asked to trust, and the previous single-line treatment clipped
314
+ * it mid-word — "(on this d…" — hiding exactly the reassuring part.
315
+ */
316
+ function renderDestinationRow(consent, t) {
317
+ const note = consent.destination.kind === "device"
318
+ ? `<span class="grant-note">${escapeHtml(t.onThisDevice)}</span>`
319
+ : "";
320
+ return `
321
+ <div class="grant-row">
322
+ <span class="grant-label">${escapeHtml(t.credentialsGoTo)}</span>
323
+ <span class="grant-value">
324
+ <span class="grant-mono">${escapeHtml(consent.destination.label)}</span>
325
+ ${note}
326
+ </span>
327
+ </div>`;
328
+ }
329
+ /**
330
+ * Client logo for CIMD clients. Hardened deliberately:
331
+ * - `onerror` drops the element, revealing the key icon rendered beneath it, so
332
+ * a dead URL degrades to the previous appearance instead of an empty box.
333
+ * - `referrerpolicy=no-referrer` keeps the consent URL (which carries the
334
+ * session id) out of the client's server logs.
335
+ * - `crossorigin=anonymous` stops the request carrying cookies to that host.
336
+ * - `loading=eager` + fixed CSS box: the logo cannot reflow the card under the
337
+ * Authorize button after the user has started reading it.
338
+ *
339
+ * The URL was validated https + same-host-as-client_id when it was stored AND
340
+ * again when it was read back; escapeHtml here is the third layer, for the
341
+ * attribute context.
342
+ */
343
+ function renderClientLogo(consent, idSuffix) {
344
+ if (!consent.logoUri)
345
+ return "";
346
+ return `<img class="client-logo" id="client-logo${idSuffix}" src="${escapeHtml(consent.logoUri)}" alt="" loading="eager" referrerpolicy="no-referrer" crossorigin="anonymous" onerror="this.remove()" />`;
347
+ }
348
+ /**
349
+ * Consent headline. Falls back to the client_id only when no name was
350
+ * supplied — but never renders a bare DCR UUID as a title without the
351
+ * "unverified" trust line that {@link renderTrustLine} puts beneath it.
352
+ */
353
+ function consentDisplayName(consent) {
354
+ return consent.clientName || consent.clientId;
355
+ }
205
356
  export function buildGenAccessKeyPageHTML(options, locale = "en") {
206
357
  const optionsJSON = escapeForScript(JSON.stringify({
207
358
  methods: options?.methods || ["passkey", "oauth", "email"],
208
359
  oauthProviders: options?.oauthProviders || [],
209
360
  appName: options?.appName || "",
361
+ // Signals the client script to leave the server-rendered consent
362
+ // identity alone (see the guard around setSource).
363
+ serverConsent: Boolean(options?.oauthConsent),
210
364
  }));
211
365
  const apiPrefix = options?.apiPrefix || "/.well-known/service/api/did";
212
366
  const lang = locale === "zh" ? "zh" : "en";
213
367
  const t = GEN_ACCESS_KEY_I18N[lang];
368
+ const consent = options?.oauthConsent;
369
+ const consentName = consent ? escapeHtml(consentDisplayName(consent)) : "";
370
+ const consentTitle = consent ? consentName : t.title;
371
+ // The h1 immediately above is the name; repeating it here was the third
372
+ // occurrence on one screen.
373
+ const consentDesc = consent ? escapeHtml(t.requestingAccess) : t.defaultDesc;
374
+ const consentLabel = consent ? consentName : t.appLabel;
375
+ const consentTrust = consent ? renderTrustLine(consent, t) : "";
376
+ const consentDest = consent ? renderDestinationRow(consent, t) : "";
377
+ // Icon precedence: the client's own logo_uri (rendered over the top) >
378
+ // a built-in glyph for a domain-proven CIMD host > the generic key.
379
+ const consentIcon = (consent && brandGlyphFor(consent.clientId, consent.trust)) || ICONS.key;
380
+ const consentLogo = consent ? renderClientLogo(consent, "") : "";
381
+ const consentLogoInner = consent ? renderClientLogo(consent, "-inner") : "";
214
382
  const clientI18n = escapeForScript(JSON.stringify({
215
383
  requestingAccessSuffix: t.requestingAccessSuffix,
216
384
  defaultAppName: t.defaultAppName,
@@ -221,6 +389,7 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
221
389
  closeTabManually: t.closeTabManually,
222
390
  authorizationFailed: t.authorizationFailed,
223
391
  networkError: t.networkError,
392
+ roles: t.roles,
224
393
  }));
225
394
  return /* html */ `<!DOCTYPE html>
226
395
  <html lang="${lang}">
@@ -244,8 +413,8 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
244
413
  branding-handler's defaultLogoResponse fallback) on the right. -->
245
414
  <div class="connector">
246
415
  <div class="connector-node">
247
- <div class="logo-box" id="source-icon">${ICONS.key}</div>
248
- <span class="connector-label" id="source-label">${t.appLabel}</span>
416
+ <div class="logo-box" id="source-icon">${consentIcon}${consentLogo}</div>
417
+ <span class="connector-label" id="source-label">${consentLabel}</span>
249
418
  </div>
250
419
  <div class="connector-track">${ICONS.shield}</div>
251
420
  <div class="connector-node">
@@ -253,8 +422,9 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
253
422
  <span class="connector-label" id="target-label">${t.thisService}</span>
254
423
  </div>
255
424
  </div>
256
- <h1 id="source-name">${t.title}</h1>
257
- <p class="subtitle" id="source-desc">${t.defaultDesc}</p>
425
+ <h1 id="source-name">${consentTitle}</h1>
426
+ ${consentTrust}
427
+ <p class="subtitle" id="source-desc">${consentDesc}</p>
258
428
  </div>
259
429
  </div>
260
430
 
@@ -268,8 +438,8 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
268
438
  <div class="source-header">
269
439
  <div class="connector">
270
440
  <div class="connector-node">
271
- <div class="logo-box" id="source-icon-inner">${ICONS.key}</div>
272
- <span class="connector-label" id="source-label-inner">${t.appLabel}</span>
441
+ <div class="logo-box" id="source-icon-inner">${consentIcon}${consentLogoInner}</div>
442
+ <span class="connector-label" id="source-label-inner">${consentLabel}</span>
273
443
  </div>
274
444
  <div class="connector-track">${ICONS.shield}</div>
275
445
  <div class="connector-node">
@@ -277,22 +447,33 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
277
447
  <span class="connector-label" id="target-label-inner">${t.thisService}</span>
278
448
  </div>
279
449
  </div>
280
- <h1 id="source-name-inner">${t.title}</h1>
281
- <p class="subtitle" id="source-desc-inner">${t.defaultDesc}</p>
450
+ <h1 id="source-name-inner">${consentTitle}</h1>
451
+ ${consentTrust}
452
+ <p class="subtitle" id="source-desc-inner">${consentDesc}</p>
282
453
  </div>
283
454
 
284
455
  <!-- Phase 2: Authorize -->
285
456
  <div id="authorize-section" class="hidden">
286
- <div class="user-identity">
287
- <div class="user-avatar" id="user-avatar"></div>
288
- <div class="user-info">
289
- <div class="user-name" id="user-name"></div>
290
- <div class="user-did" id="user-did"></div>
457
+ <!-- One card for everything being granted: which account, at what
458
+ level, and where the code lands. Previously three separate boxes
459
+ of equal weight, which read as a form rather than a decision.
460
+ Class names and ids are load-bearing — the client script fills
461
+ user-avatar/user-name/user-did/grant-role, and the plain
462
+ access-key flow (no OAuth consent) renders this same markup. -->
463
+ <div class="grant-card">
464
+ <div class="grant-row user-identity">
465
+ <div class="user-avatar" id="user-avatar"></div>
466
+ <div class="user-info">
467
+ <div class="user-name" id="user-name"></div>
468
+ <div class="user-did" id="user-did"></div>
469
+ </div>
291
470
  </div>
292
- </div>
293
- <div class="permission-row">
294
- <span class="permission-label">${t.accessLevel}</span>
295
- <span class="role-badge" id="grant-role">member</span>
471
+ <div class="grant-row permission-row">
472
+ <label class="permission-label" for="grant-role">${t.accessLevel}</label>
473
+ <!-- Options are filled in at runtime from the signed-in user's own
474
+ role (never above it); the server re-validates on authorize. -->
475
+ <select class="role-badge" id="grant-role" disabled></select>
476
+ </div>${consentDest}
296
477
  </div>
297
478
  <div class="auth-actions">
298
479
  <button class="btn btn-secondary" id="cancel-btn" onclick="cancelAuth()">${t.cancel}</button>
@@ -329,8 +510,13 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
329
510
  var I18N = ${clientI18n};
330
511
  var params = new URLSearchParams(location.search);
331
512
  var token = params.get('__token__');
332
- var source = params.get('source') || '';
333
- var appUrl = params.get('appUrl') || '';
513
+ // When the server rendered a verified OAuth consent identity, the
514
+ // query-derived source/appUrl are dropped on the floor: nothing downstream
515
+ // may overwrite a name or logo that was resolved server-side. (Doing this
516
+ // here, rather than guarding each use, keeps those code paths unchanged.)
517
+ var serverConsent = !!pageOpts.serverConsent;
518
+ var source = serverConsent ? '' : (params.get('source') || '');
519
+ var appUrl = serverConsent ? '' : (params.get('appUrl') || '');
334
520
  var apiPrefix = '${escapeForScript(apiPrefix)}';
335
521
 
336
522
  // Sync both source headers (preamble + inner card)
@@ -440,11 +626,17 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
440
626
  page.mount();
441
627
  }
442
628
 
629
+ // Highest privilege first — must mirror ROLE_LEVEL in src/access/rbac.ts.
630
+ var ROLE_ORDER = ['owner', 'admin', 'member', 'guest'];
631
+
443
632
  function showAuthorize(session) {
633
+ // /api/did/session nests identity under session.user; older/leaner payloads
634
+ // put it at the top level. Read the nested object first — reading only
635
+ // session.role is what used to pin the badge to "member" for every account.
444
636
  var user = session.user || session;
445
- var name = user.displayName || user.fullName || session.did || '';
446
- var did = session.did || '';
447
- var role = session.role || 'member';
637
+ var name = user.displayName || user.fullName || user.did || session.did || '';
638
+ var did = user.did || session.did || '';
639
+ var role = user.role || session.role || 'guest';
448
640
  var avatarUrl = user.avatar || ('/.well-known/service/user/avatar/' + did);
449
641
  var initial = (name || did).charAt(0).toUpperCase();
450
642
 
@@ -455,12 +647,36 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
455
647
 
456
648
  document.getElementById('user-name').textContent = name;
457
649
  document.getElementById('user-did').textContent = did;
458
- document.getElementById('grant-role').textContent = role;
650
+ renderRoleOptions(role);
459
651
  wrapper.className = 'auth-wrapper phase-authorize';
460
652
  document.getElementById('authorize-section').classList.remove('hidden');
461
653
  startTimeout();
462
654
  }
463
655
 
656
+ /**
657
+ * Fill the access-level picker with the roles this user may grant: their own
658
+ * role and everything below it, defaulting to their own (the pre-existing
659
+ * behaviour). A downgrade is allowed so a long-lived key can be narrower than
660
+ * the human who issued it; escalation is impossible here and is re-checked
661
+ * server-side regardless.
662
+ */
663
+ function renderRoleOptions(role) {
664
+ var select = document.getElementById('grant-role');
665
+ var ownIndex = ROLE_ORDER.indexOf(role);
666
+ // Unknown role → treat as guest, matching the server's own fallback.
667
+ var allowed = ownIndex === -1 ? ['guest'] : ROLE_ORDER.slice(ownIndex);
668
+ select.innerHTML = '';
669
+ allowed.forEach(function(r) {
670
+ var opt = document.createElement('option');
671
+ opt.value = r;
672
+ opt.textContent = (I18N.roles && I18N.roles[r]) || r;
673
+ select.appendChild(opt);
674
+ });
675
+ select.value = allowed[0];
676
+ // Nothing to pick from → keep it inert, reading as a plain badge.
677
+ select.disabled = allowed.length < 2;
678
+ }
679
+
464
680
  // Session timeout (5 min)
465
681
  var SESSION_TTL = 5 * 60 * 1000;
466
682
  var startTime = Date.now();
@@ -494,6 +710,7 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
494
710
  var btn = document.getElementById('auth-btn');
495
711
  btn.disabled = true;
496
712
  btn.innerHTML = '<span class="btn-spinner"></span>';
713
+ var grantRole = document.getElementById('grant-role').value || '';
497
714
 
498
715
  // OAuth authorization_code: form POST so the browser follows 302 to redirect_uri.
499
716
  if (params.get('oauth') === '1') {
@@ -501,11 +718,13 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
501
718
  form.method = 'POST';
502
719
  form.action = '/.well-known/service/oauth/authorize';
503
720
  form.style.display = 'none';
504
- var sidInput = document.createElement('input');
505
- sidInput.type = 'hidden';
506
- sidInput.name = 'sid';
507
- sidInput.value = token || '';
508
- form.appendChild(sidInput);
721
+ [['sid', token || ''], ['role', grantRole]].forEach(function(pair) {
722
+ var input = document.createElement('input');
723
+ input.type = 'hidden';
724
+ input.name = pair[0];
725
+ input.value = pair[1];
726
+ form.appendChild(input);
727
+ });
509
728
  document.body.appendChild(form);
510
729
  form.submit();
511
730
  return;
@@ -515,7 +734,7 @@ export function buildGenAccessKeyPageHTML(options, locale = "en") {
515
734
  method: 'POST',
516
735
  credentials: 'include',
517
736
  headers: { 'Content-Type': 'application/json' },
518
- body: JSON.stringify({ sid: token, source: source }),
737
+ body: JSON.stringify({ sid: token, source: source, role: grantRole }),
519
738
  })
520
739
  .then(function(r) { return r.json(); })
521
740
  .then(function(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"gen-access-key-page.js","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen-access-key-page.js","sourceRoot":"","sources":["../../src/pages/gen-access-key-page.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export type RefreshTokenStatus = {
28
28
  /** Persisted OAuth client (DCR or pre-registered escape hatch). */
29
29
  export interface StoredOAuthClient {
30
30
  clientId: string;
31
+ /** RFC 7591 client_name. Self-asserted for DCR — display it as unverified. */
32
+ clientName?: string;
31
33
  redirectUris: string[];
32
34
  grantTypes: string[];
33
35
  responseTypes: string[];
@@ -422,6 +424,7 @@ export declare class D1Store {
422
424
  purgeExpiredAccessKeySessions(): Promise<void>;
423
425
  createOAuthClient(params: {
424
426
  clientId: string;
427
+ clientName?: string;
425
428
  redirectUris: string[];
426
429
  grantTypes: string[];
427
430
  responseTypes: string[];
@@ -430,6 +433,13 @@ export declare class D1Store {
430
433
  createdFromIp?: string | null;
431
434
  expiresAt?: string | null;
432
435
  }): Promise<void>;
436
+ /**
437
+ * Clear a DCR row's TTL — called once the client completes a real user
438
+ * authorization. An unused registration still expires (spam cleanup); a
439
+ * client someone actually consented to must never expire out from under
440
+ * them. Pre-registered rows are left alone (they already have no TTL).
441
+ */
442
+ clearOAuthClientExpiry(clientId: string): Promise<void>;
433
443
  getOAuthClient(clientId: string): Promise<StoredOAuthClient | null>;
434
444
  /** DCR rows for this IP (expiry / window filtered in JS so mock-d1 works). */
435
445
  listOAuthClientsByIp(ip: string): Promise<StoredOAuthClient[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"d1-store.d.ts","sourceRoot":"","sources":["../../src/store/d1-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d1-store.d.ts","sourceRoot":"","sources":["../../src/store/d1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,eAAe,EAEf,sBAAsB,EACtB,gBAAgB,EAEhB,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AA+LrB,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAmBD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4CD,KAAK,eAAe,GAAG,KAAK,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAsDH,kEAAkE;AAClE,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,OAAO;IAmBN,OAAO,CAAC,EAAE;IAlBtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC;;;;;;;;;;;;;;;OAeG;gBACiB,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAOjG;sFACkF;IAC5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwN9B,0DAA0D;IACpD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF,YAAY,CAChB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IASrE,sFAAsF;IAChF,mBAAmB,CACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAQ3E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B1D,UAAU,CAAC,MAAM,EAAE;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCX,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKrD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKzD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/B,QAAQ,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1D,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAgE7C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAetD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhF,iBAAiB,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EACtF,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAoCV,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF;;;OAGG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7F,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiD9F,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAQ3D,cAAc,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAoC7D;;OAEG;IACG,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYzD,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhF,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxC,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC9E,IAAI,EAAE,YAAY,EAAE,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAgBI,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAInD,kHAAkH;YACpG,gBAAgB;IAsDxB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAgB9E,sBAAsB,CAAC,MAAM,EAAE;QACnC,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BX,sBAAsB,CAAC,OAAO,EAAE;QACpC,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjB;;;;;;;;;;;OAWG;IACG,+BAA+B,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;;OAOG;IACG,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3F,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAQrF,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAQ7E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IASjF,oCAAoC,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAQnC,qCAAqC,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAS9B,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAcvE,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCtE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAepE,aAAa,CAAC,IAAI,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAmD/C,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA6B1B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CtC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAclC,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiDpE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA4B7D,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgC5F,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwCxG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUrD,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmCnE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA2B7D,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4B5F,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2CxG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAYV,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAeT,sEAAsE;IAChE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAQ3D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CACjD,KAAK,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAeK,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAC7D,KAAK,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CACH;IAiCK,8BAA8B,IAAI,OAAO,CAC7C,KAAK,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CACH;IAuBK,2BAA2B,IAAI,OAAO,CAC1C,KAAK,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CACH;IAgCK,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrE,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASpE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBzF,YAAY,CAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAStE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,iEAAiE;IAC3D,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAS5E,mGAAmG;IAC7F,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAWlG;2EACuE;IACvE,OAAO,CAAC,aAAa;IAarB,yFAAyF;IACnF,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAarE;;0EAEsE;IAChE,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBjG,oCAAoC;IAC9B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,6DAA6D;IACvD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ/D,+EAA+E;IACzE,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYvF;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAwB7F,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAanD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,SAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAWV,cAAc,CAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAW1E,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzC,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DxD,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyB9E;;;OAGG;IACG,0BAA0B,IAAI,OAAO,CAAC,eAAe,CAAC;IAqBtD,sBAAsB,CAAC,MAAM,EAAE;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYX,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IAoBH,sBAAsB,CAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,wBAAwB,EAAE,MAAM,CAAC;KAClC,GACA,OAAO,CAAC,IAAI,CAAC;IAUV,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9C,iBAAiB,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,uBAAuB,EAAE,MAAM,CAAC;QAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjB;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAYzE,8EAA8E;IACxE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAcpE,2FAA2F;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcnD,mFAAmF;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7E,6BAA6B;IACvB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,oCAAoC;IAC9B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC,oEAAoE;IAC9D,uBAAuB,IAAI,OAAO,CACtC,KAAK,CAAC;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC,CACH;IAyBD;;;OAGG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc5D,yDAAyD;IACnD,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvE,0DAA0D;IACpD,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;OAIG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAkC,EAC9C,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAkB9B;;;;;;OAMG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoD3E;;;;;;;;;OASG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmCnG,mEAAmE;IAC7D,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;OAGG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAmBT;;;;;OAKG;IACG,sBAAsB,CAAC,KAAK,EAAE;QAClC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,oBAAoB,CAAC;QAC7B,UAAU,EAAE;YACV,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,GAAG,OAAO,CAAC,IAAI,CAAC;CA0ClB"}