orcheo-studio 0.23.1 → 0.23.2

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 (57) hide show
  1. package/.bumpversion.cfg +1 -1
  2. package/dist/assets/{arc-CqnxfCHp.js → arc-BokkJPzk.js} +1 -1
  3. package/dist/assets/{architectureDiagram-VXUJARFQ-UGPIhA1j.js → architectureDiagram-VXUJARFQ-CzmPOZBu.js} +1 -1
  4. package/dist/assets/{blockDiagram-VD42YOAC-Cn6wka40.js → blockDiagram-VD42YOAC-DG89LeH9.js} +1 -1
  5. package/dist/assets/{c4Diagram-YG6GDRKO-BvPRNdur.js → c4Diagram-YG6GDRKO-DymWpJZb.js} +1 -1
  6. package/dist/assets/channel-DPwJ8Ajm.js +1 -0
  7. package/dist/assets/{chunk-4BX2VUAB-F_o1AmTw.js → chunk-4BX2VUAB-DulKpeK2.js} +1 -1
  8. package/dist/assets/{chunk-55IACEB6-Cl075es2.js → chunk-55IACEB6-Bi6MBeyB.js} +1 -1
  9. package/dist/assets/{chunk-B4BG7PRW-DcErQhy9.js → chunk-B4BG7PRW-teHvBEMz.js} +1 -1
  10. package/dist/assets/{chunk-DI55MBZ5-CFxCndOp.js → chunk-DI55MBZ5-Clydm5zE.js} +1 -1
  11. package/dist/assets/{chunk-FMBD7UC4-XOcF0fgy.js → chunk-FMBD7UC4-BGh0gUNB.js} +1 -1
  12. package/dist/assets/{chunk-QN33PNHL-CjJH_Bvj.js → chunk-QN33PNHL-D-9fma_8.js} +1 -1
  13. package/dist/assets/{chunk-QZHKN3VN-nLb-Go8u.js → chunk-QZHKN3VN-Bux-KM8v.js} +1 -1
  14. package/dist/assets/{chunk-TZMSLE5B-L07ovmT0.js → chunk-TZMSLE5B-pgx8j0M-.js} +1 -1
  15. package/dist/assets/classDiagram-2ON5EDUG-CYBYFsly.js +1 -0
  16. package/dist/assets/classDiagram-v2-WZHVMYZB-CYBYFsly.js +1 -0
  17. package/dist/assets/clone-tT9-ZTc-.js +1 -0
  18. package/dist/assets/{cose-bilkent-S5V4N54A-B6IcYcMk.js → cose-bilkent-S5V4N54A-CszLJ5HU.js} +1 -1
  19. package/dist/assets/{dagre-6UL2VRFP-CN7ADhef.js → dagre-6UL2VRFP-Cr25CaNe.js} +1 -1
  20. package/dist/assets/{diagram-PSM6KHXK-3chqLyzk.js → diagram-PSM6KHXK-CnsZe68H.js} +1 -1
  21. package/dist/assets/{diagram-QEK2KX5R-MrbKZWaG.js → diagram-QEK2KX5R-CN8ov45N.js} +1 -1
  22. package/dist/assets/{diagram-S2PKOQOG-Dr7BijIx.js → diagram-S2PKOQOG-v2bUyBL7.js} +1 -1
  23. package/dist/assets/{erDiagram-Q2GNP2WA-Ck-v9a6N.js → erDiagram-Q2GNP2WA-BxxatPhi.js} +1 -1
  24. package/dist/assets/{flowDiagram-NV44I4VS-D662eMD1.js → flowDiagram-NV44I4VS-DIKLSwgl.js} +1 -1
  25. package/dist/assets/{ganttDiagram-JELNMOA3-c2mXK47M.js → ganttDiagram-JELNMOA3-D_0u3tXB.js} +1 -1
  26. package/dist/assets/{gitGraphDiagram-V2S2FVAM-DUMhfhsS.js → gitGraphDiagram-V2S2FVAM-B_nu7ypr.js} +1 -1
  27. package/dist/assets/{graph-DkWlmVun.js → graph-DmMuvtfO.js} +1 -1
  28. package/dist/assets/{index-kH6EkBsZ.js → index-DVxGch9w.js} +177 -177
  29. package/dist/assets/{infoDiagram-HS3SLOUP-OTL7qvkP.js → infoDiagram-HS3SLOUP-DLLSS3lr.js} +1 -1
  30. package/dist/assets/{isUndefined-BmZvH1PX.js → isUndefined-u8cwznUN.js} +1 -1
  31. package/dist/assets/{journeyDiagram-XKPGCS4Q-BYzqE5D8.js → journeyDiagram-XKPGCS4Q-fF1HZxKQ.js} +1 -1
  32. package/dist/assets/{kanban-definition-3W4ZIXB7-NtzQ4y9p.js → kanban-definition-3W4ZIXB7-CcmlUntf.js} +1 -1
  33. package/dist/assets/{layout-CwhyLMkP.js → layout-CuCF7WdL.js} +1 -1
  34. package/dist/assets/{linear-Cirf2V1x.js → linear-BVXj8lVL.js} +1 -1
  35. package/dist/assets/{min-C81vLJYh.js → min-DEoUCRl0.js} +1 -1
  36. package/dist/assets/{mindmap-definition-VGOIOE7T-TDnLQIKZ.js → mindmap-definition-VGOIOE7T-DtNTD5Hm.js} +1 -1
  37. package/dist/assets/{pieDiagram-ADFJNKIX-d0-JhjNZ.js → pieDiagram-ADFJNKIX-a07QMF4s.js} +1 -1
  38. package/dist/assets/{quadrantDiagram-AYHSOK5B-wCoihp8a.js → quadrantDiagram-AYHSOK5B-NxQVfG-F.js} +1 -1
  39. package/dist/assets/{requirementDiagram-UZGBJVZJ-BqiCIjcI.js → requirementDiagram-UZGBJVZJ-DfwcBFwx.js} +1 -1
  40. package/dist/assets/{sankeyDiagram-TZEHDZUN-BPH0Pd1D.js → sankeyDiagram-TZEHDZUN-BeRNGGtP.js} +1 -1
  41. package/dist/assets/{sequenceDiagram-WL72ISMW-B8FfJraH.js → sequenceDiagram-WL72ISMW-dTp9Xfca.js} +1 -1
  42. package/dist/assets/{stateDiagram-FKZM4ZOC-ZQR3Q9_8.js → stateDiagram-FKZM4ZOC-uXrzw1Ia.js} +1 -1
  43. package/dist/assets/stateDiagram-v2-4FDKWEC3-dqZSxN9f.js +1 -0
  44. package/dist/assets/{timeline-definition-IT6M3QCI-D-arYxX5.js → timeline-definition-IT6M3QCI-Jx4tDH4r.js} +1 -1
  45. package/dist/assets/{treemap-GDKQZRPO-Dw5BHp_B.js → treemap-GDKQZRPO-CYRu_RLQ.js} +1 -1
  46. package/dist/assets/{xychartDiagram-PRI3JC2R-Dt1zH6V2.js → xychartDiagram-PRI3JC2R-DVYMDr6g.js} +1 -1
  47. package/dist/index.html +1 -1
  48. package/package.json +1 -1
  49. package/src/features/auth/lib/auth-api.ts +21 -3
  50. package/src/features/workflow/pages/workflow/hooks/use-workflow-saver.ts +3 -2
  51. package/src/features/workflow/pages/workflow-gallery/workflow-gallery-tabs.tsx +11 -9
  52. package/src/lib/auth-fetch.ts +81 -15
  53. package/dist/assets/channel-FjxqoZWk.js +0 -1
  54. package/dist/assets/classDiagram-2ON5EDUG-8JYNY9Ic.js +0 -1
  55. package/dist/assets/classDiagram-v2-WZHVMYZB-8JYNY9Ic.js +0 -1
  56. package/dist/assets/clone-NPVQC0Uc.js +0 -1
  57. package/dist/assets/stateDiagram-v2-4FDKWEC3-uDYn1wPF.js +0 -1
