@baasix/baasix 0.1.60 → 0.1.61

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 (80) hide show
  1. package/dist/app/404/index.html +1 -1
  2. package/dist/app/404.html +1 -1
  3. package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/{page-2f3c1139867c8cab.js → page-e7f836d3a7f7c5d0.js} +1 -1
  4. package/dist/app/_next/static/chunks/{webpack-6ac1be755b80e221.js → webpack-b29732cfe967a5f5.js} +1 -1
  5. package/dist/app/activity-log/all-activity/index.html +1 -1
  6. package/dist/app/activity-log/all-activity/index.txt +1 -1
  7. package/dist/app/activity-log/email-log/index.html +1 -1
  8. package/dist/app/activity-log/email-log/index.txt +1 -1
  9. package/dist/app/activity-log/index.html +1 -1
  10. package/dist/app/activity-log/index.txt +1 -1
  11. package/dist/app/activity-log/notifications/index.html +1 -1
  12. package/dist/app/activity-log/notifications/index.txt +1 -1
  13. package/dist/app/activity-log/sessions/index.html +1 -1
  14. package/dist/app/activity-log/sessions/index.txt +1 -1
  15. package/dist/app/activity-log/workflow-executions/index.html +1 -1
  16. package/dist/app/activity-log/workflow-executions/index.txt +1 -1
  17. package/dist/app/activity-log/workflow-logs/index.html +1 -1
  18. package/dist/app/activity-log/workflow-logs/index.txt +1 -1
  19. package/dist/app/change-password/index.html +1 -1
  20. package/dist/app/change-password/index.txt +1 -1
  21. package/dist/app/dashboard/index.html +1 -1
  22. package/dist/app/dashboard/index.txt +1 -1
  23. package/dist/app/data-browser/index.html +1 -1
  24. package/dist/app/data-browser/index.txt +1 -1
  25. package/dist/app/file-manager/index.html +1 -1
  26. package/dist/app/file-manager/index.txt +1 -1
  27. package/dist/app/forgot-password/index.html +1 -1
  28. package/dist/app/forgot-password/index.txt +1 -1
  29. package/dist/app/index.html +1 -1
  30. package/dist/app/index.txt +1 -1
  31. package/dist/app/login/index.html +1 -1
  32. package/dist/app/login/index.txt +1 -1
  33. package/dist/app/register/index.html +1 -1
  34. package/dist/app/register/index.txt +1 -1
  35. package/dist/app/settings/migrations/index.html +1 -1
  36. package/dist/app/settings/migrations/index.txt +1 -1
  37. package/dist/app/settings/permissions/index.html +1 -1
  38. package/dist/app/settings/permissions/index.txt +1 -1
  39. package/dist/app/settings/project/index.html +1 -1
  40. package/dist/app/settings/project/index.txt +1 -1
  41. package/dist/app/settings/roles/index.html +1 -1
  42. package/dist/app/settings/roles/index.txt +1 -1
  43. package/dist/app/settings/schema/index.html +1 -1
  44. package/dist/app/settings/schema/index.txt +2 -2
  45. package/dist/app/settings/tasks/index.html +1 -1
  46. package/dist/app/settings/tasks/index.txt +1 -1
  47. package/dist/app/settings/templates/edit/index.html +1 -1
  48. package/dist/app/settings/templates/edit/index.txt +1 -1
  49. package/dist/app/settings/templates/index.html +1 -1
  50. package/dist/app/settings/templates/index.txt +1 -1
  51. package/dist/app/settings/tenants/index.html +1 -1
  52. package/dist/app/settings/tenants/index.txt +1 -1
  53. package/dist/app/users/index.html +1 -1
  54. package/dist/app/users/index.txt +1 -1
  55. package/dist/app/users/invites/index.html +1 -1
  56. package/dist/app/users/invites/index.txt +1 -1
  57. package/dist/app/users/list/index.html +1 -1
  58. package/dist/app/users/list/index.txt +1 -1
  59. package/dist/app/users/preferences/index.html +1 -1
  60. package/dist/app/users/preferences/index.txt +1 -1
  61. package/dist/app/users/user-roles/index.html +1 -1
  62. package/dist/app/users/user-roles/index.txt +1 -1
  63. package/dist/app/workflows/detail/index.html +1 -1
  64. package/dist/app/workflows/detail/index.txt +1 -1
  65. package/dist/app/workflows/edit/index.html +1 -1
  66. package/dist/app/workflows/edit/index.txt +1 -1
  67. package/dist/app/workflows/execution/index.html +1 -1
  68. package/dist/app/workflows/execution/index.txt +1 -1
  69. package/dist/app/workflows/index.html +1 -1
  70. package/dist/app/workflows/index.txt +1 -1
  71. package/dist/utils/schemaManager.d.ts +11 -0
  72. package/dist/utils/schemaManager.d.ts.map +1 -1
  73. package/dist/utils/schemaManager.js +142 -4
  74. package/dist/utils/schemaManager.js.map +1 -1
  75. package/dist/utils/typeMapper.d.ts.map +1 -1
  76. package/dist/utils/typeMapper.js +6 -3
  77. package/dist/utils/typeMapper.js.map +1 -1
  78. package/package.json +1 -1
  79. /package/dist/app/_next/static/{DYIYZoqILRowEWsJ0xAMA → ORfvBD2VaKIB_8_7O9AgQ}/_buildManifest.js +0 -0
  80. /package/dist/app/_next/static/{DYIYZoqILRowEWsJ0xAMA → ORfvBD2VaKIB_8_7O9AgQ}/_ssgManifest.js +0 -0
