@ozura/elements 1.0.2 → 1.1.0

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.
package/README.md CHANGED
@@ -26,7 +26,9 @@ Card data is collected inside Ozura-hosted iframes so raw numbers never touch yo
26
26
  - [vault.createToken()](#vaultcreatetokenoptions)
27
27
  - [vault.createBankElement()](#vaultcreatebankelement)
28
28
  - [vault.createBankToken()](#vaultcreatebanktokenoptions)
29
+ - [vault.reset()](#vaultreset)
29
30
  - [vault.destroy()](#vaultdestroy)
31
+ - [vault.debugState()](#vaultdebugstate)
30
32
  - [OzElement events](#ozelement-events)
31
33
  - [React API](#react-api)
32
34
  - [OzElements provider](#ozelements-provider)
@@ -40,6 +42,7 @@ Card data is collected inside Ozura-hosted iframes so raw numbers never touch yo
40
42
  - [Custom fonts](#custom-fonts)
41
43
  - [Billing details](#billing-details)
42
44
  - [Error handling](#error-handling)
45
+ - [Debug mode](#debug-mode)
43
46
  - [Server utilities](#server-utilities)
44
47
  - [Ozura class](#ozura-class)
45
48
  - [Route handler factories](#route-handler-factories)
@@ -139,25 +142,30 @@ function CheckoutPage() {
139
142
 
140
143
  // 2. Collect card data and tokenize
141
144
  function CheckoutForm() {
142
- const { createToken, ready } = useOzElements();
145
+ const { createToken, reset, ready } = useOzElements();
143
146
 
144
147
  const handleSubmit = async (e: React.FormEvent) => {
145
148
  e.preventDefault();
146
- const { token, cvcSession, billing } = await createToken({
147
- billing: {
148
- firstName: 'Jane',
149
- lastName: 'Smith',
150
- email: 'jane@example.com',
151
- address: { line1: '123 Main St', city: 'Austin', state: 'TX', zip: '78701', country: 'US' },
152
- },
153
- });
154
-
155
- // Send token to your server
156
- await fetch('/api/charge', {
157
- method: 'POST',
158
- headers: { 'Content-Type': 'application/json' },
159
- body: JSON.stringify({ token, cvcSession, billing }),
160
- });
149
+ try {
150
+ const { token, cvcSession, billing } = await createToken({
151
+ billing: {
152
+ firstName: 'Jane',
153
+ lastName: 'Smith',
154
+ email: 'jane@example.com',
155
+ address: { line1: '123 Main St', city: 'Austin', state: 'TX', zip: '78701', country: 'US' },
156
+ },
157
+ });
158
+
159
+ // Send token to your server
160
+ await fetch('/api/charge', {
161
+ method: 'POST',
162
+ headers: { 'Content-Type': 'application/json' },
163
+ body: JSON.stringify({ token, cvcSession, billing }),
164
+ });
165
+ } catch (err) {
166
+ reset(); // clear fields so the customer can re-enter
167
+ console.error(err);
168
+ }
161
169
  };
162
170
 
163
171
  return (
@@ -208,10 +216,15 @@ cvvEl.mount('#cvv');
208
216
  });
209
217
 
210
218
  async function pay() {
211
- const { token, cvcSession, card } = await vault.createToken({
212
- billing: { firstName: 'Jane', lastName: 'Smith' },
213
- });
214
- // POST { token, cvcSession } to your server
219
+ try {
220
+ const { token, cvcSession, card } = await vault.createToken({
221
+ billing: { firstName: 'Jane', lastName: 'Smith' },
222
+ });
223
+ // POST { token, cvcSession } to your server
224
+ } catch (err) {
225
+ vault.reset(); // clear fields; let customer re-enter
226
+ console.error(err);
227
+ }
215
228
  }
216
229
 
217
230
  // Clean up when done
@@ -350,6 +363,7 @@ Mounts the hidden tokenizer iframe and fetches the wax key concurrently. Both ha
350
363
  | `onWaxRefresh` | `() => void` | — | Called when the SDK silently re-mints an expired wax key mid-tokenization. |
351
364
  | `onReady` | `() => void` | — | Called once when the tokenizer iframe has loaded and is ready. Use in vanilla JS to re-check submit-button readiness when the tokenizer becomes ready after all element iframes have already fired. In React, `useOzElements().ready` handles this automatically. |
352
365
  | `maxTokenizeCalls` | `number` | — | Maximum successful `createToken` calls per wax key before the key is considered consumed. Default: `3`. Must match `maxTokenizeCalls` in your server-side `mintWaxKey` call. |
366
+ | `debug` | `boolean` | — | Enables structured `[OzVault]`-prefixed `console.log` output at every lifecycle event. Safe to use in production — no sensitive data is ever logged. Default: `false`. See [Debug mode](#debug-mode) for details. |
353
367
 
354
368
  Throws `OzError` if `fetchWaxKey` rejects, returns an empty string, or returns a non-string value.
355
369
 
@@ -541,6 +555,65 @@ useEffect(() => {
541
555
 
542
556
  ---
543
557
 
558
+ ### vault.reset()
559
+
560
+ ```ts
561
+ vault.reset(): void
562
+ ```
563
+
564
+ Clears all mounted card and bank element fields without destroying the vault, re-minting the wax key, or resetting the tokenization budget. Call this after a declined payment to let the customer re-enter their card details on the same checkout screen.
565
+
566
+ The wax key, its remaining budget, and all iframes are fully preserved — no network calls are made.
567
+
568
+ **Wax key session model:** One wax key covers the full checkout session. The default `max_tokenize_calls: 3` is enough for two declines and a final attempt. Use `vault.reset()` between declines — not `vault.destroy()` + recreate, which would waste the remaining budget and cause iframe flicker.
569
+
570
+ ```ts
571
+ try {
572
+ const { token, cvcSession } = await vault.createToken({ billing });
573
+ await fetch('/api/charge', {
574
+ method: 'POST',
575
+ headers: { 'Content-Type': 'application/json' },
576
+ body: JSON.stringify({ token, cvcSession }),
577
+ });
578
+ } catch (err) {
579
+ vault.reset(); // clear fields; let customer re-enter
580
+ showError(err instanceof OzError ? err.message : 'Payment failed.');
581
+ }
582
+ ```
583
+
584
+ ---
585
+
586
+ ### vault.debugState()
587
+
588
+ ```ts
589
+ vault.debugState(): Record<string, unknown>
590
+ ```
591
+
592
+ Returns a structured snapshot of the vault's internal state. Always available regardless of whether `debug: true` is set. Useful for attaching to support tickets or dumping on error.
593
+
594
+ ```ts
595
+ console.log(vault.debugState());
596
+ // {
597
+ // vaultId: 'vault_abc12...',
598
+ // isReady: true,
599
+ // tokenizing: null,
600
+ // destroyed: false,
601
+ // waxKeyPresent: true,
602
+ // tokenizeSuccessCount: 1,
603
+ // maxTokenizeCalls: 3,
604
+ // resetCount: 0,
605
+ // elements: ['cardNumber', 'expirationDate', 'cvv'],
606
+ // bankElements: [],
607
+ // completionState: { 'a1b2c3d4': true, 'e5f6a7b8': true, '...' : false },
608
+ // pendingTokenizations: 0,
609
+ // pendingBankTokenizations: 0,
610
+ // }
611
+ ```
612
+
613
+ No sensitive data is returned: wax keys, tokens, CVC sessions, and billing fields are never included.
614
+
615
+ ---
616
+
544
617
  ### OzElement events
545
618
 
546
619
  ```ts
@@ -700,7 +773,7 @@ import { OzBankAccountNumber, OzBankRoutingNumber } from '@ozura/elements/react'
700
773
  ### useOzElements()
701
774
 
702
775
  ```ts
703
- const { createToken, createBankToken, ready, initError, tokenizeCount } = useOzElements();
776
+ const { createToken, createBankToken, reset, ready, initError, tokenizeCount } = useOzElements();
704
777
  ```
705
778
 
706
779
  Must be called from inside an `<OzElements>` provider tree.
@@ -709,6 +782,7 @@ Must be called from inside an `<OzElements>` provider tree.
709
782
  |---|---|---|
710
783
  | `createToken` | `(options?: TokenizeOptions) => Promise<TokenResponse>` | Tokenize mounted card elements. |
711
784
  | `createBankToken` | `(options: BankTokenizeOptions) => Promise<BankTokenResponse>` | Tokenize mounted bank elements. |
785
+ | `reset` | `() => void` | Clear all mounted element fields without destroying the vault or re-minting the wax key. Call after a declined payment so the customer can re-enter their details. |
712
786
  | `ready` | `boolean` | `true` when the tokenizer **and** all mounted element iframes are ready. Gate your submit button on this. See note below. |
713
787
  | `initError` | `Error \| null` | Non-null if `OzVault.create()` failed (e.g. `fetchWaxKey` threw). Render a fallback UI. |
714
788
  | `tokenizeCount` | `number` | Number of successful tokenizations since the last wax key was minted. Resets on wax refresh or provider re-init. Useful for tracking calls against `maxTokenizeCalls`. |
@@ -900,6 +974,78 @@ const display = normalizeCardSaleError(err.message); // cardSale API errors
900
974
 
901
975
  ---
902
976
 
977
+ ## Debug mode
978
+
979
+ Pass `debug: true` in `VaultOptions` (or as a prop on `<OzElements>`) to activate structured console logging at every SDK lifecycle event.
980
+
981
+ ```ts
982
+ const vault = await OzVault.create({
983
+ pubKey: 'pk_live_...',
984
+ fetchWaxKey: createFetchWaxKey('/api/mint-wax'),
985
+ debug: true, // enables [OzVault] console.log output
986
+ });
987
+ ```
988
+
989
+ ```tsx
990
+ // React
991
+ <OzElements pubKey="pk_live_..." fetchWaxKey={...} debug>
992
+ ...
993
+ </OzElements>
994
+ ```
995
+
996
+ Each log entry is a `[OzVault] <message>` prefixed `console.log` call. Events logged include:
997
+
998
+ | Event | When it fires |
999
+ |---|---|
1000
+ | `vault created` | Constructor completes |
1001
+ | `wax key received` | `fetchWaxKey` resolves |
1002
+ | `mounting tokenizer iframe` | Tokenizer iframe creation begins |
1003
+ | `tokenizer iframe ready` | Tokenizer iframe handshake complete |
1004
+ | `element iframe ready` | Each card/bank input iframe loads |
1005
+ | `field changed` | Per-field `change` event (empty/complete/valid/auto-advance state) |
1006
+ | `auto-advance` | Focus moves automatically between card fields |
1007
+ | `createToken() called` | Entry to `createToken()` |
1008
+ | `OZ_TOKENIZE sent` | Tokenize request dispatched to iframe |
1009
+ | `token received` | Token result returned (with elapsed ms) |
1010
+ | `token error` | Vault or network error during tokenize |
1011
+ | `proactive wax key refresh triggered` | Budget exhausted; refresh starting |
1012
+ | `wax key refresh started/succeeded/failed` | Refresh lifecycle |
1013
+ | `tab hidden` / `tab visible` | `visibilitychange` events |
1014
+ | `reset() called` | `vault.reset()` entry |
1015
+ | `destroy() called` | `vault.destroy()` entry |
1016
+
1017
+ **Security:** No sensitive data is ever logged. Wax keys, tokens, CVC sessions, and billing fields appear only as boolean presence flags (`waxKeyPresent: true`). Frame IDs and request IDs are truncated.
1018
+
1019
+ ### vault.debugState()
1020
+
1021
+ `vault.debugState()` is always available — regardless of whether `debug: true` was set — and returns a one-time snapshot for attaching to bug reports:
1022
+
1023
+ ```ts
1024
+ console.log(vault.debugState());
1025
+ ```
1026
+
1027
+ Sample output:
1028
+
1029
+ ```json
1030
+ {
1031
+ "vaultId": "vault_abc12...",
1032
+ "isReady": true,
1033
+ "tokenizing": null,
1034
+ "destroyed": false,
1035
+ "waxKeyPresent": true,
1036
+ "tokenizeSuccessCount": 1,
1037
+ "maxTokenizeCalls": 3,
1038
+ "resetCount": 0,
1039
+ "elements": ["cardNumber", "expirationDate", "cvv"],
1040
+ "bankElements": [],
1041
+ "completionState": { "a1b2c3d4": true, "e5f6a7b8": true, "c9d0e1f2": false },
1042
+ "pendingTokenizations": 0,
1043
+ "pendingBankTokenizations": 0
1044
+ }
1045
+ ```
1046
+
1047
+ ---
1048
+
903
1049
  ## Server utilities
904
1050
 
905
1051
  > 📖 [Server SDK guide](https://docs.ozura.com/sdks/elements/server) — `Ozura` class methods, route handler factories, `getClientIp`, error types, and rate limits.
@@ -1,4 +1,4 @@
1
- (function () {
1
+ var _OzElementFrame = (function (exports) {
2
2
  'use strict';
3
3
 
4
4
  /**
@@ -95,6 +95,19 @@
95
95
  return { complete: true, valid: true, month, year };
96
96
  }
97
97
 
98
+ /**
99
+ * Shared postMessage protocol constants.
100
+ *
101
+ * PROTOCOL_VERSION must be incremented any time a breaking change is made to
102
+ * the postMessage message shape (new required fields, renamed types, removed
103
+ * fields, changed semantics). The SDK reads this value from OZ_FRAME_READY
104
+ * messages and warns when the frame and SDK are out of sync.
105
+ *
106
+ * Non-breaking additions (new optional fields, new message types that old
107
+ * frames can safely ignore) do NOT require a version bump.
108
+ */
109
+ const PROTOCOL_VERSION = 1;
110
+
98
111
  /**
99
112
  * elementFrame.ts — runs inside an <iframe> served from Ozura's domain.
100
113
  *
@@ -102,6 +115,7 @@
102
115
  * communicates with the host SDK via postMessage. Raw values NEVER leave this
103
116
  * file except when sent directly to the tokenizer frame (same-origin).
104
117
  */
118
+ var _a;
105
119
  /**
106
120
  * Validates a US ABA routing number using the standard checksum algorithm.
107
121
  * The checksum is: (3*(d1+d4+d7) + 7*(d2+d5+d8) + 1*(d3+d6+d9)) mod 10 === 0
@@ -183,6 +197,7 @@
183
197
  this.cvvMaxLength = 3;
184
198
  this._composing = false;
185
199
  this._appliedBaseStyleKeys = new Set();
200
+ this._appliedStateStyleKeys = new Set();
186
201
  this.iconEl = null;
187
202
  this.options = {};
188
203
  this.placeholderStyleEl = null;
@@ -196,8 +211,9 @@
196
211
  if (fromUrl)
197
212
  this.hostOrigin = fromUrl;
198
213
  this.buildDOM();
199
- window.addEventListener('message', this.onMessage.bind(this));
200
- this.postToParent({ type: 'OZ_FRAME_READY', frameId: this.frameId });
214
+ this._boundOnMessage = this.onMessage.bind(this);
215
+ window.addEventListener('message', this._boundOnMessage);
216
+ this.postToParent({ type: 'OZ_FRAME_READY', frameId: this.frameId, __ozVersion: PROTOCOL_VERSION });
201
217
  }
202
218
  // ─── DOM ─────────────────────────────────────────────────────────────────
203
219
  buildDOM() {
@@ -384,27 +400,27 @@
384
400
  }
385
401
  onFocus() {
386
402
  var _a;
403
+ this.clearStateStyles();
387
404
  if ((_a = this.options.style) === null || _a === void 0 ? void 0 : _a.focus)
388
- this.applyStyles(this.options.style.focus);
405
+ this.applyStyles(this.options.style.focus, this._appliedStateStyleKeys);
389
406
  this.postToParent({ type: 'OZ_FOCUS', frameId: this.frameId });
390
407
  }
391
408
  onBlur() {
392
- var _a, _b, _c, _d;
393
- if ((_a = this.options.style) === null || _a === void 0 ? void 0 : _a.base)
394
- this.applyStyles(this.options.style.base);
409
+ var _a, _b, _c;
410
+ this.clearStateStyles();
395
411
  const valid = this.isValid();
396
412
  const complete = this.isComplete();
397
413
  const empty = this.rawValue.length === 0;
398
414
  const invalid = !valid && !empty;
399
- if (invalid && ((_b = this.options.style) === null || _b === void 0 ? void 0 : _b.invalid)) {
400
- this.applyStyles(this.options.style.invalid);
415
+ if (invalid && ((_a = this.options.style) === null || _a === void 0 ? void 0 : _a.invalid)) {
416
+ this.applyStyles(this.options.style.invalid, this._appliedStateStyleKeys);
401
417
  }
402
- else if (valid && ((_c = this.options.style) === null || _c === void 0 ? void 0 : _c.complete)) {
403
- this.applyStyles(this.options.style.complete);
418
+ else if (valid && ((_b = this.options.style) === null || _b === void 0 ? void 0 : _b.complete)) {
419
+ this.applyStyles(this.options.style.complete, this._appliedStateStyleKeys);
404
420
  }
405
421
  this.inputEl.setAttribute('aria-invalid', String(invalid));
406
422
  if (invalid) {
407
- this.liveRegion.textContent = (_d = this.getError()) !== null && _d !== void 0 ? _d : '';
423
+ this.liveRegion.textContent = (_c = this.getError()) !== null && _c !== void 0 ? _c : '';
408
424
  }
409
425
  this.postToParent({
410
426
  type: 'OZ_BLUR',
@@ -540,6 +556,7 @@
540
556
  this.cardBrand = 'unknown';
541
557
  if (this.elementType === 'cardNumber')
542
558
  this.updateBrandIcon('unknown');
559
+ this.clearStateStyles();
543
560
  this.emitChange();
544
561
  break;
545
562
  case 'OZ_FOCUS_REQUEST':
@@ -567,7 +584,7 @@
567
584
  }
568
585
  }
569
586
  applyOptions(options) {
570
- var _a, _b, _c, _d;
587
+ var _a, _b, _c;
571
588
  if (!options)
572
589
  return;
573
590
  const styleBefore = this.options.style;
@@ -609,13 +626,14 @@
609
626
  }
610
627
  if ((_c = options.style) === null || _c === void 0 ? void 0 : _c.placeholder)
611
628
  this.applyPlaceholderStyles(options.style.placeholder);
612
- // Re-apply focus styles when the input is focused so caret/color updates take effect immediately
613
- if (document.activeElement === this.inputEl && ((_d = this.options.style) === null || _d === void 0 ? void 0 : _d.focus)) {
614
- this.applyStyles(this.options.style.focus);
615
- }
629
+ // Re-apply state styles after any style update so stale complete/invalid/focus
630
+ // visuals are cleared and re-derived from current input state (FIX-133).
631
+ // This extends the base-key clearing from FIX-043 to cover state-bucket keys.
632
+ if (options.style)
633
+ this.reapplyStateStyles();
616
634
  this.sendResize();
617
635
  }
618
- applyStyles(styles) {
636
+ applyStyles(styles, trackSet) {
619
637
  Object.entries(styles).forEach(([k, v]) => {
620
638
  if (v === undefined)
621
639
  return;
@@ -633,8 +651,46 @@
633
651
  // Chrome password inputs use -webkit-text-fill-color which overrides color
634
652
  if (k === 'color')
635
653
  this.inputEl.style.setProperty('-webkit-text-fill-color', v);
654
+ trackSet === null || trackSet === void 0 ? void 0 : trackSet.add(k);
636
655
  });
637
656
  }
657
+ /** Clears all CSS properties that were applied from a state-style bucket
658
+ * (focus, complete, or invalid), then restores any that exist in the base
659
+ * style so that base values are not lost when transitioning between states. */
660
+ clearStateStyles() {
661
+ var _a;
662
+ this._appliedStateStyleKeys.forEach(k => {
663
+ this.inputEl.style[k] = '';
664
+ if (k === 'color')
665
+ this.inputEl.style.setProperty('-webkit-text-fill-color', '');
666
+ });
667
+ this._appliedStateStyleKeys.clear();
668
+ if ((_a = this.options.style) === null || _a === void 0 ? void 0 : _a.base) {
669
+ this.applyStyles(this.options.style.base);
670
+ }
671
+ }
672
+ /** Clears stale state styles then re-applies the correct state bucket based
673
+ * on current focus and validity. Used after a base-style update so the
674
+ * on-screen state visual stays accurate without requiring user interaction. */
675
+ reapplyStateStyles() {
676
+ var _a, _b, _c;
677
+ this.clearStateStyles();
678
+ const focused = document.activeElement === this.inputEl;
679
+ if (focused && ((_a = this.options.style) === null || _a === void 0 ? void 0 : _a.focus)) {
680
+ this.applyStyles(this.options.style.focus, this._appliedStateStyleKeys);
681
+ }
682
+ else if (!focused) {
683
+ const valid = this.isValid();
684
+ const empty = this.rawValue.length === 0;
685
+ const invalid = !valid && !empty;
686
+ if (invalid && ((_b = this.options.style) === null || _b === void 0 ? void 0 : _b.invalid)) {
687
+ this.applyStyles(this.options.style.invalid, this._appliedStateStyleKeys);
688
+ }
689
+ else if (valid && ((_c = this.options.style) === null || _c === void 0 ? void 0 : _c.complete)) {
690
+ this.applyStyles(this.options.style.complete, this._appliedStateStyleKeys);
691
+ }
692
+ }
693
+ }
638
694
  applyPlaceholderStyles(styles) {
639
695
  const rules = [];
640
696
  let placeholderColor;
@@ -743,9 +799,25 @@
743
799
  const msg = Object.assign({ __oz: true, vaultId: this.vaultId }, data);
744
800
  window.parent.postMessage(msg, this.hostOrigin || window.location.origin);
745
801
  }
802
+ destroy() {
803
+ window.removeEventListener('message', this._boundOnMessage);
804
+ }
746
805
  }
747
806
  ElementFrame.PLACEHOLDER_INPUT_ID = 'oz-element-input';
748
- new ElementFrame();
807
+ if (!((_a = undefined) === null || _a === void 0 ? void 0 : _a.VITEST)) {
808
+ new ElementFrame();
809
+ }
810
+
811
+ exports.ALLOWED_STYLE_PROPERTIES = ALLOWED_STYLE_PROPERTIES;
812
+ exports.BLOCKED_VALUE_PATTERNS = BLOCKED_VALUE_PATTERNS;
813
+ exports.CSS_BREAKOUT = CSS_BREAKOUT;
814
+ exports.ElementFrame = ElementFrame;
815
+ exports.FONT_SRC_PATTERN = FONT_SRC_PATTERN;
816
+ exports.sanitizeCssString = sanitizeCssString;
817
+ exports.sanitizeCssToken = sanitizeCssToken;
818
+ exports.validateRoutingNumber = validateRoutingNumber;
819
+
820
+ return exports;
749
821
 
750
- })();
822
+ })({});
751
823
  //# sourceMappingURL=element-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-frame.js","sources":["../../src/utils/cardUtils.ts","../../src/frame/elementFrame.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-frame.js","sources":["../../src/utils/cardUtils.ts","../../src/frame/protocol.ts","../../src/frame/elementFrame.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -18,6 +18,19 @@ var _OzTokenizerFrame = (function (exports) {
18
18
  return typeof value === 'string' && OZ_ERROR_CODES.has(value);
19
19
  }
20
20
 
21
+ /**
22
+ * Shared postMessage protocol constants.
23
+ *
24
+ * PROTOCOL_VERSION must be incremented any time a breaking change is made to
25
+ * the postMessage message shape (new required fields, renamed types, removed
26
+ * fields, changed semantics). The SDK reads this value from OZ_FRAME_READY
27
+ * messages and warns when the frame and SDK are out of sync.
28
+ *
29
+ * Non-breaking additions (new optional fields, new message types that old
30
+ * frames can safely ignore) do NOT require a version bump.
31
+ */
32
+ const PROTOCOL_VERSION = 1;
33
+
21
34
  /**
22
35
  * tokenizerFrame.ts — runs inside a hidden <iframe> served from Ozura's domain.
23
36
  *
@@ -30,6 +43,7 @@ var _OzTokenizerFrame = (function (exports) {
30
43
  * an attacker who XSSes the merchant page cannot redirect where card data is
31
44
  * sent because the destination is hardcoded in this Ozura-controlled bundle.
32
45
  */
46
+ var _a;
33
47
  const VAULT_API_URL = "https://api.ozuravault.com";
34
48
  /**
35
49
  * Defense-in-depth guard: only allows the build-time vault URL origin.
@@ -69,7 +83,7 @@ var _OzTokenizerFrame = (function (exports) {
69
83
  if (fromUrl)
70
84
  this.hostOrigin = fromUrl;
71
85
  window.addEventListener('message', this.onMessage.bind(this));
72
- window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_FRAME_READY', frameId: '__tokenizer__' }, this.hostOrigin || window.location.origin);
86
+ window.parent.postMessage({ __oz: true, vaultId: this.vaultId, type: 'OZ_FRAME_READY', frameId: '__tokenizer__', __ozVersion: PROTOCOL_VERSION }, this.hostOrigin || window.location.origin);
73
87
  }
74
88
  onMessage(event) {
75
89
  const msg = event.data;
@@ -455,7 +469,9 @@ var _OzTokenizerFrame = (function (exports) {
455
469
  }
456
470
  }
457
471
  }
458
- new TokenizerFrame();
472
+ if (!((_a = undefined) === null || _a === void 0 ? void 0 : _a.VITEST)) {
473
+ new TokenizerFrame();
474
+ }
459
475
 
460
476
  exports.TokenizerFrame = TokenizerFrame;
461
477
  exports.isAllowedVaultOrigin = isAllowedVaultOrigin;