@@ -1,35 +1,101 @@
1
1
  import {
2
2
  getAccessToken,
3
+ getAuthTokens,
3
4
  getDevAuthSessionHeaderValue,
4
5
  } from "@features/auth/lib/auth-session";
6
+ import { refreshSession } from "@features/auth/lib/auth-api";
5
7
  import { getWorkspaceSelectionHeaders } from "./workspace-session";
6
8
 
7
- export const authFetch = async (
8
- input: RequestInfo | URL,
9
- init: RequestInit = {},
10
- options: { includeWorkspaceHeaders?: boolean } = {},
11
- ): Promise<Response> => {
12
- const headers = new Headers(init.headers ?? {});
9
+ const buildAuthHeaders = (
10
+ headers: Headers,
11
+ shouldAttachAuth: boolean,
12
+ ): string | null => {
13
13
  const token = getAccessToken();
14
- if (token && !headers.has("Authorization")) {
14
+ if (token && shouldAttachAuth) {
15
15
  headers.set("Authorization", `Bearer ${token}`);
16
16
  }
17
17
  const devSession = getDevAuthSessionHeaderValue();
18
18
  if (devSession && !headers.has("X-Orcheo-Dev-Session")) {
19
19
  headers.set("X-Orcheo-Dev-Session", devSession);
20
20
  }
21
- if (options.includeWorkspaceHeaders ?? true) {
22
- for (const [name, value] of Object.entries(
23
- getWorkspaceSelectionHeaders(),
24
- )) {
25
- if (!headers.has(name)) {
26
- headers.set(name, value);
27
- }
21
+ return shouldAttachAuth ? token : null;
22
+ };
23
+
24
+ const attachWorkspaceHeaders = (headers: Headers): void => {
25
+ for (const [name, value] of Object.entries(getWorkspaceSelectionHeaders())) {
26
+ if (!headers.has(name)) {
27
+ headers.set(name, value);
28
28
  }
29
29
  }
30
- return globalThis.fetch(input, {
30
+ };
31
+
32
+ const fetchWithHeaders = (
33
+ input: RequestInfo | URL,
34
+ init: RequestInit,
35
+ headers: Headers,
36
+ ): Promise<Response> =>
37
+ globalThis.fetch(input, {
31
38
  ...init,
32
39
  credentials: init.credentials ?? "include",
33
40
  headers,
34
41
  });
42
+
43
+ const buildRequestHeaders = (
44
+ init: RequestInit,
45
+ shouldAttachAuth: boolean,
46
+ includeWorkspaceHeaders: boolean,
47
+ headers = new Headers(init.headers ?? {}),
48
+ ): { headers: Headers; accessToken: string | null } => {
49
+ const accessToken = buildAuthHeaders(headers, shouldAttachAuth);
50
+ if (includeWorkspaceHeaders) {
51
+ attachWorkspaceHeaders(headers);
52
+ }
53
+ return { headers, accessToken };
54
+ };
55
+
56
+ export const authFetch = async (
57
+ input: RequestInfo | URL,
58
+ init: RequestInit = {},
59
+ options: { includeWorkspaceHeaders?: boolean } = {},
60
+ ): Promise<Response> => {
61
+ const originalHeaders = new Headers(init.headers ?? {});
62
+ const shouldAttachAuth = !originalHeaders.has("Authorization");
63
+ // getAccessToken includes the shared 60-second expiry skew, so nearly expired
64
+ // tokens are treated as missing and refreshed before protected requests.
65
+ if (shouldAttachAuth && !getAccessToken() && getAuthTokens()?.refreshToken) {
66
+ await refreshSession();
67
+ }
68
+
69
+ const includeWorkspaceHeaders = options.includeWorkspaceHeaders ?? true;
70
+ const { headers, accessToken: requestAccessToken } = buildRequestHeaders(
71
+ init,
72
+ shouldAttachAuth,
73
+ includeWorkspaceHeaders,
74
+ originalHeaders,
75
+ );
76
+ const response = await fetchWithHeaders(input, init, headers);
77
+ if (response.status !== 401 || !shouldAttachAuth) {
78
+ return response;
79
+ }
80
+
81
+ const currentAccessToken = getAccessToken();
82
+ if (currentAccessToken && currentAccessToken !== requestAccessToken) {
83
+ const { headers: retryHeaders } = buildRequestHeaders(
84
+ init,
85
+ shouldAttachAuth,
86
+ includeWorkspaceHeaders,
87
+ );
88
+ return fetchWithHeaders(input, init, retryHeaders);
89
+ }
90
+
91
+ if (!getAuthTokens()?.refreshToken || !(await refreshSession())) {
92
+ return response;
93
+ }
94
+
95
+ const { headers: retryHeaders } = buildRequestHeaders(
96
+ init,
97
+ shouldAttachAuth,
98
+ includeWorkspaceHeaders,
99
+ );
100
+ return fetchWithHeaders(input, init, retryHeaders);
35
101
  };
@@ -1 +0,0 @@
1
- import{ap as o,aq as n}from"./index-kH6EkBsZ.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DcErQhy9.js";import{_ as i}from"./index-kH6EkBsZ.js";import"./chunk-FMBD7UC4-XOcF0fgy.js";import"./chunk-55IACEB6-Cl075es2.js";import"./chunk-QN33PNHL-CjJH_Bvj.js";var p={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DcErQhy9.js";import{_ as i}from"./index-kH6EkBsZ.js";import"./chunk-FMBD7UC4-XOcF0fgy.js";import"./chunk-55IACEB6-Cl075es2.js";import"./chunk-QN33PNHL-CjJH_Bvj.js";var p={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- import{ay as r}from"./index-kH6EkBsZ.js";var a=4;function n(o){return r(o,a)}export{n as c};
@@ -1 +0,0 @@
1
- import{s as t,b as r,a,S as s}from"./chunk-DI55MBZ5-CFxCndOp.js";import{_ as i}from"./index-kH6EkBsZ.js";import"./chunk-55IACEB6-Cl075es2.js";import"./chunk-QN33PNHL-CjJH_Bvj.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};