@flowselections/floriday-voorraad 1.0.37 → 1.0.38

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 (35) hide show
  1. package/dist-lib/index.d.ts +0 -1
  2. package/dist-lib/index.d.ts.map +1 -1
  3. package/dist-lib/index.js +0 -3
  4. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2698 -344
  5. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  6. package/dist-lib/integrations/supabase/client.d.ts +2698 -344
  7. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  8. package/dist-lib/integrations/supabase/client.js +2 -1
  9. package/dist-lib/integrations/supabase/client.server.d.ts +2698 -344
  10. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  11. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
  12. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
  13. package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
  14. package/dist-lib/integrations/supabase/types.d.ts +2846 -443
  15. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  16. package/dist-lib/integrations/supabase/types.js +3 -0
  17. package/dist-lib/lib/floricode-required-features.functions.d.ts +2698 -344
  18. package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
  19. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +2698 -344
  20. package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
  21. package/dist-lib/lib/floriday-env.functions.d.ts +5182 -474
  22. package/dist-lib/lib/floriday-env.functions.d.ts.map +1 -1
  23. package/dist-lib/lib/floriday-gateway.functions.d.ts +15546 -1422
  24. package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/floriday-vbn-required.functions.d.ts +5182 -474
  26. package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -1
  27. package/dist-lib/lib/floriday-warehouse.functions.d.ts +7773 -711
  28. package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/floriday-writes.functions.d.ts +5182 -474
  30. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  31. package/dist-lib/lib/module-health.functions.d.ts +5182 -474
  32. package/dist-lib/lib/module-health.functions.d.ts.map +1 -1
  33. package/dist-lib/lib/stock-sync.functions.d.ts +5182 -474
  34. package/dist-lib/lib/stock-sync.functions.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ // This file is automatically generated. Do not edit it directly.
2
+ // On a Lovable preview surface, broker the auth session to the editor over
3
+ // postMessage so the project's preview surfaces share one login; else localStorage.
4
+ export function brokeredPreviewStorage() {
5
+ if (typeof window === 'undefined')
6
+ return undefined;
7
+ const host = location.hostname;
8
+ const PREVIEW_ZONES = ['lovableproject.com', 'lovableproject-dev.com', 'lovable.app', 'gpt-eng.com', 'gptengineer.run'];
9
+ const onPreviewZone = PREVIEW_ZONES.some((z) => host === z || host.endsWith('.' + z));
10
+ // Read the id only from non-user-controlled host positions, so a user-named
11
+ // preview--<name> host can't smuggle another project's id.
12
+ const UUID = '[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}';
13
+ const projectId = onPreviewZone
14
+ ? (host.match(new RegExp('^(?:id-preview(?:-[a-z0-9]+)?|project)--(' + UUID + ')(?:-dev)?(?=\\.|$)', 'i'))?.[1]
15
+ ?? host.match(new RegExp('^(' + UUID + ')(?=[.-])', 'i'))?.[1])
16
+ : undefined;
17
+ const framed = window.parent && window.parent !== window;
18
+ if (!projectId || !framed)
19
+ return localStorage;
20
+ // Post only to the real editor ancestor, validated as a Lovable origin, so the
21
+ // session token can never reach an untrusted embedder.
22
+ const dev = host.endsWith('.lovableproject-dev.com') || host.endsWith('.gpt-eng.com');
23
+ const EDITOR = dev
24
+ ? /^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/
25
+ : /^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/;
26
+ const ancestor = (location.ancestorOrigins && location.ancestorOrigins[0]) || (document.referrer ? new URL(document.referrer).origin : '');
27
+ const editorOrigins = ancestor && EDITOR.test(ancestor)
28
+ ? [ancestor]
29
+ : (dev ? ['https://lovable.dev', 'http://localhost:3000'] : ['https://lovable.dev']);
30
+ const RESULT = 'lovable-preview-auth:result';
31
+ const TIMEOUT = 2000;
32
+ const newId = () => Math.random().toString(36).slice(2) + Date.now().toString(36);
33
+ const request = (type, key, value) => new Promise((resolve) => {
34
+ const requestId = newId();
35
+ let done = false;
36
+ let timer;
37
+ const finish = (r) => {
38
+ if (done)
39
+ return;
40
+ done = true;
41
+ clearTimeout(timer);
42
+ window.removeEventListener('message', onMessage);
43
+ resolve(r);
44
+ };
45
+ const onMessage = (e) => {
46
+ if (editorOrigins.indexOf(e.origin) < 0)
47
+ return;
48
+ const d = e.data;
49
+ if (d && d.type === RESULT && d.requestId === requestId)
50
+ finish(d);
51
+ };
52
+ window.addEventListener('message', onMessage);
53
+ const msg = { type, requestId, projectId, key };
54
+ if (value !== undefined)
55
+ msg['value'] = value;
56
+ // targetOrigin per trusted editor origin, so a session token never reaches an arbitrary embedder.
57
+ for (const origin of editorOrigins)
58
+ window.parent.postMessage(msg, origin);
59
+ timer = setTimeout(() => finish(null), TIMEOUT);
60
+ });
61
+ // The editor may not be listening yet at the first getItem, so retry once.
62
+ let firstGet = true;
63
+ const RETRY_DELAY = 250;
64
+ return {
65
+ getItem: async (key) => {
66
+ let res = await request('lovable-preview-auth:get', key);
67
+ if (!res && firstGet) {
68
+ await new Promise((r) => setTimeout(r, RETRY_DELAY));
69
+ res = await request('lovable-preview-auth:get', key);
70
+ }
71
+ firstGet = false;
72
+ // '' is the logout tombstone: clear the local copy too so it can't resurrect if
73
+ // the broker later goes silent. A null reply means never-synced -> keep local.
74
+ if (res && res.ok && typeof res.value === 'string') {
75
+ if (res.value === '') {
76
+ localStorage.removeItem(key);
77
+ return null;
78
+ }
79
+ return res.value;
80
+ }
81
+ return localStorage.getItem(key);
82
+ },
83
+ setItem: (key, value) => {
84
+ localStorage.setItem(key, value);
85
+ return request('lovable-preview-auth:set', key, value).then(() => undefined);
86
+ },
87
+ removeItem: (key) => {
88
+ localStorage.removeItem(key);
89
+ return request('lovable-preview-auth:remove', key).then(() => undefined);
90
+ },
91
+ };
92
+ }