@@ -9,6 +9,6 @@
9
9
  a:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
10
10
  b:{"display":"inline-block"}
11
11
  c:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
12
- 0:["DYIYZoqILRowEWsJ0xAMA",[[["",{"children":["(authenticated)",{"children":["workflows",{"children":["execution",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(authenticated)",{"children":["workflows",{"children":["execution",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children","execution","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/admin/_next/static/css/17a2e01c4184b106.css","precedence":"next","crossOrigin":"$undefined"}]],["$","$L8",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$9","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$a","children":"404"}],["$","div",null,{"style":"$b","children":["$","h2",null,{"style":"$c","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null],["$Ld",null]]]]
12
+ 0:["ORfvBD2VaKIB_8_7O9AgQ",[[["",{"children":["(authenticated)",{"children":["workflows",{"children":["execution",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(authenticated)",{"children":["workflows",{"children":["execution",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children","execution","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/admin/_next/static/css/17a2e01c4184b106.css","precedence":"next","crossOrigin":"$undefined"}]],["$","$L8",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$9","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$a","children":"404"}],["$","div",null,{"style":"$b","children":["$","h2",null,{"style":"$c","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null],["$Ld",null]]]]
13
13
  d:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}]]
14
14
  1:null
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/admin/_next/static/css/17a2e01c4184b106.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/admin/_next/static/chunks/webpack-6ac1be755b80e221.js"/><script src="/admin/_next/static/chunks/fd9d1056-54169f07cd680d6c.js" async=""></script><script src="/admin/_next/static/chunks/2117-29b5fa47421595ad.js" async=""></script><script src="/admin/_next/static/chunks/main-app-55bcae20c77aaf0e.js" async=""></script><script src="/admin/_next/static/chunks/6fcbdc68-90be1a5480b8d353.js" async=""></script><script src="/admin/_next/static/chunks/70e0d97a-aeaf0cdc26ba1a58.js" async=""></script><script src="/admin/_next/static/chunks/54a60aa6-d9747982e0a81f58.js" async=""></script><script src="/admin/_next/static/chunks/5094-8d53e403235d4ca6.js" async=""></script><script src="/admin/_next/static/chunks/4438-c9a12ca15b6e9160.js" async=""></script><script src="/admin/_next/static/chunks/6530-a91e10cffa4200c4.js" async=""></script><script src="/admin/_next/static/chunks/6241-30d7169d1010e5a4.js" async=""></script><script src="/admin/_next/static/chunks/4475-8bdfbd536fba8c48.js" async=""></script><script src="/admin/_next/static/chunks/926-156f32067d111d6b.js" async=""></script><script src="/admin/_next/static/chunks/600-539045311240f579.js" async=""></script><script src="/admin/_next/static/chunks/1668-e3eabd0f6753c780.js" async=""></script><script src="/admin/_next/static/chunks/2676-73b0ee7c80073a84.js" async=""></script><script src="/admin/_next/static/chunks/1509-56ac00cdaaecdf53.js" async=""></script><script src="/admin/_next/static/chunks/6869-4f920a71fdc6b538.js" async=""></script><script src="/admin/_next/static/chunks/9487-b17481605e513b83.js" async=""></script><script src="/admin/_next/static/chunks/1783-d9fb550fd324300c.js" async=""></script><script src="/admin/_next/static/chunks/9881-419697138376e755.js" async=""></script><script src="/admin/_next/static/chunks/7324-b53229c59a640880.js" async=""></script><script src="/admin/_next/static/chunks/9124-a02f9e209e6e3cce.js" async=""></script><script src="/admin/_next/static/chunks/6712-781937c53a2c49da.js" async=""></script><script src="/admin/_next/static/chunks/6547-1aaab011e6089042.js" async=""></script><script src="/admin/_next/static/chunks/2033-8355304f13887db5.js" async=""></script><script src="/admin/_next/static/chunks/7304-bdd00a7504bc4081.js" async=""></script><script src="/admin/_next/static/chunks/3817-863d6bb5cfa0a8de.js" async=""></script><script src="/admin/_next/static/chunks/app/(authenticated)/workflows/page-33c1c69678122839.js" async=""></script><script src="/admin/_next/static/chunks/8473-6598318371eca31b.js" async=""></script><script src="/admin/_next/static/chunks/3563-b8842744384391fe.js" async=""></script><script src="/admin/_next/static/chunks/478-2b8adfd5c2853600.js" async=""></script><script src="/admin/_next/static/chunks/6599-03e2f2327c30b4c1.js" async=""></script><script src="/admin/_next/static/chunks/app/(authenticated)/layout-2a4b221af5cbbade.js" async=""></script><script src="/admin/_next/static/chunks/4883-8a924721bb21b3b0.js" async=""></script><script src="/admin/_next/static/chunks/app/layout-64ac14a534e2809b.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-FBCW8DT7KT" as="script"/><title>Baasix</title><script src="/admin/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background font-sans antialiased"><!--$--><div class="flex items-center justify-center min-h-screen bg-background"><div class="text-center"><div class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-primary border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"></div><p class="mt-4 text-muted-foreground">Loading...</p></div></div><!--/$--><script src="/admin/_next/static/chunks/webpack-6ac1be755b80e221.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/admin/_next/static/css/17a2e01c4184b106.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[12846,[],\"\"]\n4:I[19107,[],\"ClientPageRoot\"]\n5:I[53740,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"3572\",\"static/chunks/70e0d97a-aeaf0cdc26ba1a58.js\",\"7902\",\"static/chunks/54a60aa6-d9747982e0a81f58.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"4475\",\"static/chunks/4475-8bdfbd536fba8c48.js\",\"926\",\"static/chunks/926-156f32067d111d6b.js\",\"600\",\"static/chunks/600-539045311240f579.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"2676\",\"static/chunks/2676-73b0ee7c80073a84.js\",\"1509\",\"static/chunks/1509-56ac00cdaaecdf53.js\",\"6869\",\"static/chunks/6869-4f920a71fdc6b538.js\",\"9487\",\"static/chunks/9487-b17481605e513b83.js\",\"1783\",\"static/chunks/1783-d9fb550fd324300c.js\",\"9881\",\"static/chunks/9881-419697138376e755.js\",\"7324\",\"static/chunks/7324-b53229c59a640880.js\",\"9124\",\"static/chunks/9124-a02f9e209e6e3cce.js\",\"6712\",\"static/chunks/6712-781937c53a2c49da.js\",\"6547\",\"static/chunks/6547-1aaab011e6089042.js\",\"2033\",\"static/chunks/2033-8355304f13887db5.js\",\"7304\",\"static/chunks/7304-bdd00a7504bc4081.js\",\"3817\",\"static/chunks/3817-863d6bb5cfa0a8de.js\",\"7866\",\"static/chunks/app/(authenticated)/workflows/page-33c1c69678122839.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[36423,[],\"\"]\n8:I[7915,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"4475\",\"static/chunks/4475-8bdfbd536fba8c48.js\",\"926\",\"static/chunks/926-156f32067d111d6b.js\",\"600\",\"static/chunks/600-539045311240f579.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"9124\",\"static/chunks/9124-a02f9e209e6e3cce.js\",\"8473\",\"static/chunks/8473-6598318371eca31b.js\",\"3563\",\"static/chunks/3563-b8842744384391fe.js\",\"478\",\"static/chunks/478-2b8adfd5c2853600.js\",\"6599\",\"static/chunks/6599-03e2f2327c30b4c1.js\",\"2760\",\"static/chunks/ap"])</script><script>self.__next_f.push([1,"p/(authenticated)/layout-2a4b221af5cbbade.js\"],\"default\",1]\na:I[84821,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"6869\",\"static/chunks/6869-4f920a71fdc6b538.js\",\"8473\",\"static/chunks/8473-6598318371eca31b.js\",\"4883\",\"static/chunks/4883-8a924721bb21b3b0.js\",\"7304\",\"static/chunks/7304-bdd00a7504bc4081.js\",\"3185\",\"static/chunks/app/layout-64ac14a534e2809b.js\"],\"default\",1]\n10:I[61060,[],\"\"]\n9:{}\nb:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nc:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nd:{\"display\":\"inline-block\"}\ne:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n11:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"DYIYZoqILRowEWsJ0xAMA\",\"assetPrefix\":\"/admin\",\"urlParts\":[\"\",\"workflows\",\"\"],\"initialTree\":[\"\",{\"children\":[\"(authenticated)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(authenticated)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(authenticated)\",\"children\",\"workflows\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(authenticated)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$9\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/admin/_next/static/css/17a2e01c4184b106.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$c\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$d\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$e\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$9\"}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/admin/_next/static/css/17a2e01c4184b106.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/admin/_next/static/chunks/webpack-b29732cfe967a5f5.js"/><script src="/admin/_next/static/chunks/fd9d1056-54169f07cd680d6c.js" async=""></script><script src="/admin/_next/static/chunks/2117-29b5fa47421595ad.js" async=""></script><script src="/admin/_next/static/chunks/main-app-55bcae20c77aaf0e.js" async=""></script><script src="/admin/_next/static/chunks/6fcbdc68-90be1a5480b8d353.js" async=""></script><script src="/admin/_next/static/chunks/70e0d97a-aeaf0cdc26ba1a58.js" async=""></script><script src="/admin/_next/static/chunks/54a60aa6-d9747982e0a81f58.js" async=""></script><script src="/admin/_next/static/chunks/5094-8d53e403235d4ca6.js" async=""></script><script src="/admin/_next/static/chunks/4438-c9a12ca15b6e9160.js" async=""></script><script src="/admin/_next/static/chunks/6530-a91e10cffa4200c4.js" async=""></script><script src="/admin/_next/static/chunks/6241-30d7169d1010e5a4.js" async=""></script><script src="/admin/_next/static/chunks/4475-8bdfbd536fba8c48.js" async=""></script><script src="/admin/_next/static/chunks/926-156f32067d111d6b.js" async=""></script><script src="/admin/_next/static/chunks/600-539045311240f579.js" async=""></script><script src="/admin/_next/static/chunks/1668-e3eabd0f6753c780.js" async=""></script><script src="/admin/_next/static/chunks/2676-73b0ee7c80073a84.js" async=""></script><script src="/admin/_next/static/chunks/1509-56ac00cdaaecdf53.js" async=""></script><script src="/admin/_next/static/chunks/6869-4f920a71fdc6b538.js" async=""></script><script src="/admin/_next/static/chunks/9487-b17481605e513b83.js" async=""></script><script src="/admin/_next/static/chunks/1783-d9fb550fd324300c.js" async=""></script><script src="/admin/_next/static/chunks/9881-419697138376e755.js" async=""></script><script src="/admin/_next/static/chunks/7324-b53229c59a640880.js" async=""></script><script src="/admin/_next/static/chunks/9124-a02f9e209e6e3cce.js" async=""></script><script src="/admin/_next/static/chunks/6712-781937c53a2c49da.js" async=""></script><script src="/admin/_next/static/chunks/6547-1aaab011e6089042.js" async=""></script><script src="/admin/_next/static/chunks/2033-8355304f13887db5.js" async=""></script><script src="/admin/_next/static/chunks/7304-bdd00a7504bc4081.js" async=""></script><script src="/admin/_next/static/chunks/3817-863d6bb5cfa0a8de.js" async=""></script><script src="/admin/_next/static/chunks/app/(authenticated)/workflows/page-33c1c69678122839.js" async=""></script><script src="/admin/_next/static/chunks/8473-6598318371eca31b.js" async=""></script><script src="/admin/_next/static/chunks/3563-b8842744384391fe.js" async=""></script><script src="/admin/_next/static/chunks/478-2b8adfd5c2853600.js" async=""></script><script src="/admin/_next/static/chunks/6599-03e2f2327c30b4c1.js" async=""></script><script src="/admin/_next/static/chunks/app/(authenticated)/layout-2a4b221af5cbbade.js" async=""></script><script src="/admin/_next/static/chunks/4883-8a924721bb21b3b0.js" async=""></script><script src="/admin/_next/static/chunks/app/layout-64ac14a534e2809b.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-FBCW8DT7KT" as="script"/><title>Baasix</title><script src="/admin/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background font-sans antialiased"><!--$--><div class="flex items-center justify-center min-h-screen bg-background"><div class="text-center"><div class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-primary border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"></div><p class="mt-4 text-muted-foreground">Loading...</p></div></div><!--/$--><script src="/admin/_next/static/chunks/webpack-b29732cfe967a5f5.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/admin/_next/static/css/17a2e01c4184b106.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[12846,[],\"\"]\n4:I[19107,[],\"ClientPageRoot\"]\n5:I[53740,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"3572\",\"static/chunks/70e0d97a-aeaf0cdc26ba1a58.js\",\"7902\",\"static/chunks/54a60aa6-d9747982e0a81f58.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"4475\",\"static/chunks/4475-8bdfbd536fba8c48.js\",\"926\",\"static/chunks/926-156f32067d111d6b.js\",\"600\",\"static/chunks/600-539045311240f579.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"2676\",\"static/chunks/2676-73b0ee7c80073a84.js\",\"1509\",\"static/chunks/1509-56ac00cdaaecdf53.js\",\"6869\",\"static/chunks/6869-4f920a71fdc6b538.js\",\"9487\",\"static/chunks/9487-b17481605e513b83.js\",\"1783\",\"static/chunks/1783-d9fb550fd324300c.js\",\"9881\",\"static/chunks/9881-419697138376e755.js\",\"7324\",\"static/chunks/7324-b53229c59a640880.js\",\"9124\",\"static/chunks/9124-a02f9e209e6e3cce.js\",\"6712\",\"static/chunks/6712-781937c53a2c49da.js\",\"6547\",\"static/chunks/6547-1aaab011e6089042.js\",\"2033\",\"static/chunks/2033-8355304f13887db5.js\",\"7304\",\"static/chunks/7304-bdd00a7504bc4081.js\",\"3817\",\"static/chunks/3817-863d6bb5cfa0a8de.js\",\"7866\",\"static/chunks/app/(authenticated)/workflows/page-33c1c69678122839.js\"],\"default\",1]\n6:I[4707,[],\"\"]\n7:I[36423,[],\"\"]\n8:I[7915,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"4475\",\"static/chunks/4475-8bdfbd536fba8c48.js\",\"926\",\"static/chunks/926-156f32067d111d6b.js\",\"600\",\"static/chunks/600-539045311240f579.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"9124\",\"static/chunks/9124-a02f9e209e6e3cce.js\",\"8473\",\"static/chunks/8473-6598318371eca31b.js\",\"3563\",\"static/chunks/3563-b8842744384391fe.js\",\"478\",\"static/chunks/478-2b8adfd5c2853600.js\",\"6599\",\"static/chunks/6599-03e2f2327c30b4c1.js\",\"2760\",\"static/chunks/ap"])</script><script>self.__next_f.push([1,"p/(authenticated)/layout-2a4b221af5cbbade.js\"],\"default\",1]\na:I[84821,[\"7999\",\"static/chunks/6fcbdc68-90be1a5480b8d353.js\",\"5094\",\"static/chunks/5094-8d53e403235d4ca6.js\",\"4438\",\"static/chunks/4438-c9a12ca15b6e9160.js\",\"6530\",\"static/chunks/6530-a91e10cffa4200c4.js\",\"6241\",\"static/chunks/6241-30d7169d1010e5a4.js\",\"1668\",\"static/chunks/1668-e3eabd0f6753c780.js\",\"6869\",\"static/chunks/6869-4f920a71fdc6b538.js\",\"8473\",\"static/chunks/8473-6598318371eca31b.js\",\"4883\",\"static/chunks/4883-8a924721bb21b3b0.js\",\"7304\",\"static/chunks/7304-bdd00a7504bc4081.js\",\"3185\",\"static/chunks/app/layout-64ac14a534e2809b.js\"],\"default\",1]\n10:I[61060,[],\"\"]\n9:{}\nb:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nc:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nd:{\"display\":\"inline-block\"}\ne:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n11:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"ORfvBD2VaKIB_8_7O9AgQ\",\"assetPrefix\":\"/admin\",\"urlParts\":[\"\",\"workflows\",\"\"],\"initialTree\":[\"\",{\"children\":[\"(authenticated)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(authenticated)\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(authenticated)\",\"children\",\"workflows\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(authenticated)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$9\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/admin/_next/static/css/17a2e01c4184b106.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$c\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$d\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$e\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$9\"}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}]]\n3:null\n"])</script></body></html>
@@ -9,6 +9,6 @@
9
9
  a:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
10
10
  b:{"display":"inline-block"}
11
11
  c:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
12
- 0:["DYIYZoqILRowEWsJ0xAMA",[[["",{"children":["(authenticated)",{"children":["workflows",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(authenticated)",{"children":["workflows",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/admin/_next/static/css/17a2e01c4184b106.css","precedence":"next","crossOrigin":"$undefined"}]],["$","$L8",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$9","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$a","children":"404"}],["$","div",null,{"style":"$b","children":["$","h2",null,{"style":"$c","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null],["$Ld",null]]]]
12
+ 0:["ORfvBD2VaKIB_8_7O9AgQ",[[["",{"children":["(authenticated)",{"children":["workflows",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(authenticated)",{"children":["workflows",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children","workflows","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(authenticated)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/admin/_next/static/css/17a2e01c4184b106.css","precedence":"next","crossOrigin":"$undefined"}]],["$","$L8",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$9","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$a","children":"404"}],["$","div",null,{"style":"$b","children":["$","h2",null,{"style":"$c","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null],["$Ld",null]]]]
13
13
  d:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}]]
14
14
  1:null
@@ -112,6 +112,17 @@ export declare class SchemaManager {
112
112
  * Build column definition for CREATE TABLE
113
113
  */
114
114
  private buildColumnDefinition;
115
+ /**
116
+ * Convert a schema field's defaultValue into a raw SQL DEFAULT expression (without the "DEFAULT" keyword).
117
+ * Returns null if no default is defined.
118
+ */
119
+ private getDefaultExpression;
120
+ /**
121
+ * Normalize a default expression for comparison.
122
+ * PostgreSQL stores defaults with type casts (e.g. 'hello'::text, now(), gen_random_uuid())
123
+ * so we strip casts and lowercase for a fair comparison.
124
+ */
125
+ private normalizeDefaultForComparison;
115
126
  /**
116
127
  * Check if database is empty and seed if needed
117
128
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schemaManager.d.ts","sourceRoot":"","sources":["../../baasix/utils/schemaManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaManager.d.ts","sourceRoot":"","sources":["../../baasix/utils/schemaManager.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,27 @@ export class SchemaManager {
104
104
  // Enable pgcrypto for gen_random_uuid()
105
105
  await sql.unsafe('CREATE EXTENSION IF NOT EXISTS pgcrypto');
106
106
  console.log('PostgreSQL extension pgcrypto enabled');
107
+ // Create baasix_generate_suid() function for Short Unique IDs
108
+ // Generates a 21-character URL-safe string (like nanoid) using base64url alphabet
109
+ await sql.unsafe(`
110
+ CREATE OR REPLACE FUNCTION baasix_generate_suid(size int = 21)
111
+ RETURNS text AS $$
112
+ DECLARE
113
+ id text := '';
114
+ i int := 0;
115
+ urlsafe_chars text := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-';
116
+ bytes bytea;
117
+ BEGIN
118
+ bytes := gen_random_bytes(size);
119
+ WHILE i < size LOOP
120
+ id := id || substr(urlsafe_chars, (get_byte(bytes, i) & 63) + 1, 1);
121
+ i := i + 1;
122
+ END LOOP;
123
+ RETURN id;
124
+ END;
125
+ $$ LANGUAGE plpgsql VOLATILE;
126
+ `);
127
+ console.log('PostgreSQL function baasix_generate_suid created');
107
128
  // Enable PostGIS if configured
108
129
  if (env.get('DATABASE_POSTGIS') === 'true') {
109
130
  await sql.unsafe('CREATE EXTENSION IF NOT EXISTS postgis');
@@ -545,13 +566,14 @@ export class SchemaManager {
545
566
  */
546
567
  async syncTableColumns(collectionName, schema) {
547
568
  const sql = getSqlClient();
548
- // Get existing columns in the table
569
+ // Get existing columns in the table (include is_nullable and column_default for constraint syncing)
549
570
  const existingColumns = await sql `
550
- SELECT column_name, data_type
571
+ SELECT column_name, data_type, is_nullable, column_default
551
572
  FROM information_schema.columns
552
573
  WHERE table_name = ${collectionName}
553
574
  `;
554
575
  const existingColumnNames = existingColumns.map((col) => col.column_name);
576
+ const existingColumnMap = new Map(existingColumns.map((col) => [col.column_name, col]));
555
577
  // Check each field in schema
556
578
  for (const [fieldName, fieldSchema] of Object.entries(schema.fields)) {
557
579
  const fs = fieldSchema;
@@ -584,6 +606,67 @@ export class SchemaManager {
584
606
  }
585
607
  }
586
608
  }
609
+ else {
610
+ // Column exists — sync NOT NULL constraint if it changed
611
+ const existingCol = existingColumnMap.get(fieldName);
612
+ if (existingCol) {
613
+ // --- Sync NOT NULL constraint ---
614
+ const dbIsNullable = existingCol.is_nullable === 'YES';
615
+ const schemaAllowNull = fs.allowNull !== false; // default is nullable (allowNull: true)
616
+ if (dbIsNullable && !schemaAllowNull) {
617
+ // Schema says NOT NULL but DB allows NULL → SET NOT NULL
618
+ try {
619
+ await sql.unsafe(`ALTER TABLE "${collectionName}" ALTER COLUMN "${fieldName}" SET NOT NULL`);
620
+ console.log(`Set NOT NULL on column ${fieldName} in ${collectionName}`);
621
+ }
622
+ catch (error) {
623
+ console.error(`Failed to set NOT NULL on column ${fieldName} in ${collectionName}:`, error);
624
+ }
625
+ }
626
+ else if (!dbIsNullable && schemaAllowNull && !fs.primaryKey) {
627
+ // Schema says nullable but DB has NOT NULL → DROP NOT NULL (skip primary keys)
628
+ try {
629
+ await sql.unsafe(`ALTER TABLE "${collectionName}" ALTER COLUMN "${fieldName}" DROP NOT NULL`);
630
+ console.log(`Dropped NOT NULL on column ${fieldName} in ${collectionName}`);
631
+ }
632
+ catch (error) {
633
+ console.error(`Failed to drop NOT NULL on column ${fieldName} in ${collectionName}:`, error);
634
+ }
635
+ }
636
+ // --- Sync DEFAULT value ---
637
+ const schemaDefault = this.getDefaultExpression(fs);
638
+ const dbDefault = existingCol.column_default;
639
+ // Skip SERIAL/auto-increment columns (their defaults are managed by sequences)
640
+ const isSerialDefault = dbDefault && dbDefault.startsWith('nextval(');
641
+ if (!isSerialDefault) {
642
+ if (schemaDefault === null && dbDefault !== null) {
643
+ // Schema has no default but DB has one → DROP DEFAULT
644
+ try {
645
+ await sql.unsafe(`ALTER TABLE "${collectionName}" ALTER COLUMN "${fieldName}" DROP DEFAULT`);
646
+ console.log(`Dropped DEFAULT on column ${fieldName} in ${collectionName}`);
647
+ }
648
+ catch (error) {
649
+ console.error(`Failed to drop DEFAULT on column ${fieldName} in ${collectionName}:`, error);
650
+ }
651
+ }
652
+ else if (schemaDefault !== null) {
653
+ // Compare: normalize DB default for comparison
654
+ const normalizedDbDefault = dbDefault ? this.normalizeDefaultForComparison(dbDefault) : null;
655
+ const normalizedSchemaDefault = this.normalizeDefaultForComparison(schemaDefault);
656
+ if (normalizedDbDefault !== normalizedSchemaDefault) {
657
+ // Default changed or was added → SET DEFAULT
658
+ try {
659
+ await sql.unsafe(`ALTER TABLE "${collectionName}" ALTER COLUMN "${fieldName}" SET DEFAULT ${schemaDefault}`);
660
+ console.log(`Set DEFAULT ${schemaDefault} on column ${fieldName} in ${collectionName}`);
661
+ }
662
+ catch (error) {
663
+ console.error(`Failed to set DEFAULT on column ${fieldName} in ${collectionName}:`, error);
664
+ }
665
+ }
666
+ }
667
+ }
668
+ }
669
+ }
587
670
  }
588
671
  // Add timestamp columns if needed
589
672
  if (schema.timestamps !== false) {
@@ -891,6 +974,9 @@ export class SchemaManager {
891
974
  case 'UUID':
892
975
  pgType = 'UUID';
893
976
  break;
977
+ case 'SUID':
978
+ pgType = 'VARCHAR(21)';
979
+ break;
894
980
  case 'String':
895
981
  pgType = fieldSchema.values?.stringLength ? `VARCHAR(${fieldSchema.values.stringLength})` : 'TEXT';
896
982
  break;
@@ -983,8 +1069,8 @@ export class SchemaManager {
983
1069
  parts.push('DEFAULT gen_random_uuid()');
984
1070
  break;
985
1071
  case 'SUID':
986
- // Short unique ID - uses gen_random_uuid() for now
987
- parts.push('DEFAULT gen_random_uuid()');
1072
+ // Short unique ID - 21 char URL-safe string (like nanoid)
1073
+ parts.push('DEFAULT baasix_generate_suid()');
988
1074
  break;
989
1075
  case 'NOW':
990
1076
  parts.push('DEFAULT NOW()');
@@ -1009,6 +1095,58 @@ export class SchemaManager {
1009
1095
  }
1010
1096
  return parts.join(' ');
1011
1097
  }
1098
+ /**
1099
+ * Convert a schema field's defaultValue into a raw SQL DEFAULT expression (without the "DEFAULT" keyword).
1100
+ * Returns null if no default is defined.
1101
+ */
1102
+ getDefaultExpression(fieldSchema) {
1103
+ if (fieldSchema.defaultValue === undefined || fieldSchema.defaultValue === null) {
1104
+ return null;
1105
+ }
1106
+ // Skip auto-increment types
1107
+ if (fieldSchema.autoIncrement || fieldSchema.type === 'AutoIncrement') {
1108
+ return null;
1109
+ }
1110
+ if (typeof fieldSchema.defaultValue === 'object' && fieldSchema.defaultValue.type) {
1111
+ switch (fieldSchema.defaultValue.type) {
1112
+ case 'UUIDV4':
1113
+ return 'gen_random_uuid()';
1114
+ case 'SUID':
1115
+ return 'baasix_generate_suid()';
1116
+ case 'NOW':
1117
+ return 'NOW()';
1118
+ case 'SQL':
1119
+ return fieldSchema.defaultValue.value || null;
1120
+ }
1121
+ return null;
1122
+ }
1123
+ else if (typeof fieldSchema.defaultValue === 'string') {
1124
+ return `'${fieldSchema.defaultValue}'`;
1125
+ }
1126
+ else if (typeof fieldSchema.defaultValue === 'number') {
1127
+ return `${fieldSchema.defaultValue}`;
1128
+ }
1129
+ else if (typeof fieldSchema.defaultValue === 'boolean') {
1130
+ return `${fieldSchema.defaultValue}`;
1131
+ }
1132
+ return null;
1133
+ }
1134
+ /**
1135
+ * Normalize a default expression for comparison.
1136
+ * PostgreSQL stores defaults with type casts (e.g. 'hello'::text, now(), gen_random_uuid())
1137
+ * so we strip casts and lowercase for a fair comparison.
1138
+ */
1139
+ normalizeDefaultForComparison(expr) {
1140
+ let normalized = expr.toLowerCase().trim();
1141
+ // Remove trailing ::type casts (e.g., 'hello'::character varying, 'hello'::text)
1142
+ normalized = normalized.replace(/::[a-z\d [\]()]+$/g, '');
1143
+ // Normalize whitespace
1144
+ normalized = normalized.replace(/\s+/g, ' ').trim();
1145
+ // Normalize now() variants
1146
+ normalized = normalized.replace(/^now\(\)$/, 'now()');
1147
+ normalized = normalized.replace(/^current_timestamp$/, 'now()');
1148
+ return normalized;
1149
+ }
1012
1150
  /**
1013
1151
  * Check if database is empty and seed if needed
1014
1152
  */