@aeolus-fleet/console 0.25.2 → 0.25.3

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 (129) hide show
  1. package/.next/standalone/THIRD_PARTY_NOTICES +3718 -0
  2. package/.next/standalone/packages/console/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/console/.next/build-manifest.json +3 -3
  4. package/.next/standalone/packages/console/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/console/.next/required-server-files.json +2 -1
  6. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page/server-reference-manifest.json +16 -16
  7. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page.js.nft.json +1 -1
  8. package/.next/standalone/packages/console/.next/server/app/(console)/inbox/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page/server-reference-manifest.json +16 -16
  10. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page.js.nft.json +1 -1
  11. package/.next/standalone/packages/console/.next/server/app/(console)/labels/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page/server-reference-manifest.json +16 -16
  13. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page.js.nft.json +1 -1
  14. package/.next/standalone/packages/console/.next/server/app/(console)/needs-attention/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page/server-reference-manifest.json +16 -16
  16. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page.js.nft.json +1 -1
  17. package/.next/standalone/packages/console/.next/server/app/(console)/needs-crew/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/packages/console/.next/server/app/(console)/network/page/server-reference-manifest.json +16 -16
  19. package/.next/standalone/packages/console/.next/server/app/(console)/network/page.js.nft.json +1 -1
  20. package/.next/standalone/packages/console/.next/server/app/(console)/network/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/packages/console/.next/server/app/(console)/page/server-reference-manifest.json +16 -16
  22. package/.next/standalone/packages/console/.next/server/app/(console)/page.js.nft.json +1 -1
  23. package/.next/standalone/packages/console/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page/server-reference-manifest.json +16 -16
  25. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page.js.nft.json +1 -1
  26. package/.next/standalone/packages/console/.next/server/app/(console)/questions/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page/server-reference-manifest.json +16 -16
  28. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  29. package/.next/standalone/packages/console/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page/server-reference-manifest.json +16 -16
  31. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page.js.nft.json +1 -1
  32. package/.next/standalone/packages/console/.next/server/app/(console)/ships/[shipId]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page/server-reference-manifest.json +16 -16
  34. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page.js.nft.json +1 -1
  35. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/[squadronId]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page/server-reference-manifest.json +16 -16
  37. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page.js.nft.json +1 -1
  38. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/blueprints/[name]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page/server-reference-manifest.json +16 -16
  40. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page.js.nft.json +1 -1
  41. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page/server-reference-manifest.json +16 -16
  43. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page.js.nft.json +1 -1
  44. package/.next/standalone/packages/console/.next/server/app/(console)/squadrons/templates/[name]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page/server-reference-manifest.json +16 -16
  46. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page.js.nft.json +1 -1
  47. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/[shipId]/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page/server-reference-manifest.json +16 -16
  49. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/console/.next/server/app/(console)/trierarchs/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/packages/console/.next/server/app/_global-error.html +1 -1
  52. package/.next/standalone/packages/console/.next/server/app/_global-error.rsc +1 -1
  53. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  55. package/.next/standalone/packages/console/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  56. package/.next/standalone/packages/console/.next/server/app/_not-found/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/console/.next/server/app/api/reads/[read]/route.js.nft.json +1 -1
  58. package/.next/standalone/packages/console/.next/server/app/sign-in/failed/page.js.nft.json +1 -1
  59. package/.next/standalone/packages/console/.next/server/app/sign-in/page.js.nft.json +1 -1
  60. package/.next/standalone/packages/console/.next/server/app/sign-in/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/packages/console/.next/server/app/version/route.js.nft.json +1 -1
  62. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__06f_104._.js +1 -1
  63. package/.next/standalone/packages/console/.next/server/chunks/[root-of-the-server]__1cfwaji._.js +1 -1
  64. package/.next/standalone/packages/console/.next/server/chunks/packages_console_instrumentation_ts_0x-7ff6._.js +3 -0
  65. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_blueprints_[name]_page_actions_170owr_.js +1 -1
  66. package/.next/standalone/packages/console/.next/server/chunks/ssr/0mxb_server_app_(console)_squadrons_templates_[name]_page_actions_09abrr0.js +1 -1
  67. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_needs-crew_page_actions_08gu8-f.js +1 -1
  68. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_network_page_actions_1muuv-j.js +1 -1
  69. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_questions_page_actions_12d6yd2.js +1 -1
  70. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_settings_page_actions_0b6qztr.js +1 -1
  71. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_ships_[shipId]_page_actions_0g2nd1p.js +1 -1
  72. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_squadrons_page_actions_1x3afts.js +1 -1
  73. package/.next/standalone/packages/console/.next/server/chunks/ssr/0ysl_console__next-internal_server_app_(console)_trierarchs_page_actions_1ow37mz.js +1 -1
  74. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_needs-attention_page_actions_1jfgclw.js +1 -1
  75. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_squadrons_[squadronId]_page_actions_1lzqlye.js +1 -1
  76. package/.next/standalone/packages/console/.next/server/chunks/ssr/1eui__next-internal_server_app_(console)_trierarchs_[shipId]_page_actions_0l7bxva.js +1 -1
  77. package/.next/standalone/packages/console/.next/server/chunks/ssr/_01eyvjo._.js +1 -1
  78. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0i1lwyh._.js +1 -1
  79. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1hl4kpn._.js → _0r5n0m3._.js} +1 -1
  80. package/.next/standalone/packages/console/.next/server/chunks/ssr/_0rm5fsf._.js +1 -1
  81. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_03figwl._.js → _0uyde85._.js} +1 -1
  82. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1tt3h4z._.js → _11is74m._.js} +1 -1
  83. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1bc8get._.js +1 -1
  84. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1geqwzr._.js +1 -1
  85. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lbotqi._.js +1 -1
  86. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1lr2spu._.js +1 -1
  87. package/.next/standalone/packages/console/.next/server/chunks/ssr/_1u0h4gj._.js +1 -1
  88. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_0ze4jen._.js → _1uli30o._.js} +1 -1
  89. package/.next/standalone/packages/console/.next/server/chunks/ssr/{_1aub6rh._.js → _1v43-d_._.js} +1 -1
  90. package/.next/standalone/packages/console/.next/server/chunks/ssr/_20_rkn3._.js +1 -1
  91. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1upjt78._.js → packages_console_15x3hh_._.js} +2 -2
  92. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_1adfz1r._.js → packages_console_1hemb_x._.js} +1 -1
  93. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_122o2i3._.js → packages_console_1jdaua7._.js} +2 -2
  94. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_inbox_page_actions_0q9_xye.js +1 -1
  95. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_labels_page_actions_0tk7mqs.js +1 -1
  96. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console__next-internal_server_app_(console)_page_actions_1ftjjyq.js +1 -1
  97. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_labels_page_tsx_1qggshd._.js +1 -1
  98. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_needs-attention_page_tsx_03s6y-o._.js +1 -1
  99. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_network_network-page_tsx_0qc3h-9._.js +1 -1
  100. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_overview-page_tsx_15siba6._.js +1 -1
  101. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_questions_questions-page_tsx_0hb7u3u._.js +1 -1
  102. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_settings_page_tsx_1p8ay87._.js +1 -1
  103. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_ships_[shipId]_ship-page_tsx_0oahz0r._.js +1 -1
  104. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_signed-in-layout_tsx_13vv8fo._.js +1 -1
  105. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_squadrons_[squadronId]_page_tsx_0f8nmsh._.js +1 -1
  106. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_squadrons_page_tsx_1xpvx8n._.js +1 -1
  107. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_(console)_trierarchs_[shipId]_page_tsx_1u845f4._.js +1 -1
  108. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_app_providers_tsx_06ai92n._.js +1 -1
  109. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_1ycqicv._.js → packages_console_features_0b8_-rg._.js} +1 -1
  110. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_features_sign-in_organisms_sign-in-form_tsx_16_oswu._.js +1 -1
  111. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_12z690a._.js → packages_console_features_squadrons_organisms_form-squadron-dialog_tsx_05o22-1._.js} +1 -1
  112. package/.next/standalone/packages/console/.next/server/chunks/ssr/{packages_console_features_trierarchs_organisms_clear-worktree-dialog_tsx_140y8dv._.js → packages_console_features_trierarchs_organisms_clear-worktree-dialog_tsx_1sub7sd._.js} +1 -1
  113. package/.next/standalone/packages/console/.next/server/chunks/ssr/packages_console_lib_11xnux-._.js +1 -1
  114. package/.next/standalone/packages/console/.next/server/instrumentation.js +4 -0
  115. package/.next/standalone/packages/console/.next/server/middleware-build-manifest.js +3 -3
  116. package/.next/standalone/packages/console/.next/server/pages/500.html +1 -1
  117. package/.next/standalone/packages/console/.next/server/server-reference-manifest.js +1 -1
  118. package/.next/standalone/packages/console/.next/server/server-reference-manifest.json +17 -17
  119. package/.next/standalone/packages/console/.next/static/chunks/{2fawp7c5ud5cq.js → 0gbe9745rqcvv.js} +1 -1
  120. package/.next/standalone/packages/console/.next/static/chunks/{3a-i8z6d_l5j9.js → 1ixzo923d17k5.js} +1 -1
  121. package/.next/standalone/packages/console/.next/static/chunks/{1cys0q4nekmo8.js → 1ut35-agyc9m4.js} +1 -1
  122. package/.next/standalone/packages/console/.next/static/chunks/2x_shz1upn2oi.js +1 -0
  123. package/.next/standalone/packages/console/package.json +3 -3
  124. package/README.md +6 -2
  125. package/package.json +3 -3
  126. package/.next/standalone/packages/console/.next/static/chunks/29glfb1y7qwtg.js +0 -1
  127. /package/.next/standalone/packages/console/.next/static/{-CS98dpuGlTUZ_q58bGCs → JdtYaNS7yPdcTRntms065}/_buildManifest.js +0 -0
  128. /package/.next/standalone/packages/console/.next/static/{-CS98dpuGlTUZ_q58bGCs → JdtYaNS7yPdcTRntms065}/_clientMiddlewareManifest.js +0 -0
  129. /package/.next/standalone/packages/console/.next/static/{-CS98dpuGlTUZ_q58bGCs → JdtYaNS7yPdcTRntms065}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63707,e=>{"use strict";var t=e.i(56420);let n={name:"chevrons-up-down",size:24,node:[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]};n.node;let r=(0,t.default)(n);e.s(["ChevronsUpDown",0,r],63707)},49287,e=>{"use strict";var t=e.i(56420);let n={name:"ship",size:24,node:[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 9.189V13",key:"yp40p3"}],["path",{d:"M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6",key:"1wcigf"}],["path",{d:"M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76",key:"1kdp0u"}],["path",{d:"M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"1l8w7g"}]]};n.node;let r=(0,t.default)(n);e.s(["Ship",0,r],49287)},26478,e=>{"use strict";var t=e.i(56420);let n={name:"user-round",size:24,node:[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],aliases:["user-2"]};n.node;let r=(0,t.default)(n);e.s(["UserRound",0,r],26478)},90317,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return d}};for(var s in r)Object.defineProperty(n,s,{enumerable:!0,get:r[s]});let i=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class a{disable(){throw i}getStore(){}run(){throw i}exit(){throw i}enterWith(){throw i}static bind(e){return e}}let o="u">typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return o?new o:new a}function l(e){return o?o.bind(e):a.bind(e)}function d(){return o?o.snapshot():function(e,...t){return e(...t)}}},42344,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=e.r(42344)},9885,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let r=e.r(32061);function s({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return u}});let r=e.r(43476),s=e.r(74080),i=e.r(63599),a=e.r(9885),o=e.r(43369);function u({moduleIds:e}){if("u">typeof window)return null;let t=i.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let l=(0,o.getAssetTokenQuery)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${l}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,s.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(43476),s=e.r(71645),i=e.r(67585),a=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let u={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},l=function(e){let t={...u,...e},n=(0,s.lazy)(()=>t.loader().then(o)),l=t.loading;function d(e){let o=l?(0,r.jsx)(l,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,d=u?s.Suspense:s.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...u?{fallback:o}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(55682)._(e.r(69093));function s(e,t){let n={};"function"==typeof e&&(n.loader=e);let s={...n,...t};return(0,r.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},94859,e=>{"use strict";var t=e.i(43476);e.s([],4824),e.i(4824);var n=e.i(71645),r=e.i(52245),s=e.i(33332);let i=n.createContext(void 0);function a(){let e=n.useContext(i);if(void 0===e)throw Error((0,s.default)(13));return e}let o={imageLoadingStatus:()=>null},u=n.forwardRef(function(e,s){let{className:a,render:u,style:l,...d}=e,[c,f]=n.useState("idle"),m=n.useMemo(()=>({imageLoadingStatus:c,setImageLoadingStatus:f}),[c,f]),p=(0,r.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:s,props:d,stateAttributesMapping:o});return(0,t.jsx)(i.Provider,{value:m,children:p})});var l=e.i(67865),d=e.i(46376),c=e.i(37584),f=e.i(74354),m=e.i(23910),p=e.i(56789);let h={...o,...f.transitionStatusMapping},y=n.forwardRef(function(e,t){let{className:s,render:i,onLoadingStatusChange:o,keepMounted:u=!1,style:f,sizes:y,srcSet:v,src:g,...b}=e,{setImageLoadingStatus:S}=a(),[w,R]=function(e,{referrerPolicy:t,crossOrigin:r,sizes:s,srcSet:i},a){let o=n.useState("idle"),u=o[1];return(0,d.useIsoLayoutEffect)(()=>{if(!a)return p.NOOP;if(!e&&!i)return u("error"),p.NOOP;let n=!0,o=new window.Image,l=e=>()=>{n&&u(e)};return u("loading"),o.onload=l("loaded"),o.onerror=l("error"),t&&(o.referrerPolicy=t),o.crossOrigin=r??null,s&&(o.sizes=s),i&&(o.srcset=i),e&&(o.src=e),o.complete&&u(o.naturalWidth>0?"loaded":"error"),()=>{n=!1}},[a,e,i,s,r,t,u]),o}(g,e,!u),C="loaded"===w,{mounted:M,transitionStatus:O,setMounted:k}=(0,m.useTransitionStatus)(C),P=n.useRef(null),q=n.useRef(!0);(0,d.useIsoLayoutEffect)(()=>{if(!u)return;let e=q.current;q.current=!1;let t=P.current;if(!t)return;if(!t.complete)return void R("loading");let n=t.naturalWidth>0?"loaded":"error";R(n),"loaded"===n&&e&&k(!0)},[u,g,v,y,b.crossOrigin,b.referrerPolicy,i,R,k]);let I=u?{"data-loading":"loading"===w?"":void 0,"data-error":"error"===w?"":void 0,"aria-hidden":"loaded"!==w||void 0,onLoad(){R("loaded")},onError(){R("error")}}:void 0,$=(0,l.useStableCallback)(e=>{o?.(e),S(e)});(0,d.useIsoLayoutEffect)(()=>{"idle"!==w&&$(w)},[w,$]),(0,d.useIsoLayoutEffect)(()=>()=>S("idle"),[S]),(0,c.useOpenChangeComplete)({enabled:!C,open:C,ref:P,onComplete(){C||k(!1)}});let L=u||M,T={};void 0!==y&&(T.sizes=y),void 0!==v&&(T.srcSet=v),void 0!==g&&(T.src=g);let j=(0,r.useRenderElement)("img",e,{state:{imageLoadingStatus:w,transitionStatus:u&&"ending"===O?void 0:O},ref:[t,P],props:[I,b,T],stateAttributesMapping:h,enabled:L});return L?j:null});var v=e.i(39957);let g=n.forwardRef(function(e,t){let{className:s,render:i,delay:u=0,style:l,...d}=e,{imageLoadingStatus:c}=a(),[f,m]=n.useState(0===u),p=(0,v.useTimeout)();return n.useEffect(()=>(u>0?p.start(u,()=>m(!0)):m(!0),p.clear),[p,u]),(0,r.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:t,props:d,stateAttributesMapping:o,enabled:"loaded"!==c&&(0===u||f)})});e.s(["Fallback",0,g,"Image",0,y,"Root",0,u],14751);var b=e.i(14751),b=b,S=e.i(25913),w=e.i(49287),R=e.i(26478),C=e.i(90063);let M=(0,S.cva)("inline-flex shrink-0 items-center justify-center overflow-hidden font-semibold uppercase select-none",{variants:{kind:{app:"rounded-sm bg-primary text-primary-foreground",account:"rounded-full bg-secondary font-sans text-foreground",ship:"rounded-sm bg-secondary font-mono text-foreground",argo:"rounded-sm bg-highlight text-primary",retired:"rounded-sm border border-dashed border-input font-mono font-medium text-muted-foreground"},size:{20:"size-5 text-micro [&_svg]:size-3",28:"size-7 text-micro [&_svg]:size-(--size-icon-sm)",36:"size-9 text-caption [&_svg]:size-(--size-icon)"}},defaultVariants:{kind:"ship",size:28}});e.s(["Avatar",0,function({kind:e="ship",size:n,name:r="",className:s}){let i=e??"ship";return(0,t.jsx)(b.Root,{"aria-hidden":!0,"data-slot":"avatar",className:(0,C.classNames)(M({kind:e,size:n}),s),children:(0,t.jsx)(b.Fallback,{children:"app"===i?(0,t.jsx)(w.Ship,{"aria-hidden":!0}):"argo"===i?(0,t.jsx)(R.UserRound,{"aria-hidden":!0}):r.replaceAll("-","").slice(0,2)})})}],94859)},90262,e=>{"use strict";var t=e.i(66027),n=e.i(27702);let r={canManage:!1,canSend:!1,canReceive:!1,canDefineLabels:!1,canAssignLabels:!1,canEditNetwork:!1,isViewer:!1};e.s(["useAccess",0,function(){let e=(0,n.useTRPC)();return function(e){return void 0===e?r:{canManage:e.scopes.includes("fleet:manage"),canSend:e.scopes.includes("messages:send"),canReceive:e.scopes.includes("messages:receive"),canDefineLabels:e.scopes.includes("labels:define"),canAssignLabels:e.scopes.includes("labels:assign"),canEditNetwork:e.scopes.includes("fleet:network"),isViewer:"viewer"===e.kind}}((0,t.useQuery)(e.console.session.queryOptions()).data)}])},5387,e=>{"use strict";var t=e.i(54616),n=e.i(66027),r=e.i(12598),s=e.i(90262),i=e.i(32150),a=e.i(80581),o=e.i(27702);function u(){let e=(0,o.useTRPC)();return(0,n.useQuery)(e.fleet.list.queryOptions(void 0,{refetchInterval:3e4}))}function l(){let e=(0,o.useTRPC)();return(0,n.useQuery)(e.fleet.labels.queryOptions())}function d(){let e=(0,o.useTRPC)(),t=(0,r.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["LAST_SEEN_REFRESH_MS",0,3e4,"useAssignLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.assignLabel.mutationOptions({onSuccess:n}))},"useChangeLabelValues",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.changeLabelValues.mutationOptions({onSuccess:n}))},"useCommissionShip",0,function(){let e=(0,o.useTRPC)(),n=d(),{track:r}=(0,i.useAnalytics)();return(0,t.useMutation)(e.fleet.commission.mutationOptions({onSuccess:async()=>{r({name:"ship_commissioned"}),await n()}}))},"useDefineLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.defineLabel.mutationOptions({onSuccess:n}))},"useDeleteLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.deleteLabel.mutationOptions({onSuccess:n}))},"useFleetLabels",0,l,"useFleetSnapshot",0,u,"useGetStartingPrompt",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.getStartingPrompt.mutationOptions({onSuccess:n}))},"useLabelContext",0,function(){let e=l(),t=u(),n=(0,s.useAccess)();if(void 0!==e.data&&void 0!==t.data)return(0,a.labelContextOf)(e.data,{ships:t.data,isOperator:!n.isViewer})},"usePingShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.ping.mutationOptions({onSuccess:n}))},"useRecrewShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.recrew.mutationOptions({onSuccess:n}))},"useReleaseShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.release.mutationOptions({onSuccess:n}))},"useRemoveCrewRequest",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.removeCrewRequest.mutationOptions({onSuccess:n}))},"useRenameShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.rename.mutationOptions({onSuccess:n}))},"useRequestCrew",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.crewRequest.mutationOptions({onSuccess:n}))},"useRetireShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.retire.mutationOptions({onSuccess:n}))},"useUnassignLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.unassignLabel.mutationOptions({onSuccess:n}))}])},80581,e=>{"use strict";let t=/^[a-z0-9-]+$/,n={"trierarch-plugin":"trierarch-plugin",squadrons:"squadrons"};function r(e){let t=e.ships.filter(e=>"retired"!==e.status),n=new Map;for(let r of e.labels){let s=e.ownerOf.get(r.id),i=s?.isYours??!1,a=i?"Yours":`By ${r.owner.name}`,o=n.get(a)??{title:a,isYours:i,keys:[]};o.keys.push({labelId:r.id,key:r.key,mark:s?.mark??"ship",values:r.values.map(e=>({valueId:e.id,value:e.value,shipCount:t.filter(t=>t.labels.some(t=>t.valueId===e.id)).length}))}),n.set(a,o)}return[...n.values()].toSorted((e,t)=>Number(t.isYours)-Number(e.isYours)||e.title.localeCompare(t.title)).map(({title:e,keys:t})=>({title:e,keys:t.toSorted((e,t)=>e.key.localeCompare(t.key))}))}function s(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)??""}`}e.s(["activeShipCount",0,function(e){return e.ships.filter(e=>"retired"!==e.status).length},"assignKeysOf",0,function(e,t){let n=r(t).find(e=>"Yours"===e.title);return(n?.keys??[]).map(t=>({...t,carriedValueIds:e.labels.filter(e=>e.labelId===t.labelId).map(e=>e.valueId)}))},"canAssignLabelsTo",0,function(e,t){return t.canAssignLabels&&"retired"!==e.status},"carriesEvery",0,function(e,t){return t.every(t=>e.labels.some(e=>e.valueId===t))},"chipTitleOf",0,function(e){let t=`${e.key}=${e.value}`;switch(e.mark){case"none":return`${t}, by you`;case"gone":return`${t}, a label that no longer exists`;case"trierarch-plugin":case"squadrons":case"ship":return`${t}, by ${e.ownerName}`}},"chipsOf",0,function(e,t){let n=e=>t.ownerOf.get(e.labelId)?.isYours??!1;return e.labels.map(e=>{let n=t.ownerOf.get(e.labelId);return{labelId:e.labelId,valueId:e.valueId,key:e.key,value:e.value,mark:n?.mark??"gone",ownerName:n?.name??""}}).toSorted((e,t)=>Number(n(t))-Number(n(e))||e.key.localeCompare(t.key)||e.value.localeCompare(t.value))},"filterGroupsOf",0,r,"labelContextOf",0,function(e,t){let r=new Map(t.ships.map(e=>[e.id,e])),s=new Map(e.map(e=>{let s=r.get(e.owner.id),i=t.isOperator&&s?.kind==="operator",a=i?"none":n[s?.type??""]??"ship";return[e.id,{name:e.owner.name,mark:a,isYours:i}]}));return{labels:e,ownerOf:s,ships:t.ships}},"labelLimitOf",0,function(e,t){let n=e.labels.length;return{...n>=15?{count:`${String(n)} of ${String(t)}`}:{},isAtLimit:n>=t}},"labelRowsOf",0,function(e){let t=e.ships.filter(e=>"retired"!==e.status);return e.labels.map(n=>{let r=e.ownerOf.get(n.id);return{labelId:n.id,key:n.key,owner:{name:n.owner.name,isYours:r?.isYours??!1,mark:r?.mark??"ship"},values:n.values.map(e=>{let n;return{valueId:e.id,value:e.value,shipCount:t.filter((n=e.id,e=>e.labels.some(e=>e.valueId===n))).length}}),shipCount:t.filter(e=>e.labels.some(e=>e.labelId===n.id)).length}}).toSorted((e,t)=>Number(t.owner.isYours)-Number(e.owner.isYours)||e.owner.name.localeCompare(t.owner.name)||e.key.localeCompare(t.key))},"labelTextProblem",0,function(e,n){if(!(""===e||e.length<=63&&t.test(e)))return`${n}: use lowercase letters, digits and - only, at most ${String(63)} characters (decision 0031).`},"listed",0,s,"matchesLabelQuery",0,function(e,t){let n=t.trim().toLowerCase();return""===n||e.key.includes(n)||e.values.some(e=>e.value.includes(n))},"pickedChips",0,function(e,t){return e.flatMap(e=>{let n=t.labels.find(t=>t.values.some(t=>t.id===e)),r=n?.values.find(t=>t.id===e);if(void 0===n||void 0===r)return[];let s=t.ownerOf.get(n.id);return[{labelId:n.id,valueId:r.id,key:n.key,value:r.value,mark:s?.mark??"ship",ownerName:s?.name??n.owner.name}]})},"retireLabelLines",0,function(e){let t=[];if(e.carried.length>0&&t.push(`Its ${1===e.carried.length?"label is":`${String(e.carried.length)} labels are`} removed with it: ${e.carried.join(", ")}.`),void 0!==e.owned){let{keys:n,carriers:r}=e.owned;t.push(`Its ${1===n.length?"label retires":`${String(n.length)} labels retire`} with it: ${s(n)}. Nobody can assign ${1===n.length?"it":"them"} again.`),r.length>0&&t.push(`${1===n.length?"It is":"They are"} removed from the ${1===r.length?"ship that carries":`${String(r.length)} ships that carry`} ${1===n.length?"it":"them"}: ${s(r)}.`)}return t},"retiredLabelsOf",0,function(e,t){let n=e.labels.map(e=>`${e.key}=${e.value}`),r=t.labels.filter(t=>t.owner.id===e.id);if(0===r.length)return{carried:n};let s=new Set(r.map(e=>e.id)),i=t.ships.filter(t=>"retired"!==t.status&&t.id!==e.id&&t.labels.some(e=>s.has(e.labelId))).map(e=>e.name);return{carried:n,owned:{keys:r.map(e=>e.key),carriers:i}}},"rowChips",0,function(e,t){let n=0,r=e.findIndex((e,r)=>(n+=e.key.length+e.value.length+1,r>0&&n>t)),s=-1===r?e.length:r;return{shown:e.slice(0,s),folded:e.slice(s)}}],80581)},17540,e=>{"use strict";var t=e.i(43476),n=e.i(70703),r=e.i(71645);e.s(["lazyDialog",0,function(e,s){let i=(0,n.default)(e,{ssr:!1});return function(e){let n=s(e),[a,o]=(0,r.useState)(n);return n&&!a&&o(!0),a||n?(0,t.jsx)(i,{...e}):null}}])},28459,e=>{"use strict";var t=e.i(54616),n=e.i(66027),r=e.i(12598),s=e.i(48695),i=e.i(84294),a=e.i(27702);function o(e){let t=String(e.attempts-1);return e.isPushed?`Handed ${t} times, never confirmed; fifth refused: undeliverable.`:`Handed (pulled) ${t} times, never acknowledged; fifth receive refused: undeliverable.`}function u(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.needsAttention.queryOptions())}function l(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.noShipCanTake.queryOptions())}function d(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.overdue.queryOptions())}let c={pending:"Pending",received:"Received",handed:"Handed"},f={notConfirmed:"not confirmed",idle:"session idle",busy:"session busy"};function m(){let e=(0,a.useTRPC)(),t=(0,r.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["DISMISSED_TOAST",0,{title:"Delivery dismissed",description:"It stays in the timelines as dismissed."},"attentionReason",0,function(e){switch(e.state){case"undeliverable":return o(e);case"notHandled":return"Acknowledged, then its turn died; handed once more, and that turn died too: not handled."}},"canResend",0,function(e){return!e.message.isPing},"deliveryWithId",0,function(e,t){return e?.find(e=>e.deliveryId===t)},"messagePathOf",0,function(e){let{message:t}=e;return`/ships/${t.sender.id}?tab=messages&message=${t.id}`},"overduePathOf",0,function(e){return`/ships/${e.ship.id}?tab=messages&message=${e.message.id}`},"overdueReason",0,function(e){return`${c[e.state]}, ${f[e.clock]}`},"resentToast",0,function(e){return{title:"Message resent",description:`A new message went to ${function(e){let{recipient:t}=e.message;return"ship"===t.kind?t.ship.name:`any ship of type ${t.type}`}(e)}. The original is dismissed.`}},"undeliverableReason",0,o,"useAttentionCount",0,function(){let e=u().data?.length,t=d().data?.length,n=l().data?.length,r=(0,s.useSquadrons)();return void 0===e||void 0===t||void 0===n?void 0:e+t+n+(0,i.silentMembers)(r.data??[]).length},"useDismissDelivery",0,function(){let e=(0,a.useTRPC)(),n=m();return(0,t.useMutation)(e.fleet.dismiss.mutationOptions({onSuccess:n}))},"useNeedsAttention",0,u,"useNoShipCanTake",0,l,"useOverdue",0,d,"useResendDelivery",0,function(){let e=(0,a.useTRPC)(),n=m();return(0,t.useMutation)(e.fleet.resend.mutationOptions({onSuccess:n}))}])},31513,e=>{"use strict";e.s(["SOURCE_URL",0,"https://github.com/ThomasHendrickx/aeolus-fleet"])},48695,86165,e=>{"use strict";var t=e.i(54616),n=e.i(12598),r=e.i(32150),s=e.i(76580),i=e.i(94070),a=e.i(2660),o=e.i(95187);let u=(0,o.createServerReference)("00711196b8a3d76d94aa94e084685c541800d83c44",o.callServer,void 0,o.findSourceMapURL,"connectSquadrons"),l=["squadrons","connection"];function d(){return(0,s.useConsoleRead)({queryKey:l,queryFn:()=>(0,i.fetchConsoleRead)({read:"squadrons-connection"})})}function c(){let e=d();return void 0===e.data?e.isError?"not-connected":"unknown":e.data.state}e.s(["useConnectSquadrons",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async()=>(0,a.dataOf)(await u()),onSuccess:t=>{e.setQueryData(l,t)}})},"useHasSquadrons",0,function(){let e=d();return void 0!==e.data&&"none"!==e.data.state},"useSquadronsConnection",0,c,"useSquadronsSettings",0,d],86165);let f=(0,o.createServerReference)("407e7c3f1fe6a0a5948cb02f959fc6d4571c123d4f",o.callServer,void 0,o.findSourceMapURL,"addMember"),m=(0,o.createServerReference)("40642f6601bfab10239e2aa369595dcbd117582b3d",o.callServer,void 0,o.findSourceMapURL,"addRepository"),p=(0,o.createServerReference)("4098f2d0ecede43c93426e976332465ce9fcfbf76c",o.callServer,void 0,o.findSourceMapURL,"forceStandDown"),h=(0,o.createServerReference)("403f72f7d0713fd2ff110f8f36fb344c84bc9c9c7e",o.callServer,void 0,o.findSourceMapURL,"formSquadron"),y=(0,o.createServerReference)("40f7c449b851f93f2733710adaac5f1e28f1b4822e",o.callServer,void 0,o.findSourceMapURL,"newCrewLine"),v=(0,o.createServerReference)("002b6422f0f19e9e34e23aab0b30c2eb9823393ee0",o.callServer,void 0,o.findSourceMapURL,"refreshCatalogue"),g=(0,o.createServerReference)("40d5ac2f455f87cd8380d9688803bdb21ec6fea7b0",o.callServer,void 0,o.findSourceMapURL,"removeMember"),b=(0,o.createServerReference)("40158a6c6ca09f41360d33058caf45935b8f561563",o.callServer,void 0,o.findSourceMapURL,"removeRepository"),S=(0,o.createServerReference)("40cbb1e6634b13d5e2a6b32ac1e976b43ce6625015",o.callServer,void 0,o.findSourceMapURL,"standDown"),w=["squadrons","list"];function R(e){return["squadrons","crew-lines",e]}let C=["squadrons","repositories"];function M(){let e=(0,n.useQueryClient)();return async()=>{await Promise.all([e.invalidateQueries({queryKey:C}),e.invalidateQueries({queryKey:["squadrons","catalogue"]})])}}e.s(["useAddMember",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await f(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useAddRepository",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await m(e)),onSettled:e})},"useBlueprintCrew",0,function(e){let t="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","blueprint-crew",e],queryFn:async()=>void 0===e?[]:(0,i.fetchConsoleRead)({read:"blueprint-crew",input:e}),enabled:t&&void 0!==e})},"useCatalogue",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","catalogue"],queryFn:()=>(0,i.fetchConsoleRead)({read:"catalogue"}),enabled:e})},"useForceStandDown",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await p(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useFormSquadron",0,function(){let e=(0,n.useQueryClient)(),{track:s}=(0,r.useAnalytics)();return(0,t.useMutation)({mutationFn:async({blueprint:e,members:t})=>(0,a.dataOf)(await h({blueprint:e,...void 0===t?{}:{members:t}})),onSuccess:async t=>{s({name:"squadron_formed",roleCount:new Set(t.members.map(e=>e.role)).size}),e.setQueryData(R(t.squadronId),t.members),await e.invalidateQueries({queryKey:w})}})},"useIssuedCrewLines",0,function(e){return new Map(((0,n.useQueryClient)().getQueryData(R(e))??[]).map(e=>[e.shipId,{crewLines:e.crewLines,launchNote:e.launchNote,model:e.model}]))},"useKeptMessages",0,function(e){let t="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","messages",e],queryFn:()=>(0,i.fetchConsoleRead)({read:"kept-messages",input:{squadronId:e}}),refetchInterval:5e3,enabled:t})},"useNewCrewLine",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await y(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useRefreshCatalogue",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async()=>(0,a.dataOf)(await v()),onSuccess:e})},"useRemoveMember",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await g(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useRemoveRepository",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await b(e)),onSettled:e})},"useRepositories",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:C,queryFn:()=>(0,i.fetchConsoleRead)({read:"repositories"}),enabled:e})},"useSquadrons",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:w,queryFn:()=>(0,i.fetchConsoleRead)({read:"squadrons"}),refetchInterval:5e3,enabled:e})},"useStandDown",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await S(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})}],48695)},84294,e=>{"use strict";function t(e,t){return e.roles.map(e=>({role:e.name,template:`${e.template.name}@${String(e.template.version)}`,count:e.count,checkInMinutes:t.find(t=>t.repository===e.template.repository&&t.name===e.template.name&&t.version===e.template.version)?.checkInMinutes}))}function n(e){let t=Math.floor(e/60),n=e%60;return 0===t?`${String(n)} min`:0===n?`${String(t)} h`:`${String(t)} h ${String(n)} min`}e.s(["blueprintChoices",0,function(e){let t=new Map;for(let n of e.blueprints){let e=`${n.repository}#${n.name}`,r=t.get(e)??{key:e,repository:n.repository,name:n.name,versions:[]};r.versions.push(n),t.set(e,r)}return[...t.values()].map(e=>({...e,versions:[...e.versions].sort((e,t)=>t.version-e.version)})).sort((e,t)=>e.name.localeCompare(t.name))},"blueprintPath",0,function(e){let t=new URLSearchParams({repository:e.repository});return void 0!==e.version&&t.set("version",String(e.version)),`/squadrons/blueprints/${encodeURIComponent(e.name)}?${t.toString()}`},"blueprintsUsing",0,function(e,t){return e.filter(e=>e.roles.some(e=>e.template.repository===t.repository&&e.template.name===t.name&&(void 0===t.version||e.template.version===t.version)))},"checkInText",0,function(e){return e%60==0?`every ${String(e/60)} h`:`every ${String(e)} min`},"handoffsOf",0,function(e,t){let n=e=>[...new Set(e)];return{from:n(e.handoffs.filter(e=>e.to===t).map(e=>e.role)),to:n(e.handoffs.filter(e=>e.role===t).map(e=>e.to))}},"handoffsText",0,function(e){let t=[e.from.length>0?`from ${e.from.join(", ")}`:void 0,e.to.length>0?`to ${e.to.join(", ")}`:void 0].filter(e=>void 0!==e);return 0===t.length?"None":t.join(" · ")},"healthCounts",0,function(e){return["on-time","late","silent","standing-down","not-on-station"].map(t=>({health:t,count:e.filter(e=>e.health===t).length})).filter(e=>e.count>0)},"memberCount",0,function(e){return e.roles.reduce((e,t)=>e+t.count,0)},"membersByRole",0,function(e){let t=new Map;for(let n of e)t.set(n.role,[...t.get(n.role)??[],n]);return[...t.entries()].map(([e,t])=>({role:e,members:t}))},"otherMembersOfRole",0,function(e,t){let n=e.members.find(e=>e.shipId===t)?.role;return e.members.filter(e=>e.role===n&&e.shipId!==t&&"retired"!==e.crew.status).map(e=>e.name)},"roleOptions",0,function(e,n){let{blueprint:r,templates:s}=n;return t(r,s).map(t=>({role:t.role,template:t.template,checkInMinutes:t.checkInMinutes,now:e.members.filter(e=>e.role===t.role&&"retired"!==e.crew.status).length,inBlueprint:t.count}))},"rolePreviews",0,t,"rolesText",0,function(e){return e.roles.map(e=>e.count>1?`${e.name} \xd7${String(e.count)}`:e.name).join(", ")},"shipsInSquadrons",0,function(e){let t=new Map;for(let n of e)if("disbanded"!==n.state)for(let e of(t.set(n.flagship.shipId,{squadronId:n.id,role:null}),n.members))t.set(e.shipId,{squadronId:n.id,role:e.role});return t},"silentMembers",0,function(e){return e.filter(e=>"disbanded"!==e.state).flatMap(e=>e.members.filter(e=>"silent"===e.health).map(t=>({squadronId:e.id,member:t})))},"squadronActionsOffered",0,function(e,t){let n="sailing"===e.state;return{canAddMember:t.canManage&&n&&t.hasRoles,canMessageFlagship:t.canSend&&"disbanded"!==e.state,canStandDown:t.canManage&&n,canForceStandDown:t.canManage&&"disbanded"!==e.state}},"squadronsFromBlueprint",0,function(e,t){return e.filter(e=>e.blueprint.repository===t.repository&&e.blueprint.name===t.name)},"squadronsText",0,function(e){return["forming","sailing","standing-down"].map(t=>({state:t,count:e.filter(e=>e.state===t).length})).filter(e=>e.count>0).map(e=>`${String(e.count)} ${e.state.replace("-"," ")}`).join(", ")},"stationCount",0,function(e){return{onStation:e.members.filter(e=>null!==e.onStationAt).length,total:e.members.length}},"templateChoices",0,function(e){let t=new Map;for(let n of e.templates){let e=`${n.repository}#${n.name}`,r=t.get(e)??{key:e,repository:n.repository,name:n.name,versions:[]};r.versions.push(n),t.set(e,r)}return[...t.values()].map(e=>({...e,versions:[...e.versions].sort((e,t)=>t.version-e.version)})).sort((e,t)=>e.name.localeCompare(t.name))},"templatePath",0,function(e){let t=new URLSearchParams({repository:e.repository});return void 0!==e.version&&t.set("version",String(e.version)),`/squadrons/templates/${encodeURIComponent(e.name)}?${t.toString()}`},"thresholdsText",0,function(e){return`Late after ${n(+e)}, silent after ${n(3*e)}`},"workCounts",0,function(e){return["working","idle","blocked"].map(t=>({state:t,count:e.filter(e=>e?.state===t).length})).filter(e=>e.count>0)}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63707,e=>{"use strict";var t=e.i(56420);let n={name:"chevrons-up-down",size:24,node:[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]};n.node;let r=(0,t.default)(n);e.s(["ChevronsUpDown",0,r],63707)},49287,e=>{"use strict";var t=e.i(56420);let n={name:"ship",size:24,node:[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 9.189V13",key:"yp40p3"}],["path",{d:"M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6",key:"1wcigf"}],["path",{d:"M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76",key:"1kdp0u"}],["path",{d:"M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"1l8w7g"}]]};n.node;let r=(0,t.default)(n);e.s(["Ship",0,r],49287)},26478,e=>{"use strict";var t=e.i(56420);let n={name:"user-round",size:24,node:[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],aliases:["user-2"]};n.node;let r=(0,t.default)(n);e.s(["UserRound",0,r],26478)},90317,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return d}};for(var s in r)Object.defineProperty(n,s,{enumerable:!0,get:r[s]});let i=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class a{disable(){throw i}getStore(){}run(){throw i}exit(){throw i}enterWith(){throw i}static bind(e){return e}}let o="u">typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return o?new o:new a}function l(e){return o?o.bind(e):a.bind(e)}function d(){return o?o.snapshot():function(e,...t){return e(...t)}}},42344,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=e.r(42344)},9885,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let r=e.r(32061);function s({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return u}});let r=e.r(43476),s=e.r(74080),i=e.r(63599),a=e.r(9885),o=e.r(43369);function u({moduleIds:e}){if("u">typeof window)return null;let t=i.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let l=(0,o.getAssetTokenQuery)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${l}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,s.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(43476),s=e.r(71645),i=e.r(67585),a=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let u={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},l=function(e){let t={...u,...e},n=(0,s.lazy)(()=>t.loader().then(o)),l=t.loading;function d(e){let o=l?(0,r.jsx)(l,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,d=u?s.Suspense:s.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...u?{fallback:o}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(55682)._(e.r(69093));function s(e,t){let n={};"function"==typeof e&&(n.loader=e);let s={...n,...t};return(0,r.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},94859,e=>{"use strict";var t=e.i(43476);e.s([],4824),e.i(4824);var n=e.i(71645),r=e.i(52245),s=e.i(33332);let i=n.createContext(void 0);function a(){let e=n.useContext(i);if(void 0===e)throw Error((0,s.default)(13));return e}let o={imageLoadingStatus:()=>null},u=n.forwardRef(function(e,s){let{className:a,render:u,style:l,...d}=e,[c,f]=n.useState("idle"),m=n.useMemo(()=>({imageLoadingStatus:c,setImageLoadingStatus:f}),[c,f]),p=(0,r.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:s,props:d,stateAttributesMapping:o});return(0,t.jsx)(i.Provider,{value:m,children:p})});var l=e.i(67865),d=e.i(46376),c=e.i(37584),f=e.i(74354),m=e.i(23910),p=e.i(56789);let h={...o,...f.transitionStatusMapping},y=n.forwardRef(function(e,t){let{className:s,render:i,onLoadingStatusChange:o,keepMounted:u=!1,style:f,sizes:y,srcSet:v,src:g,...b}=e,{setImageLoadingStatus:S}=a(),[w,R]=function(e,{referrerPolicy:t,crossOrigin:r,sizes:s,srcSet:i},a){let o=n.useState("idle"),u=o[1];return(0,d.useIsoLayoutEffect)(()=>{if(!a)return p.NOOP;if(!e&&!i)return u("error"),p.NOOP;let n=!0,o=new window.Image,l=e=>()=>{n&&u(e)};return u("loading"),o.onload=l("loaded"),o.onerror=l("error"),t&&(o.referrerPolicy=t),o.crossOrigin=r??null,s&&(o.sizes=s),i&&(o.srcset=i),e&&(o.src=e),o.complete&&u(o.naturalWidth>0?"loaded":"error"),()=>{n=!1}},[a,e,i,s,r,t,u]),o}(g,e,!u),C="loaded"===w,{mounted:M,transitionStatus:O,setMounted:k}=(0,m.useTransitionStatus)(C),P=n.useRef(null),q=n.useRef(!0);(0,d.useIsoLayoutEffect)(()=>{if(!u)return;let e=q.current;q.current=!1;let t=P.current;if(!t)return;if(!t.complete)return void R("loading");let n=t.naturalWidth>0?"loaded":"error";R(n),"loaded"===n&&e&&k(!0)},[u,g,v,y,b.crossOrigin,b.referrerPolicy,i,R,k]);let I=u?{"data-loading":"loading"===w?"":void 0,"data-error":"error"===w?"":void 0,"aria-hidden":"loaded"!==w||void 0,onLoad(){R("loaded")},onError(){R("error")}}:void 0,$=(0,l.useStableCallback)(e=>{o?.(e),S(e)});(0,d.useIsoLayoutEffect)(()=>{"idle"!==w&&$(w)},[w,$]),(0,d.useIsoLayoutEffect)(()=>()=>S("idle"),[S]),(0,c.useOpenChangeComplete)({enabled:!C,open:C,ref:P,onComplete(){C||k(!1)}});let L=u||M,T={};void 0!==y&&(T.sizes=y),void 0!==v&&(T.srcSet=v),void 0!==g&&(T.src=g);let j=(0,r.useRenderElement)("img",e,{state:{imageLoadingStatus:w,transitionStatus:u&&"ending"===O?void 0:O},ref:[t,P],props:[I,b,T],stateAttributesMapping:h,enabled:L});return L?j:null});var v=e.i(39957);let g=n.forwardRef(function(e,t){let{className:s,render:i,delay:u=0,style:l,...d}=e,{imageLoadingStatus:c}=a(),[f,m]=n.useState(0===u),p=(0,v.useTimeout)();return n.useEffect(()=>(u>0?p.start(u,()=>m(!0)):m(!0),p.clear),[p,u]),(0,r.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:t,props:d,stateAttributesMapping:o,enabled:"loaded"!==c&&(0===u||f)})});e.s(["Fallback",0,g,"Image",0,y,"Root",0,u],14751);var b=e.i(14751),b=b,S=e.i(25913),w=e.i(49287),R=e.i(26478),C=e.i(90063);let M=(0,S.cva)("inline-flex shrink-0 items-center justify-center overflow-hidden font-semibold uppercase select-none",{variants:{kind:{app:"rounded-sm bg-primary text-primary-foreground",account:"rounded-full bg-secondary font-sans text-foreground",ship:"rounded-sm bg-secondary font-mono text-foreground",argo:"rounded-sm bg-highlight text-primary",retired:"rounded-sm border border-dashed border-input font-mono font-medium text-muted-foreground"},size:{20:"size-5 text-micro [&_svg]:size-3",28:"size-7 text-micro [&_svg]:size-(--size-icon-sm)",36:"size-9 text-caption [&_svg]:size-(--size-icon)"}},defaultVariants:{kind:"ship",size:28}});e.s(["Avatar",0,function({kind:e="ship",size:n,name:r="",className:s}){let i=e??"ship";return(0,t.jsx)(b.Root,{"aria-hidden":!0,"data-slot":"avatar",className:(0,C.classNames)(M({kind:e,size:n}),s),children:(0,t.jsx)(b.Fallback,{children:"app"===i?(0,t.jsx)(w.Ship,{"aria-hidden":!0}):"argo"===i?(0,t.jsx)(R.UserRound,{"aria-hidden":!0}):r.replaceAll("-","").slice(0,2)})})}],94859)},90262,e=>{"use strict";var t=e.i(66027),n=e.i(27702);let r={canManage:!1,canSend:!1,canReceive:!1,canDefineLabels:!1,canAssignLabels:!1,canEditNetwork:!1,isViewer:!1};e.s(["useAccess",0,function(){let e=(0,n.useTRPC)();return function(e){return void 0===e?r:{canManage:e.scopes.includes("fleet:manage"),canSend:e.scopes.includes("messages:send"),canReceive:e.scopes.includes("messages:receive"),canDefineLabels:e.scopes.includes("labels:define"),canAssignLabels:e.scopes.includes("labels:assign"),canEditNetwork:e.scopes.includes("fleet:network"),isViewer:"viewer"===e.kind}}((0,t.useQuery)(e.console.session.queryOptions()).data)}])},5387,e=>{"use strict";var t=e.i(54616),n=e.i(66027),r=e.i(12598),s=e.i(90262),i=e.i(32150),a=e.i(80581),o=e.i(27702);function u(){let e=(0,o.useTRPC)();return(0,n.useQuery)(e.fleet.list.queryOptions(void 0,{refetchInterval:3e4}))}function l(){let e=(0,o.useTRPC)();return(0,n.useQuery)(e.fleet.labels.queryOptions())}function d(){let e=(0,o.useTRPC)(),t=(0,r.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["LAST_SEEN_REFRESH_MS",0,3e4,"useAssignLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.assignLabel.mutationOptions({onSuccess:n}))},"useChangeLabelValues",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.changeLabelValues.mutationOptions({onSuccess:n}))},"useCommissionShip",0,function(){let e=(0,o.useTRPC)(),n=d(),{track:r}=(0,i.useAnalytics)();return(0,t.useMutation)(e.fleet.commission.mutationOptions({onSuccess:async()=>{r({name:"ship_commissioned"}),await n()}}))},"useDefineLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.defineLabel.mutationOptions({onSuccess:n}))},"useDeleteLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.deleteLabel.mutationOptions({onSuccess:n}))},"useFleetLabels",0,l,"useFleetSnapshot",0,u,"useGetStartingPrompt",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.getStartingPrompt.mutationOptions({onSuccess:n}))},"useLabelContext",0,function(){let e=l(),t=u(),n=(0,s.useAccess)();if(void 0!==e.data&&void 0!==t.data)return(0,a.labelContextOf)(e.data,{ships:t.data,isOperator:!n.isViewer})},"usePingShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.ping.mutationOptions({onSuccess:n}))},"useRecrewShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.recrew.mutationOptions({onSuccess:n}))},"useReleaseShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.release.mutationOptions({onSuccess:n}))},"useRemoveCrewRequest",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.removeCrewRequest.mutationOptions({onSuccess:n}))},"useRenameShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.rename.mutationOptions({onSuccess:n}))},"useRequestCrew",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.crewRequest.mutationOptions({onSuccess:n}))},"useRetireShip",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.retire.mutationOptions({onSuccess:n}))},"useUnassignLabel",0,function(){let e=(0,o.useTRPC)(),n=d();return(0,t.useMutation)(e.fleet.unassignLabel.mutationOptions({onSuccess:n}))}])},80581,e=>{"use strict";let t=/^[a-z0-9-]+$/,n={"trierarch-plugin":"trierarch-plugin",squadrons:"squadrons"};function r(e){let t=e.ships.filter(e=>"retired"!==e.status),n=new Map;for(let r of e.labels){let s=e.ownerOf.get(r.id),i=s?.isYours??!1,a=i?"Yours":`By ${r.owner.name}`,o=n.get(a)??{title:a,isYours:i,keys:[]};o.keys.push({labelId:r.id,key:r.key,mark:s?.mark??"ship",values:r.values.map(e=>({valueId:e.id,value:e.value,shipCount:t.filter(t=>t.labels.some(t=>t.valueId===e.id)).length}))}),n.set(a,o)}return[...n.values()].toSorted((e,t)=>Number(t.isYours)-Number(e.isYours)||e.title.localeCompare(t.title)).map(({title:e,keys:t})=>({title:e,keys:t.toSorted((e,t)=>e.key.localeCompare(t.key))}))}function s(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)??""}`}e.s(["activeShipCount",0,function(e){return e.ships.filter(e=>"retired"!==e.status).length},"assignKeysOf",0,function(e,t){let n=r(t).find(e=>"Yours"===e.title);return(n?.keys??[]).map(t=>({...t,carriedValueIds:e.labels.filter(e=>e.labelId===t.labelId).map(e=>e.valueId)}))},"canAssignLabelsTo",0,function(e,t){return t.canAssignLabels&&"retired"!==e.status},"carriesEvery",0,function(e,t){return t.every(t=>e.labels.some(e=>e.valueId===t))},"chipTitleOf",0,function(e){let t=`${e.key}=${e.value}`;switch(e.mark){case"none":return`${t}, by you`;case"gone":return`${t}, a label that no longer exists`;case"trierarch-plugin":case"squadrons":case"ship":return`${t}, by ${e.ownerName}`}},"chipsOf",0,function(e,t){let n=e=>t.ownerOf.get(e.labelId)?.isYours??!1;return e.labels.map(e=>{let n=t.ownerOf.get(e.labelId);return{labelId:e.labelId,valueId:e.valueId,key:e.key,value:e.value,mark:n?.mark??"gone",ownerName:n?.name??""}}).toSorted((e,t)=>Number(n(t))-Number(n(e))||e.key.localeCompare(t.key)||e.value.localeCompare(t.value))},"filterGroupsOf",0,r,"labelContextOf",0,function(e,t){let r=new Map(t.ships.map(e=>[e.id,e])),s=new Map(e.map(e=>{let s=r.get(e.owner.id),i=t.isOperator&&s?.kind==="operator",a=i?"none":n[s?.type??""]??"ship";return[e.id,{name:e.owner.name,mark:a,isYours:i}]}));return{labels:e,ownerOf:s,ships:t.ships}},"labelLimitOf",0,function(e,t){let n=e.labels.length;return{...n>=15?{count:`${String(n)} of ${String(t)}`}:{},isAtLimit:n>=t}},"labelRowsOf",0,function(e){let t=e.ships.filter(e=>"retired"!==e.status);return e.labels.map(n=>{let r=e.ownerOf.get(n.id);return{labelId:n.id,key:n.key,owner:{name:n.owner.name,isYours:r?.isYours??!1,mark:r?.mark??"ship"},values:n.values.map(e=>{let n;return{valueId:e.id,value:e.value,shipCount:t.filter((n=e.id,e=>e.labels.some(e=>e.valueId===n))).length}}),shipCount:t.filter(e=>e.labels.some(e=>e.labelId===n.id)).length}}).toSorted((e,t)=>Number(t.owner.isYours)-Number(e.owner.isYours)||e.owner.name.localeCompare(t.owner.name)||e.key.localeCompare(t.key))},"labelTextProblem",0,function(e,n){if(!(""===e||e.length<=63&&t.test(e)))return`${n}: use lowercase letters, digits and - only, at most ${String(63)} characters (decision 0031).`},"listed",0,s,"matchesLabelQuery",0,function(e,t){let n=t.trim().toLowerCase();return""===n||e.key.includes(n)||e.values.some(e=>e.value.includes(n))},"pickedChips",0,function(e,t){return e.flatMap(e=>{let n=t.labels.find(t=>t.values.some(t=>t.id===e)),r=n?.values.find(t=>t.id===e);if(void 0===n||void 0===r)return[];let s=t.ownerOf.get(n.id);return[{labelId:n.id,valueId:r.id,key:n.key,value:r.value,mark:s?.mark??"ship",ownerName:s?.name??n.owner.name}]})},"retireLabelLines",0,function(e){let t=[];if(e.carried.length>0&&t.push(`Its ${1===e.carried.length?"label is":`${String(e.carried.length)} labels are`} removed with it: ${e.carried.join(", ")}.`),void 0!==e.owned){let{keys:n,carriers:r}=e.owned;t.push(`Its ${1===n.length?"label retires":`${String(n.length)} labels retire`} with it: ${s(n)}. Nobody can assign ${1===n.length?"it":"them"} again.`),r.length>0&&t.push(`${1===n.length?"It is":"They are"} removed from the ${1===r.length?"ship that carries":`${String(r.length)} ships that carry`} ${1===n.length?"it":"them"}: ${s(r)}.`)}return t},"retiredLabelsOf",0,function(e,t){let n=e.labels.map(e=>`${e.key}=${e.value}`),r=t.labels.filter(t=>t.owner.id===e.id);if(0===r.length)return{carried:n};let s=new Set(r.map(e=>e.id)),i=t.ships.filter(t=>"retired"!==t.status&&t.id!==e.id&&t.labels.some(e=>s.has(e.labelId))).map(e=>e.name);return{carried:n,owned:{keys:r.map(e=>e.key),carriers:i}}},"rowChips",0,function(e,t){let n=0,r=e.findIndex((e,r)=>(n+=e.key.length+e.value.length+1,r>0&&n>t)),s=-1===r?e.length:r;return{shown:e.slice(0,s),folded:e.slice(s)}}],80581)},17540,e=>{"use strict";var t=e.i(43476),n=e.i(70703),r=e.i(71645);e.s(["lazyDialog",0,function(e,s){let i=(0,n.default)(e,{ssr:!1});return function(e){let n=s(e),[a,o]=(0,r.useState)(n);return n&&!a&&o(!0),a||n?(0,t.jsx)(i,{...e}):null}}])},28459,e=>{"use strict";var t=e.i(54616),n=e.i(66027),r=e.i(12598),s=e.i(48695),i=e.i(84294),a=e.i(27702);function o(e){let t=String(e.attempts-1);return e.isPushed?`Handed ${t} times, never confirmed; fifth refused: undeliverable.`:`Handed (pulled) ${t} times, never acknowledged; fifth receive refused: undeliverable.`}function u(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.needsAttention.queryOptions())}function l(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.noShipCanTake.queryOptions())}function d(){let e=(0,a.useTRPC)();return(0,n.useQuery)(e.fleet.overdue.queryOptions())}let c={pending:"Pending",received:"Received",handed:"Handed"},f={notConfirmed:"not confirmed",idle:"session idle",busy:"session busy"};function m(){let e=(0,a.useTRPC)(),t=(0,r.useQueryClient)();return()=>t.invalidateQueries({queryKey:e.fleet.pathKey()})}e.s(["DISMISSED_TOAST",0,{title:"Delivery dismissed",description:"It stays in the timelines as dismissed."},"attentionReason",0,function(e){switch(e.state){case"undeliverable":return o(e);case"notHandled":return"Acknowledged, then its turn died; handed once more, and that turn died too: not handled."}},"canResend",0,function(e){return!e.message.isPing},"deliveryWithId",0,function(e,t){return e?.find(e=>e.deliveryId===t)},"messagePathOf",0,function(e){let{message:t}=e;return`/ships/${t.sender.id}?tab=messages&message=${t.id}`},"overduePathOf",0,function(e){return`/ships/${e.ship.id}?tab=messages&message=${e.message.id}`},"overdueReason",0,function(e){return`${c[e.state]}, ${f[e.clock]}`},"resentToast",0,function(e){return{title:"Message resent",description:`A new message went to ${function(e){let{recipient:t}=e.message;return"ship"===t.kind?t.ship.name:`any ship of type ${t.type}`}(e)}. The original is dismissed.`}},"undeliverableReason",0,o,"useAttentionCount",0,function(){let e=u().data?.length,t=d().data?.length,n=l().data?.length,r=(0,s.useSquadrons)();return void 0===e||void 0===t||void 0===n?void 0:e+t+n+(0,i.silentMembers)(r.data??[]).length},"useDismissDelivery",0,function(){let e=(0,a.useTRPC)(),n=m();return(0,t.useMutation)(e.fleet.dismiss.mutationOptions({onSuccess:n}))},"useNeedsAttention",0,u,"useNoShipCanTake",0,l,"useOverdue",0,d,"useResendDelivery",0,function(){let e=(0,a.useTRPC)(),n=m();return(0,t.useMutation)(e.fleet.resend.mutationOptions({onSuccess:n}))}])},31513,e=>{"use strict";e.s(["SOURCE_URL",0,"https://github.com/ThomasHendrickx/aeolus-fleet"])},48695,86165,e=>{"use strict";var t=e.i(54616),n=e.i(12598),r=e.i(32150),s=e.i(76580),i=e.i(94070),a=e.i(2660),o=e.i(95187);let u=(0,o.createServerReference)("00bbabdf3d4667be13d96623a45863e32cfe1e44ab",o.callServer,void 0,o.findSourceMapURL,"connectSquadrons"),l=["squadrons","connection"];function d(){return(0,s.useConsoleRead)({queryKey:l,queryFn:()=>(0,i.fetchConsoleRead)({read:"squadrons-connection"})})}function c(){let e=d();return void 0===e.data?e.isError?"not-connected":"unknown":e.data.state}e.s(["useConnectSquadrons",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async()=>(0,a.dataOf)(await u()),onSuccess:t=>{e.setQueryData(l,t)}})},"useHasSquadrons",0,function(){let e=d();return void 0!==e.data&&"none"!==e.data.state},"useSquadronsConnection",0,c,"useSquadronsSettings",0,d],86165);let f=(0,o.createServerReference)("4074648e7698bff8d918108efa5bb1dc8d0a37fd8e",o.callServer,void 0,o.findSourceMapURL,"addMember"),m=(0,o.createServerReference)("4097b5c482a209e5ed7a689f5afb50783d46fcb876",o.callServer,void 0,o.findSourceMapURL,"addRepository"),p=(0,o.createServerReference)("40a317af66400e5f577c66c3fdd4a33d642b04efc8",o.callServer,void 0,o.findSourceMapURL,"forceStandDown"),h=(0,o.createServerReference)("404a2523cf7704694f7bbb3ffc8e9a6806e7a1dc93",o.callServer,void 0,o.findSourceMapURL,"formSquadron"),y=(0,o.createServerReference)("406397d99697ed37edf76388d4c95c26d007102ed8",o.callServer,void 0,o.findSourceMapURL,"newCrewLine"),v=(0,o.createServerReference)("0023d7d459fc95afae89ebcfd677ec28276a6e0b34",o.callServer,void 0,o.findSourceMapURL,"refreshCatalogue"),g=(0,o.createServerReference)("405b3d865fc43cb13c915bf79f744d4c82d9428c9c",o.callServer,void 0,o.findSourceMapURL,"removeMember"),b=(0,o.createServerReference)("40afa006fb79d482ac88a1a23772098dfe124e1425",o.callServer,void 0,o.findSourceMapURL,"removeRepository"),S=(0,o.createServerReference)("4072bf5e28a7446239e115289c3928390d7bcde483",o.callServer,void 0,o.findSourceMapURL,"standDown"),w=["squadrons","list"];function R(e){return["squadrons","crew-lines",e]}let C=["squadrons","repositories"];function M(){let e=(0,n.useQueryClient)();return async()=>{await Promise.all([e.invalidateQueries({queryKey:C}),e.invalidateQueries({queryKey:["squadrons","catalogue"]})])}}e.s(["useAddMember",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await f(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useAddRepository",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await m(e)),onSettled:e})},"useBlueprintCrew",0,function(e){let t="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","blueprint-crew",e],queryFn:async()=>void 0===e?[]:(0,i.fetchConsoleRead)({read:"blueprint-crew",input:e}),enabled:t&&void 0!==e})},"useCatalogue",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","catalogue"],queryFn:()=>(0,i.fetchConsoleRead)({read:"catalogue"}),enabled:e})},"useForceStandDown",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await p(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useFormSquadron",0,function(){let e=(0,n.useQueryClient)(),{track:s}=(0,r.useAnalytics)();return(0,t.useMutation)({mutationFn:async({blueprint:e,members:t})=>(0,a.dataOf)(await h({blueprint:e,...void 0===t?{}:{members:t}})),onSuccess:async t=>{s({name:"squadron_formed",roleCount:new Set(t.members.map(e=>e.role)).size}),e.setQueryData(R(t.squadronId),t.members),await e.invalidateQueries({queryKey:w})}})},"useIssuedCrewLines",0,function(e){return new Map(((0,n.useQueryClient)().getQueryData(R(e))??[]).map(e=>[e.shipId,{crewLines:e.crewLines,launchNote:e.launchNote,model:e.model}]))},"useKeptMessages",0,function(e){let t="connected"===c();return(0,s.useConsoleRead)({queryKey:["squadrons","messages",e],queryFn:()=>(0,i.fetchConsoleRead)({read:"kept-messages",input:{squadronId:e}}),refetchInterval:5e3,enabled:t})},"useNewCrewLine",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await y(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useRefreshCatalogue",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async()=>(0,a.dataOf)(await v()),onSuccess:e})},"useRemoveMember",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await g(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})},"useRemoveRepository",0,function(){let e=M();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await b(e)),onSettled:e})},"useRepositories",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:C,queryFn:()=>(0,i.fetchConsoleRead)({read:"repositories"}),enabled:e})},"useSquadrons",0,function(){let e="connected"===c();return(0,s.useConsoleRead)({queryKey:w,queryFn:()=>(0,i.fetchConsoleRead)({read:"squadrons"}),refetchInterval:5e3,enabled:e})},"useStandDown",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async e=>(0,a.dataOf)(await S(e)),onSuccess:async()=>{await e.invalidateQueries({queryKey:w})}})}],48695)},84294,e=>{"use strict";function t(e,t){return e.roles.map(e=>({role:e.name,template:`${e.template.name}@${String(e.template.version)}`,count:e.count,checkInMinutes:t.find(t=>t.repository===e.template.repository&&t.name===e.template.name&&t.version===e.template.version)?.checkInMinutes}))}function n(e){let t=Math.floor(e/60),n=e%60;return 0===t?`${String(n)} min`:0===n?`${String(t)} h`:`${String(t)} h ${String(n)} min`}e.s(["blueprintChoices",0,function(e){let t=new Map;for(let n of e.blueprints){let e=`${n.repository}#${n.name}`,r=t.get(e)??{key:e,repository:n.repository,name:n.name,versions:[]};r.versions.push(n),t.set(e,r)}return[...t.values()].map(e=>({...e,versions:[...e.versions].sort((e,t)=>t.version-e.version)})).sort((e,t)=>e.name.localeCompare(t.name))},"blueprintPath",0,function(e){let t=new URLSearchParams({repository:e.repository});return void 0!==e.version&&t.set("version",String(e.version)),`/squadrons/blueprints/${encodeURIComponent(e.name)}?${t.toString()}`},"blueprintsUsing",0,function(e,t){return e.filter(e=>e.roles.some(e=>e.template.repository===t.repository&&e.template.name===t.name&&(void 0===t.version||e.template.version===t.version)))},"checkInText",0,function(e){return e%60==0?`every ${String(e/60)} h`:`every ${String(e)} min`},"handoffsOf",0,function(e,t){let n=e=>[...new Set(e)];return{from:n(e.handoffs.filter(e=>e.to===t).map(e=>e.role)),to:n(e.handoffs.filter(e=>e.role===t).map(e=>e.to))}},"handoffsText",0,function(e){let t=[e.from.length>0?`from ${e.from.join(", ")}`:void 0,e.to.length>0?`to ${e.to.join(", ")}`:void 0].filter(e=>void 0!==e);return 0===t.length?"None":t.join(" · ")},"healthCounts",0,function(e){return["on-time","late","silent","standing-down","not-on-station"].map(t=>({health:t,count:e.filter(e=>e.health===t).length})).filter(e=>e.count>0)},"memberCount",0,function(e){return e.roles.reduce((e,t)=>e+t.count,0)},"membersByRole",0,function(e){let t=new Map;for(let n of e)t.set(n.role,[...t.get(n.role)??[],n]);return[...t.entries()].map(([e,t])=>({role:e,members:t}))},"otherMembersOfRole",0,function(e,t){let n=e.members.find(e=>e.shipId===t)?.role;return e.members.filter(e=>e.role===n&&e.shipId!==t&&"retired"!==e.crew.status).map(e=>e.name)},"roleOptions",0,function(e,n){let{blueprint:r,templates:s}=n;return t(r,s).map(t=>({role:t.role,template:t.template,checkInMinutes:t.checkInMinutes,now:e.members.filter(e=>e.role===t.role&&"retired"!==e.crew.status).length,inBlueprint:t.count}))},"rolePreviews",0,t,"rolesText",0,function(e){return e.roles.map(e=>e.count>1?`${e.name} \xd7${String(e.count)}`:e.name).join(", ")},"shipsInSquadrons",0,function(e){let t=new Map;for(let n of e)if("disbanded"!==n.state)for(let e of(t.set(n.flagship.shipId,{squadronId:n.id,role:null}),n.members))t.set(e.shipId,{squadronId:n.id,role:e.role});return t},"silentMembers",0,function(e){return e.filter(e=>"disbanded"!==e.state).flatMap(e=>e.members.filter(e=>"silent"===e.health).map(t=>({squadronId:e.id,member:t})))},"squadronActionsOffered",0,function(e,t){let n="sailing"===e.state;return{canAddMember:t.canManage&&n&&t.hasRoles,canMessageFlagship:t.canSend&&"disbanded"!==e.state,canStandDown:t.canManage&&n,canForceStandDown:t.canManage&&"disbanded"!==e.state}},"squadronsFromBlueprint",0,function(e,t){return e.filter(e=>e.blueprint.repository===t.repository&&e.blueprint.name===t.name)},"squadronsText",0,function(e){return["forming","sailing","standing-down"].map(t=>({state:t,count:e.filter(e=>e.state===t).length})).filter(e=>e.count>0).map(e=>`${String(e.count)} ${e.state.replace("-"," ")}`).join(", ")},"stationCount",0,function(e){return{onStation:e.members.filter(e=>null!==e.onStationAt).length,total:e.members.length}},"templateChoices",0,function(e){let t=new Map;for(let n of e.templates){let e=`${n.repository}#${n.name}`,r=t.get(e)??{key:e,repository:n.repository,name:n.name,versions:[]};r.versions.push(n),t.set(e,r)}return[...t.values()].map(e=>({...e,versions:[...e.versions].sort((e,t)=>t.version-e.version)})).sort((e,t)=>e.name.localeCompare(t.name))},"templatePath",0,function(e){let t=new URLSearchParams({repository:e.repository});return void 0!==e.version&&t.set("version",String(e.version)),`/squadrons/templates/${encodeURIComponent(e.name)}?${t.toString()}`},"thresholdsText",0,function(e){return`Late after ${n(+e)}, silent after ${n(3*e)}`},"workCounts",0,function(e){return["working","idle","blocked"].map(t=>({state:t,count:e.filter(e=>e?.state===t).length})).filter(e=>e.count>0)}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34253,e=>{"use strict";var t=e.i(43476);let r=`Use an email of at most ${String(254)} characters`,a=`Use a password of at most ${String(1024)} characters`;String(12);var i=e.i(22768),s=e.i(56420);let l={name:"timer",size:24,node:[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]};l.node;let n=(0,s.default)(l);var o=e.i(18566),d=e.i(71645),u=e=>e instanceof Date,f=e=>null==e,c=e=>!f(e)&&!Array.isArray(e)&&"object"==typeof e&&!u(e);let y=/[.[\]'"]/;var m=e=>e.split(y).filter(Boolean),h="u">typeof window&&void 0!==window.HTMLElement&&"u">typeof document;function p(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e);let t="u">typeof Blob&&e instanceof Blob,r="u">typeof FileList&&e instanceof FileList;if(h&&(t||r))return e;let a=Array.isArray(e);if(!a&&e.constructor!==Object)return e;let i=a?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(i[t]=p(e[t]));return i}let g="trigger",v="onChange",b="onSubmit",x="maxLength",A="minLength",V="pattern",_="required",w="validate",k=[_,"min","max",A,x,V,w],F="form",S="root",j=["__proto__","constructor","prototype"],E=/^\w*$/;var D=e=>void 0===e,N=(e,t,r)=>{if(!t||!c(e))return r;let a=E.test(t)?[t]:m(t);if(a.some(e=>j.includes(e)))return r;let i=a.reduce((e,t)=>f(e)?void 0:e[t],e);return D(i)||i===e?D(e[t])?r:e[t]:i},O=e=>"function"==typeof e,T=(e,t,r)=>{let a=-1,i=E.test(t)?[t]:m(t),s=i.length,l=s-1;for(;++a<s;){let t=i[a],s=r;if(a!==l){let r=e[t];s=c(r)||Array.isArray(r)?r:isNaN(+i[a+1])?{}:[]}if(j.includes(t))return;e[t]=s,e=e[t]}};d.default.createContext(null).displayName="HookFormControlContext";let C=h?d.default.useLayoutEffect:d.default.useEffect;var R=e=>f(e)||"object"!=typeof e;let U=(e,t)=>{let r;return 0===t.length&&!Array.isArray(e)&&!(c(r=e.constructor&&e.constructor.prototype)&&r.hasOwnProperty("isPrototypeOf"))};function L(e,t,r=new WeakMap){if(e===t)return!0;if(R(e)||R(t))return Object.is(e,t);if(u(e)&&u(t))return Object.is(e.getTime(),t.getTime());let a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;if(U(e,a)||U(t,i))return Object.is(e,t);if(!a.length&&Array.isArray(e)!==Array.isArray(t))return!1;let s=r.get(e);if(s&&s.has(t))return!0;if(s)s.add(t);else{let a=new WeakSet;a.add(t),r.set(e,a)}for(let i of a){let a=e[i];if(!(i in t))return!1;if("ref"!==i){let e=t[i];if(u(a)&&u(e)||(c(a)||Array.isArray(a))&&(c(e)||Array.isArray(e))?!L(a,e,r):!Object.is(a,e))return!1}}return!0}var M=e=>"string"==typeof e,B=e=>({isOnSubmit:!e||e===b,isOnBlur:"onBlur"===e,isOnChange:e===v,isOnAll:"all"===e,isOnTouch:"onTouched"===e}),I=(e,t,r)=>{if(r)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let r of t.watch)if(e.startsWith(r)&&"."===e.charAt(r.length))return!0;return!1};let P=(e,t,r)=>{for(let a of r||Object.keys(e)){if("_f"===a)continue;let i=r?N(e,a):e[a];if(i){let{_f:e}=i;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],e.name))return!0;else if(e.ref&&t(e.ref,e.name))return!0;else if(P(i,t))return!0}else if((c(i)||Array.isArray(i))&&P(i,t))return!0}}};var z=(e,t,r)=>{let a=N(e,r),i=Array.isArray(a)?a:[];return T(i,S,t[r]),T(e,r,i),e},$=e=>c(e)&&!Object.keys(e).length,W=e=>{if(!h)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},q=(e,t,r,a,i)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:i||!0}}:{};let H={value:!1,isValid:!1},Y={value:!0,isValid:!0};var Q=e=>{if(!Array.isArray(e))return H;if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}let t=e[0];return t&&t.checked&&!t.disabled?t.attributes&&"value"in t.attributes?D(t.value)||""===t.value?Y:{value:t.value,isValid:!0}:Y:H};let K={isValid:!1,value:null};var Z=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,K):K;function G(e,t,r="validate"){if(M(e)||Array.isArray(e)&&e.every(M)||"boolean"==typeof e&&!e)return{type:r,message:M(e)?e:"",ref:t}}var J=e=>!c(e)||e instanceof RegExp?{value:e,message:""}:e,X=async(e,t,r,a,i,s)=>{let{ref:l,refs:n,required:o,maxLength:d,minLength:y,min:m,max:h,pattern:p,validate:g,name:v,valueAsNumber:b,mount:k,_c:F}=e._f,S=N(r,v);if(!k||t.has(v))return{};let j=n?n[0]:l,E=e=>{if(i&&j.reportValidity){let t="boolean"==typeof e?"":e||"";n?n.forEach(e=>O(e.setCustomValidity)&&e.setCustomValidity(t)):j.setCustomValidity(t),j.reportValidity()}},T={},C="radio"===l.type,R="checkbox"===l.type,U=(b||"file"===l.type)&&D(l.value)&&D(S)||W(l)&&""===l.value&&!F||""===S||Array.isArray(S)&&!S.length,L=q.bind(null,v,a,T),B=(e,t,r,a=x,i=A)=>{let s=e?t:r;T[v]={type:e?a:i,message:s,ref:l,...L(e?a:i,s)}};if(s?!Array.isArray(S)||!S.length:o&&(!(C||R)&&(U||f(S))||"boolean"==typeof S&&!S||R&&!Q(n).isValid||C&&!Z(n).isValid)){let{value:e,message:t}=M(o)?{value:!!o,message:o}:J(o);if(e&&(T[v]={type:_,message:t,ref:j,...L(_,t)},!a))return E(t),T}if(!U&&(!f(m)||!f(h))){let e,t,r=J(h),i=J(m);if(f(S)||u(S)||isNaN(S)){let a=l.valueAsDate||new Date(S),s=e=>new Date(new Date().toDateString()+" "+e),n="time"==l.type,o="week"==l.type;M(r.value)&&S&&(e=n?s(S)>s(r.value):o?S>r.value:a>new Date(r.value)),M(i.value)&&S&&(t=n?s(S)<s(i.value):o?S<i.value:a<new Date(i.value))}else{let a=l.valueAsNumber||(S?+S:S);f(r.value)||(e=a>r.value),f(i.value)||(t=a<i.value)}if((e||t)&&(B(!!e,r.message,i.message,"max","min"),!a))return E(T[v].message),T}if((d||y)&&!U&&(M(S)||s&&Array.isArray(S))){let e=J(d),t=J(y),r=!f(e.value)&&S.length>+e.value,i=!f(t.value)&&S.length<+t.value;if((r||i)&&(B(r,e.message,t.message),!a))return E(T[v].message),T}if(p&&!U&&M(S)){let{value:e,message:t}=J(p);if(e instanceof RegExp&&!S.match(e)&&(T[v]={type:V,message:t,ref:l,...L(V,t)},!a))return E(t),T}if(g){if(O(g)){let e=G(await g(S,r),j);if(e&&(T[v]={...e,...L(w,e.message)},!a))return E(e.message),T}else if(c(g)){let e={};for(let t in g){if(!$(e)&&!a)break;let i=G(await g[t](S,r),j,t);i&&(e={...i,...L(t,i.message)},a||E(i.message),a&&(T[v]=e))}if(!$(e)&&(T[v]={ref:j,...e},!a))return T}}let I=T[v];return E(!I||I.message),T},ee=e=>Array.isArray(e)?e:[e],et=e=>Array.isArray(e)?e.filter(Boolean):[];function er(e,t){if(M(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let r=Array.isArray(t)?t:E.test(t)?[t]:m(t);if(r.some(e=>j.includes(String(e))))return e;let a=1===r.length?e:function(e,t){let r=t.length-1,a=0;for(;a<r;){if(f(e)){e=void 0;break}e=e[t[a]],a++}return e}(e,r),i=r.length-1,s=r[i];return a&&delete a[s],0!==i&&(c(a)&&$(a)||Array.isArray(a)&&function(e){for(let t in e)if(e.hasOwnProperty(t)&&!D(e[t]))return!1;return!0}(a))&&er(e,r.slice(0,-1)),e}d.default.createContext(null).displayName="HookFormContext";var ea=()=>{let e=[];return{get observers(){return e},next:t=>{for(let r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};let ei=(e,t)=>null!==e&&"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t);var es=(e,t)=>{if(!t)return!1;let r=e;for(let a of E.test(t)?[t]:m(t)){if(!ei(r,a))return ei(e,t);r=r[a]}return!0},el=e=>W(e)&&e.isConnected;function en(e){return Array.isArray(e)||c(e)}function eo(e){return Array.isArray(e)||c(e)&&!(e=>{for(let t in e)if(O(e[t]))return!0;return!1})(e)}function ed(e){return!!(e&&"_f"in e)}function eu(e){return Array.isArray(e)?!e.some(e=>!D(e)):!Object.keys(e).length}function ef(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function ec(e,t={},r){for(let a in e){let i=e[a],s=r&&r[a];!eo(i)||Array.isArray(i)&&ed(s)?D(i)||(t[a]=!0):(t[a]=Array.isArray(i)?[]:{},ec(i,t[a],s),eu(t[a])&&ef(t,a))}return t}function ey(e,t,r,a){for(let i in r||(r=ec(t,{},a)),e){let s=e[i],l=a&&a[i];!eo(s)||Array.isArray(s)&&ed(l)?L(s,t[i])?ef(r,i):r[i]=!0:(D(t)||R(r[i])?r[i]=ec(s,Array.isArray(s)?[]:{},l):ey(s,f(t)?{}:t[i],r[i],l),eu(r[i])&&ef(r,i))}return r}var em=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:a})=>D(e)?e:t?""===e?NaN:e?+e:e:r&&M(e)?new Date(e):a?a(e):e;function eh(e){let t=e.ref;return"file"===t.type?t.files:"radio"===t.type?Z(e.refs).value:"select-multiple"===t.type?[...t.selectedOptions].map(({value:e})=>e):"checkbox"===t.type?Q(e.refs).value:em(t.value,e)}var ep=e=>D(e)?e:e instanceof RegExp?e.source:c(e)?e.value instanceof RegExp?e.value.source:e.value:e;let eg="AsyncFunction";var ev=e=>{if(!e||!e.validate)return!1;if(O(e.validate))return e.validate.constructor.name===eg;if(c(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===eg)return!0}return!1};function eb(e,t,r){let a=N(e,r);if((null==a?void 0:a.type)||(null==a?void 0:a.message)||Array.isArray(a))return{error:a,name:r};let i=r.split(".");for(;i.length;){let a=i.join("."),s=N(t,a),l=N(e,a);if(s&&!Array.isArray(s)&&r!==a)break;if(l&&l.type)return{name:a,error:l};if(l&&l.root&&l.root.type)return{name:`${a}.root`,error:l.root};i.pop()}return{name:r}}let ex={mode:b,reValidateMode:v,shouldFocusError:!0},eA={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};var eV=e.i(90063),e_=e.i(54616),ew=e.i(27702),ek=e.i(46929);let eF=()=>()=>void 0;var eS=e.i(49635);let ej={UNAUTHORIZED:"Wrong email or password.",BAD_REQUEST:"Enter your email and password.",TOO_MANY_REQUESTS:"Too many attempts. Wait a minute, then try again."};var eE=e.i(15905),eD=e.i(12470),eN=e.i(91727);function eO(){return(0,t.jsxs)("div",{"data-testid":"sign-in-insecure-context",className:"flex gap-2.5 rounded-lg border border-tone-attention-border bg-tone-attention-bg px-3.5 py-3 text-meta text-tone-attention-fg",children:[(0,t.jsx)(i.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("p",{role:"alert",className:"font-medium",children:"Sign-in needs https"}),(0,t.jsx)("p",{children:"This page is plain http, so the browser drops the session cookie and your password travels in clear text. Open the console over https, or on localhost."})]})]})}var eT=e.i(10818);function eC(){return(0,t.jsxs)("div",{"data-testid":"sign-in-signed-in-elsewhere",className:"flex gap-2.5 rounded-lg border border-border bg-muted px-3.5 py-3 text-meta text-foreground",children:[(0,t.jsx)(eT.Info,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{role:"status",className:"flex flex-col gap-0.5",children:[(0,t.jsx)("p",{className:"font-medium",children:"You signed in somewhere else"}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"This session ended when you signed in on another device. Sign in again to use the console here."})]})]})}let eR=()=>()=>void 0,eU="text-meta text-destructive-text";e.s(["SignInForm",0,function({isSignedInElsewhere:e=!1}){var s;let l,y,v=(l=(0,ew.useTRPC)(),(0,e_.useMutation)(l.console.signIn.mutationOptions())),b=(0,o.useRouter)(),x=(0,d.useSyncExternalStore)(eR,()=>!0,()=>!1),A=(0,d.useSyncExternalStore)(eF,()=>window.isSecureContext,()=>!0),{register:V,handleSubmit:_,formState:{errors:j}}=function(e={}){let t,r,a,i,s=d.default.useRef(void 0),l=d.default.useRef(void 0),n=d.default.useRef(e.formControl),o=d.default.useRef(!!e.validate),[y,v]=d.default.useState(()=>({...p(eA),isLoading:O(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:O(e.defaultValues)?void 0:e.defaultValues}));if(!s.current||e.formControl&&n.current!==e.formControl)if(n.current=e.formControl,e.formControl)s.current={...e.formControl,formState:y},e.defaultValues&&!O(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:t,...r}=function(e={}){let t={...ex,...e},r={...p(eA),isLoading:O(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},a={},i=(c(t.defaultValues)||c(t.values))&&p(t.defaultValues||t.values)||{},s=t.shouldUnregister?{}:p(i),l={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},n={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},o={},d={},y=0,v=B(t.mode),b=B(t.reValidateMode),x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...x},V={...A},_=(...e)=>e.some(e=>A[e]||V[e]),j={array:ea(),state:ea()},C=0,R=0,U="all"===t.criteriaMode,q=(e,t)=>r=>{clearTimeout(d[e]),d[e]=setTimeout(t,r)},H=e=>{clearTimeout(d[e]),delete d[e],delete o[e]},Y=e=>{H(e);let t=`${e}.`;for(let e of Object.keys(o))e.startsWith(t)&&H(e)},Q=async e=>{if(!l.keepIsValid&&!t.disabled&&(_("isValid")||e)){let e,i=++C;t.resolver?(e=$((await eo()).errors),i===C&&K()):e=await ef({fields:a,onlyCheckValid:!0,eventType:"valid"}),i===C&&e!==r.isValid&&j.state.next({isValid:e})}},K=(e,a)=>{!t.disabled&&_("isValidating","validatingFields")&&((e||n.mount).forEach(e=>{e&&(a?T(r.validatingFields,e,a):er(r.validatingFields,e))}),j.state.next({validatingFields:r.validatingFields,isValidating:!$(r.validatingFields)}))},Z=()=>{r.dirtyFields=ey(i,s,void 0,a)},G=(e,t)=>{T(r.errors,e,t),r.errors={...r.errors},j.state.next({errors:r.errors})},J=(o,d,u,c)=>{let y=N(a,o);if(y){if((e=>{let t=E.test(e)?[e]:m(e),r=s,a=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(r=f(r)?r:r[i],a=f(a)?a:a[i],null===r&&null!==a)return!0}return!1})(o)||(e=>{if(!l.actionArrayLengths.size)return!1;let t=E.test(e)?[e]:m(e),r=s,a="",i=-1,n=0;for(let e=0;e<t.length&&!f(r);e++){let s=t[e];if(a=a?`${a}.${s}`:s,Array.isArray(r)&&+s>=r.length)return -1!==i&&(e!==i||+s<n);if(l.actionArrayLengths.has(a)&&(i=e+1,n=l.actionArrayLengths.get(a)),D(r=r[s])&&-1!==i&&e>i&&+t[i]<n)return!0}return!1})(o))return;let a=D(N(s,o)),h=N(s,o,D(u)?N(i,o):u);D(h)||c&&c.defaultChecked||d?T(s,o,d?h:eh(y._f)):eV(o,h),l.mount&&!l.action&&(t.resolver&&_("isValidating","validatingFields")?Promise.resolve().then(()=>Q()):Q(),a&&r.isDirty&&_("isDirty")&&(ec()||(r.isDirty=!1,j.state.next({...r}))),e.shouldUnregister&&a&&!D(N(s,o))&&I(o,n)&&(l.watch=!0))}},ei=(e,l,n,o,d)=>{let u=!1,f=!1,c={name:e};if(!t.disabled||!0===o){if(!n||o){let t=L(N(i,e),l);if(_("isDirty")&&(f=r.isDirty,r.isDirty=c.isDirty=!t||ec(),u=f!==c.isDirty),f=!!N(r.dirtyFields,e),t!==r.isDirty){var y=r.dirtyFields,m=ey(i,s,void 0,a);for(let e in y)e in m||delete y[e];Object.assign(y,m)}else t?er(r.dirtyFields,e):T(r.dirtyFields,e,!0);c.dirtyFields=r.dirtyFields,u=u||_("dirtyFields")&&!t!==f}if(n){let t=N(r.touchedFields,e);t||(T(r.touchedFields,e,n),c.touchedFields=r.touchedFields,u=u||_("touchedFields")&&t!==n)}u&&d&&j.state.next(c)}return u?c:{}},eo=async e=>(K(e,!0),await t.resolver(s,t.context,((e,t,r,a)=>{let i={};for(let r of e){let e=N(t,r);e&&T(i,r,e._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:a}})(e||n.mount,a,t.criteriaMode,t.shouldUseNativeValidation))),ed=async e=>{let t=R,{errors:i}=await eo(e);if(t!==R)return i;if(K(e),e){for(let t of e){let e=N(i,t);Y(t);let s=n.array.has(t)&&c(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e))),l=N(a,t),o=c(l)&&Object.keys(l).some(e=>"_f"!==e);s?z(r.errors,{[t]:e},t):(null==e?void 0:e.type)||(null==e?void 0:e.message)||Array.isArray(e)||c(e)&&o?T(r.errors,t,e):er(r.errors,t)}r.errors={...r.errors}}else Object.keys(o).forEach(H),r.errors=i;return i},eu=async({name:e,eventType:a})=>{if(t.validate){let i=R,l=await t.validate({formValues:s,formState:r,name:e,eventType:a});if(i!==R)return!0;if(c(l)){let e=!0;for(let t in eD(F),l){let r=l[t];r&&(e=!1,eN(`${F}.${t}`,{message:M(r.message)?r.message:"",type:r.type||w}))}return e}if(M(l)||!l)return eN(F,{message:l||"",type:w}),!1;eD(F)}return!0},ef=async({fields:a,onlyCheckValid:i,name:l,eventType:o,context:d={valid:!0,runRootValidation:!1}})=>{let u=R;if(t.validate&&!d.runRootValidation&&(d.runRootValidation=!0,!await eu({name:l,eventType:o}))&&(d.valid=!1,i))return d.valid;for(let l in a){let f=a[l];if(f){let{_f:a,...c}=f;if(a){let l=n.array.has(a.name),o=f._f&&ev(f._f),c=_("isValidating","validatingFields");o&&c&&K([a.name],!0);let y=await X(f,n.disabled,s,U,t.shouldUseNativeValidation&&!i,l);if(u!==R)return d.valid;if(o&&c&&K([a.name]),y[a.name]&&(d.valid=!1,i)||(i||(H(a.name),N(y,a.name)?l?z(r.errors,y,a.name):T(r.errors,a.name,y[a.name]):er(r.errors,a.name)),e.shouldUseNativeValidation&&y[a.name]))break}$(c)||await ef({context:d,onlyCheckValid:i,fields:c,name:l,eventType:o})}}return d.valid},ec=(e,t)=>(e&&t&&T(s,e,t),!L(l.mount?s:i,i)),eg=(e,t,r)=>{var a,o;return a=n,o={...l.mount?s:D(t)||M(e)?i:t},M(e)?(r&&a.watch.add(e),N(o,e,t)):Array.isArray(e)?e.map(e=>(r&&a.watch.add(e),N(o,e,N(t,e)))):(r&&(a.watchAll=!0),o)},eV=(e,t,r={},i=!1,l=!1,n=!1)=>{let o=N(a,e),d=t;if(o){let r=o._f;r&&(r.disabled||T(s,e,em(t,r)),d=W(r.ref)&&f(t)?"":t,"select-multiple"===r.ref.type?[...r.ref.options].forEach(e=>e.selected=d.includes(e.value)):r.refs?"checkbox"===r.ref.type?r.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(d)?e.checked=!!d.find(t=>t===e.value):e.checked=d===e.value||!!d)}):r.refs.forEach(e=>e.checked=e.value===d):"file"===r.ref.type?r.ref.value="":(r.ref.value=d,r.ref.type||l||n||j.state.next({name:e,values:i?s:p(s)})))}(r.shouldDirty||r.shouldTouch)&&ei(e,o&&o._f&&!o._f.disabled&&(o._f.valueAsNumber||o._f.valueAsDate||o._f.setValueAs)?em(t,o._f):d,r.shouldTouch,r.shouldDirty,!l),r.shouldValidate&&ej(e,{delayError:r.delayError}),r.shouldValidate&&o&&o._f&&o._f.deps&&(!Array.isArray(o._f.deps)||o._f.deps.length>0)&&ej(o._f.deps)},e_=(e,t,r,i=!1,l=!1,o=!1)=>{for(let d in n.array.has(e)&&j.array.next({name:e,values:i?s:p(s)}),t){if(!t.hasOwnProperty(d))continue;let s=t[d],f=e+"."+d,y=N(a,f);(n.array.has(e)||c(s)||y&&!y._f)&&!u(s)?e_(f,s,r,i,l,o):eV(f,s,r,i,l,o)}},ew=(e,t,i,o,d=!1)=>{let u=N(a,e),c=n.array.has(e),y=o?t:p(t),m=L(N(s,e),y);if(m||T(s,e,y),c)j.array.next({name:e,values:o?s:p(s)}),_("isDirty","dirtyFields")&&i.shouldDirty&&(Z(),d||j.state.next({name:e,dirtyFields:r.dirtyFields,isDirty:ec(e,y)})),i.shouldValidate&&ej(e,{delayError:i.delayError});else{let t=Array.isArray(y)&&!y.length||$(y),r=!m&&!d;!u||u._f||f(y)||t?eV(e,y,i,o,d,r):e_(e,y,i,o,d,r)}if(!m&&!d){let t=I(e,n),a=o?s:p(s);if(j.state.next({...t&&r,name:l.mount||t?e:void 0,values:a}),!c)for(let t of((e,t)=>{let r=t.split("."),a=[],i=r[0];for(let t=1;t<r.length;i+="."+r[t++])!isNaN(+r[t])&&e.has(i)&&a.push(`${i}.${r[t]}`);return a})(n.array,e))j.state.next({name:t,values:a})}},ek=(e,t,r={})=>ew(e,t,r,!1),eF=async e=>{l.mount=!0;let i=e.target,d=i.name,f=!0,m=N(a,d),h=e=>{f=Number.isNaN(e)||u(e)&&isNaN(e.getTime())||L(e,N(s,d,e))};if(m){let l,u,E,O,C=i.type?eh(m._f):c(l=e)&&l.target?"checkbox"===l.target.type?l.target.checked:"file"===l.target.type?l.target.files:l.target.value:l,M="blur"===e.type||"focusout"===e.type,B=!((O=m._f).mount&&(O.required||!D(O.required)&&!1!==O.required||!D(O.min)||!D(O.max)||!D(O.maxLength)||!D(O.minLength)||O.pattern||O.validate))&&!t.validate&&!t.resolver&&!N(r.errors,d)&&!m._f.deps,P=B||(g=M,x=N(r.touchedFields,d),A=r.isSubmitted,V=b,!(w=v).isOnAll&&(!A&&w.isOnTouch?!(x||g):(A?V.isOnBlur:w.isOnBlur)?!g:(A?!V.isOnChange:!w.isOnChange)||g)),z=I(d,n,M);if(T(s,d,p(C)),M){if(!i||!i.readOnly){m._f.onBlur&&m._f.onBlur(e);let t=o[d];t&&t(0)}}else m._f.onChange&&m._f.onChange(e);let W=ei(d,C,M),Y=!$(W)||z;if(M||j.state.next({name:d,type:e.type,...y?{values:p(s)}:{}}),P)return(!B||!r.isValid)&&_("isValid")&&("onBlur"===t.mode?M&&Q():M||Q()),Y&&j.state.next({name:d,...z?{}:W});if(!t.resolver&&t.validate&&await eu({name:d,eventType:e.type}),!M&&z&&j.state.next({...r}),t.resolver){let e=R,{errors:t}=await eo([d]);if(e!==R)return;if(K([d]),h(C),!f){$(W)||j.state.next(W);return}let i=eb(r.errors,a,d),s=eb(t,a,i.name||d);u=s.error,d=s.name,E=$(t)}else{let r=R;if(K([d],!0),u=(await X(m,n.disabled,s,U,t.shouldUseNativeValidation))[d],r!==R)return;if(K([d]),h(C),f){if(u)E=!1;else if(_("isValid")&&(E=await ef({fields:a,onlyCheckValid:!0,name:d,eventType:e.type}),r!==R))return}}if(f){m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&ej(m._f.deps);var g,x,A,V,w,k=d,F=E,S=u;let e=N(r.errors,k),a=_("isValid")&&"boolean"==typeof F&&r.isValid!==F;if(t.delayError&&S?(o[k]=q(k,()=>G(k,S)),o[k](t.delayError)):(H(k),S?T(r.errors,k,S):er(r.errors,k),r.errors={...r.errors}),(S?!L(e,S):e)||!$(W)||a){let e={...W,...a&&"boolean"==typeof F?{isValid:F}:{},errors:r.errors,name:k};j.state.next(e)}}}},eS=(e,t)=>{if(N(r.errors,t)&&e.focus)return e.focus(),1},ej=async(e,i={})=>{let s,l,d=ee(e);if(t.resolver){let t=R,r=await ed(D(e)?e:d);if(s=$(r),l=e?!d.some(e=>N(r,e)):s,t!==R)return l}else e?((l=(await Promise.all(d.map(async e=>{let t=N(a,e);return await ef({fields:t&&t._f?{[e]:t}:t,eventType:g})}))).every(Boolean))||r.isValid)&&Q():l=s=await ef({fields:a,name:e,eventType:g});if(i.delayError&&t.delayError&&M(e)){let a=N(r.errors,e);a?(er(r.errors,e),o[e]=q(e,()=>G(e,a)),o[e](t.delayError)):H(e)}if(i.shouldTouch)for(let t of e?d:n.mount)n.array.has(t)||T(r.touchedFields,t,!0);return j.state.next({...!M(e)||_("isValid")&&s!==r.isValid?{}:{name:e},...t.resolver||!e?{isValid:s}:{},...i.shouldTouch&&_("touchedFields")?{touchedFields:r.touchedFields}:{},errors:r.errors}),i.shouldFocus&&!l&&P(a,eS,e?d:n.mount),l},eE=(e,t)=>{let a=t||r,i=N(a.errors,e);return{invalid:!!i,isDirty:!!N(a.dirtyFields,e),error:i,isValidating:!!N(a.validatingFields,e),isTouched:!!N(a.touchedFields,e)}},eD=e=>{let t=e?ee(e):void 0;t?t.forEach(e=>{Y(e),er(r.errors,e),j.state.next({name:e,errors:r.errors})}):(Object.keys(o).forEach(H),r.errors={},j.state.next({errors:r.errors}))},eN=(e,t,i)=>{Y(e);let s=(N(a,e,{_f:{}})._f||{}).ref,{ref:l,message:n,type:o,types:d,...u}=N(r.errors,e)||{};T(r.errors,e,{...u,...t,ref:s}),j.state.next({name:e,errors:r.errors,isValid:!1}),i&&i.shouldFocus&&s&&s.focus&&s.focus()},eO=e=>{var t;let a=!!(null==(t=e.formState)?void 0:t.values);a&&y++;let{unsubscribe:l}=j.state.subscribe({next:t=>{var a,l;let n,o,d,u;if(n=e.name,o=t.name,d=e.exact,(!n||!o||n===o||ee(n).some(e=>e&&(d?e===o||e.startsWith(o+"."):e.startsWith(o)||o.startsWith(e))))&&(a=e.formState||A,l=e.reRenderRoot,eI(t),!(u=Object.keys(t).filter(e=>"name"!==e)).length||l&&u.length>=Object.keys(a).length||u.find(e=>a[e]===(!l||"all")))){let a={...s};e.callback({values:a,...r,...t,defaultValues:i})}}});if(!a)return l;let n=!1;return()=>{n||(n=!0,y--,l())}},eT=(e,l={})=>{for(let o of e?ee(e):n.mount)n.mount.delete(o),n.array.delete(o),n.disabled.delete(o),l.keepValue||(er(a,o),er(s,o)),l.keepError||(Y(o),er(r.errors,o)),l.keepDirty||er(r.dirtyFields,o),l.keepTouched||er(r.touchedFields,o),l.keepIsValidating||er(r.validatingFields,o),t.shouldUnregister||l.keepDefaultValue||er(i,o);y&&j.state.next({values:p(s)}),j.state.next({...r,...l.keepDirty?{}:{isDirty:ec()},...l.keepIsValidating?{}:{isValidating:!$(r.validatingFields)}}),l.keepIsValid||Q()},eC=({disabled:e,name:t})=>{if("boolean"==typeof e&&l.mount||e||n.disabled.has(t)){let r=n.disabled.has(t);e?n.disabled.add(t):n.disabled.delete(t),!!e!==r&&l.mount&&!l.action&&Q()}},eR=(e,r={})=>{let s=N(a,e),o="boolean"==typeof r.disabled||"boolean"==typeof t.disabled,d=!n.registerName.has(e)&&s&&s._f&&!s._f.mount;if(T(a,e,{...s||{},_f:{...s&&s._f?s._f:{ref:{name:e}},name:e,mount:!0,...r}}),n.mount.add(e),s&&s._f){let t=N(a,e);for(let e of k)e in r||delete t._f[e]}return s&&!d?eC({disabled:"boolean"==typeof r.disabled?r.disabled:t.disabled,name:e}):J(e,!0,r.value),{...o?{disabled:r.disabled||t.disabled}:{},...t.progressive?{required:!!r.required,min:ep(r.min),max:ep(r.max),minLength:ep(r.minLength),maxLength:ep(r.maxLength),pattern:ep(r.pattern)}:{},name:e,onChange:eF,onBlur:eF,ref:o=>{if(o){let t;n.registerName.add(e),eR(e,r),n.registerName.delete(e),s=N(a,e);let l=D(o.value)&&o.querySelectorAll&&o.querySelectorAll("input,select,textarea")[0]||o,d="radio"===(t=l).type||"checkbox"===t.type,u=s._f.refs||[];if(d?u.find(e=>e===l):l===s._f.ref)return;let f={...s._f};d?(f.refs=[...u.filter(el),l,...Array.isArray(N(i,e))?[{}]:[]],f.ref={type:l.type,name:e}):(f.ref=l,delete f.refs),T(a,e,{_f:f}),J(e,!1,void 0,l)}else{let i;(s=N(a,e,{}))._f&&(s._f.mount=!1),(t.shouldUnregister||r.shouldUnregister)&&(i=n.array,!e.split(".").some((e,t,r)=>!isNaN(Number(e))&&i.has(r.slice(0,t).join(".")))||!l.action)&&n.unMount.add(e)}}}},eU=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&P(a,eS,n.mount),eL=(e,i)=>async l=>{let d,u;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=p(s);if(j.state.next({isSubmitting:!0}),t.resolver){let e=R,{errors:t,values:a}=await eo();if(e!==R)return;K(),Object.keys(o).forEach(H),r.errors=t,f=p(a)}else{let e=R;if(await ef({fields:a,eventType:"submit"}),e!==R)return;er(r.errors,S)}if(n.disabled.size)for(let e of n.disabled)er(f,e);if($(r.errors)){j.state.next({errors:{}});try{d=await e(f,l)}catch(e){u=e}}else i&&await i({...r.errors},l),eU(),setTimeout(eU);if(j.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:$(r.errors)&&!u,submitCount:r.submitCount+1,errors:r.errors}),u)throw u;return d},eM=(e,d={})=>{R++;let u=e?p(e):i,f=p(u),c=$(e),y=a;if(Object.keys(o).forEach(H),d.keepDefaultValues||(i=u),!d.keepValues){if(d.keepDirtyValues)for(let e of new Set([...n.mount,...function e(t,r,a="",i=[]){for(let s in t){let l=a?`${a}.${s}`:s,n=t[s];en(n)&&en(N(r,l))?e(n,r,l,i):i.push(l)}return i}(ey(i,s,void 0,y),r.dirtyFields)])){let t=N(r.dirtyFields,e),a=N(s,e),i=N(f,e);t&&!D(a)?T(f,e,a):t||D(i)||ek(e,i)}else{if(h&&D(e))for(let e of n.mount){let t=N(a,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(W(e)){let t=e.closest("form");if(t){t.reset();break}}}}if(d.keepFieldsRef)for(let e of n.mount)ek(e,N(f,e));else a={}}if(t.shouldUnregister){if(s=d.keepDefaultValues?p(i):{},d.keepFieldsRef)for(let e of n.mount)T(s,e,N(f,e))}else s=p(f);j.array.next({values:{...f}}),j.state.next({name:void 0,type:void 0,values:{...f}})}n={mount:d.keepDirtyValues?n.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!A.isValid||!!d.keepIsValid||!!d.keepDirtyValues||!t.shouldUnregister&&!$(f),l.watch=!!t.shouldUnregister,l.keepIsValid=!!d.keepIsValid,l.action=!1,l.actionArrayLengths.clear(),d.keepErrors||(r.errors={}),j.state.next({submitCount:d.keepSubmitCount?r.submitCount:0,isDirty:!c&&(d.keepDirty?r.isDirty:d.keepValues?ec():!!(d.keepDefaultValues&&!L(e,i))),isSubmitted:!!d.keepIsSubmitted&&r.isSubmitted,dirtyFields:c?{}:d.keepDirtyValues?d.keepDefaultValues&&s?ey(i,s,void 0,y):r.dirtyFields:d.keepDefaultValues&&e?ey(i,e,void 0,y):d.keepDirty?r.dirtyFields:d.keepValues?ey(i,s,void 0,y):{},touchedFields:d.keepTouched?r.touchedFields:{},...!d.keepIsValidating&&(r.isValidating||!$(r.validatingFields))?{validatingFields:{},isValidating:!1}:null,errors:d.keepErrors?r.errors:{},isSubmitSuccessful:!!d.keepIsSubmitSuccessful&&r.isSubmitSuccessful,isSubmitting:!1,defaultValues:i})},eB=(e,r)=>eM(O(e)?e(s):e,{...t.resetOptions,...r}),eI=e=>{let{name:t,type:a,values:i,...s}=e;r={...r,...s}};j.state.subscribe({next:eI});let eP={control:{register:eR,unregister:eT,getFieldState:eE,handleSubmit:eL,setError:eN,_subscribe:eO,_runSchema:eo,_updateIsValidating:K,_focusError:eU,_getWatch:eg,_getDirty:ec,_setValid:Q,_setFieldArray:(e,i=[],n,o,d=!0,u=!0)=>{if(o&&n&&!t.disabled){l.action=!0;let t=N(a,e);if(l.actionArrayLengths.has(e)||l.actionArrayLengths.set(e,Array.isArray(t)?t.length:0),u&&Array.isArray(t)){let r=n(t,o.argA,o.argB);d&&T(a,e,r)}let s=N(r.errors,e);if(u&&Array.isArray(s)){var f;let t,a=s.root,i=n(s,o.argA,o.argB)||s;a&&(i.root=a),d&&T(r.errors,e,i),et(t=N(f=r.errors,e)).length||(null==t?void 0:t.root)||er(f,e)}let c=N(r.touchedFields,e),y=u&&Array.isArray(c);if(y){let t=n(c,o.argA,o.argB);d&&T(r.touchedFields,e,t)}let m=N(r.dirtyFields,e);if(u&&Array.isArray(m)){let t=n(m,o.argA,o.argB)||m;d&&T(r.dirtyFields,e,t)}_("dirtyFields")&&Z(),j.state.next({name:e,isDirty:ec(e,i),dirtyFields:r.dirtyFields,...y&&{touchedFields:r.touchedFields},errors:r.errors,isValid:r.isValid})}else T(s,e,i)},_setDisabledField:eC,_setErrors:e=>{Object.keys(o).forEach(H);let t=!$(e);r.errors=e,j.state.next({errors:r.errors,...t?{isValid:!1}:{}}),!t&&l.mount&&Q()},_getFieldArray:e=>et(N(l.mount?s:i,e,t.shouldUnregister?N(i,e,[]):[])),_reset:eM,_resetDefaultValues:()=>O(t.defaultValues)&&t.defaultValues().then(e=>{eB(e,t.resetOptions),j.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let e of n.unMount){let t=N(a,e);t&&(t._f.refs?t._f.refs.every(e=>!el(e)):!el(t._f.ref))&&eT(e)}n.unMount=new Set},_disableForm:e=>{"boolean"==typeof e&&(j.state.next({disabled:e}),P(a,(t,r)=>{let i=N(a,r);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0))},_subjects:j,_proxyFormState:A,get _fields(){return a},get _formValues(){return s},get _state(){return l},set _state(value){l=value},get _defaultValues(){return i},get _names(){return n},set _names(value){n=value},get _formState(){return r},get _options(){return t},set _options(value){v=B((t={...t,...value}).mode),b=B(t.reValidateMode),U="all"===t.criteriaMode}},subscribe:e=>(l.mount=!0,V={...V,...e.formState},eO({...e,formState:{...x,...e.formState}})),trigger:ej,register:eR,handleSubmit:eL,watch:(e,t)=>{if(O(e)){y++;let{unsubscribe:r}=j.state.subscribe({next:r=>"values"in r&&e(r.values||eg(void 0,t),r)}),a=!1;return{unsubscribe:()=>{a||(a=!0,y--,r())}}}return eg(e,t,!0)},setValue:ek,setValues:(e,t={})=>{let a=O(e)?e(s):e;if(!L(s,a)){for(let e of(s={...s,...a},n.mount))es(a,e)&&ew(e,N(a,e),t,!0,!0);j.state.next({...r,name:void 0,type:void 0,...y?{values:s}:{}}),t.shouldValidate&&Q()}},getValues:(e,t)=>{let a={...l.mount?s:i};return t&&(a=function e(t,r){let a=Array.isArray(t)?[]:{};for(let i in t)if(t.hasOwnProperty(i)){let s=t[i],l=r[i];s&&(c(s)||Array.isArray(s))&&l?a[i]=e(s,l):t[i]&&(a[i]=l)}return a}(t.dirtyFields?r.dirtyFields:r.touchedFields,a)),D(e)?a:M(e)?N(a,e):e.map(e=>N(a,e))},getErrors:e=>D(e)?{...r.errors}:M(e)?N(r.errors,e):e.map(e=>N(r.errors,e)),reset:eB,resetField:(e,t={})=>{N(a,e)&&(er(r.validatingFields,e),D(t.defaultValue)?ek(e,p(N(i,e))):(ek(e,t.defaultValue),T(i,e,p(t.defaultValue))),t.keepTouched||er(r.touchedFields,e),t.keepDirty||(er(r.dirtyFields,e),r.isDirty=t.defaultValue?ec(e,p(N(i,e))):ec()),t.keepError||(Y(e),er(r.errors,e),Q()),j.state.next({...r,isValidating:!$(r.validatingFields)}))},resetDefaultValues:(e,t={})=>{if(i=p(e),!t.keepDirty){let e=ey(i,s,void 0,a);r.dirtyFields=e,r.isDirty=!$(e)}t.keepIsValid||Q(),j.state.next({...r,defaultValues:i})},clearErrors:eD,unregister:eT,setError:eN,setFocus:(e,t={})=>{let r=N(a,e),i=r&&r._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&O(e.select)&&e.select()})}},getFieldState:eE};return{...eP,formControl:eP}}(e);s.current={...r,formState:y}}let b=s.current.control;b._options={...e,validate:e.validate};let x=()=>({...b._formState,defaultValues:b._defaultValues}),{resyncIfNeeded:A,snapshot:V}=(t=d.default.useRef(!1),r=d.default.useRef(!1),a=d.default.useRef(void 0),i=d.default.useRef(0),i.current++,!r.current&&x&&(r.current=!0,a.current=p(x())),{resyncIfNeeded:d.default.useCallback((e,s,l)=>{if(e&&(t.current||r.current&&i.current>1)){let e=s();L(a.current,e)||l(e)}t.current=!0},[]),snapshot:d.default.useCallback((e,t)=>{e&&(a.current=p(t()))},[])});return C(()=>{A(!0,x,v);let e=b._subscribe({formState:b._proxyFormState,callback:()=>v({...b._formState,defaultValues:b._defaultValues}),reRenderRoot:!0});return v(e=>({...e,isReady:!0})),b._formState.isReady=!0,()=>{e(),V(!0,x)}},[b,A,V]),d.default.useEffect(()=>b._disableForm(e.disabled),[b,e.disabled]),d.default.useEffect(()=>{e.mode&&(b._options.mode=e.mode),e.reValidateMode&&(b._options.reValidateMode=e.reValidateMode)},[b,e.mode,e.reValidateMode]),d.default.useEffect(()=>{e.errors&&(b._setErrors(e.errors),b._focusError())},[b,e.errors]),d.default.useEffect(()=>{var t;o.current&&!e.validate&&(null==(t=s.current)||t.clearErrors(F)),o.current=!!e.validate},[e.validate]),d.default.useEffect(()=>{e.shouldUnregister&&b._subjects.state.next({values:b._getWatch()})},[b,e.shouldUnregister]),d.default.useEffect(()=>{if(b._proxyFormState.isDirty){let e=b._getDirty();e!==y.isDirty&&b._subjects.state.next({isDirty:e})}},[b,y.isDirty]),d.default.useEffect(()=>{var t;e.values&&!L(e.values,l.current)?(b._reset(e.values,{keepFieldsRef:!0,...b._options.resetOptions}),(null==(t=b._options.resetOptions)?void 0:t.keepIsValid)||b._setValid(),l.current=e.values,v(e=>({...e}))):b._resetDefaultValues()},[b,e.values]),d.default.useEffect(()=>{b._state.mount||(b._setValid(),b._state.mount=!0),b._state.watch&&(b._state.watch=!1,b._subjects.state.next({...b._formState})),b._removeUnmounted()}),s.current.formState=d.default.useMemo(()=>((e,t,r=!0)=>{let a={};for(let i in e)Object.defineProperty(a,i,{get:()=>("all"!==t._proxyFormState[i]&&(t._proxyFormState[i]=!r||"all"),e[i])});return a})(y,b),[b,y]),s.current}({defaultValues:{email:"",password:""}}),R=_(e=>{v.mutate(e,{onSuccess:()=>{b.replace("/")}})}),U="TOO_MANY_REQUESTS"===(0,ek.trpcErrorCode)(v.error),q=U?(0,ek.retryAtOf)(v.error):void 0,H=(y=q?.getTime(),(0,d.useSyncExternalStore)(e=>{if(void 0===y)return()=>void 0;let t=setTimeout(e,Math.max(0,y-Date.now()));return()=>{clearTimeout(t)}},()=>void 0===y||Date.now()>=y,()=>!0));return(0,t.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h1",{className:"text-heading font-semibold max-sm:text-title-touch",children:"Sign in to Aeolus"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Use your operator account."})]}),A?v.isError?(0,t.jsxs)("div",{className:(0,eV.classNames)("flex gap-2.5 rounded-lg border px-3.5 py-3 text-meta",U?"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg":"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg"),children:[U?(0,t.jsx)(n,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}):(0,t.jsx)(i.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("p",{role:"alert",className:"font-medium",children:(s=v.error,ej[(0,ek.trpcErrorCode)(s)??""]??`Sign-in failed: ${s.message}`)}),q?(0,t.jsxs)("p",{children:["You can sign in again at ",(0,eS.clockTime)(q),"."]}):null]})]}):e?(0,t.jsx)(eC,{}):null:(0,t.jsx)(eO,{}),(0,t.jsxs)("form",{method:"post",noValidate:!0,"data-testid":"sign-in-form",className:"flex flex-col gap-4",onSubmit:e=>{R(e)},children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(eN.Label,{htmlFor:"sign-in-email",children:"Email"}),(0,t.jsx)(eD.Input,{id:"sign-in-email",type:"email",autoComplete:"username",placeholder:"you@example.com",className:"max-sm:h-(--size-control-touch) max-sm:text-input-touch","aria-invalid":!!j.email||void 0,"aria-describedby":j.email?"sign-in-email-error":void 0,...V("email",{validate:e=>{let t;return(0===(t=e.trim()).length?"Enter your email":t.length>254?r:void 0)??!0}})}),j.email?(0,t.jsx)("span",{id:"sign-in-email-error",className:eU,children:j.email.message}):null]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(eN.Label,{htmlFor:"sign-in-password",children:"Password"}),(0,t.jsx)(eD.Input,{id:"sign-in-password",type:"password",autoComplete:"current-password",className:"max-sm:h-(--size-control-touch) max-sm:text-input-touch","aria-invalid":!!j.password||void 0,"aria-describedby":j.password?"sign-in-password-error":void 0,...V("password",{validate:e=>(0===e.length?"Enter your password":e.length>1024?a:void 0)??!0})}),j.password?(0,t.jsx)("span",{id:"sign-in-password-error",className:eU,children:j.password.message}):null]}),(0,t.jsx)(eE.Button,{type:"submit",variant:"primary",className:"mt-1 w-full max-sm:h-(--size-control-touch)",disabled:!x||!H,isLoading:v.isPending,children:"Sign in"})]})]})}],34253)}]);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/console",
