@ibgib/web-gib 0.0.61 → 0.0.63

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 (66) hide show
  1. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  2. package/dist/AUTO-GENERATED-version.mjs +1 -1
  3. package/dist/helpers.web.d.mts +20 -3
  4. package/dist/helpers.web.d.mts.map +1 -1
  5. package/dist/helpers.web.mjs +84 -3
  6. package/dist/helpers.web.mjs.map +1 -1
  7. package/dist/identity/device-delegate-helper.d.mts +48 -0
  8. package/dist/identity/device-delegate-helper.d.mts.map +1 -1
  9. package/dist/identity/device-delegate-helper.mjs +86 -2
  10. package/dist/identity/device-delegate-helper.mjs.map +1 -1
  11. package/dist/identity/device-delegate.respec.mjs +6 -6
  12. package/dist/identity/device-delegate.respec.mjs.map +1 -1
  13. package/dist/identity/passkey-helper.d.mts +77 -0
  14. package/dist/identity/passkey-helper.d.mts.map +1 -0
  15. package/dist/identity/passkey-helper.mjs +258 -0
  16. package/dist/identity/passkey-helper.mjs.map +1 -0
  17. package/dist/identity/passkey.respec.d.mts +2 -0
  18. package/dist/identity/passkey.respec.d.mts.map +1 -0
  19. package/dist/identity/passkey.respec.mjs +169 -0
  20. package/dist/identity/passkey.respec.mjs.map +1 -0
  21. package/dist/index.d.mts +1 -0
  22. package/dist/index.d.mts.map +1 -1
  23. package/dist/index.mjs +1 -0
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/ui/component/identity/add-device/add-device.d.mts.map +1 -1
  26. package/dist/ui/component/identity/add-device/add-device.mjs +1 -0
  27. package/dist/ui/component/identity/add-device/add-device.mjs.map +1 -1
  28. package/dist/ui/component/identity/keystone-creator/keystone-creator.css +26 -0
  29. package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts +18 -1
  30. package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts.map +1 -1
  31. package/dist/ui/component/identity/keystone-creator/keystone-creator.html +60 -4
  32. package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs +518 -74
  33. package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs.map +1 -1
  34. package/dist/ui/component/identity/keystone-details/keystone-details.d.mts +28 -1
  35. package/dist/ui/component/identity/keystone-details/keystone-details.d.mts.map +1 -1
  36. package/dist/ui/component/identity/keystone-details/keystone-details.html +46 -0
  37. package/dist/ui/component/identity/keystone-details/keystone-details.mjs +1146 -208
  38. package/dist/ui/component/identity/keystone-details/keystone-details.mjs.map +1 -1
  39. package/dist/ui/component/identity/remove-device/remove-device.d.mts.map +1 -1
  40. package/dist/ui/component/identity/remove-device/remove-device.mjs +1 -0
  41. package/dist/ui/component/identity/remove-device/remove-device.mjs.map +1 -1
  42. package/dist/ui/ui-helpers.d.mts +3 -0
  43. package/dist/ui/ui-helpers.d.mts.map +1 -1
  44. package/dist/ui/ui-helpers.mjs +116 -7
  45. package/dist/ui/ui-helpers.mjs.map +1 -1
  46. package/package.json +2 -2
  47. package/src/AUTO-GENERATED-version.mts +1 -1
  48. package/src/helpers.web.mts +117 -7
  49. package/src/identity/device-delegate-helper.mts +135 -2
  50. package/src/identity/device-delegate.respec.mts +6 -6
  51. package/src/identity/passkey-helper.mts +337 -0
  52. package/src/identity/passkey.respec.mts +194 -0
  53. package/src/index.mts +1 -0
  54. package/src/ui/component/identity/add-device/add-device.mts +1 -0
  55. package/src/ui/component/identity/keystone-creator/keystone-creator.css +26 -0
  56. package/src/ui/component/identity/keystone-creator/keystone-creator.html +60 -4
  57. package/src/ui/component/identity/keystone-creator/keystone-creator.mts +561 -77
  58. package/src/ui/component/identity/keystone-details/keystone-details.html +46 -0
  59. package/src/ui/component/identity/keystone-details/keystone-details.mts +1239 -224
  60. package/src/ui/component/identity/remove-device/remove-device.mts +1 -0
  61. package/src/ui/ui-helpers.mts +123 -6
  62. package/tools/auto-generated-agent-skills/skills/ibgib-create-app-server/SKILL.md +50 -0
  63. package/src/identity/custodian-delegate-helper.mts.bak +0 -7
  64. package/src/identity/sso/sso-config-helper.mts.bak +0 -52
  65. package/src/identity/sso/sso-custodian-service.mts.bak +0 -566
  66. package/src/identity/sso/sso-custodian-service.respec.mts.bak +0 -298
