@slycode/slycode 0.2.22 → 0.2.24

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 (176) hide show
  1. package/dist/bridge/api.d.ts +2 -1
  2. package/dist/bridge/api.js +114 -1
  3. package/dist/bridge/api.js.map +1 -1
  4. package/dist/bridge/git-utils.d.ts +9 -0
  5. package/dist/bridge/git-utils.js +49 -0
  6. package/dist/bridge/git-utils.js.map +1 -0
  7. package/dist/bridge/index.js +8 -2
  8. package/dist/bridge/index.js.map +1 -1
  9. package/dist/bridge/response-store.d.ts +46 -0
  10. package/dist/bridge/response-store.js +95 -0
  11. package/dist/bridge/response-store.js.map +1 -0
  12. package/dist/bridge/session-manager.d.ts +33 -1
  13. package/dist/bridge/session-manager.js +185 -2
  14. package/dist/bridge/session-manager.js.map +1 -1
  15. package/dist/bridge/types.d.ts +37 -0
  16. package/dist/data/scaffold-templates/tutorial-project/documentation/kanban.json +1 -1
  17. package/dist/messaging/bridge-client.d.ts +4 -0
  18. package/dist/messaging/bridge-client.js +20 -1
  19. package/dist/messaging/bridge-client.js.map +1 -1
  20. package/dist/messaging/index.js +38 -10
  21. package/dist/messaging/index.js.map +1 -1
  22. package/dist/scripts/kanban.js +448 -2
  23. package/dist/scripts/scaffold.js +40 -1
  24. package/dist/store/actions/approve.md +1 -1
  25. package/dist/store/actions/challenge-implementation.md +149 -0
  26. package/dist/store/actions/challenge.md +119 -0
  27. package/dist/store/actions/checkpoint.md +2 -2
  28. package/dist/store/actions/context.md +3 -3
  29. package/dist/store/actions/create-card.md +1 -1
  30. package/dist/store/actions/deep-design.md +13 -3
  31. package/dist/store/actions/design-requirements.md +11 -1
  32. package/dist/store/actions/explore.md +1 -1
  33. package/dist/store/actions/implement.md +1 -1
  34. package/dist/store/actions/onboard.md +2 -4
  35. package/dist/store/actions/show-card.md +2 -2
  36. package/dist/store/actions/summarize.md +3 -3
  37. package/dist/store/actions/test-review.md +1 -1
  38. package/dist/store/skills/kanban/SKILL.md +77 -3
  39. package/dist/web/.next/BUILD_ID +1 -1
  40. package/dist/web/.next/app-path-routes-manifest.json +1 -0
  41. package/dist/web/.next/build-manifest.json +2 -2
  42. package/dist/web/.next/prerender-manifest.json +3 -3
  43. package/dist/web/.next/routes-manifest.json +6 -0
  44. package/dist/web/.next/server/app/_global-error.html +2 -2
  45. package/dist/web/.next/server/app/_global-error.rsc +1 -1
  46. package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  47. package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  48. package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  49. package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  50. package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  51. package/dist/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/dist/web/.next/server/app/_not-found.html +1 -1
  53. package/dist/web/.next/server/app/_not-found.rsc +10 -10
  54. package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
  55. package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  56. package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  57. package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  58. package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  59. package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  60. package/dist/web/.next/server/app/api/changelog/route/app-paths-manifest.json +3 -0
  61. package/dist/web/.next/server/app/api/changelog/route/build-manifest.json +11 -0
  62. package/dist/web/.next/server/app/api/changelog/route/server-reference-manifest.json +4 -0
  63. package/dist/web/.next/server/app/api/changelog/route.js +7 -0
  64. package/dist/web/.next/server/app/api/changelog/route.js.map +5 -0
  65. package/dist/web/.next/server/app/api/changelog/route.js.nft.json +1 -0
  66. package/dist/web/.next/server/app/api/changelog/route_client-reference-manifest.js +2 -0
  67. package/dist/web/.next/server/app/api/cli-assets/assistant/route.js.nft.json +1 -1
  68. package/dist/web/.next/server/app/api/cli-assets/fix/route.js.nft.json +1 -1
  69. package/dist/web/.next/server/app/api/cli-assets/import/route.js.nft.json +1 -1
  70. package/dist/web/.next/server/app/api/cli-assets/route.js.nft.json +1 -1
  71. package/dist/web/.next/server/app/api/cli-assets/store/preview/route.js.nft.json +1 -1
  72. package/dist/web/.next/server/app/api/cli-assets/store/route.js.nft.json +1 -1
  73. package/dist/web/.next/server/app/api/cli-assets/sync/route.js.nft.json +1 -1
  74. package/dist/web/.next/server/app/api/cli-assets/updates/route.js.nft.json +1 -1
  75. package/dist/web/.next/server/app/api/dashboard/route.js.nft.json +1 -1
  76. package/dist/web/.next/server/app/api/file/route.js.nft.json +1 -1
  77. package/dist/web/.next/server/app/api/git-status/route.js.nft.json +1 -1
  78. package/dist/web/.next/server/app/api/kanban/route.js.nft.json +1 -1
  79. package/dist/web/.next/server/app/api/kanban/stream/route.js.nft.json +1 -1
  80. package/dist/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  81. package/dist/web/.next/server/app/api/projects/reorder/route.js.nft.json +1 -1
  82. package/dist/web/.next/server/app/api/projects/route.js.nft.json +1 -1
  83. package/dist/web/.next/server/app/api/scheduler/route.js.nft.json +1 -1
  84. package/dist/web/.next/server/app/api/search/route.js.nft.json +1 -1
  85. package/dist/web/.next/server/app/api/sly-actions/invalidate/route.js.nft.json +1 -1
  86. package/dist/web/.next/server/app/api/sly-actions/route.js.nft.json +1 -1
  87. package/dist/web/.next/server/app/api/version-check/route.js.nft.json +1 -1
  88. package/dist/web/.next/server/app/page.js.nft.json +1 -1
  89. package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
  90. package/dist/web/.next/server/app/project/[id]/page.js.nft.json +1 -1
  91. package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
  92. package/dist/web/.next/server/app-paths-manifest.json +1 -0
  93. package/dist/web/.next/server/chunks/[root-of-the-server]__92f81907._.js +1 -1
  94. package/dist/web/.next/server/chunks/[root-of-the-server]__a259539f._.js +3 -0
  95. package/dist/web/.next/server/chunks/_next-internal_server_app_api_changelog_route_actions_d6e239bf.js +3 -0
  96. package/dist/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_18324462.js +1 -1
  97. package/dist/web/.next/server/chunks/src_lib_scheduler_ts_03988e3e._.js +1 -1
  98. package/dist/web/.next/server/chunks/src_lib_scheduler_ts_7120457c._.js +1 -1
  99. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__1f5fc489._.js +4 -3
  100. package/dist/web/.next/server/chunks/ssr/{[root-of-the-server]__077f472c._.js → [root-of-the-server]__6183d28c._.js} +1 -1
  101. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__bcbe4bf2._.js +4 -3
  102. package/dist/web/.next/server/chunks/ssr/src_components_Dashboard_tsx_efc4dc27._.js +1 -1
  103. package/dist/web/.next/server/chunks/ssr/src_components_c4135402._.js +1 -1
  104. package/dist/web/.next/server/chunks/ssr/src_contexts_VoiceContext_tsx_cfba7292._.js +1 -1
  105. package/dist/web/.next/server/pages/404.html +1 -1
  106. package/dist/web/.next/server/pages/500.html +2 -2
  107. package/dist/web/.next/server/server-reference-manifest.js +1 -1
  108. package/dist/web/.next/server/server-reference-manifest.json +1 -1
  109. package/dist/web/.next/static/chunks/293449b828207656.css +1 -0
  110. package/dist/web/.next/static/chunks/{8415039c5941cf5c.js → 3a5721af09d1c753.js} +4 -3
  111. package/dist/web/.next/static/chunks/{8fb2a99c64580de7.js → 98311243e9a5a0ec.js} +1 -1
  112. package/dist/web/.next/static/chunks/{b8e0c1aeea4a14bc.js → a47f36b030917d1f.js} +1 -1
  113. package/dist/web/.next/static/chunks/d60c422421920130.js +5 -0
  114. package/dist/web/.next/static/chunks/{f55f3c8c1a52f80c.js → f566a4b05a9cd6ba.js} +1 -1
  115. package/dist/web/.next/static/chunks/{4049cceee6a49323.js → fa78afe3ceed998b.js} +1 -1
  116. package/dist/web/src/app/api/changelog/route.ts +45 -0
  117. package/dist/web/src/app/api/kanban/route.ts +52 -12
  118. package/dist/web/src/app/api/terminal-classes/route.ts +43 -4
  119. package/dist/web/src/components/ActivityFeed.tsx +3 -0
  120. package/dist/web/src/components/BranchTab.tsx +115 -0
  121. package/dist/web/src/components/ChangelogModal.tsx +233 -0
  122. package/dist/web/src/components/Dashboard.tsx +11 -0
  123. package/dist/web/src/components/GlobalClaudePanel.tsx +6 -0
  124. package/dist/web/src/components/ProjectKanban.tsx +38 -8
  125. package/dist/web/src/components/VersionUpdateToast.tsx +6 -4
  126. package/dist/web/src/components/VoiceControlBar.tsx +1 -1
  127. package/dist/web/src/lib/scheduler.ts +2 -1
  128. package/dist/web/src/lib/types.ts +24 -0
  129. package/dist/web/tsconfig.tsbuildinfo +1 -1
  130. package/lib/cli/sync.d.ts +7 -0
  131. package/lib/cli/sync.d.ts.map +1 -1
  132. package/lib/cli/sync.js +25 -0
  133. package/lib/cli/sync.js.map +1 -1
  134. package/lib/cli/update.d.ts.map +1 -1
  135. package/lib/cli/update.js +9 -0
  136. package/lib/cli/update.js.map +1 -1
  137. package/package.json +1 -1
  138. package/templates/changelog.json +268 -0
  139. package/templates/kanban-seed.json +1 -1
  140. package/templates/store/actions/approve.md +1 -1
  141. package/templates/store/actions/challenge-implementation.md +149 -0
  142. package/templates/store/actions/challenge.md +119 -0
  143. package/templates/store/actions/checkpoint.md +2 -2
  144. package/templates/store/actions/context.md +3 -3
  145. package/templates/store/actions/create-card.md +1 -1
  146. package/templates/store/actions/deep-design.md +13 -3
  147. package/templates/store/actions/design-requirements.md +11 -1
  148. package/templates/store/actions/explore.md +1 -1
  149. package/templates/store/actions/implement.md +1 -1
  150. package/templates/store/actions/onboard.md +2 -4
  151. package/templates/store/actions/show-card.md +2 -2
  152. package/templates/store/actions/summarize.md +3 -3
  153. package/templates/store/actions/test-review.md +1 -1
  154. package/templates/store/skills/kanban/SKILL.md +77 -3
  155. package/templates/terminal-classes.json +51 -0
  156. package/templates/tutorial-project/documentation/kanban.json +1 -1
  157. package/templates/updates/actions/approve.md +1 -1
  158. package/templates/updates/actions/challenge-implementation.md +149 -0
  159. package/templates/updates/actions/challenge.md +119 -0
  160. package/templates/updates/actions/checkpoint.md +2 -2
  161. package/templates/updates/actions/context.md +3 -3
  162. package/templates/updates/actions/create-card.md +1 -1
  163. package/templates/updates/actions/deep-design.md +13 -3
  164. package/templates/updates/actions/design-requirements.md +11 -1
  165. package/templates/updates/actions/explore.md +1 -1
  166. package/templates/updates/actions/implement.md +1 -1
  167. package/templates/updates/actions/onboard.md +2 -4
  168. package/templates/updates/actions/show-card.md +2 -2
  169. package/templates/updates/actions/summarize.md +3 -3
  170. package/templates/updates/actions/test-review.md +1 -1
  171. package/templates/updates/skills/kanban/SKILL.md +77 -3
  172. package/dist/web/.next/static/chunks/18cfbdd7e977bb01.css +0 -1
  173. package/dist/web/.next/static/chunks/a0f5f9cdee8a22c1.js +0 -4
  174. /package/dist/web/.next/static/{b2V8jC3HBMi4vgm7Kie3H → O1Ine2WtyXv6EQJcwHyOV}/_buildManifest.js +0 -0
  175. /package/dist/web/.next/static/{b2V8jC3HBMi4vgm7Kie3H → O1Ine2WtyXv6EQJcwHyOV}/_clientMiddlewareManifest.json +0 -0
  176. /package/dist/web/.next/static/{b2V8jC3HBMi4vgm7Kie3H → O1Ine2WtyXv6EQJcwHyOV}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[7491,7957,15156,90473,a=>{"use strict";a.s(["VoiceProvider",()=>o,"useVoice",()=>n],7491);var b=a.i(87924),c=a.i(72131);function d(a,b){let c,d,e=(d=(c=b.split("+").map(a=>a.trim().toLowerCase()))[c.length-1],{ctrlKey:c.includes("ctrl"),shiftKey:c.includes("shift"),altKey:c.includes("alt"),metaKey:c.includes("meta")||c.includes("cmd"),key:"space"===d?" ":"escape"===d?"Escape":"enter"===d?"Enter":d});return(a.key.toLowerCase()===e.key.toLowerCase()||a.key===e.key)&&e.ctrlKey===a.ctrlKey&&e.shiftKey===a.shiftKey&&e.altKey===a.altKey&&e.metaKey===a.metaKey}let e={autoSubmitTerminal:!0,maxRecordingSeconds:300,shortcuts:{startRecording:"Ctrl+.",pauseResume:"Space",submit:"Enter",submitPasteOnly:"Shift+Enter",clear:"Escape"}},f={voice:e};var g=a.i(35112);function h({voiceState:a,elapsedSeconds:c,disabled:d,error:e,onRecord:f,onPause:g,onResume:h,onClear:i,onSubmit:j,onRetry:k,onOpenSettings:l}){let m;return(0,b.jsxs)("div",{className:`flex items-center gap-1.5 ${d?"opacity-40 pointer-events-none":""}`,children:[("idle"===a||"disabled"===a)&&(0,b.jsx)("button",{onClick:f,disabled:d,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-500 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 disabled:opacity-50 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Start recording (Ctrl+.)",children:(0,b.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})}),("recording"===a||"paused"===a)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-1",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full bg-red-500 ${"recording"===a?"animate-pulse":""}`}),(0,b.jsx)("span",{className:"min-w-[2.5rem] font-mono text-xs tabular-nums text-red-600 dark:text-red-400",children:(m=Math.floor(c/60),`${m}:${(c%60).toString().padStart(2,"0")}`)})]}),(0,b.jsx)("button",{onClick:"recording"===a?g:h,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-neon-blue-400/40 hover:bg-neon-blue-400/10 hover:text-neon-blue-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-neon-blue-400/40 dark:hover:bg-neon-blue-400/10 dark:hover:text-neon-blue-400",title:"recording"===a?"Pause (Space)":"Resume (Space)",children:"recording"===a?(0,b.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 24 24",children:[(0,b.jsx)("rect",{x:"6",y:"4",width:"4",height:"16"}),(0,b.jsx)("rect",{x:"14",y:"4",width:"4",height:"16"})]}):(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("polygon",{points:"5,3 19,12 5,21"})})}),(0,b.jsx)("button",{onClick:i,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Clear recording (Escape)",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,b.jsx)("button",{onClick:j,className:"rounded-md border border-green-400/40 bg-green-400/15 px-2 py-1.5 text-xs font-medium text-green-600 transition-all hover:bg-green-400/25 hover:shadow-[0_0_8px_rgba(34,197,94,0.2)] dark:text-green-400",title:"Submit for transcription (Enter)",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})})]}),"transcribing"===a&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-1",children:[(0,b.jsxs)("svg",{className:"h-4 w-4 animate-spin text-[#2490b5] dark:text-neon-blue-400",viewBox:"0 0 24 24",fill:"none",children:[(0,b.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,b.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,b.jsx)("span",{className:"text-xs text-[#2490b5] dark:text-neon-blue-400",children:"Transcribing..."})]}),"error"===a&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-xs text-red-400",title:e||"Transcription failed",children:"Failed"}),(0,b.jsx)("button",{onClick:k,className:"rounded-md border border-neon-blue-400/40 bg-neon-blue-400/15 px-1.5 py-1 text-xs font-medium text-neon-blue-400 transition-all hover:bg-neon-blue-400/25",title:"Retry transcription",children:"Retry"}),(0,b.jsx)("button",{onClick:i,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Clear",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsx)("button",{onClick:l,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-500 transition-all hover:border-void-400/50 hover:text-void-700 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-void-400/50 dark:hover:text-void-300",title:"Voice settings",children:(0,b.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})]})}function i({label:a,value:d,onChange:e}){let[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null),i=(0,c.useCallback)(a=>{if(!f)return;a.preventDefault(),a.stopPropagation();let b=[];a.ctrlKey&&b.push("Ctrl"),a.shiftKey&&b.push("Shift"),a.altKey&&b.push("Alt"),a.metaKey&&b.push("Cmd");let c=a.key;if(!["Control","Shift","Alt","Meta"].includes(c)){let a=" "===c?"Space":"Escape"===c?"Escape":"Enter"===c?"Enter":(c.length,c);b.push(a),e(b.join("+")),g(!1)}},[f,e]);return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:a}),(0,b.jsx)("input",{ref:h,type:"text",value:f?"Press keys...":d,readOnly:!0,onFocus:()=>g(!0),onBlur:()=>g(!1),onKeyDown:i,className:`w-28 rounded border px-2 py-1 text-center text-xs ${f?"border-neon-blue-400 bg-neon-blue-400/10 text-neon-blue-600 dark:text-neon-blue-400":"border-void-300 bg-void-50 text-void-700 dark:border-void-600 dark:bg-void-700 dark:text-void-300"} cursor-pointer outline-none`})]})}function j({settings:a,onSave:d,onClose:e}){let f=(0,c.useRef)(null),[g,h]=(0,c.useState)({...a.shortcuts}),[j,k]=(0,c.useState)(a.autoSubmitTerminal),[l,m]=(0,c.useState)(Math.round(a.maxRecordingSeconds/60)),n=(0,c.useRef)({shortcuts:g,autoSubmit:j,maxMinutes:l});return n.current={shortcuts:g,autoSubmit:j,maxMinutes:l},(0,c.useEffect)(()=>()=>{let{shortcuts:a,autoSubmit:b,maxMinutes:c}=n.current;d({shortcuts:a,autoSubmitTerminal:b,maxRecordingSeconds:60*Math.max(1,c)})},[]),(0,c.useEffect)(()=>{let a=a=>{f.current&&!f.current.contains(a.target)&&e()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e]),(0,b.jsxs)("div",{ref:f,className:"w-80 rounded-lg border border-void-200 bg-white p-4 shadow-(--shadow-overlay) dark:border-void-600 dark:bg-void-800",children:[(0,b.jsx)("h3",{className:"mb-3 text-sm font-medium text-void-800 dark:text-void-200",children:"Voice Settings"}),(0,b.jsxs)("div",{className:"mb-4 space-y-2",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-void-500 dark:text-void-400",children:"Keyboard Shortcuts"}),(0,b.jsx)(i,{label:"Start recording",value:g.startRecording,onChange:a=>h(b=>({...b,startRecording:a}))}),(0,b.jsx)(i,{label:"Pause / Resume",value:g.pauseResume,onChange:a=>h(b=>({...b,pauseResume:a}))}),(0,b.jsx)(i,{label:"Submit",value:g.submit,onChange:a=>h(b=>({...b,submit:a}))}),(0,b.jsx)(i,{label:"Paste only",value:g.submitPasteOnly,onChange:a=>h(b=>({...b,submitPasteOnly:a}))}),(0,b.jsx)(i,{label:"Clear / Cancel",value:g.clear,onChange:a=>h(b=>({...b,clear:a}))})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-void-200 pt-3 dark:border-void-600",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-void-500 dark:text-void-400",children:"Behaviour"}),(0,b.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:"Auto-submit (terminal)"}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":j,onClick:()=>k(!j),className:`relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors ${j?"bg-green-500":"bg-void-300 dark:bg-void-600"}`,children:(0,b.jsx)("span",{className:`pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white shadow transition ${j?"translate-x-4":"translate-x-0"}`})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:"Max recording (min)"}),(0,b.jsx)("input",{type:"number",min:1,max:30,value:l,onChange:a=>m(parseInt(a.target.value)||5),className:"w-16 rounded border border-void-300 bg-void-50 px-2 py-1 text-center text-xs text-void-700 outline-none dark:border-void-600 dark:bg-void-700 dark:text-void-300"})]})]})]})}function k({error:a,hasRecording:d,onRetry:e,onClear:f,onClose:g}){let h=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=a=>{h.current&&!h.current.contains(a.target)&&g()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[g]);let i=!d;return(0,b.jsxs)("div",{ref:h,className:"w-72 rounded-lg border border-red-400/30 bg-white p-3 shadow-(--shadow-overlay) dark:border-red-400/20 dark:bg-void-800",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start gap-2",children:[(0,b.jsx)("svg",{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-red-600 dark:text-red-400",children:i?"Recording Failed":"Transcription Failed"}),(0,b.jsx)("div",{className:"mt-1 text-xs text-void-600 dark:text-void-300",children:a})]})]}),(0,b.jsx)("div",{className:"mt-2 text-xs text-void-500 dark:text-void-400",children:i&&1?"Microphone requires HTTPS or localhost. Try accessing via localhost:3003, or add this origin to chrome://flags/#unsafely-treat-insecure-origin-as-secure.":i?"Could not access the microphone.":"Your recording is preserved. You can retry or clear and start over."}),(0,b.jsxs)("div",{className:"mt-3 flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:f,className:"rounded border border-void-300 bg-void-100 px-2 py-1 text-xs text-void-600 hover:text-void-800 dark:border-void-600 dark:bg-void-700 dark:text-void-400 dark:hover:text-void-300",children:i?"Dismiss":"Clear"}),d&&e&&(0,b.jsx)("button",{onClick:e,className:"rounded border border-neon-blue-400/40 bg-neon-blue-400/15 px-2 py-1 text-xs text-neon-blue-600 hover:bg-neon-blue-400/25 dark:text-neon-blue-400",children:"Retry"})]})]})}function l(){let a=n(),d=(0,c.useRef)(null),e=(0,c.useRef)(0),[f,i]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{i(!0)},[]),null===a.currentClaimantId&&f&&("idle"!==a.voiceState&&"disabled"!==a.voiceState||a.showSettings))?(0,g.createPortal)((0,b.jsxs)("div",{className:"fixed bottom-4 right-4 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200 rounded-xl border border-red-400/30 bg-white/95 px-3 py-2 shadow-(--shadow-card) backdrop-blur-sm dark:border-red-400/20 dark:bg-void-800/95",ref:d,children:[(0,b.jsx)(h,{voiceState:a.voiceState,elapsedSeconds:a.elapsedSeconds,disabled:!1,error:a.error,onRecord:a.startRecording,onPause:a.pauseRecording,onResume:a.resumeRecording,onClear:a.clearRecording,onSubmit:a.submitRecording,onRetry:a.retryTranscription,onOpenSettings:()=>{Date.now()-e.current<200||a.setShowSettings(!a.showSettings)}}),a.showSettings&&(0,b.jsx)("div",{style:{position:"fixed",bottom:60,right:16,zIndex:9999},children:(0,b.jsx)(j,{settings:a.settings.voice,onSave:b=>a.updateSettings({voice:b}),onClose:()=>{e.current=Date.now(),a.setShowSettings(!1)}})}),"error"===a.voiceState&&a.error&&(0,b.jsx)("div",{style:{position:"fixed",bottom:60,right:16,zIndex:9999},children:(0,b.jsx)(k,{error:a.error,hasRecording:a.hasRecording,onRetry:()=>a.retryTranscription(),onClear:()=>a.clearRecording(),onClose:()=>a.clearRecording()})})]}),document.body):null}a.s(["VoiceControlBar",()=>h],7957),a.s(["VoiceSettingsPopover",()=>j],15156),a.s(["VoiceErrorPopup",()=>k],90473);let m=(0,c.createContext)(null);function n(){let a=(0,c.useContext)(m);if(!a)throw Error("useVoice() must be used inside <VoiceProvider>");return a}function o({children:a}){let{settings:g,updateSettings:h}=function(){let[a,b]=(0,c.useState)(f),[d,g]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{fetch("/api/settings").then(a=>a.json()).then(a=>{b({...f,...a,voice:{...e,...a?.voice}})}).catch(()=>{}).finally(()=>g(!1))},[]),{settings:a,updateSettings:(0,c.useCallback)(async a=>{try{let c=await fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(c.ok){let a=await c.json();return b({...f,...a,voice:{...e,...a?.voice}}),a}}catch{}return null},[]),isLoading:d}}(),i=(0,c.useRef)(new Map),j=(0,c.useRef)(null),k=(0,c.useCallback)((a,b)=>{i.current.set(a,b),j.current=a},[]),n=(0,c.useCallback)(a=>{if(i.current.delete(a),j.current===a){let a=Array.from(i.current.keys());j.current=a.length>0?a[0]:null}},[]),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(null),r=(0,c.useRef)(null),s=(0,c.useRef)("auto"),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),x=(0,c.useCallback)(a=>{let b=r.current;if(b){if("input"===b.type&&b.element){if(!document.contains(b.element))return;let c=b.element,d=c.selectionStart??c.value.length,e=c.selectionEnd??c.value.length;c.focus(),c.setSelectionRange(d,e),document.execCommand("insertText",!1,a)}else if("terminal"===b.type&&b.terminalId){let c=i.current.get(b.terminalId);if(!c)return;let d="auto"===s.current&&g.voice.autoSubmitTerminal;c.sendInput(a),d&&setTimeout(()=>c.sendInput("\r"),300)}s.current="auto"}},[g.voice.autoSubmitTerminal]),y=(0,c.useCallback)(a=>{o.current?o.current.onTranscriptionComplete(a):x(a)},[x]),z=function({maxRecordingSeconds:a,onTranscriptionComplete:b}){let[d,e]=(0,c.useState)("idle"),[f,g]=(0,c.useState)(0),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)([]),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(0),r=(0,c.useRef)(!1),s=(0,c.useRef)(b);(0,c.useEffect)(()=>{s.current=b},[b]);let t=(0,c.useCallback)(()=>{n.current||(n.current=setInterval(()=>{g(a=>a+1)},1e3))},[]),u=(0,c.useCallback)(()=>{n.current&&(clearInterval(n.current),n.current=null)},[]);(0,c.useEffect)(()=>{"recording"===d&&f-q.current>=a&&(l.current?.state==="recording"&&l.current.pause(),r.current=!0,u(),e("paused"))},[d,f,a,u]),(0,c.useEffect)(()=>()=>{if(u(),l.current?.state!=="inactive")try{l.current?.stop()}catch{}p.current?.getTracks().forEach(a=>a.stop())},[u]);let v=(0,c.useCallback)(()=>new Promise(a=>{let b=l.current;b&&"inactive"!==b.state?(b.ondataavailable=a=>{a.data.size>0&&m.current.push(a.data)},b.onstop=()=>{a(new Blob(m.current,{type:m.current[0]?.type||"audio/webm"}))},b.stop()):a(new Blob(m.current,{type:m.current[0]?.type||"audio/webm"}))}),[]),w=(0,c.useCallback)(async a=>{let b=new FormData;b.append("audio",a,"recording.webm");let c=await fetch("/api/transcribe",{method:"POST",body:b}),d=await c.json();if(!c.ok)throw Error(d.error||"Transcription failed");return d.text},[]),x=(0,c.useCallback)(()=>{p.current?.getTracks().forEach(a=>a.stop()),p.current=null},[]),y=(0,c.useCallback)(async()=>{if("idle"===d||"disabled"===d)try{i(null),k(null),m.current=[],o.current=null,g(0),q.current=0;let a=await navigator.mediaDevices.getUserMedia({audio:!0});p.current=a;let b=MediaRecorder.isTypeSupported("audio/ogg;codecs=opus")?"audio/ogg;codecs=opus":MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":"",c=new MediaRecorder(a,b?{mimeType:b}:void 0);l.current=c,c.ondataavailable=a=>{a.data.size>0&&m.current.push(a.data)},c.start(1e3),e("recording"),t()}catch(b){let a=b.message;a.includes("Permission")||a.includes("NotAllowed")?i("Microphone permission denied. Please allow microphone access."):i(a||"Failed to start recording"),e("error"),x()}},[d,t,x]),z=(0,c.useCallback)(()=>{"recording"===d&&(l.current?.state==="recording"&&l.current.pause(),u(),e("paused"))},[d,u]),A=(0,c.useCallback)(()=>{"paused"===d&&(l.current?.state==="paused"&&l.current.resume(),r.current&&(q.current=f,r.current=!1),t(),e("recording"))},[d,f,t]),B=(0,c.useCallback)(()=>{if(u(),l.current?.state!=="inactive")try{l.current?.stop()}catch{}m.current=[],o.current=null,g(0),i(null),k(null),x(),e("idle")},[u,x]),C=(0,c.useCallback)(async()=>{if("recording"===d||"paused"===d){u(),e("transcribing");try{let a=await v();o.current=a,x();let b=await w(a);k(b),g(0),m.current=[],e("idle"),s.current?.(b)}catch(a){i(a.message||"Transcription failed"),e("error")}}},[d,u,v,w,x]),D=(0,c.useCallback)(async()=>{if("error"===d&&o.current){e("transcribing"),i(null);try{let a=await w(o.current);k(a),o.current=null,m.current=[],g(0),e("idle"),s.current?.(a)}catch(a){i(a.message||"Transcription failed"),e("error")}}},[d,w]);return{state:d,elapsedSeconds:f,error:h,transcribedText:j,hasRecording:null!==o.current||m.current.length>0,startRecording:y,pauseRecording:z,resumeRecording:A,clearRecording:B,submitRecording:C,retryTranscription:D}}({maxRecordingSeconds:g.voice.maxRecordingSeconds,onTranscriptionComplete:y}),A=(0,c.useCallback)(a=>{o.current&&o.current.id!==a.id&&(o.current.onRelease?.(),"idle"!==z.state&&"disabled"!==z.state&&z.clearRecording()),o.current=a,q(a.id)},[z]),B=(0,c.useCallback)(a=>{o.current?.id===a.id&&("idle"!==z.state&&"error"!==z.state&&"disabled"!==z.state&&z.clearRecording(),o.current=null,q(null))},[z]);(0,c.useEffect)(()=>{let a=a=>{let b=a.target;if(b.closest("[data-voice-target]")&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName))return void w(!0);if(b.closest("[data-terminal-id]")){let a=b.closest("[data-terminal-id]").dataset.terminalId;a&&i.current.has(a)&&(j.current=a,w(!0))}},b=()=>{setTimeout(()=>{let a=document.activeElement;if(!a)return void w(!1);let b=a.closest("[data-voice-target]")&&("INPUT"===a.tagName||"TEXTAREA"===a.tagName),c=a.closest("[data-terminal-id]");b||c||w(!1)},100)};return document.addEventListener("focusin",a),document.addEventListener("focusout",b),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b)}},[]);let C=(0,c.useCallback)(()=>{if(o.current)o.current.onRecordStart?.(),z.startRecording();else{let a=document.activeElement;if(a&&("INPUT"===a.tagName||"TEXTAREA"===a.tagName)&&a.closest("[data-voice-target]"))r.current={type:"input",element:a};else if(a?.closest("[data-terminal-id]")){let b=a.closest("[data-terminal-id]").dataset.terminalId||j.current;if(!(b&&i.current.has(b)))return;r.current={type:"terminal",terminalId:b}}else{if(!(j.current&&i.current.has(j.current)))return;r.current={type:"terminal",terminalId:j.current}}z.startRecording()}},[z]),D=(0,c.useCallback)(()=>{s.current="paste",z.submitRecording()},[z]),E=(0,c.useCallback)(()=>{"recording"===z.state?z.pauseRecording():"paused"===z.state&&z.resumeRecording()},[z]);!function({voiceState:a,shortcuts:b,callbacks:e,enabled:f,hasFieldFocus:g,suspended:h}){let i=(0,c.useRef)(e),j=(0,c.useRef)(a),k=(0,c.useRef)(b),l=(0,c.useRef)(g),m=(0,c.useRef)(h);(0,c.useEffect)(()=>{i.current=e,j.current=a,k.current=b,l.current=g,m.current=h}),(0,c.useEffect)(()=>{if(!f)return;let a=a=>{if(m.current)return;let b=j.current,c=k.current,e=i.current;if("idle"===b&&l.current&&d(a,c.startRecording)){a.preventDefault(),a.stopPropagation(),e.onStartRecording();return}if("recording"===b||"paused"===b){if(d(a,c.pauseResume)){a.preventDefault(),a.stopPropagation(),e.onPauseResume();return}if(d(a,c.submitPasteOnly)){a.preventDefault(),a.stopPropagation(),e.onSubmitPasteOnly();return}if(d(a,c.submit)){a.preventDefault(),a.stopPropagation(),e.onSubmit();return}if(d(a,c.clear)){a.preventDefault(),a.stopPropagation(),e.onClear();return}}};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[f])}({voiceState:z.state,shortcuts:g.voice.shortcuts,callbacks:{onStartRecording:C,onPauseResume:E,onSubmit:z.submitRecording,onSubmitPasteOnly:D,onClear:z.clearRecording},enabled:!0,hasFieldFocus:!!o.current||v,suspended:t});let F={voiceState:z.state,elapsedSeconds:z.elapsedSeconds,error:z.error,hasRecording:z.hasRecording,startRecording:z.startRecording,pauseRecording:z.pauseRecording,resumeRecording:z.resumeRecording,clearRecording:z.clearRecording,submitRecording:z.submitRecording,retryTranscription:z.retryTranscription,claimVoiceControl:A,releaseVoiceControl:B,currentClaimantId:p,settings:g,updateSettings:h,registerTerminal:k,unregisterTerminal:n,submitModeRef:s,showSettings:t,setShowSettings:u,hasFieldFocus:v,setHasFieldFocus:w};return(0,b.jsxs)(m.Provider,{value:F,children:[a,(0,b.jsx)(l,{})]})}}];
1
+ module.exports=[7491,7957,15156,90473,a=>{"use strict";a.s(["VoiceProvider",()=>o,"useVoice",()=>n],7491);var b=a.i(87924),c=a.i(72131);function d(a,b){let c,d,e=(d=(c=b.split("+").map(a=>a.trim().toLowerCase()))[c.length-1],{ctrlKey:c.includes("ctrl"),shiftKey:c.includes("shift"),altKey:c.includes("alt"),metaKey:c.includes("meta")||c.includes("cmd"),key:"space"===d?" ":"escape"===d?"Escape":"enter"===d?"Enter":d});return(a.key.toLowerCase()===e.key.toLowerCase()||a.key===e.key)&&e.ctrlKey===a.ctrlKey&&e.shiftKey===a.shiftKey&&e.altKey===a.altKey&&e.metaKey===a.metaKey}let e={autoSubmitTerminal:!0,maxRecordingSeconds:300,shortcuts:{startRecording:"Ctrl+.",pauseResume:"Space",submit:"Enter",submitPasteOnly:"Shift+Enter",clear:"Escape"}},f={voice:e};var g=a.i(35112);function h({voiceState:a,elapsedSeconds:c,disabled:d,error:e,onRecord:f,onPause:g,onResume:h,onClear:i,onSubmit:j,onRetry:k,onOpenSettings:l}){let m;return(0,b.jsxs)("div",{className:`flex items-center gap-1.5 ${d?"opacity-40 pointer-events-none":""}`,children:[("idle"===a||"disabled"===a)&&(0,b.jsx)("button",{onClick:f,disabled:d,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-500 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 disabled:opacity-50 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Start recording [Ctrl+.]",children:(0,b.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})}),("recording"===a||"paused"===a)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-1",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full bg-red-500 ${"recording"===a?"animate-pulse":""}`}),(0,b.jsx)("span",{className:"min-w-[2.5rem] font-mono text-xs tabular-nums text-red-600 dark:text-red-400",children:(m=Math.floor(c/60),`${m}:${(c%60).toString().padStart(2,"0")}`)})]}),(0,b.jsx)("button",{onClick:"recording"===a?g:h,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-neon-blue-400/40 hover:bg-neon-blue-400/10 hover:text-neon-blue-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-neon-blue-400/40 dark:hover:bg-neon-blue-400/10 dark:hover:text-neon-blue-400",title:"recording"===a?"Pause (Space)":"Resume (Space)",children:"recording"===a?(0,b.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 24 24",children:[(0,b.jsx)("rect",{x:"6",y:"4",width:"4",height:"16"}),(0,b.jsx)("rect",{x:"14",y:"4",width:"4",height:"16"})]}):(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("polygon",{points:"5,3 19,12 5,21"})})}),(0,b.jsx)("button",{onClick:i,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Clear recording (Escape)",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,b.jsx)("button",{onClick:j,className:"rounded-md border border-green-400/40 bg-green-400/15 px-2 py-1.5 text-xs font-medium text-green-600 transition-all hover:bg-green-400/25 hover:shadow-[0_0_8px_rgba(34,197,94,0.2)] dark:text-green-400",title:"Submit for transcription (Enter)",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})})]}),"transcribing"===a&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-1",children:[(0,b.jsxs)("svg",{className:"h-4 w-4 animate-spin text-[#2490b5] dark:text-neon-blue-400",viewBox:"0 0 24 24",fill:"none",children:[(0,b.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,b.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,b.jsx)("span",{className:"text-xs text-[#2490b5] dark:text-neon-blue-400",children:"Transcribing..."})]}),"error"===a&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-xs text-red-400",title:e||"Transcription failed",children:"Failed"}),(0,b.jsx)("button",{onClick:k,className:"rounded-md border border-neon-blue-400/40 bg-neon-blue-400/15 px-1.5 py-1 text-xs font-medium text-neon-blue-400 transition-all hover:bg-neon-blue-400/25",title:"Retry transcription",children:"Retry"}),(0,b.jsx)("button",{onClick:i,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-600 transition-all hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-400 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-red-400/40 dark:hover:bg-red-400/10 dark:hover:text-red-400",title:"Clear",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsx)("button",{onClick:l,className:"rounded-md border border-void-400/30 bg-void-200/50 p-1.5 text-void-500 transition-all hover:border-void-400/50 hover:text-void-700 dark:border-void-500/25 dark:bg-void-700/50 dark:text-void-400 dark:hover:border-void-400/50 dark:hover:text-void-300",title:"Voice settings",children:(0,b.jsxs)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})]})}function i({label:a,value:d,onChange:e}){let[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null),i=(0,c.useCallback)(a=>{if(!f)return;a.preventDefault(),a.stopPropagation();let b=[];a.ctrlKey&&b.push("Ctrl"),a.shiftKey&&b.push("Shift"),a.altKey&&b.push("Alt"),a.metaKey&&b.push("Cmd");let c=a.key;if(!["Control","Shift","Alt","Meta"].includes(c)){let a=" "===c?"Space":"Escape"===c?"Escape":"Enter"===c?"Enter":(c.length,c);b.push(a),e(b.join("+")),g(!1)}},[f,e]);return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:a}),(0,b.jsx)("input",{ref:h,type:"text",value:f?"Press keys...":d,readOnly:!0,onFocus:()=>g(!0),onBlur:()=>g(!1),onKeyDown:i,className:`w-28 rounded border px-2 py-1 text-center text-xs ${f?"border-neon-blue-400 bg-neon-blue-400/10 text-neon-blue-600 dark:text-neon-blue-400":"border-void-300 bg-void-50 text-void-700 dark:border-void-600 dark:bg-void-700 dark:text-void-300"} cursor-pointer outline-none`})]})}function j({settings:a,onSave:d,onClose:e}){let f=(0,c.useRef)(null),[g,h]=(0,c.useState)({...a.shortcuts}),[j,k]=(0,c.useState)(a.autoSubmitTerminal),[l,m]=(0,c.useState)(Math.round(a.maxRecordingSeconds/60)),n=(0,c.useRef)({shortcuts:g,autoSubmit:j,maxMinutes:l});return n.current={shortcuts:g,autoSubmit:j,maxMinutes:l},(0,c.useEffect)(()=>()=>{let{shortcuts:a,autoSubmit:b,maxMinutes:c}=n.current;d({shortcuts:a,autoSubmitTerminal:b,maxRecordingSeconds:60*Math.max(1,c)})},[]),(0,c.useEffect)(()=>{let a=a=>{f.current&&!f.current.contains(a.target)&&e()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e]),(0,b.jsxs)("div",{ref:f,className:"w-80 rounded-lg border border-void-200 bg-white p-4 shadow-(--shadow-overlay) dark:border-void-600 dark:bg-void-800",children:[(0,b.jsx)("h3",{className:"mb-3 text-sm font-medium text-void-800 dark:text-void-200",children:"Voice Settings"}),(0,b.jsxs)("div",{className:"mb-4 space-y-2",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-void-500 dark:text-void-400",children:"Keyboard Shortcuts"}),(0,b.jsx)(i,{label:"Start recording",value:g.startRecording,onChange:a=>h(b=>({...b,startRecording:a}))}),(0,b.jsx)(i,{label:"Pause / Resume",value:g.pauseResume,onChange:a=>h(b=>({...b,pauseResume:a}))}),(0,b.jsx)(i,{label:"Submit",value:g.submit,onChange:a=>h(b=>({...b,submit:a}))}),(0,b.jsx)(i,{label:"Paste only",value:g.submitPasteOnly,onChange:a=>h(b=>({...b,submitPasteOnly:a}))}),(0,b.jsx)(i,{label:"Clear / Cancel",value:g.clear,onChange:a=>h(b=>({...b,clear:a}))})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-void-200 pt-3 dark:border-void-600",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-void-500 dark:text-void-400",children:"Behaviour"}),(0,b.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:"Auto-submit (terminal)"}),(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":j,onClick:()=>k(!j),className:`relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors ${j?"bg-green-500":"bg-void-300 dark:bg-void-600"}`,children:(0,b.jsx)("span",{className:`pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white shadow transition ${j?"translate-x-4":"translate-x-0"}`})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-void-600 dark:text-void-400",children:"Max recording (min)"}),(0,b.jsx)("input",{type:"number",min:1,max:30,value:l,onChange:a=>m(parseInt(a.target.value)||5),className:"w-16 rounded border border-void-300 bg-void-50 px-2 py-1 text-center text-xs text-void-700 outline-none dark:border-void-600 dark:bg-void-700 dark:text-void-300"})]})]})]})}function k({error:a,hasRecording:d,onRetry:e,onClear:f,onClose:g}){let h=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=a=>{h.current&&!h.current.contains(a.target)&&g()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[g]);let i=!d;return(0,b.jsxs)("div",{ref:h,className:"w-72 rounded-lg border border-red-400/30 bg-white p-3 shadow-(--shadow-overlay) dark:border-red-400/20 dark:bg-void-800",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start gap-2",children:[(0,b.jsx)("svg",{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-red-600 dark:text-red-400",children:i?"Recording Failed":"Transcription Failed"}),(0,b.jsx)("div",{className:"mt-1 text-xs text-void-600 dark:text-void-300",children:a})]})]}),(0,b.jsx)("div",{className:"mt-2 text-xs text-void-500 dark:text-void-400",children:i&&1?"Microphone requires HTTPS or localhost. Try accessing via localhost:3003, or add this origin to chrome://flags/#unsafely-treat-insecure-origin-as-secure.":i?"Could not access the microphone.":"Your recording is preserved. You can retry or clear and start over."}),(0,b.jsxs)("div",{className:"mt-3 flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:f,className:"rounded border border-void-300 bg-void-100 px-2 py-1 text-xs text-void-600 hover:text-void-800 dark:border-void-600 dark:bg-void-700 dark:text-void-400 dark:hover:text-void-300",children:i?"Dismiss":"Clear"}),d&&e&&(0,b.jsx)("button",{onClick:e,className:"rounded border border-neon-blue-400/40 bg-neon-blue-400/15 px-2 py-1 text-xs text-neon-blue-600 hover:bg-neon-blue-400/25 dark:text-neon-blue-400",children:"Retry"})]})]})}function l(){let a=n(),d=(0,c.useRef)(null),e=(0,c.useRef)(0),[f,i]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{i(!0)},[]),null===a.currentClaimantId&&f&&("idle"!==a.voiceState&&"disabled"!==a.voiceState||a.showSettings))?(0,g.createPortal)((0,b.jsxs)("div",{className:"fixed bottom-4 right-4 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200 rounded-xl border border-red-400/30 bg-white/95 px-3 py-2 shadow-(--shadow-card) backdrop-blur-sm dark:border-red-400/20 dark:bg-void-800/95",ref:d,children:[(0,b.jsx)(h,{voiceState:a.voiceState,elapsedSeconds:a.elapsedSeconds,disabled:!1,error:a.error,onRecord:a.startRecording,onPause:a.pauseRecording,onResume:a.resumeRecording,onClear:a.clearRecording,onSubmit:a.submitRecording,onRetry:a.retryTranscription,onOpenSettings:()=>{Date.now()-e.current<200||a.setShowSettings(!a.showSettings)}}),a.showSettings&&(0,b.jsx)("div",{style:{position:"fixed",bottom:60,right:16,zIndex:9999},children:(0,b.jsx)(j,{settings:a.settings.voice,onSave:b=>a.updateSettings({voice:b}),onClose:()=>{e.current=Date.now(),a.setShowSettings(!1)}})}),"error"===a.voiceState&&a.error&&(0,b.jsx)("div",{style:{position:"fixed",bottom:60,right:16,zIndex:9999},children:(0,b.jsx)(k,{error:a.error,hasRecording:a.hasRecording,onRetry:()=>a.retryTranscription(),onClear:()=>a.clearRecording(),onClose:()=>a.clearRecording()})})]}),document.body):null}a.s(["VoiceControlBar",()=>h],7957),a.s(["VoiceSettingsPopover",()=>j],15156),a.s(["VoiceErrorPopup",()=>k],90473);let m=(0,c.createContext)(null);function n(){let a=(0,c.useContext)(m);if(!a)throw Error("useVoice() must be used inside <VoiceProvider>");return a}function o({children:a}){let{settings:g,updateSettings:h}=function(){let[a,b]=(0,c.useState)(f),[d,g]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{fetch("/api/settings").then(a=>a.json()).then(a=>{b({...f,...a,voice:{...e,...a?.voice}})}).catch(()=>{}).finally(()=>g(!1))},[]),{settings:a,updateSettings:(0,c.useCallback)(async a=>{try{let c=await fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(c.ok){let a=await c.json();return b({...f,...a,voice:{...e,...a?.voice}}),a}}catch{}return null},[]),isLoading:d}}(),i=(0,c.useRef)(new Map),j=(0,c.useRef)(null),k=(0,c.useCallback)((a,b)=>{i.current.set(a,b),j.current=a},[]),n=(0,c.useCallback)(a=>{if(i.current.delete(a),j.current===a){let a=Array.from(i.current.keys());j.current=a.length>0?a[0]:null}},[]),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(null),r=(0,c.useRef)(null),s=(0,c.useRef)("auto"),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),x=(0,c.useCallback)(a=>{let b=r.current;if(b){if("input"===b.type&&b.element){if(!document.contains(b.element))return;let c=b.element,d=c.selectionStart??c.value.length,e=c.selectionEnd??c.value.length;c.focus(),c.setSelectionRange(d,e),document.execCommand("insertText",!1,a)}else if("terminal"===b.type&&b.terminalId){let c=i.current.get(b.terminalId);if(!c)return;let d="auto"===s.current&&g.voice.autoSubmitTerminal;c.sendInput(a),d&&setTimeout(()=>c.sendInput("\r"),300)}s.current="auto"}},[g.voice.autoSubmitTerminal]),y=(0,c.useCallback)(a=>{o.current?o.current.onTranscriptionComplete(a):x(a)},[x]),z=function({maxRecordingSeconds:a,onTranscriptionComplete:b}){let[d,e]=(0,c.useState)("idle"),[f,g]=(0,c.useState)(0),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)([]),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(0),r=(0,c.useRef)(!1),s=(0,c.useRef)(b);(0,c.useEffect)(()=>{s.current=b},[b]);let t=(0,c.useCallback)(()=>{n.current||(n.current=setInterval(()=>{g(a=>a+1)},1e3))},[]),u=(0,c.useCallback)(()=>{n.current&&(clearInterval(n.current),n.current=null)},[]);(0,c.useEffect)(()=>{"recording"===d&&f-q.current>=a&&(l.current?.state==="recording"&&l.current.pause(),r.current=!0,u(),e("paused"))},[d,f,a,u]),(0,c.useEffect)(()=>()=>{if(u(),l.current?.state!=="inactive")try{l.current?.stop()}catch{}p.current?.getTracks().forEach(a=>a.stop())},[u]);let v=(0,c.useCallback)(()=>new Promise(a=>{let b=l.current;b&&"inactive"!==b.state?(b.ondataavailable=a=>{a.data.size>0&&m.current.push(a.data)},b.onstop=()=>{a(new Blob(m.current,{type:m.current[0]?.type||"audio/webm"}))},b.stop()):a(new Blob(m.current,{type:m.current[0]?.type||"audio/webm"}))}),[]),w=(0,c.useCallback)(async a=>{let b=new FormData;b.append("audio",a,"recording.webm");let c=await fetch("/api/transcribe",{method:"POST",body:b}),d=await c.json();if(!c.ok)throw Error(d.error||"Transcription failed");return d.text},[]),x=(0,c.useCallback)(()=>{p.current?.getTracks().forEach(a=>a.stop()),p.current=null},[]),y=(0,c.useCallback)(async()=>{if("idle"===d||"disabled"===d)try{i(null),k(null),m.current=[],o.current=null,g(0),q.current=0;let a=await navigator.mediaDevices.getUserMedia({audio:!0});p.current=a;let b=MediaRecorder.isTypeSupported("audio/ogg;codecs=opus")?"audio/ogg;codecs=opus":MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":"",c=new MediaRecorder(a,b?{mimeType:b}:void 0);l.current=c,c.ondataavailable=a=>{a.data.size>0&&m.current.push(a.data)},c.start(1e3),e("recording"),t()}catch(b){let a=b.message;a.includes("Permission")||a.includes("NotAllowed")?i("Microphone permission denied. Please allow microphone access."):i(a||"Failed to start recording"),e("error"),x()}},[d,t,x]),z=(0,c.useCallback)(()=>{"recording"===d&&(l.current?.state==="recording"&&l.current.pause(),u(),e("paused"))},[d,u]),A=(0,c.useCallback)(()=>{"paused"===d&&(l.current?.state==="paused"&&l.current.resume(),r.current&&(q.current=f,r.current=!1),t(),e("recording"))},[d,f,t]),B=(0,c.useCallback)(()=>{if(u(),l.current?.state!=="inactive")try{l.current?.stop()}catch{}m.current=[],o.current=null,g(0),i(null),k(null),x(),e("idle")},[u,x]),C=(0,c.useCallback)(async()=>{if("recording"===d||"paused"===d){u(),e("transcribing");try{let a=await v();o.current=a,x();let b=await w(a);k(b),g(0),m.current=[],e("idle"),s.current?.(b)}catch(a){i(a.message||"Transcription failed"),e("error")}}},[d,u,v,w,x]),D=(0,c.useCallback)(async()=>{if("error"===d&&o.current){e("transcribing"),i(null);try{let a=await w(o.current);k(a),o.current=null,m.current=[],g(0),e("idle"),s.current?.(a)}catch(a){i(a.message||"Transcription failed"),e("error")}}},[d,w]);return{state:d,elapsedSeconds:f,error:h,transcribedText:j,hasRecording:null!==o.current||m.current.length>0,startRecording:y,pauseRecording:z,resumeRecording:A,clearRecording:B,submitRecording:C,retryTranscription:D}}({maxRecordingSeconds:g.voice.maxRecordingSeconds,onTranscriptionComplete:y}),A=(0,c.useCallback)(a=>{o.current&&o.current.id!==a.id&&(o.current.onRelease?.(),"idle"!==z.state&&"disabled"!==z.state&&z.clearRecording()),o.current=a,q(a.id)},[z]),B=(0,c.useCallback)(a=>{o.current?.id===a.id&&("idle"!==z.state&&"error"!==z.state&&"disabled"!==z.state&&z.clearRecording(),o.current=null,q(null))},[z]);(0,c.useEffect)(()=>{let a=a=>{let b=a.target;if(b.closest("[data-voice-target]")&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName))return void w(!0);if(b.closest("[data-terminal-id]")){let a=b.closest("[data-terminal-id]").dataset.terminalId;a&&i.current.has(a)&&(j.current=a,w(!0))}},b=()=>{setTimeout(()=>{let a=document.activeElement;if(!a)return void w(!1);let b=a.closest("[data-voice-target]")&&("INPUT"===a.tagName||"TEXTAREA"===a.tagName),c=a.closest("[data-terminal-id]");b||c||w(!1)},100)};return document.addEventListener("focusin",a),document.addEventListener("focusout",b),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b)}},[]);let C=(0,c.useCallback)(()=>{if(o.current)o.current.onRecordStart?.(),z.startRecording();else{let a=document.activeElement;if(a&&("INPUT"===a.tagName||"TEXTAREA"===a.tagName)&&a.closest("[data-voice-target]"))r.current={type:"input",element:a};else if(a?.closest("[data-terminal-id]")){let b=a.closest("[data-terminal-id]").dataset.terminalId||j.current;if(!(b&&i.current.has(b)))return;r.current={type:"terminal",terminalId:b}}else{if(!(j.current&&i.current.has(j.current)))return;r.current={type:"terminal",terminalId:j.current}}z.startRecording()}},[z]),D=(0,c.useCallback)(()=>{s.current="paste",z.submitRecording()},[z]),E=(0,c.useCallback)(()=>{"recording"===z.state?z.pauseRecording():"paused"===z.state&&z.resumeRecording()},[z]);!function({voiceState:a,shortcuts:b,callbacks:e,enabled:f,hasFieldFocus:g,suspended:h}){let i=(0,c.useRef)(e),j=(0,c.useRef)(a),k=(0,c.useRef)(b),l=(0,c.useRef)(g),m=(0,c.useRef)(h);(0,c.useEffect)(()=>{i.current=e,j.current=a,k.current=b,l.current=g,m.current=h}),(0,c.useEffect)(()=>{if(!f)return;let a=a=>{if(m.current)return;let b=j.current,c=k.current,e=i.current;if("idle"===b&&l.current&&d(a,c.startRecording)){a.preventDefault(),a.stopPropagation(),e.onStartRecording();return}if("recording"===b||"paused"===b){if(d(a,c.pauseResume)){a.preventDefault(),a.stopPropagation(),e.onPauseResume();return}if(d(a,c.submitPasteOnly)){a.preventDefault(),a.stopPropagation(),e.onSubmitPasteOnly();return}if(d(a,c.submit)){a.preventDefault(),a.stopPropagation(),e.onSubmit();return}if(d(a,c.clear)){a.preventDefault(),a.stopPropagation(),e.onClear();return}}};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[f])}({voiceState:z.state,shortcuts:g.voice.shortcuts,callbacks:{onStartRecording:C,onPauseResume:E,onSubmit:z.submitRecording,onSubmitPasteOnly:D,onClear:z.clearRecording},enabled:!0,hasFieldFocus:!!o.current||v,suspended:t});let F={voiceState:z.state,elapsedSeconds:z.elapsedSeconds,error:z.error,hasRecording:z.hasRecording,startRecording:z.startRecording,pauseRecording:z.pauseRecording,resumeRecording:z.resumeRecording,clearRecording:z.clearRecording,submitRecording:z.submitRecording,retryTranscription:z.retryTranscription,claimVoiceControl:A,releaseVoiceControl:B,currentClaimantId:p,settings:g,updateSettings:h,registerTerminal:k,unregisterTerminal:n,submitModeRef:s,showSettings:t,setShowSettings:u,hasFieldFocus:v,setHasFieldFocus:w};return(0,b.jsxs)(m.Provider,{value:F,children:[a,(0,b.jsx)(l,{})]})}}];
2
2
 
3
3
  //# sourceMappingURL=src_contexts_VoiceContext_tsx_cfba7292._.js.map
@@ -1 +1 @@
1
- <!DOCTYPE html><!--b2V8jC3HBMi4vgm7Kie3H--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/43bfca92afbacd38.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/18cfbdd7e977bb01.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5f95863347fe47d9.js"/><script src="/_next/static/chunks/7de9141b1af425c3.js" async=""></script><script src="/_next/static/chunks/cf910fc299170b7d.js" async=""></script><script src="/_next/static/chunks/turbopack-563e27abda63930f.js" async=""></script><script src="/_next/static/chunks/8fb2a99c64580de7.js" async=""></script><script src="/_next/static/chunks/e24d6768d85df882.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>SlyCode</title><meta name="description" content="SlyCode Managed Projects"/><link rel="icon" href="/favicon.png"/><script>(function(){try{var t=localStorage.getItem('slycode-theme');if(t==='light')return;if(t==='dark'||window.matchMedia('(prefers-color-scheme:dark)').matches)document.documentElement.classList.add('dark')}catch(e){}})()</script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5f95863347fe47d9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1088,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"VoiceProvider\"]\n3:I[39756,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n:HL[\"/_next/static/chunks/43bfca92afbacd38.css\",\"style\"]\n:HL[\"/_next/static/chunks/18cfbdd7e977bb01.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"b2V8jC3HBMi4vgm7Kie3H\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/43bfca92afbacd38.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/18cfbdd7e977bb01.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/8fb2a99c64580de7.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/e24d6768d85df882.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem('slycode-theme');if(t==='light')return;if(t==='dark'||window.matchMedia('(prefers-color-scheme:dark)').matches)document.documentElement.classList.add('dark')}catch(e){}})()\"}}]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/8fb2a99c64580de7.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"SlyCode\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SlyCode Managed Projects\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.png\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--O1Ine2WtyXv6EQJcwHyOV--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/43bfca92afbacd38.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/293449b828207656.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5f95863347fe47d9.js"/><script src="/_next/static/chunks/7de9141b1af425c3.js" async=""></script><script src="/_next/static/chunks/cf910fc299170b7d.js" async=""></script><script src="/_next/static/chunks/turbopack-563e27abda63930f.js" async=""></script><script src="/_next/static/chunks/98311243e9a5a0ec.js" async=""></script><script src="/_next/static/chunks/e24d6768d85df882.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>SlyCode</title><meta name="description" content="SlyCode Managed Projects"/><link rel="icon" href="/favicon.png"/><script>(function(){try{var t=localStorage.getItem('slycode-theme');if(t==='light')return;if(t==='dark'||window.matchMedia('(prefers-color-scheme:dark)').matches)document.documentElement.classList.add('dark')}catch(e){}})()</script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5f95863347fe47d9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1088,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"VoiceProvider\"]\n3:I[39756,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n:HL[\"/_next/static/chunks/43bfca92afbacd38.css\",\"style\"]\n:HL[\"/_next/static/chunks/293449b828207656.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"O1Ine2WtyXv6EQJcwHyOV\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/43bfca92afbacd38.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/293449b828207656.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/98311243e9a5a0ec.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/e24d6768d85df882.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem('slycode-theme');if(t==='light')return;if(t==='dark'||window.matchMedia('(prefers-color-scheme:dark)').matches)document.documentElement.classList.add('dark')}catch(e){}})()\"}}]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/98311243e9a5a0ec.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"SlyCode\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SlyCode Managed Projects\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.png\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--b2V8jC3HBMi4vgm7Kie3H--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5f95863347fe47d9.js"/><script src="/_next/static/chunks/7de9141b1af425c3.js" async=""></script><script src="/_next/static/chunks/cf910fc299170b7d.js" async=""></script><script src="/_next/static/chunks/turbopack-563e27abda63930f.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/e24d6768d85df882.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5f95863347fe47d9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"b2V8jC3HBMi4vgm7Kie3H\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ff1a16fafef87110.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/e24d6768d85df882.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--O1Ine2WtyXv6EQJcwHyOV--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5f95863347fe47d9.js"/><script src="/_next/static/chunks/7de9141b1af425c3.js" async=""></script><script src="/_next/static/chunks/cf910fc299170b7d.js" async=""></script><script src="/_next/static/chunks/turbopack-563e27abda63930f.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/e24d6768d85df882.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5f95863347fe47d9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/e24d6768d85df882.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"O1Ine2WtyXv6EQJcwHyOV\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ff1a16fafef87110.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/e24d6768d85df882.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"+HktyzNxlhz3Ez/2/hp3JRRbvz/RPh1HUtAd+88TdWA=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"1PHLqWza5cn2GEj7gqr2v0CSCzYA+gsXFxtzNa1F9Gk=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "+HktyzNxlhz3Ez/2/hp3JRRbvz/RPh1HUtAd+88TdWA="
4
+ "encryptionKey": "1PHLqWza5cn2GEj7gqr2v0CSCzYA+gsXFxtzNa1F9Gk="
5
5
  }