3
- "version": "0.25.2",
3
+ "version": "0.25.3",
4
4
  "description": "The Aeolus console: see every ship, answer your agents and manage the fleet from any device.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -40,8 +40,8 @@
40
40
  "postpack": "rm LICENSE"
41
41
  },
42
42
  "devDependencies": {
43
- "@aeolus-fleet/common": "0.25.2",
44
- "@aeolus-fleet/core": "0.25.2",
43
+ "@aeolus-fleet/common": "0.25.3",
44
+ "@aeolus-fleet/core": "0.25.3",
45
45
  "@base-ui/react": "^1.8.0",
46
46
  "@storybook/addon-vitest": "^10.6.1",
47
47
  "@storybook/nextjs-vite": "^10.6.1",
package/README.md CHANGED
@@ -7,7 +7,7 @@ Pre-v1: expect changes between minor releases. Its pages:
7
7
  | Path | What |
8
8
  | --- | --- |
9
9
  | `/sign-in` | Sign in with the operator email and password; the session crews `argo`. Only a session cookie stays in the browser |
10
- | `/` | The fleet overview, live over a WebSocket: every ship with status, type, and where a crewed ship's session runs or an awaiting ship's prompt status, updated without a reload; search and filters in the URL; commission a ship; each ship's actions behind their dialogs: get a new starting prompt for a ship awaiting crew (shown once with its crew line; asks first while an unclaimed one is out), release or re-crew a crewed ship (re-crew shows a fresh prompt once), and retire any ship but `argo` (the ship's name typed to confirm when it still has open deliveries; retired ships show under Show retired); sign out from the account menu. Without a session it sends you to `/sign-in`, which says so when you signed in somewhere else |
10
+ | `/` | The fleet overview, live over a WebSocket: every ship with status and where a crewed ship's session runs or an awaiting ship's prompt status, updated without a reload (a ship's type is a filter, not shown in its row; with squadrons on, a member shows its squadron instead); search and filters in the URL; commission a ship; each ship's actions behind their dialogs: get a new starting prompt for a ship awaiting crew (shown once with its crew line; asks first while an unclaimed one is out), release or re-crew a crewed ship (re-crew shows a fresh prompt once), and retire any ship but `argo` (the ship's name typed to confirm when it still has open deliveries; retired ships show under Show retired); sign out from the account menu. Without a session it sends you to `/sign-in`, which says so when you signed in somewhere else |
11
11
  | `/ships/[shipId]` | A ship's page, live: status, type, where its session runs, since when, when it was commissioned and its id, and how its last ping stands; Ping, Get starting prompt, Re-crew, Release, Rename (live name check and typed confirm) or Retire; a Timeline tab with every change to the ship, newest first, and a Messages tab with its messages grouped into threads by reply. A message opens in a side sheet (`?message=`) with its envelope, payload (formatted JSON or raw) and the history of its delivery, and Reply, which opens Compose with its sender as the recipient and the message it answers |
12
12
  | `/needs-attention` | Needs attention, live: every undeliverable delivery, oldest first, with its message, claims and since when. Resend sends it again as a new message from its sender; Dismiss lets it go; either removes it from the list with a toast. Its count shows in the Sidebar and TabBar on every page |
13
13
  | `/inbox` | argo's operator inbox, live: the messages ships sent to argo, Open, Done or All (`?filter=`), two panes on desktop and a list with a pushed message page on phone (`?message=`). Opening one marks it read; Mark as unread undoes that; Mark done or Reply (plain text to the sender) acknowledges it. Its open count shows in the Sidebar and TabBar on every page |
@@ -23,7 +23,7 @@ npm install @aeolus-fleet/console
23
23
  AEOLUS_SERVER_URL=https://fleet.example.com PORT=3000 npx aeolus-console start
24
24
  ```
25
25
 
26
- `aeolus-console start` runs the standalone server (`.next/standalone/packages/console/server.js`), without Next.js telemetry, until `SIGINT` or `SIGTERM`. An image can copy `.next/standalone` alone and run that `server.js` with `node`, setting `PORT` and `HOSTNAME`.
26
+ `aeolus-console start` runs the standalone server (`.next/standalone/packages/console/server.js`), without Next.js telemetry, until `SIGINT` or `SIGTERM`. An image can copy `.next/standalone` alone and run that `server.js` with `node`, setting `PORT` and `HOSTNAME`. The licence notices of the third-party code and fonts the console ships travel with it, in `.next/standalone/THIRD_PARTY_NOTICES`.
27
27
 
28
28
  ## Configuration
29
29
 
@@ -46,6 +46,10 @@ Environment variables, read when the app runs, never when it is built:
46
46
 
47
47
  `npm run dev` builds `@aeolus-fleet/common` first: the console bundles the built package, its schemas on the web app's server and only `@aeolus-fleet/common/rules` (no zod) in the browser, for live form hints (decision 0033).
48
48
 
49
+ ## Beyond localhost
50
+
51
+ On localhost, plain http works. On any other host, serve the console over https: over plain http the browser drops the `Secure` session cookie, so sign-in fails (the sign-in page says sign-in needs https), and the password travels in clear text. Put a TLS proxy in front, set `AEOLUS_SERVER_URL` to the server's https address (the console warns at startup when it is plain http beyond localhost), and `HOST` only when the proxy runs on another machine or container. The server README's "Beyond localhost" has the server's settings and a Caddy example for both behind one host.
52
+
49
53
  ## Design system
50
54
 
51
55
  The console is themed from `app/tokens.css`, the single copy of the design tokens (light on `:root`, dark on `.dark`, which follows the system setting). `app/globals.css` maps them onto Tailwind v4. Each feature's parts live in `features/<feature>/` by atomic design level, the shared ones in `components/`; atoms are shadcn/ui on Base UI (`components.json`). Geist and Geist Mono are self-hosted from `app/fonts/` under the SIL Open Font License.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/console",
3
- "version": "0.25.2",
3
+ "version": "0.25.3",
4
4
  "description": "The Aeolus console: see every ship, answer your agents and manage the fleet from any device.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -40,8 +40,8 @@
40
40
  "postpack": "rm LICENSE"
41
41
  },
42
42
  "devDependencies": {
43
- "@aeolus-fleet/common": "0.25.2",
44
- "@aeolus-fleet/core": "0.25.2",
43
+ "@aeolus-fleet/common": "0.25.3",
44
+ "@aeolus-fleet/core": "0.25.3",
45
45
  "@base-ui/react": "^1.8.0",
46
46
  "@storybook/addon-vitest": "^10.6.1",
47
47
  "@storybook/nextjs-vite": "^10.6.1",
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34253,e=>{"use strict";var t=e.i(43476);let r=`Use an email of at most ${String(254)} characters`,a=`Use a password of at most ${String(1024)} characters`;var i=e.i(22768),s=e.i(56420);let l={name:"timer",size:24,node:[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]};l.node;let n=(0,s.default)(l);var o=e.i(18566),u=e.i(71645),d=e=>e instanceof Date,f=e=>null==e,c=e=>!f(e)&&!Array.isArray(e)&&"object"==typeof e&&!d(e);let y=/[.[\]'"]/;var m=e=>e.split(y).filter(Boolean),h="u">typeof window&&void 0!==window.HTMLElement&&"u">typeof document;function p(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e);let t="u">typeof Blob&&e instanceof Blob,r="u">typeof FileList&&e instanceof FileList;if(h&&(t||r))return e;let a=Array.isArray(e);if(!a&&e.constructor!==Object)return e;let i=a?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(i[t]=p(e[t]));return i}let g="trigger",v="onChange",b="onSubmit",x="maxLength",A="minLength",V="pattern",_="required",w="validate",k=[_,"min","max",A,x,V,w],F="form",S="root",D=["__proto__","constructor","prototype"],E=/^\w*$/;var j=e=>void 0===e,O=(e,t,r)=>{if(!t||!c(e))return r;let a=E.test(t)?[t]:m(t);if(a.some(e=>D.includes(e)))return r;let i=a.reduce((e,t)=>f(e)?void 0:e[t],e);return j(i)||i===e?j(e[t])?r:e[t]:i},N=e=>"function"==typeof e,T=(e,t,r)=>{let a=-1,i=E.test(t)?[t]:m(t),s=i.length,l=s-1;for(;++a<s;){let t=i[a],s=r;if(a!==l){let r=e[t];s=c(r)||Array.isArray(r)?r:isNaN(+i[a+1])?{}:[]}if(D.includes(t))return;e[t]=s,e=e[t]}};u.default.createContext(null).displayName="HookFormControlContext";let C=h?u.default.useLayoutEffect:u.default.useEffect;var R=e=>f(e)||"object"!=typeof e;let U=(e,t)=>{let r;return 0===t.length&&!Array.isArray(e)&&!(c(r=e.constructor&&e.constructor.prototype)&&r.hasOwnProperty("isPrototypeOf"))};function L(e,t,r=new WeakMap){if(e===t)return!0;if(R(e)||R(t))return Object.is(e,t);if(d(e)&&d(t))return Object.is(e.getTime(),t.getTime());let a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;if(U(e,a)||U(t,i))return Object.is(e,t);if(!a.length&&Array.isArray(e)!==Array.isArray(t))return!1;let s=r.get(e);if(s&&s.has(t))return!0;if(s)s.add(t);else{let a=new WeakSet;a.add(t),r.set(e,a)}for(let i of a){let a=e[i];if(!(i in t))return!1;if("ref"!==i){let e=t[i];if(d(a)&&d(e)||(c(a)||Array.isArray(a))&&(c(e)||Array.isArray(e))?!L(a,e,r):!Object.is(a,e))return!1}}return!0}var M=e=>"string"==typeof e,B=e=>({isOnSubmit:!e||e===b,isOnBlur:"onBlur"===e,isOnChange:e===v,isOnAll:"all"===e,isOnTouch:"onTouched"===e}),I=(e,t,r)=>{if(r)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let r of t.watch)if(e.startsWith(r)&&"."===e.charAt(r.length))return!0;return!1};let P=(e,t,r)=>{for(let a of r||Object.keys(e)){if("_f"===a)continue;let i=r?O(e,a):e[a];if(i){let{_f:e}=i;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],e.name))return!0;else if(e.ref&&t(e.ref,e.name))return!0;else if(P(i,t))return!0}else if((c(i)||Array.isArray(i))&&P(i,t))return!0}}};var $=(e,t,r)=>{let a=O(e,r),i=Array.isArray(a)?a:[];return T(i,S,t[r]),T(e,r,i),e},z=e=>c(e)&&!Object.keys(e).length,W=e=>{if(!h)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},q=(e,t,r,a,i)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:i||!0}}:{};let H={value:!1,isValid:!1},Y={value:!0,isValid:!0};var Q=e=>{if(!Array.isArray(e))return H;if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}let t=e[0];return t&&t.checked&&!t.disabled?t.attributes&&"value"in t.attributes?j(t.value)||""===t.value?Y:{value:t.value,isValid:!0}:Y:H};let K={isValid:!1,value:null};var Z=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,K):K;function G(e,t,r="validate"){if(M(e)||Array.isArray(e)&&e.every(M)||"boolean"==typeof e&&!e)return{type:r,message:M(e)?e:"",ref:t}}var J=e=>!c(e)||e instanceof RegExp?{value:e,message:""}:e,X=async(e,t,r,a,i,s)=>{let{ref:l,refs:n,required:o,maxLength:u,minLength:y,min:m,max:h,pattern:p,validate:g,name:v,valueAsNumber:b,mount:k,_c:F}=e._f,S=O(r,v);if(!k||t.has(v))return{};let D=n?n[0]:l,E=e=>{if(i&&D.reportValidity){let t="boolean"==typeof e?"":e||"";n?n.forEach(e=>N(e.setCustomValidity)&&e.setCustomValidity(t)):D.setCustomValidity(t),D.reportValidity()}},T={},C="radio"===l.type,R="checkbox"===l.type,U=(b||"file"===l.type)&&j(l.value)&&j(S)||W(l)&&""===l.value&&!F||""===S||Array.isArray(S)&&!S.length,L=q.bind(null,v,a,T),B=(e,t,r,a=x,i=A)=>{let s=e?t:r;T[v]={type:e?a:i,message:s,ref:l,...L(e?a:i,s)}};if(s?!Array.isArray(S)||!S.length:o&&(!(C||R)&&(U||f(S))||"boolean"==typeof S&&!S||R&&!Q(n).isValid||C&&!Z(n).isValid)){let{value:e,message:t}=M(o)?{value:!!o,message:o}:J(o);if(e&&(T[v]={type:_,message:t,ref:D,...L(_,t)},!a))return E(t),T}if(!U&&(!f(m)||!f(h))){let e,t,r=J(h),i=J(m);if(f(S)||d(S)||isNaN(S)){let a=l.valueAsDate||new Date(S),s=e=>new Date(new Date().toDateString()+" "+e),n="time"==l.type,o="week"==l.type;M(r.value)&&S&&(e=n?s(S)>s(r.value):o?S>r.value:a>new Date(r.value)),M(i.value)&&S&&(t=n?s(S)<s(i.value):o?S<i.value:a<new Date(i.value))}else{let a=l.valueAsNumber||(S?+S:S);f(r.value)||(e=a>r.value),f(i.value)||(t=a<i.value)}if((e||t)&&(B(!!e,r.message,i.message,"max","min"),!a))return E(T[v].message),T}if((u||y)&&!U&&(M(S)||s&&Array.isArray(S))){let e=J(u),t=J(y),r=!f(e.value)&&S.length>+e.value,i=!f(t.value)&&S.length<+t.value;if((r||i)&&(B(r,e.message,t.message),!a))return E(T[v].message),T}if(p&&!U&&M(S)){let{value:e,message:t}=J(p);if(e instanceof RegExp&&!S.match(e)&&(T[v]={type:V,message:t,ref:l,...L(V,t)},!a))return E(t),T}if(g){if(N(g)){let e=G(await g(S,r),D);if(e&&(T[v]={...e,...L(w,e.message)},!a))return E(e.message),T}else if(c(g)){let e={};for(let t in g){if(!z(e)&&!a)break;let i=G(await g[t](S,r),D,t);i&&(e={...i,...L(t,i.message)},a||E(i.message),a&&(T[v]=e))}if(!z(e)&&(T[v]={ref:D,...e},!a))return T}}let I=T[v];return E(!I||I.message),T},ee=e=>Array.isArray(e)?e:[e],et=e=>Array.isArray(e)?e.filter(Boolean):[];function er(e,t){if(M(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let r=Array.isArray(t)?t:E.test(t)?[t]:m(t);if(r.some(e=>D.includes(String(e))))return e;let a=1===r.length?e:function(e,t){let r=t.length-1,a=0;for(;a<r;){if(f(e)){e=void 0;break}e=e[t[a]],a++}return e}(e,r),i=r.length-1,s=r[i];return a&&delete a[s],0!==i&&(c(a)&&z(a)||Array.isArray(a)&&function(e){for(let t in e)if(e.hasOwnProperty(t)&&!j(e[t]))return!1;return!0}(a))&&er(e,r.slice(0,-1)),e}u.default.createContext(null).displayName="HookFormContext";var ea=()=>{let e=[];return{get observers(){return e},next:t=>{for(let r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};let ei=(e,t)=>null!==e&&"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t);var es=(e,t)=>{if(!t)return!1;let r=e;for(let a of E.test(t)?[t]:m(t)){if(!ei(r,a))return ei(e,t);r=r[a]}return!0},el=e=>W(e)&&e.isConnected;function en(e){return Array.isArray(e)||c(e)}function eo(e){return Array.isArray(e)||c(e)&&!(e=>{for(let t in e)if(N(e[t]))return!0;return!1})(e)}function eu(e){return!!(e&&"_f"in e)}function ed(e){return Array.isArray(e)?!e.some(e=>!j(e)):!Object.keys(e).length}function ef(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function ec(e,t={},r){for(let a in e){let i=e[a],s=r&&r[a];!eo(i)||Array.isArray(i)&&eu(s)?j(i)||(t[a]=!0):(t[a]=Array.isArray(i)?[]:{},ec(i,t[a],s),ed(t[a])&&ef(t,a))}return t}function ey(e,t,r,a){for(let i in r||(r=ec(t,{},a)),e){let s=e[i],l=a&&a[i];!eo(s)||Array.isArray(s)&&eu(l)?L(s,t[i])?ef(r,i):r[i]=!0:(j(t)||R(r[i])?r[i]=ec(s,Array.isArray(s)?[]:{},l):ey(s,f(t)?{}:t[i],r[i],l),ed(r[i])&&ef(r,i))}return r}var em=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:a})=>j(e)?e:t?""===e?NaN:e?+e:e:r&&M(e)?new Date(e):a?a(e):e;function eh(e){let t=e.ref;return"file"===t.type?t.files:"radio"===t.type?Z(e.refs).value:"select-multiple"===t.type?[...t.selectedOptions].map(({value:e})=>e):"checkbox"===t.type?Q(e.refs).value:em(t.value,e)}var ep=e=>j(e)?e:e instanceof RegExp?e.source:c(e)?e.value instanceof RegExp?e.value.source:e.value:e;let eg="AsyncFunction";var ev=e=>{if(!e||!e.validate)return!1;if(N(e.validate))return e.validate.constructor.name===eg;if(c(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===eg)return!0}return!1};function eb(e,t,r){let a=O(e,r);if((null==a?void 0:a.type)||(null==a?void 0:a.message)||Array.isArray(a))return{error:a,name:r};let i=r.split(".");for(;i.length;){let a=i.join("."),s=O(t,a),l=O(e,a);if(s&&!Array.isArray(s)&&r!==a)break;if(l&&l.type)return{name:a,error:l};if(l&&l.root&&l.root.type)return{name:`${a}.root`,error:l.root};i.pop()}return{name:r}}let ex={mode:b,reValidateMode:v,shouldFocusError:!0},eA={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};var eV=e.i(90063),e_=e.i(54616),ew=e.i(27702),ek=e.i(46929),eF=e.i(49635);let eS={UNAUTHORIZED:"Wrong email or password.",BAD_REQUEST:"Enter your email and password.",TOO_MANY_REQUESTS:"Too many attempts. Wait a minute, then try again."};var eD=e.i(15905),eE=e.i(12470),ej=e.i(91727),eO=e.i(10818);function eN(){return(0,t.jsxs)("div",{"data-testid":"sign-in-signed-in-elsewhere",className:"flex gap-2.5 rounded-lg border border-border bg-muted px-3.5 py-3 text-meta text-foreground",children:[(0,t.jsx)(eO.Info,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{role:"status",className:"flex flex-col gap-0.5",children:[(0,t.jsx)("p",{className:"font-medium",children:"You signed in somewhere else"}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"This session ended when you signed in on another device. Sign in again to use the console here."})]})]})}let eT=()=>()=>void 0,eC="text-meta text-destructive-text";e.s(["SignInForm",0,function({isSignedInElsewhere:e=!1}){var s;let l,y,v=(l=(0,ew.useTRPC)(),(0,e_.useMutation)(l.console.signIn.mutationOptions())),b=(0,o.useRouter)(),x=(0,u.useSyncExternalStore)(eT,()=>!0,()=>!1),{register:A,handleSubmit:V,formState:{errors:_}}=function(e={}){let t,r,a,i,s=u.default.useRef(void 0),l=u.default.useRef(void 0),n=u.default.useRef(e.formControl),o=u.default.useRef(!!e.validate),[y,v]=u.default.useState(()=>({...p(eA),isLoading:N(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:N(e.defaultValues)?void 0:e.defaultValues}));if(!s.current||e.formControl&&n.current!==e.formControl)if(n.current=e.formControl,e.formControl)s.current={...e.formControl,formState:y},e.defaultValues&&!N(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:t,...r}=function(e={}){let t={...ex,...e},r={...p(eA),isLoading:N(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},a={},i=(c(t.defaultValues)||c(t.values))&&p(t.defaultValues||t.values)||{},s=t.shouldUnregister?{}:p(i),l={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},n={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},o={},u={},y=0,v=B(t.mode),b=B(t.reValidateMode),x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...x},V={...A},_=(...e)=>e.some(e=>A[e]||V[e]),D={array:ea(),state:ea()},C=0,R=0,U="all"===t.criteriaMode,q=(e,t)=>r=>{clearTimeout(u[e]),u[e]=setTimeout(t,r)},H=e=>{clearTimeout(u[e]),delete u[e],delete o[e]},Y=e=>{H(e);let t=`${e}.`;for(let e of Object.keys(o))e.startsWith(t)&&H(e)},Q=async e=>{if(!l.keepIsValid&&!t.disabled&&(_("isValid")||e)){let e,i=++C;t.resolver?(e=z((await eo()).errors),i===C&&K()):e=await ef({fields:a,onlyCheckValid:!0,eventType:"valid"}),i===C&&e!==r.isValid&&D.state.next({isValid:e})}},K=(e,a)=>{!t.disabled&&_("isValidating","validatingFields")&&((e||n.mount).forEach(e=>{e&&(a?T(r.validatingFields,e,a):er(r.validatingFields,e))}),D.state.next({validatingFields:r.validatingFields,isValidating:!z(r.validatingFields)}))},Z=()=>{r.dirtyFields=ey(i,s,void 0,a)},G=(e,t)=>{T(r.errors,e,t),r.errors={...r.errors},D.state.next({errors:r.errors})},J=(o,u,d,c)=>{let y=O(a,o);if(y){if((e=>{let t=E.test(e)?[e]:m(e),r=s,a=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(r=f(r)?r:r[i],a=f(a)?a:a[i],null===r&&null!==a)return!0}return!1})(o)||(e=>{if(!l.actionArrayLengths.size)return!1;let t=E.test(e)?[e]:m(e),r=s,a="",i=-1,n=0;for(let e=0;e<t.length&&!f(r);e++){let s=t[e];if(a=a?`${a}.${s}`:s,Array.isArray(r)&&+s>=r.length)return -1!==i&&(e!==i||+s<n);if(l.actionArrayLengths.has(a)&&(i=e+1,n=l.actionArrayLengths.get(a)),j(r=r[s])&&-1!==i&&e>i&&+t[i]<n)return!0}return!1})(o))return;let a=j(O(s,o)),h=O(s,o,j(d)?O(i,o):d);j(h)||c&&c.defaultChecked||u?T(s,o,u?h:eh(y._f)):eV(o,h),l.mount&&!l.action&&(t.resolver&&_("isValidating","validatingFields")?Promise.resolve().then(()=>Q()):Q(),a&&r.isDirty&&_("isDirty")&&(ec()||(r.isDirty=!1,D.state.next({...r}))),e.shouldUnregister&&a&&!j(O(s,o))&&I(o,n)&&(l.watch=!0))}},ei=(e,l,n,o,u)=>{let d=!1,f=!1,c={name:e};if(!t.disabled||!0===o){if(!n||o){let t=L(O(i,e),l);if(_("isDirty")&&(f=r.isDirty,r.isDirty=c.isDirty=!t||ec(),d=f!==c.isDirty),f=!!O(r.dirtyFields,e),t!==r.isDirty){var y=r.dirtyFields,m=ey(i,s,void 0,a);for(let e in y)e in m||delete y[e];Object.assign(y,m)}else t?er(r.dirtyFields,e):T(r.dirtyFields,e,!0);c.dirtyFields=r.dirtyFields,d=d||_("dirtyFields")&&!t!==f}if(n){let t=O(r.touchedFields,e);t||(T(r.touchedFields,e,n),c.touchedFields=r.touchedFields,d=d||_("touchedFields")&&t!==n)}d&&u&&D.state.next(c)}return d?c:{}},eo=async e=>(K(e,!0),await t.resolver(s,t.context,((e,t,r,a)=>{let i={};for(let r of e){let e=O(t,r);e&&T(i,r,e._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:a}})(e||n.mount,a,t.criteriaMode,t.shouldUseNativeValidation))),eu=async e=>{let t=R,{errors:i}=await eo(e);if(t!==R)return i;if(K(e),e){for(let t of e){let e=O(i,t);Y(t);let s=n.array.has(t)&&c(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e))),l=O(a,t),o=c(l)&&Object.keys(l).some(e=>"_f"!==e);s?$(r.errors,{[t]:e},t):(null==e?void 0:e.type)||(null==e?void 0:e.message)||Array.isArray(e)||c(e)&&o?T(r.errors,t,e):er(r.errors,t)}r.errors={...r.errors}}else Object.keys(o).forEach(H),r.errors=i;return i},ed=async({name:e,eventType:a})=>{if(t.validate){let i=R,l=await t.validate({formValues:s,formState:r,name:e,eventType:a});if(i!==R)return!0;if(c(l)){let e=!0;for(let t in ej(F),l){let r=l[t];r&&(e=!1,eO(`${F}.${t}`,{message:M(r.message)?r.message:"",type:r.type||w}))}return e}if(M(l)||!l)return eO(F,{message:l||"",type:w}),!1;ej(F)}return!0},ef=async({fields:a,onlyCheckValid:i,name:l,eventType:o,context:u={valid:!0,runRootValidation:!1}})=>{let d=R;if(t.validate&&!u.runRootValidation&&(u.runRootValidation=!0,!await ed({name:l,eventType:o}))&&(u.valid=!1,i))return u.valid;for(let l in a){let f=a[l];if(f){let{_f:a,...c}=f;if(a){let l=n.array.has(a.name),o=f._f&&ev(f._f),c=_("isValidating","validatingFields");o&&c&&K([a.name],!0);let y=await X(f,n.disabled,s,U,t.shouldUseNativeValidation&&!i,l);if(d!==R)return u.valid;if(o&&c&&K([a.name]),y[a.name]&&(u.valid=!1,i)||(i||(H(a.name),O(y,a.name)?l?$(r.errors,y,a.name):T(r.errors,a.name,y[a.name]):er(r.errors,a.name)),e.shouldUseNativeValidation&&y[a.name]))break}z(c)||await ef({context:u,onlyCheckValid:i,fields:c,name:l,eventType:o})}}return u.valid},ec=(e,t)=>(e&&t&&T(s,e,t),!L(l.mount?s:i,i)),eg=(e,t,r)=>{var a,o;return a=n,o={...l.mount?s:j(t)||M(e)?i:t},M(e)?(r&&a.watch.add(e),O(o,e,t)):Array.isArray(e)?e.map(e=>(r&&a.watch.add(e),O(o,e,O(t,e)))):(r&&(a.watchAll=!0),o)},eV=(e,t,r={},i=!1,l=!1,n=!1)=>{let o=O(a,e),u=t;if(o){let r=o._f;r&&(r.disabled||T(s,e,em(t,r)),u=W(r.ref)&&f(t)?"":t,"select-multiple"===r.ref.type?[...r.ref.options].forEach(e=>e.selected=u.includes(e.value)):r.refs?"checkbox"===r.ref.type?r.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(u)?e.checked=!!u.find(t=>t===e.value):e.checked=u===e.value||!!u)}):r.refs.forEach(e=>e.checked=e.value===u):"file"===r.ref.type?r.ref.value="":(r.ref.value=u,r.ref.type||l||n||D.state.next({name:e,values:i?s:p(s)})))}(r.shouldDirty||r.shouldTouch)&&ei(e,o&&o._f&&!o._f.disabled&&(o._f.valueAsNumber||o._f.valueAsDate||o._f.setValueAs)?em(t,o._f):u,r.shouldTouch,r.shouldDirty,!l),r.shouldValidate&&eD(e,{delayError:r.delayError}),r.shouldValidate&&o&&o._f&&o._f.deps&&(!Array.isArray(o._f.deps)||o._f.deps.length>0)&&eD(o._f.deps)},e_=(e,t,r,i=!1,l=!1,o=!1)=>{for(let u in n.array.has(e)&&D.array.next({name:e,values:i?s:p(s)}),t){if(!t.hasOwnProperty(u))continue;let s=t[u],f=e+"."+u,y=O(a,f);(n.array.has(e)||c(s)||y&&!y._f)&&!d(s)?e_(f,s,r,i,l,o):eV(f,s,r,i,l,o)}},ew=(e,t,i,o,u=!1)=>{let d=O(a,e),c=n.array.has(e),y=o?t:p(t),m=L(O(s,e),y);if(m||T(s,e,y),c)D.array.next({name:e,values:o?s:p(s)}),_("isDirty","dirtyFields")&&i.shouldDirty&&(Z(),u||D.state.next({name:e,dirtyFields:r.dirtyFields,isDirty:ec(e,y)})),i.shouldValidate&&eD(e,{delayError:i.delayError});else{let t=Array.isArray(y)&&!y.length||z(y),r=!m&&!u;!d||d._f||f(y)||t?eV(e,y,i,o,u,r):e_(e,y,i,o,u,r)}if(!m&&!u){let t=I(e,n),a=o?s:p(s);if(D.state.next({...t&&r,name:l.mount||t?e:void 0,values:a}),!c)for(let t of((e,t)=>{let r=t.split("."),a=[],i=r[0];for(let t=1;t<r.length;i+="."+r[t++])!isNaN(+r[t])&&e.has(i)&&a.push(`${i}.${r[t]}`);return a})(n.array,e))D.state.next({name:t,values:a})}},ek=(e,t,r={})=>ew(e,t,r,!1),eF=async e=>{l.mount=!0;let i=e.target,u=i.name,f=!0,m=O(a,u),h=e=>{f=Number.isNaN(e)||d(e)&&isNaN(e.getTime())||L(e,O(s,u,e))};if(m){let l,d,E,N,C=i.type?eh(m._f):c(l=e)&&l.target?"checkbox"===l.target.type?l.target.checked:"file"===l.target.type?l.target.files:l.target.value:l,M="blur"===e.type||"focusout"===e.type,B=!((N=m._f).mount&&(N.required||!j(N.required)&&!1!==N.required||!j(N.min)||!j(N.max)||!j(N.maxLength)||!j(N.minLength)||N.pattern||N.validate))&&!t.validate&&!t.resolver&&!O(r.errors,u)&&!m._f.deps,P=B||(g=M,x=O(r.touchedFields,u),A=r.isSubmitted,V=b,!(w=v).isOnAll&&(!A&&w.isOnTouch?!(x||g):(A?V.isOnBlur:w.isOnBlur)?!g:(A?!V.isOnChange:!w.isOnChange)||g)),$=I(u,n,M);if(T(s,u,p(C)),M){if(!i||!i.readOnly){m._f.onBlur&&m._f.onBlur(e);let t=o[u];t&&t(0)}}else m._f.onChange&&m._f.onChange(e);let W=ei(u,C,M),Y=!z(W)||$;if(M||D.state.next({name:u,type:e.type,...y?{values:p(s)}:{}}),P)return(!B||!r.isValid)&&_("isValid")&&("onBlur"===t.mode?M&&Q():M||Q()),Y&&D.state.next({name:u,...$?{}:W});if(!t.resolver&&t.validate&&await ed({name:u,eventType:e.type}),!M&&$&&D.state.next({...r}),t.resolver){let e=R,{errors:t}=await eo([u]);if(e!==R)return;if(K([u]),h(C),!f){z(W)||D.state.next(W);return}let i=eb(r.errors,a,u),s=eb(t,a,i.name||u);d=s.error,u=s.name,E=z(t)}else{let r=R;if(K([u],!0),d=(await X(m,n.disabled,s,U,t.shouldUseNativeValidation))[u],r!==R)return;if(K([u]),h(C),f){if(d)E=!1;else if(_("isValid")&&(E=await ef({fields:a,onlyCheckValid:!0,name:u,eventType:e.type}),r!==R))return}}if(f){m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&eD(m._f.deps);var g,x,A,V,w,k=u,F=E,S=d;let e=O(r.errors,k),a=_("isValid")&&"boolean"==typeof F&&r.isValid!==F;if(t.delayError&&S?(o[k]=q(k,()=>G(k,S)),o[k](t.delayError)):(H(k),S?T(r.errors,k,S):er(r.errors,k),r.errors={...r.errors}),(S?!L(e,S):e)||!z(W)||a){let e={...W,...a&&"boolean"==typeof F?{isValid:F}:{},errors:r.errors,name:k};D.state.next(e)}}}},eS=(e,t)=>{if(O(r.errors,t)&&e.focus)return e.focus(),1},eD=async(e,i={})=>{let s,l,u=ee(e);if(t.resolver){let t=R,r=await eu(j(e)?e:u);if(s=z(r),l=e?!u.some(e=>O(r,e)):s,t!==R)return l}else e?((l=(await Promise.all(u.map(async e=>{let t=O(a,e);return await ef({fields:t&&t._f?{[e]:t}:t,eventType:g})}))).every(Boolean))||r.isValid)&&Q():l=s=await ef({fields:a,name:e,eventType:g});if(i.delayError&&t.delayError&&M(e)){let a=O(r.errors,e);a?(er(r.errors,e),o[e]=q(e,()=>G(e,a)),o[e](t.delayError)):H(e)}if(i.shouldTouch)for(let t of e?u:n.mount)n.array.has(t)||T(r.touchedFields,t,!0);return D.state.next({...!M(e)||_("isValid")&&s!==r.isValid?{}:{name:e},...t.resolver||!e?{isValid:s}:{},...i.shouldTouch&&_("touchedFields")?{touchedFields:r.touchedFields}:{},errors:r.errors}),i.shouldFocus&&!l&&P(a,eS,e?u:n.mount),l},eE=(e,t)=>{let a=t||r,i=O(a.errors,e);return{invalid:!!i,isDirty:!!O(a.dirtyFields,e),error:i,isValidating:!!O(a.validatingFields,e),isTouched:!!O(a.touchedFields,e)}},ej=e=>{let t=e?ee(e):void 0;t?t.forEach(e=>{Y(e),er(r.errors,e),D.state.next({name:e,errors:r.errors})}):(Object.keys(o).forEach(H),r.errors={},D.state.next({errors:r.errors}))},eO=(e,t,i)=>{Y(e);let s=(O(a,e,{_f:{}})._f||{}).ref,{ref:l,message:n,type:o,types:u,...d}=O(r.errors,e)||{};T(r.errors,e,{...d,...t,ref:s}),D.state.next({name:e,errors:r.errors,isValid:!1}),i&&i.shouldFocus&&s&&s.focus&&s.focus()},eN=e=>{var t;let a=!!(null==(t=e.formState)?void 0:t.values);a&&y++;let{unsubscribe:l}=D.state.subscribe({next:t=>{var a,l;let n,o,u,d;if(n=e.name,o=t.name,u=e.exact,(!n||!o||n===o||ee(n).some(e=>e&&(u?e===o||e.startsWith(o+"."):e.startsWith(o)||o.startsWith(e))))&&(a=e.formState||A,l=e.reRenderRoot,eI(t),!(d=Object.keys(t).filter(e=>"name"!==e)).length||l&&d.length>=Object.keys(a).length||d.find(e=>a[e]===(!l||"all")))){let a={...s};e.callback({values:a,...r,...t,defaultValues:i})}}});if(!a)return l;let n=!1;return()=>{n||(n=!0,y--,l())}},eT=(e,l={})=>{for(let o of e?ee(e):n.mount)n.mount.delete(o),n.array.delete(o),n.disabled.delete(o),l.keepValue||(er(a,o),er(s,o)),l.keepError||(Y(o),er(r.errors,o)),l.keepDirty||er(r.dirtyFields,o),l.keepTouched||er(r.touchedFields,o),l.keepIsValidating||er(r.validatingFields,o),t.shouldUnregister||l.keepDefaultValue||er(i,o);y&&D.state.next({values:p(s)}),D.state.next({...r,...l.keepDirty?{}:{isDirty:ec()},...l.keepIsValidating?{}:{isValidating:!z(r.validatingFields)}}),l.keepIsValid||Q()},eC=({disabled:e,name:t})=>{if("boolean"==typeof e&&l.mount||e||n.disabled.has(t)){let r=n.disabled.has(t);e?n.disabled.add(t):n.disabled.delete(t),!!e!==r&&l.mount&&!l.action&&Q()}},eR=(e,r={})=>{let s=O(a,e),o="boolean"==typeof r.disabled||"boolean"==typeof t.disabled,u=!n.registerName.has(e)&&s&&s._f&&!s._f.mount;if(T(a,e,{...s||{},_f:{...s&&s._f?s._f:{ref:{name:e}},name:e,mount:!0,...r}}),n.mount.add(e),s&&s._f){let t=O(a,e);for(let e of k)e in r||delete t._f[e]}return s&&!u?eC({disabled:"boolean"==typeof r.disabled?r.disabled:t.disabled,name:e}):J(e,!0,r.value),{...o?{disabled:r.disabled||t.disabled}:{},...t.progressive?{required:!!r.required,min:ep(r.min),max:ep(r.max),minLength:ep(r.minLength),maxLength:ep(r.maxLength),pattern:ep(r.pattern)}:{},name:e,onChange:eF,onBlur:eF,ref:o=>{if(o){let t;n.registerName.add(e),eR(e,r),n.registerName.delete(e),s=O(a,e);let l=j(o.value)&&o.querySelectorAll&&o.querySelectorAll("input,select,textarea")[0]||o,u="radio"===(t=l).type||"checkbox"===t.type,d=s._f.refs||[];if(u?d.find(e=>e===l):l===s._f.ref)return;let f={...s._f};u?(f.refs=[...d.filter(el),l,...Array.isArray(O(i,e))?[{}]:[]],f.ref={type:l.type,name:e}):(f.ref=l,delete f.refs),T(a,e,{_f:f}),J(e,!1,void 0,l)}else{let i;(s=O(a,e,{}))._f&&(s._f.mount=!1),(t.shouldUnregister||r.shouldUnregister)&&(i=n.array,!e.split(".").some((e,t,r)=>!isNaN(Number(e))&&i.has(r.slice(0,t).join(".")))||!l.action)&&n.unMount.add(e)}}}},eU=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&P(a,eS,n.mount),eL=(e,i)=>async l=>{let u,d;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=p(s);if(D.state.next({isSubmitting:!0}),t.resolver){let e=R,{errors:t,values:a}=await eo();if(e!==R)return;K(),Object.keys(o).forEach(H),r.errors=t,f=p(a)}else{let e=R;if(await ef({fields:a,eventType:"submit"}),e!==R)return;er(r.errors,S)}if(n.disabled.size)for(let e of n.disabled)er(f,e);if(z(r.errors)){D.state.next({errors:{}});try{u=await e(f,l)}catch(e){d=e}}else i&&await i({...r.errors},l),eU(),setTimeout(eU);if(D.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:z(r.errors)&&!d,submitCount:r.submitCount+1,errors:r.errors}),d)throw d;return u},eM=(e,u={})=>{R++;let d=e?p(e):i,f=p(d),c=z(e),y=a;if(Object.keys(o).forEach(H),u.keepDefaultValues||(i=d),!u.keepValues){if(u.keepDirtyValues)for(let e of new Set([...n.mount,...function e(t,r,a="",i=[]){for(let s in t){let l=a?`${a}.${s}`:s,n=t[s];en(n)&&en(O(r,l))?e(n,r,l,i):i.push(l)}return i}(ey(i,s,void 0,y),r.dirtyFields)])){let t=O(r.dirtyFields,e),a=O(s,e),i=O(f,e);t&&!j(a)?T(f,e,a):t||j(i)||ek(e,i)}else{if(h&&j(e))for(let e of n.mount){let t=O(a,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(W(e)){let t=e.closest("form");if(t){t.reset();break}}}}if(u.keepFieldsRef)for(let e of n.mount)ek(e,O(f,e));else a={}}if(t.shouldUnregister){if(s=u.keepDefaultValues?p(i):{},u.keepFieldsRef)for(let e of n.mount)T(s,e,O(f,e))}else s=p(f);D.array.next({values:{...f}}),D.state.next({name:void 0,type:void 0,values:{...f}})}n={mount:u.keepDirtyValues?n.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!A.isValid||!!u.keepIsValid||!!u.keepDirtyValues||!t.shouldUnregister&&!z(f),l.watch=!!t.shouldUnregister,l.keepIsValid=!!u.keepIsValid,l.action=!1,l.actionArrayLengths.clear(),u.keepErrors||(r.errors={}),D.state.next({submitCount:u.keepSubmitCount?r.submitCount:0,isDirty:!c&&(u.keepDirty?r.isDirty:u.keepValues?ec():!!(u.keepDefaultValues&&!L(e,i))),isSubmitted:!!u.keepIsSubmitted&&r.isSubmitted,dirtyFields:c?{}:u.keepDirtyValues?u.keepDefaultValues&&s?ey(i,s,void 0,y):r.dirtyFields:u.keepDefaultValues&&e?ey(i,e,void 0,y):u.keepDirty?r.dirtyFields:u.keepValues?ey(i,s,void 0,y):{},touchedFields:u.keepTouched?r.touchedFields:{},...!u.keepIsValidating&&(r.isValidating||!z(r.validatingFields))?{validatingFields:{},isValidating:!1}:null,errors:u.keepErrors?r.errors:{},isSubmitSuccessful:!!u.keepIsSubmitSuccessful&&r.isSubmitSuccessful,isSubmitting:!1,defaultValues:i})},eB=(e,r)=>eM(N(e)?e(s):e,{...t.resetOptions,...r}),eI=e=>{let{name:t,type:a,values:i,...s}=e;r={...r,...s}};D.state.subscribe({next:eI});let eP={control:{register:eR,unregister:eT,getFieldState:eE,handleSubmit:eL,setError:eO,_subscribe:eN,_runSchema:eo,_updateIsValidating:K,_focusError:eU,_getWatch:eg,_getDirty:ec,_setValid:Q,_setFieldArray:(e,i=[],n,o,u=!0,d=!0)=>{if(o&&n&&!t.disabled){l.action=!0;let t=O(a,e);if(l.actionArrayLengths.has(e)||l.actionArrayLengths.set(e,Array.isArray(t)?t.length:0),d&&Array.isArray(t)){let r=n(t,o.argA,o.argB);u&&T(a,e,r)}let s=O(r.errors,e);if(d&&Array.isArray(s)){var f;let t,a=s.root,i=n(s,o.argA,o.argB)||s;a&&(i.root=a),u&&T(r.errors,e,i),et(t=O(f=r.errors,e)).length||(null==t?void 0:t.root)||er(f,e)}let c=O(r.touchedFields,e),y=d&&Array.isArray(c);if(y){let t=n(c,o.argA,o.argB);u&&T(r.touchedFields,e,t)}let m=O(r.dirtyFields,e);if(d&&Array.isArray(m)){let t=n(m,o.argA,o.argB)||m;u&&T(r.dirtyFields,e,t)}_("dirtyFields")&&Z(),D.state.next({name:e,isDirty:ec(e,i),dirtyFields:r.dirtyFields,...y&&{touchedFields:r.touchedFields},errors:r.errors,isValid:r.isValid})}else T(s,e,i)},_setDisabledField:eC,_setErrors:e=>{Object.keys(o).forEach(H);let t=!z(e);r.errors=e,D.state.next({errors:r.errors,...t?{isValid:!1}:{}}),!t&&l.mount&&Q()},_getFieldArray:e=>et(O(l.mount?s:i,e,t.shouldUnregister?O(i,e,[]):[])),_reset:eM,_resetDefaultValues:()=>N(t.defaultValues)&&t.defaultValues().then(e=>{eB(e,t.resetOptions),D.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let e of n.unMount){let t=O(a,e);t&&(t._f.refs?t._f.refs.every(e=>!el(e)):!el(t._f.ref))&&eT(e)}n.unMount=new Set},_disableForm:e=>{"boolean"==typeof e&&(D.state.next({disabled:e}),P(a,(t,r)=>{let i=O(a,r);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0))},_subjects:D,_proxyFormState:A,get _fields(){return a},get _formValues(){return s},get _state(){return l},set _state(value){l=value},get _defaultValues(){return i},get _names(){return n},set _names(value){n=value},get _formState(){return r},get _options(){return t},set _options(value){v=B((t={...t,...value}).mode),b=B(t.reValidateMode),U="all"===t.criteriaMode}},subscribe:e=>(l.mount=!0,V={...V,...e.formState},eN({...e,formState:{...x,...e.formState}})),trigger:eD,register:eR,handleSubmit:eL,watch:(e,t)=>{if(N(e)){y++;let{unsubscribe:r}=D.state.subscribe({next:r=>"values"in r&&e(r.values||eg(void 0,t),r)}),a=!1;return{unsubscribe:()=>{a||(a=!0,y--,r())}}}return eg(e,t,!0)},setValue:ek,setValues:(e,t={})=>{let a=N(e)?e(s):e;if(!L(s,a)){for(let e of(s={...s,...a},n.mount))es(a,e)&&ew(e,O(a,e),t,!0,!0);D.state.next({...r,name:void 0,type:void 0,...y?{values:s}:{}}),t.shouldValidate&&Q()}},getValues:(e,t)=>{let a={...l.mount?s:i};return t&&(a=function e(t,r){let a=Array.isArray(t)?[]:{};for(let i in t)if(t.hasOwnProperty(i)){let s=t[i],l=r[i];s&&(c(s)||Array.isArray(s))&&l?a[i]=e(s,l):t[i]&&(a[i]=l)}return a}(t.dirtyFields?r.dirtyFields:r.touchedFields,a)),j(e)?a:M(e)?O(a,e):e.map(e=>O(a,e))},getErrors:e=>j(e)?{...r.errors}:M(e)?O(r.errors,e):e.map(e=>O(r.errors,e)),reset:eB,resetField:(e,t={})=>{O(a,e)&&(er(r.validatingFields,e),j(t.defaultValue)?ek(e,p(O(i,e))):(ek(e,t.defaultValue),T(i,e,p(t.defaultValue))),t.keepTouched||er(r.touchedFields,e),t.keepDirty||(er(r.dirtyFields,e),r.isDirty=t.defaultValue?ec(e,p(O(i,e))):ec()),t.keepError||(Y(e),er(r.errors,e),Q()),D.state.next({...r,isValidating:!z(r.validatingFields)}))},resetDefaultValues:(e,t={})=>{if(i=p(e),!t.keepDirty){let e=ey(i,s,void 0,a);r.dirtyFields=e,r.isDirty=!z(e)}t.keepIsValid||Q(),D.state.next({...r,defaultValues:i})},clearErrors:ej,unregister:eT,setError:eO,setFocus:(e,t={})=>{let r=O(a,e),i=r&&r._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&N(e.select)&&e.select()})}},getFieldState:eE};return{...eP,formControl:eP}}(e);s.current={...r,formState:y}}let b=s.current.control;b._options={...e,validate:e.validate};let x=()=>({...b._formState,defaultValues:b._defaultValues}),{resyncIfNeeded:A,snapshot:V}=(t=u.default.useRef(!1),r=u.default.useRef(!1),a=u.default.useRef(void 0),i=u.default.useRef(0),i.current++,!r.current&&x&&(r.current=!0,a.current=p(x())),{resyncIfNeeded:u.default.useCallback((e,s,l)=>{if(e&&(t.current||r.current&&i.current>1)){let e=s();L(a.current,e)||l(e)}t.current=!0},[]),snapshot:u.default.useCallback((e,t)=>{e&&(a.current=p(t()))},[])});return C(()=>{A(!0,x,v);let e=b._subscribe({formState:b._proxyFormState,callback:()=>v({...b._formState,defaultValues:b._defaultValues}),reRenderRoot:!0});return v(e=>({...e,isReady:!0})),b._formState.isReady=!0,()=>{e(),V(!0,x)}},[b,A,V]),u.default.useEffect(()=>b._disableForm(e.disabled),[b,e.disabled]),u.default.useEffect(()=>{e.mode&&(b._options.mode=e.mode),e.reValidateMode&&(b._options.reValidateMode=e.reValidateMode)},[b,e.mode,e.reValidateMode]),u.default.useEffect(()=>{e.errors&&(b._setErrors(e.errors),b._focusError())},[b,e.errors]),u.default.useEffect(()=>{var t;o.current&&!e.validate&&(null==(t=s.current)||t.clearErrors(F)),o.current=!!e.validate},[e.validate]),u.default.useEffect(()=>{e.shouldUnregister&&b._subjects.state.next({values:b._getWatch()})},[b,e.shouldUnregister]),u.default.useEffect(()=>{if(b._proxyFormState.isDirty){let e=b._getDirty();e!==y.isDirty&&b._subjects.state.next({isDirty:e})}},[b,y.isDirty]),u.default.useEffect(()=>{var t;e.values&&!L(e.values,l.current)?(b._reset(e.values,{keepFieldsRef:!0,...b._options.resetOptions}),(null==(t=b._options.resetOptions)?void 0:t.keepIsValid)||b._setValid(),l.current=e.values,v(e=>({...e}))):b._resetDefaultValues()},[b,e.values]),u.default.useEffect(()=>{b._state.mount||(b._setValid(),b._state.mount=!0),b._state.watch&&(b._state.watch=!1,b._subjects.state.next({...b._formState})),b._removeUnmounted()}),s.current.formState=u.default.useMemo(()=>((e,t,r=!0)=>{let a={};for(let i in e)Object.defineProperty(a,i,{get:()=>("all"!==t._proxyFormState[i]&&(t._proxyFormState[i]=!r||"all"),e[i])});return a})(y,b),[b,y]),s.current}({defaultValues:{email:"",password:""}}),D=V(e=>{v.mutate(e,{onSuccess:()=>{b.replace("/")}})}),R="TOO_MANY_REQUESTS"===(0,ek.trpcErrorCode)(v.error),U=R?(0,ek.retryAtOf)(v.error):void 0,q=(y=U?.getTime(),(0,u.useSyncExternalStore)(e=>{if(void 0===y)return()=>void 0;let t=setTimeout(e,Math.max(0,y-Date.now()));return()=>{clearTimeout(t)}},()=>void 0===y||Date.now()>=y,()=>!0));return(0,t.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h1",{className:"text-heading font-semibold max-sm:text-title-touch",children:"Sign in to Aeolus"}),(0,t.jsx)("p",{className:"text-meta text-muted-foreground",children:"Use your operator account."})]}),v.isError?(0,t.jsxs)("div",{className:(0,eV.classNames)("flex gap-2.5 rounded-lg border px-3.5 py-3 text-meta",R?"border-tone-waiting-border bg-tone-waiting-bg text-tone-waiting-fg":"border-tone-attention-border bg-tone-attention-bg text-tone-attention-fg"),children:[R?(0,t.jsx)(n,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}):(0,t.jsx)(i.CircleAlert,{"aria-hidden":!0,className:"mt-0.5 size-(--size-icon-sm) shrink-0"}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("p",{role:"alert",className:"font-medium",children:(s=v.error,eS[(0,ek.trpcErrorCode)(s)??""]??`Sign-in failed: ${s.message}`)}),U?(0,t.jsxs)("p",{children:["You can sign in again at ",(0,eF.clockTime)(U),"."]}):null]})]}):e?(0,t.jsx)(eN,{}):null,(0,t.jsxs)("form",{method:"post",noValidate:!0,"data-testid":"sign-in-form",className:"flex flex-col gap-4",onSubmit:e=>{D(e)},children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(ej.Label,{htmlFor:"sign-in-email",children:"Email"}),(0,t.jsx)(eE.Input,{id:"sign-in-email",type:"email",autoComplete:"username",placeholder:"you@example.com",className:"max-sm:h-(--size-control-touch) max-sm:text-input-touch","aria-invalid":!!_.email||void 0,"aria-describedby":_.email?"sign-in-email-error":void 0,...A("email",{validate:e=>{let t;return(0===(t=e.trim()).length?"Enter your email":t.length>254?r:void 0)??!0}})}),_.email?(0,t.jsx)("span",{id:"sign-in-email-error",className:eC,children:_.email.message}):null]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(ej.Label,{htmlFor:"sign-in-password",children:"Password"}),(0,t.jsx)(eE.Input,{id:"sign-in-password",type:"password",autoComplete:"current-password",className:"max-sm:h-(--size-control-touch) max-sm:text-input-touch","aria-invalid":!!_.password||void 0,"aria-describedby":_.password?"sign-in-password-error":void 0,...A("password",{validate:e=>(0===e.length?"Enter your password":e.length>1024?a:void 0)??!0})}),_.password?(0,t.jsx)("span",{id:"sign-in-password-error",className:eC,children:_.password.message}):null]}),(0,t.jsx)(eD.Button,{type:"submit",variant:"primary",className:"mt-1 w-full max-sm:h-(--size-control-touch)",disabled:!x||!q,isLoading:v.isPending,children:"Sign in"})]})]})}],34253)}]);