@@ -1 +1 @@
1
- {"version":3,"file":"ui-helpers.mjs","sourceRoot":"","sources":["../../src/ui/ui-helpers.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-helpers.mjs","sourceRoot":"","sources":["../../src/ui/ui-helpers.mts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/web-gib",
3
- "version": "0.0.61",
3
+ "version": "0.0.63",
4
4
  "description": "Framework for creating agentic ibGib web apps. Contains plumbing for ibgib components, agentic framework (currently only Gemini implemented), web-based IndexedDB storage substrate, and more.",
5
5
  "funding": {
6
6
  "type": "individual",
@@ -29,7 +29,7 @@
29
29
  "license": "ISC",
30
30
  "dependencies": {
31
31
  "@google/genai": "^1.33.0",
32
- "@ibgib/core-gib": "^0.1.75",
32
+ "@ibgib/core-gib": "^0.1.77",
33
33
  "@ibgib/encrypt-gib": "^0.3.1",
34
34
  "@ibgib/helper-gib": "^0.0.37",
35
35
  "@ibgib/ts-gib": "^0.5.34"
@@ -11,4 +11,4 @@
11
11
  /**
12
12
  * this is the version of this package, auto-updated in the build process
13
13
  */
14
- export const AUTO_GENERATED_VERSION = '0.0.61';
14
+ export const AUTO_GENERATED_VERSION = '0.0.63';
@@ -424,27 +424,50 @@ export async function promptForText({
424
424
  }
425
425
  }
426
426
 
427
+ import { evaluatePasskeyPrf, isPasskeyPrfSupported } from "./identity/passkey-helper.mjs";
428
+ import { KeystonePasskeyEntry } from "@ibgib/core-gib/dist/keystone/keystone-types.mjs";
429
+
430
+ export interface AuthoritySecretResult {
431
+ secret: string;
432
+ poolId: string;
433
+ }
434
+
427
435
  /**
428
- * not implemented atow (12/2024). I think we'll have perhaps a modal dialog
429
- * with a known name and get at it that way.
436
+ * Prompts the user for a secret, supporting both master password and passkey/hardware authenticators.
430
437
  */
431
438
  export async function promptForSecret({
432
439
  msg,
433
440
  confirm,
441
+ passkeys,
434
442
  }: {
435
- msg?: string,
436
- confirm: boolean,
443
+ msg?: string;
444
+ confirm: boolean;
445
+ passkeys?: Record<string, KeystonePasskeyEntry>;
437
446
  }): Promise<string> {
438
447
  const lc = `[${promptForSecret.name}]`;
439
448
  try {
440
449
  if (logalot) { console.log(`${lc} starting... (I: 795a4ce348ddb9a5119770f4c572ac24)`); }
441
450
 
442
- let result: string | undefined = undefined;
451
+ let result: any = undefined;
443
452
 
444
453
  let firstTry = true;
445
454
  let attempts = 0;
446
455
  let maxAttempts = 5;
447
456
 
457
+ const prfSupported = await isPasskeyPrfSupported().catch(() => false);
458
+ const onPasskeyAuth = (prfSupported && passkeys && Object.keys(passkeys).length > 0)
459
+ ? async (passkeyEntry?: any) => {
460
+ if (!passkeyEntry) return undefined;
461
+ const { passkeySecret } = await evaluatePasskeyPrf({
462
+ credentialId: passkeyEntry.credentialId,
463
+ salt: passkeyEntry.salt,
464
+ transports: passkeyEntry.transports,
465
+ userVerification: 'preferred'
466
+ });
467
+ return passkeySecret;
468
+ }
469
+ : undefined;
470
+
448
471
  do {
449
472
  attempts++;
450
473
  if (attempts >= maxAttempts) {
@@ -458,12 +481,18 @@ export async function promptForSecret({
458
481
  showInput: true,
459
482
  isPassword: true,
460
483
  defaultValue: undefined,
484
+ passkeys,
485
+ onPasskeyAuth,
461
486
  });
462
487
  if (result === undefined) { throw new Error(`user cancelled (E: 91519d04378e84106f3df8eb36d99725)`); }
463
488
 
489
+ if (typeof result === 'object' && result?.secret !== undefined) {
490
+ result = result.secret;
491
+ }
492
+
464
493
  if (confirm) {
465
494
  await delay(250);
466
- let result2 = await showFullscreenDialog({
495
+ let result2: any = await showFullscreenDialog({
467
496
  title: 'Shh...',
468
497
  msg: 'Confirm...',
469
498
  prompt: true,
@@ -472,6 +501,9 @@ export async function promptForSecret({
472
501
  defaultValue: undefined,
473
502
  });
474
503
  if (result2 === undefined) { result = undefined; }
504
+ if (typeof result2 === 'object' && result2?.secret !== undefined) {
505
+ result2 = result2.secret;
506
+ }
475
507
  if (result !== result2) {
476
508
  result = undefined;
477
509
  firstTry = false;
@@ -479,7 +511,6 @@ export async function promptForSecret({
479
511
  }
480
512
  }
481
513
 
482
-
483
514
  } while (result === undefined);
484
515
 
485
516
  return result;
@@ -491,6 +522,85 @@ export async function promptForSecret({
491
522
  }
492
523
  }
493
524
 
525
+ /**
526
+ * Unified authority prompt that inspects the candidate pools on a keystone and prompts the user
527
+ * to authorize via either Master Password or a specific Passkey.
528
+ * Returns both the verified secret and the exact signingPoolId to use for keystone operations.
529
+ */
530
+ export async function promptForAuthoritySecret({
531
+ keystone,
532
+ aggregatedDetails,
533
+ title,
534
+ msg,
535
+ verb = 'manage',
536
+ }: {
537
+ keystone: any;
538
+ aggregatedDetails?: any;
539
+ title?: string;
540
+ msg?: string;
541
+ verb?: string;
542
+ }): Promise<AuthoritySecretResult> {
543
+ const lc = `[${promptForAuthoritySecret.name}]`;
544
+ try {
545
+ const passkeysMap = aggregatedDetails?.passkeys
546
+ || (keystone.data as any)?.frameDetails?.passkeys
547
+ || (keystone.data as any)?.passkeys
548
+ || {};
549
+
550
+ const prfSupported = await isPasskeyPrfSupported().catch(() => false);
551
+ const onPasskeyAuth = (prfSupported && passkeysMap && Object.keys(passkeysMap).length > 0)
552
+ ? async (passkeyEntry?: any) => {
553
+ if (!passkeyEntry) return undefined;
554
+ const { passkeySecret } = await evaluatePasskeyPrf({
555
+ credentialId: passkeyEntry.credentialId,
556
+ salt: passkeyEntry.salt,
557
+ transports: passkeyEntry.transports,
558
+ userVerification: 'preferred'
559
+ });
560
+ return passkeySecret;
561
+ }
562
+ : undefined;
563
+
564
+ const candidatePools = (keystone.data?.challengePools || []).filter((p: any) =>
565
+ p.id === 'manage' ||
566
+ p.id.startsWith('passkey-manage-') ||
567
+ (p.config?.allowedVerbs && verb && p.config.allowedVerbs.includes(verb))
568
+ );
569
+
570
+ const hasPasswordPool = candidatePools.some((p: any) => p.id === 'manage');
571
+
572
+ const dialogResult: any = await showFullscreenDialog({
573
+ title: title || 'Authorize Action',
574
+ msg: msg || 'Authorize this action with your master password or passkey:',
575
+ prompt: true,
576
+ showInput: hasPasswordPool,
577
+ isPassword: true,
578
+ defaultValue: undefined,
579
+ passkeys: passkeysMap,
580
+ onPasskeyAuth,
581
+ });
582
+
583
+ if (!dialogResult) {
584
+ throw new Error("Action cancelled by user.");
585
+ }
586
+
587
+ if (typeof dialogResult === 'object' && dialogResult.secret !== undefined) {
588
+ return {
589
+ secret: dialogResult.secret,
590
+ poolId: dialogResult.poolId || 'manage'
591
+ };
592
+ }
593
+
594
+ return {
595
+ secret: String(dialogResult),
596
+ poolId: 'manage'
597
+ };
598
+ } catch (error) {
599
+ console.error(`${lc} ${extractErrorMsg(error)}`);
600
+ throw error;
601
+ }
602
+ }
603
+
494
604
  /**
495
605
  * prompt specifically looking to confirm something. if "cancelled", returns
496
606
  * false.
@@ -7,11 +7,14 @@
7
7
  * Applicable symmetrically to Sovereign, Custodial, and Hybrid identities.
8
8
  */
9
9
 
10
- import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
11
- import { deriveDeviceDelegateSecret } from "@ibgib/core-gib/dist/keystone/delegate/delegate-helpers.mjs";
10
+ import { extractErrorMsg, getSaferSubstring } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
11
+ import { deriveDeviceDelegateSecret, deriveDelegateSecret, createSyncDelegateKeystone } from "@ibgib/core-gib/dist/keystone/delegate/delegate-helpers.mjs";
12
+ import { generateDefaultDeviceTag } from "../util/device-helper.mjs";
12
13
  import { storageGet, storagePut, storageDelete } from "../storage/storage-helpers.web.mjs";
13
14
  import { getGlobalDbName, getGlobalStoreName } from "../helpers.web.mjs";
14
15
 
16
+ export { generateDefaultDeviceTag };
17
+
15
18
  export const DEVICE_DELEGATE_SECRET_PREFIX = 'ibgib_device_delegate_secret_';
16
19
 
17
20
  /**
@@ -133,3 +136,133 @@ export async function clearDeviceDelegateSecret({
133
136
  throw error;
134
137
  }
135
138
  }
139
+
140
+ /**
141
+ * Creates a Sovereign Password-based sync delegate for this device.
142
+ * Standardized format: `pwd-${safeUsername}-${defaultDeviceTag}`
143
+ */
144
+ export async function createSovereignDeviceSyncDelegate({
145
+ username,
146
+ primaryTjpAddr,
147
+ masterSecret,
148
+ metaspace,
149
+ space,
150
+ }: {
151
+ username: string;
152
+ primaryTjpAddr: string;
153
+ masterSecret: string;
154
+ metaspace?: any;
155
+ space?: any;
156
+ }): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
157
+ const delegateSecret = await deriveDelegateSecret({ masterSecret });
158
+ await setDeviceDelegateSecret({ primaryTjpAddr, delegateSecret });
159
+
160
+ const safeUser = getSaferSubstring({ text: username, length: 8, keepLiterals: ['-'] }) || 'user';
161
+ const defaultDeviceTag = generateDefaultDeviceTag();
162
+ const deviceTag = `pwd-${safeUser}-${defaultDeviceTag}`;
163
+ const sovereignSyncProfileName = process.env.KEYSTONE_PROFILE_SOVEREIGN_SYNC;
164
+ if (!sovereignSyncProfileName || !sovereignSyncProfileName.trim()) {
165
+ throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing.');
166
+ }
167
+
168
+ const delegateKeystone = await createSyncDelegateKeystone({
169
+ profileName: sovereignSyncProfileName.trim() as any,
170
+ username,
171
+ deviceTag,
172
+ primaryTjpAddr,
173
+ delegateSecret,
174
+ additionalFrameDetails: { client: 'space-gib-web' },
175
+ metaspace,
176
+ space,
177
+ });
178
+
179
+ return { delegateKeystone, deviceTag, delegateSecret };
180
+ }
181
+
182
+ /**
183
+ * Creates an OAuth2 Custodial sync delegate for this device.
184
+ * Standardized format: `oauth2-${providerId}-${defaultDeviceTag}`
185
+ */
186
+ export async function createOAuth2DeviceSyncDelegate({
187
+ providerId,
188
+ username = 'user',
189
+ primaryTjpAddr,
190
+ custodianReqs,
191
+ metaspace,
192
+ space,
193
+ }: {
194
+ providerId: string;
195
+ username?: string;
196
+ primaryTjpAddr: string;
197
+ custodianReqs?: any;
198
+ metaspace?: any;
199
+ space?: any;
200
+ }): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
201
+ const delegateSecret = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
202
+ const defaultDeviceTag = generateDefaultDeviceTag();
203
+ const deviceTag = `oauth2-${providerId}-${defaultDeviceTag}`;
204
+ const custodianSyncProfileName = process.env.KEYSTONE_PROFILE_CUSTODIAN_SYNC;
205
+ if (!custodianSyncProfileName || !custodianSyncProfileName.trim()) {
206
+ throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing.');
207
+ }
208
+
209
+ const delegateKeystone = await createSyncDelegateKeystone({
210
+ profileName: custodianSyncProfileName.trim() as any,
211
+ username,
212
+ deviceTag,
213
+ primaryTjpAddr,
214
+ delegateSecret,
215
+ custodianReqs,
216
+ additionalFrameDetails: { client: 'space-gib-web' },
217
+ metaspace,
218
+ space,
219
+ });
220
+
221
+ return { delegateKeystone, deviceTag, delegateSecret };
222
+ }
223
+
224
+ /**
225
+ * Creates an Email Custodial sync delegate for this device.
226
+ * Standardized format: `email-${safeUser}@${safeDomain}-${defaultDeviceTag}`
227
+ */
228
+ export async function createEmailDeviceSyncDelegate({
229
+ email,
230
+ primaryTjpAddr,
231
+ custodianReqs,
232
+ metaspace,
233
+ space,
234
+ }: {
235
+ email: string;
236
+ primaryTjpAddr: string;
237
+ custodianReqs?: any;
238
+ metaspace?: any;
239
+ space?: any;
240
+ }): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
241
+ const delegateSecret = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
242
+ const defaultDeviceTag = generateDefaultDeviceTag();
243
+ const [emailUser = '', emailDomain = ''] = (email || '').split('@');
244
+ const safeUser = getSaferSubstring({ text: emailUser, length: 8, keepLiterals: ['-'] }) || 'user';
245
+ const domainPart = emailDomain.split('.')[0] || '';
246
+ const safeDomain = domainPart ? getSaferSubstring({ text: domainPart, length: 8, keepLiterals: ['-'] }) : '';
247
+ const emailTag = safeDomain ? `${safeUser}@${safeDomain}` : safeUser;
248
+ const deviceTag = `email-${emailTag}-${defaultDeviceTag}`;
249
+ const username = safeUser;
250
+ const custodianSyncProfileName = process.env.KEYSTONE_PROFILE_CUSTODIAN_SYNC;
251
+ if (!custodianSyncProfileName || !custodianSyncProfileName.trim()) {
252
+ throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing.');
253
+ }
254
+
255
+ const delegateKeystone = await createSyncDelegateKeystone({
256
+ profileName: custodianSyncProfileName.trim() as any,
257
+ username,
258
+ deviceTag,
259
+ primaryTjpAddr,
260
+ delegateSecret,
261
+ custodianReqs,
262
+ additionalFrameDetails: { client: 'space-gib-web' },
263
+ metaspace,
264
+ space,
265
+ });
266
+
267
+ return { delegateKeystone, deviceTag, delegateSecret };
268
+ }
@@ -1,4 +1,4 @@
1
- import { respecfully, ifWeMight, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
1
+ import { respecfully, ifWe, ifWeMight, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
2
2
  import { getIbGibGlobalThis_IbGib } from '../helpers.mjs';
3
3
  import {
4
4
  getDeviceDelegateSecretKey,
@@ -67,14 +67,14 @@ if (typeof globalThis.indexedDB === 'undefined') {
67
67
 
68
68
  await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () => {
69
69
 
70
- await ifWeMight(sir, 'getDeviceDelegateSecretKey constructs deterministic storage key', async () => {
70
+ await ifWe(sir, 'getDeviceDelegateSecretKey constructs deterministic storage key', async () => {
71
71
  const primaryTjpAddr = 'keystone^alice_tjp_12345';
72
72
  const key = getDeviceDelegateSecretKey({ primaryTjpAddr });
73
73
 
74
74
  iReckon(sir, key).willEqual(`${DEVICE_DELEGATE_SECRET_PREFIX}${primaryTjpAddr}`);
75
75
  });
76
76
 
77
- await ifWeMight(sir, 'setDeviceDelegateSecret and getDeviceDelegateSecret persist and retrieve secret', async () => {
77
+ await ifWe(sir, 'setDeviceDelegateSecret and getDeviceDelegateSecret persist and retrieve secret', async () => {
78
78
  const primaryTjpAddr = 'keystone^bob_tjp_999';
79
79
  const secret = 'super-secret-512-token-abc';
80
80
 
@@ -84,7 +84,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
84
84
  iReckon(sir, retrieved).willEqual(secret);
85
85
  });
86
86
 
87
- await ifWeMight(sir, 'getOrCreateDeviceDelegateSecret generates high entropy token on first call and caches it', async () => {
87
+ await ifWe(sir, 'getOrCreateDeviceDelegateSecret generates high entropy token on first call and caches it', async () => {
88
88
  const primaryTjpAddr = 'keystone^charlie_tjp_888';
89
89
 
90
90
  const token1 = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr, deviceTag: 'laptop' });
@@ -94,7 +94,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
94
94
  iReckon(sir, token1).willEqual(token2);
95
95
  });
96
96
 
97
- await ifWeMight(sir, 'clearDeviceDelegateSecret removes stored secret', async () => {
97
+ await ifWe(sir, 'clearDeviceDelegateSecret removes stored secret', async () => {
98
98
  const primaryTjpAddr = 'keystone^david_tjp_777';
99
99
 
100
100
  await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
@@ -106,7 +106,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
106
106
  iReckon(sir, afterClear).willEqual(undefined);
107
107
  });
108
108
 
109
- await ifWeMight(sir, 'fails fast when global db or store name is uninitialized', async () => {
109
+ await ifWe(sir, 'fails fast when global db or store name is uninitialized', async () => {
110
110
  const primaryTjpAddr = 'keystone^failfast_tjp_000';
111
111
  const savedDb = globalThisIbGib.dbName_hack;
112
112
  globalThisIbGib.dbName_hack = undefined as any;