employee001 0.3.0 → 0.3.1

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 (449) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +14 -0
  6. package/.next/standalone/.next/server/app/(workspace)/connections/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(workspace)/connections/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(workspace)/employees/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(workspace)/routines/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/api/budgets/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/budgets/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/connections/[id]/debug/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/connections/[id]/debug/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/connections/[id]/disconnect/route.js +1 -1
  30. package/.next/standalone/.next/server/app/api/connections/[id]/disconnect/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/[id]/initiate/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/connections/[id]/initiate/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/connections/[id]/route.js +2 -2
  34. package/.next/standalone/.next/server/app/api/connections/[id]/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/connections/toolkits/route.js +1 -1
  36. package/.next/standalone/.next/server/app/api/connections/toolkits/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/council/chat/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/council/chat/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/employees/[id]/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/employees/[id]/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/employees/[id]/skills/route.js +1 -1
  42. package/.next/standalone/.next/server/app/api/employees/[id]/skills/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/employees/[id]/task/route.js +2 -2
  44. package/.next/standalone/.next/server/app/api/employees/[id]/task/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/employees/route.js +1 -1
  46. package/.next/standalone/.next/server/app/api/employees/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/invites/[token]/complete/route.js +2 -2
  48. package/.next/standalone/.next/server/app/api/invites/[token]/complete/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/invites/[token]/connections/[toolkit]/disconnect/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/invites/[token]/connections/[toolkit]/disconnect/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/invites/[token]/connections/initiate/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/invites/[token]/connections/initiate/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/invites/[token]/connections/route.js +1 -1
  54. package/.next/standalone/.next/server/app/api/invites/[token]/connections/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/invites/[token]/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/invites/[token]/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/invites/bulk-revoke/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/invites/bulk-revoke/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/invites/route.js +1 -1
  60. package/.next/standalone/.next/server/app/api/invites/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/marketplace/trial-chat/route.js +2 -2
  62. package/.next/standalone/.next/server/app/api/marketplace/trial-chat/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/org/brain/builder/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/org/brain/builder/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/org/brain/graph/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/org/brain/graph/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/relay/[employeeId]/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/relay/[employeeId]/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/routines/[id]/run/route.js +5 -5
  70. package/.next/standalone/.next/server/app/api/routines/[id]/run/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/routines/route.js +5 -5
  72. package/.next/standalone/.next/server/app/api/routines/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/app-paths-manifest.json +3 -0
  74. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/build-manifest.json +9 -0
  75. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/server-reference-manifest.json +4 -0
  76. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js +7 -0
  77. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js.map +5 -0
  78. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js.nft.json +1 -0
  79. package/.next/standalone/.next/server/app/api/shifts/[runId]/route_client-reference-manifest.js +3 -0
  80. package/.next/standalone/.next/server/app/api/shifts/route/app-paths-manifest.json +3 -0
  81. package/.next/standalone/.next/server/app/api/shifts/route/build-manifest.json +9 -0
  82. package/.next/standalone/.next/server/app/api/shifts/route/server-reference-manifest.json +4 -0
  83. package/.next/standalone/.next/server/app/api/shifts/route.js +7 -0
  84. package/.next/standalone/.next/server/app/api/shifts/route.js.map +5 -0
  85. package/.next/standalone/.next/server/app/api/shifts/route.js.nft.json +1 -0
  86. package/.next/standalone/.next/server/app/api/shifts/route_client-reference-manifest.js +3 -0
  87. package/.next/standalone/.next/server/app/api/twin/chat/route.js +2 -2
  88. package/.next/standalone/.next/server/app/api/twin/chat/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/twin-builder/[employeeId]/route.js +2 -2
  90. package/.next/standalone/.next/server/app/api/twin-builder/[employeeId]/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/audit.html +1 -1
  92. package/.next/standalone/.next/server/app/audit.rsc +1 -1
  93. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk/audit/__PAGE__.segment.rsc +1 -1
  94. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk/audit.segment.rsc +1 -1
  95. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/audit.segments/_full.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/audit.segments/_head.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/audit.segments/_index.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/audit.segments/_tree.segment.rsc +1 -1
  100. package/.next/standalone/.next/server/app/budgets.html +1 -1
  101. package/.next/standalone/.next/server/app/budgets.rsc +1 -1
  102. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk/budgets/__PAGE__.segment.rsc +1 -1
  103. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk/budgets.segment.rsc +1 -1
  104. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/budgets.segments/_full.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/budgets.segments/_head.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/budgets.segments/_index.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/budgets.segments/_tree.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/cockpit.html +1 -1
  110. package/.next/standalone/.next/server/app/cockpit.rsc +1 -1
  111. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk/cockpit/__PAGE__.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk/cockpit.segment.rsc +1 -1
  113. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/cockpit.segments/_full.segment.rsc +1 -1
  115. package/.next/standalone/.next/server/app/cockpit.segments/_head.segment.rsc +1 -1
  116. package/.next/standalone/.next/server/app/cockpit.segments/_index.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/cockpit.segments/_tree.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/connections.html +1 -1
  119. package/.next/standalone/.next/server/app/connections.rsc +1 -1
  120. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk/connections/__PAGE__.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk/connections.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  123. package/.next/standalone/.next/server/app/connections.segments/_full.segment.rsc +1 -1
  124. package/.next/standalone/.next/server/app/connections.segments/_head.segment.rsc +1 -1
  125. package/.next/standalone/.next/server/app/connections.segments/_index.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/connections.segments/_tree.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/council.html +1 -1
  128. package/.next/standalone/.next/server/app/council.rsc +1 -1
  129. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk/council/__PAGE__.segment.rsc +1 -1
  130. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk/council.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/council.segments/_full.segment.rsc +1 -1
  133. package/.next/standalone/.next/server/app/council.segments/_head.segment.rsc +1 -1
  134. package/.next/standalone/.next/server/app/council.segments/_index.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/council.segments/_tree.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/employees.html +1 -1
  137. package/.next/standalone/.next/server/app/employees.rsc +2 -2
  138. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk/employees/__PAGE__.segment.rsc +2 -2
  139. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk/employees.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/employees.segments/_full.segment.rsc +2 -2
  142. package/.next/standalone/.next/server/app/employees.segments/_head.segment.rsc +1 -1
  143. package/.next/standalone/.next/server/app/employees.segments/_index.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/employees.segments/_tree.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/flow.html +1 -1
  146. package/.next/standalone/.next/server/app/flow.rsc +1 -1
  147. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk/flow/__PAGE__.segment.rsc +1 -1
  148. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk/flow.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/flow.segments/_full.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/flow.segments/_head.segment.rsc +1 -1
  152. package/.next/standalone/.next/server/app/flow.segments/_index.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/flow.segments/_tree.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/focus.html +1 -1
  155. package/.next/standalone/.next/server/app/focus.rsc +1 -1
  156. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk/focus/__PAGE__.segment.rsc +1 -1
  157. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk/focus.segment.rsc +1 -1
  158. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  159. package/.next/standalone/.next/server/app/focus.segments/_full.segment.rsc +1 -1
  160. package/.next/standalone/.next/server/app/focus.segments/_head.segment.rsc +1 -1
  161. package/.next/standalone/.next/server/app/focus.segments/_index.segment.rsc +1 -1
  162. package/.next/standalone/.next/server/app/focus.segments/_tree.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/forgot-password.html +1 -1
  164. package/.next/standalone/.next/server/app/forgot-password.rsc +1 -1
  165. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp/forgot-password/__PAGE__.segment.rsc +1 -1
  166. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp/forgot-password.segment.rsc +1 -1
  167. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp.segment.rsc +1 -1
  168. package/.next/standalone/.next/server/app/forgot-password.segments/_full.segment.rsc +1 -1
  169. package/.next/standalone/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  170. package/.next/standalone/.next/server/app/forgot-password.segments/_index.segment.rsc +1 -1
  171. package/.next/standalone/.next/server/app/forgot-password.segments/_tree.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/generation.html +1 -1
  173. package/.next/standalone/.next/server/app/generation.rsc +1 -1
  174. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk/generation/__PAGE__.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk/generation.segment.rsc +1 -1
  176. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  177. package/.next/standalone/.next/server/app/generation.segments/_full.segment.rsc +1 -1
  178. package/.next/standalone/.next/server/app/generation.segments/_head.segment.rsc +1 -1
  179. package/.next/standalone/.next/server/app/generation.segments/_index.segment.rsc +1 -1
  180. package/.next/standalone/.next/server/app/generation.segments/_tree.segment.rsc +1 -1
  181. package/.next/standalone/.next/server/app/handover/live.html +1 -1
  182. package/.next/standalone/.next/server/app/handover/live.rsc +1 -1
  183. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover/live/__PAGE__.segment.rsc +1 -1
  184. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover/live.segment.rsc +1 -1
  185. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover.segment.rsc +1 -1
  186. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  187. package/.next/standalone/.next/server/app/handover/live.segments/_full.segment.rsc +1 -1
  188. package/.next/standalone/.next/server/app/handover/live.segments/_head.segment.rsc +1 -1
  189. package/.next/standalone/.next/server/app/handover/live.segments/_index.segment.rsc +1 -1
  190. package/.next/standalone/.next/server/app/handover/live.segments/_tree.segment.rsc +1 -1
  191. package/.next/standalone/.next/server/app/handover.html +1 -1
  192. package/.next/standalone/.next/server/app/handover.rsc +1 -1
  193. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk/handover/__PAGE__.segment.rsc +1 -1
  194. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk/handover.segment.rsc +1 -1
  195. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  196. package/.next/standalone/.next/server/app/handover.segments/_full.segment.rsc +1 -1
  197. package/.next/standalone/.next/server/app/handover.segments/_head.segment.rsc +1 -1
  198. package/.next/standalone/.next/server/app/handover.segments/_index.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/handover.segments/_tree.segment.rsc +1 -1
  200. package/.next/standalone/.next/server/app/inbox.html +1 -1
  201. package/.next/standalone/.next/server/app/inbox.rsc +1 -1
  202. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk/inbox/__PAGE__.segment.rsc +1 -1
  203. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk/inbox.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  205. package/.next/standalone/.next/server/app/inbox.segments/_full.segment.rsc +1 -1
  206. package/.next/standalone/.next/server/app/inbox.segments/_head.segment.rsc +1 -1
  207. package/.next/standalone/.next/server/app/inbox.segments/_index.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/inbox.segments/_tree.segment.rsc +1 -1
  209. package/.next/standalone/.next/server/app/index.html +1 -1
  210. package/.next/standalone/.next/server/app/index.rsc +2 -2
  211. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
  213. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  214. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  215. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  216. package/.next/standalone/.next/server/app/join.html +1 -1
  217. package/.next/standalone/.next/server/app/join.rsc +1 -1
  218. package/.next/standalone/.next/server/app/join.segments/_full.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/join.segments/_head.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/join.segments/_index.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/join.segments/_tree.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/join.segments/join/__PAGE__.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/join.segments/join.segment.rsc +1 -1
  224. package/.next/standalone/.next/server/app/launchpad.html +1 -1
  225. package/.next/standalone/.next/server/app/launchpad.rsc +1 -1
  226. package/.next/standalone/.next/server/app/launchpad.segments/_full.segment.rsc +1 -1
  227. package/.next/standalone/.next/server/app/launchpad.segments/_head.segment.rsc +1 -1
  228. package/.next/standalone/.next/server/app/launchpad.segments/_index.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/launchpad.segments/_tree.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/launchpad.segments/launchpad/__PAGE__.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/launchpad.segments/launchpad.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/learning.html +1 -1
  233. package/.next/standalone/.next/server/app/learning.rsc +1 -1
  234. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk/learning/__PAGE__.segment.rsc +1 -1
  235. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk/learning.segment.rsc +1 -1
  236. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  237. package/.next/standalone/.next/server/app/learning.segments/_full.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/learning.segments/_head.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/learning.segments/_index.segment.rsc +1 -1
  240. package/.next/standalone/.next/server/app/learning.segments/_tree.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/login.html +1 -1
  242. package/.next/standalone/.next/server/app/login.rsc +1 -1
  243. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +1 -1
  244. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
  245. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  249. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/marketplace.html +1 -1
  251. package/.next/standalone/.next/server/app/marketplace.rsc +1 -1
  252. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk/marketplace/__PAGE__.segment.rsc +1 -1
  253. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk/marketplace.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/marketplace.segments/_full.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/marketplace.segments/_head.segment.rsc +1 -1
  257. package/.next/standalone/.next/server/app/marketplace.segments/_index.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/marketplace.segments/_tree.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  260. package/.next/standalone/.next/server/app/onboarding.rsc +1 -1
  261. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/page.js +2 -2
  268. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/profile.html +1 -1
  270. package/.next/standalone/.next/server/app/profile.rsc +1 -1
  271. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk/profile/__PAGE__.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk/profile.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/profile.segments/_head.segment.rsc +1 -1
  276. package/.next/standalone/.next/server/app/profile.segments/_index.segment.rsc +1 -1
  277. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
  278. package/.next/standalone/.next/server/app/routines.html +1 -1
  279. package/.next/standalone/.next/server/app/routines.rsc +2 -2
  280. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk/routines/__PAGE__.segment.rsc +2 -2
  281. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk/routines.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/routines.segments/_full.segment.rsc +2 -2
  284. package/.next/standalone/.next/server/app/routines.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/routines.segments/_index.segment.rsc +1 -1
  286. package/.next/standalone/.next/server/app/routines.segments/_tree.segment.rsc +1 -1
  287. package/.next/standalone/.next/server/app/settings.html +1 -1
  288. package/.next/standalone/.next/server/app/settings.rsc +1 -1
  289. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk/settings/__PAGE__.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk/settings.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/setup.html +1 -1
  297. package/.next/standalone/.next/server/app/setup.rsc +1 -1
  298. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +1 -1
  299. package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/signup.html +1 -1
  305. package/.next/standalone/.next/server/app/signup.rsc +1 -1
  306. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp/signup/__PAGE__.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp/signup.segment.rsc +1 -1
  308. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/signup.segments/_full.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/signup.segments/_head.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/signup.segments/_index.segment.rsc +1 -1
  312. package/.next/standalone/.next/server/app/signup.segments/_tree.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/sources.html +1 -1
  314. package/.next/standalone/.next/server/app/sources.rsc +1 -1
  315. package/.next/standalone/.next/server/app/sources.segments/_full.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/sources.segments/_head.segment.rsc +1 -1
  317. package/.next/standalone/.next/server/app/sources.segments/_index.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/sources.segments/_tree.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/sources.segments/sources/__PAGE__.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/sources.segments/sources.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/tasks.html +1 -1
  322. package/.next/standalone/.next/server/app/tasks.rsc +1 -1
  323. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk/tasks/__PAGE__.segment.rsc +1 -1
  324. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk/tasks.segment.rsc +1 -1
  325. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  329. package/.next/standalone/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/templates.html +1 -1
  331. package/.next/standalone/.next/server/app/templates.rsc +1 -1
  332. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk/templates/__PAGE__.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk/templates.segment.rsc +1 -1
  334. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  335. package/.next/standalone/.next/server/app/templates.segments/_full.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/templates.segments/_head.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/templates.segments/_index.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/templates.segments/_tree.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/twin-build.html +1 -1
  340. package/.next/standalone/.next/server/app/twin-build.rsc +1 -1
  341. package/.next/standalone/.next/server/app/twin-build.segments/_full.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/twin-build.segments/_head.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/twin-build.segments/_index.segment.rsc +1 -1
  344. package/.next/standalone/.next/server/app/twin-build.segments/_tree.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/twin-build.segments/twin-build/__PAGE__.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/twin-build.segments/twin-build.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/welcome.html +1 -1
  348. package/.next/standalone/.next/server/app/welcome.rsc +1 -1
  349. package/.next/standalone/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
  352. package/.next/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
  353. package/.next/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/workspace.html +1 -1
  356. package/.next/standalone/.next/server/app/workspace.rsc +1 -1
  357. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk/workspace/__PAGE__.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk/workspace.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/workspace.segments/_full.segment.rsc +1 -1
  361. package/.next/standalone/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/workspace.segments/_index.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/workspace.segments/_tree.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  365. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0q0srs7._.js → [root-of-the-server]__0-lk8gw._.js} +2 -2
  366. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09rxa0f._.js → [root-of-the-server]__01y_uxo._.js} +2 -2
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0237gqb._.js +6 -0
  368. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06gg__1._.js +3 -0
  369. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13sg5t1._.js → [root-of-the-server]__09hvn7-._.js} +2 -2
  370. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12zipk.._.js → [root-of-the-server]__0_jnrj.._.js} +2 -2
  371. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b3djxh._.js +28 -0
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fem_0b._.js +6 -0
  373. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12db.hv._.js → [root-of-the-server]__0gw6qq0._.js} +2 -2
  374. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07h84a1._.js → [root-of-the-server]__0gyw9i8._.js} +2 -2
  375. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0d-lfnv._.js → [root-of-the-server]__0h1i3s9._.js} +2 -2
  376. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0xo-0pp._.js → [root-of-the-server]__0j8-hnp._.js} +2 -2
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jfxbyi._.js +3 -0
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mlyrlr._.js +32 -0
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mrua5j._.js +6 -0
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nzi2~3._.js +3 -0
  381. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0w5y6kf._.js → [root-of-the-server]__0oh.bx8._.js} +2 -2
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0orsh59._.js +6 -0
  383. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0eoob9l._.js → [root-of-the-server]__0qegxog._.js} +2 -2
  384. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0rm36nv._.js → [root-of-the-server]__0r-o5p3._.js} +2 -2
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sh9.4u._.js +6 -0
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0so5kx6._.js +6 -0
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tn.ery._.js +5 -0
  388. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__11m~2bm._.js → [root-of-the-server]__0x96tox._.js} +4 -4
  389. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qmqh8n._.js → [root-of-the-server]__0xvvvvi._.js} +3 -3
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~pykta._.js +6 -0
  391. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ivd-hw._.js → [root-of-the-server]__100ltks._.js} +2 -2
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10zin~7._.js +3 -0
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11s1uo6._.js +3 -0
  394. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0h91rfv._.js → [root-of-the-server]__12ky.dn._.js} +2 -2
  395. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_shifts_[runId]_route_actions_0p58h34.js +3 -0
  396. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_shifts_route_actions_0pujxq5.js +3 -0
  397. package/.next/standalone/.next/server/chunks/src_lib_routine-scheduler_ts_0vht_3x._.js +15 -15
  398. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0pcgmfj._.js → [root-of-the-server]__07.~422._.js} +2 -2
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jsvat_._.js +3 -0
  400. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_11dij6w._.js +1 -1
  401. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_connections_page_tsx_0v~fkea._.js +2 -2
  402. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_employees_page_tsx_0boulkq._.js +1 -1
  403. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_routines_page_tsx_0yv.xpm._.js +1 -1
  404. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  405. package/.next/standalone/.next/server/pages/404.html +1 -1
  406. package/.next/standalone/.next/server/pages/500.html +1 -1
  407. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  408. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  409. package/.next/standalone/.next/static/chunks/0kn776dgnsnk_.js +1 -0
  410. package/.next/standalone/.next/static/chunks/{0dau-on~0.h76.js → 10qo0~035dqvd.js} +2 -2
  411. package/.next/standalone/CHANGELOG.md +35 -0
  412. package/.next/standalone/package-lock.json +2 -2
  413. package/.next/standalone/package.json +1 -1
  414. package/.next/standalone/src/app/(workspace)/employees/page.tsx +603 -289
  415. package/.next/standalone/src/app/(workspace)/routines/page.tsx +435 -18
  416. package/.next/standalone/src/app/api/shifts/[runId]/route.ts +24 -0
  417. package/.next/standalone/src/app/api/shifts/route.ts +10 -0
  418. package/.next/standalone/src/app/page.tsx +7 -2
  419. package/.next/standalone/src/components/ex/employee-picker.tsx +119 -117
  420. package/.next/standalone/src/lib/routine-scheduler.ts +3 -0
  421. package/.next/standalone/src/lib/routines.ts +2 -0
  422. package/.next/standalone/src/lib/shift-archive.ts +129 -1
  423. package/.next/standalone/src/lib/shift-runner.ts +45 -8
  424. package/.next/standalone/src/lib/shift-schema.ts +8 -2
  425. package/.next/static/chunks/0kn776dgnsnk_.js +1 -0
  426. package/.next/static/chunks/{0dau-on~0.h76.js → 10qo0~035dqvd.js} +2 -2
  427. package/package.json +1 -1
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__003k8.p._.js +0 -5
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05p35qh._.js +0 -6
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06s.03t._.js +0 -6
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a_ynue._.js +0 -3
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aqzr0-._.js +0 -6
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ex2yk2._.js +0 -32
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f~5z1~._.js +0 -3
  435. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ii-qqg._.js +0 -6
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j3azpj._.js +0 -3
  437. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3o402._.js +0 -6
  438. package/.next/standalone/.next/server/chunks/[root-of-the-server]__110gbg5._.js +0 -6
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__120ai0k._.js +0 -28
  440. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12hkvg8._.js +0 -6
  441. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11hh.q7._.js +0 -3
  442. package/.next/standalone/.next/static/chunks/10r909464lbko.js +0 -1
  443. package/.next/static/chunks/10r909464lbko.js +0 -1
  444. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_buildManifest.js +0 -0
  445. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_clientMiddlewareManifest.js +0 -0
  446. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_ssgManifest.js +0 -0
  447. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_buildManifest.js +0 -0
  448. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_clientMiddlewareManifest.js +0 -0
  449. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → __ZZ1ZBNScBVBouVZqlND}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
- module.exports=[73596,e=>{"use strict";let t;var n=e.i(6015),o=e.i(76222),r=e.i(13826),i=e.i(47751),a=e.i(51474),s=e.i(14747),l=e.i(22734),u=e.i(25289),d=e.i(20993),p=e.i(48705),c=e.i(5779),m=e.i(7416);let f=s.default.join(process.cwd(),"data","employees");var h=e.i(69719);let y=h.z.object({summary:h.z.string().describe("One short line of what happened this shift."),contextUpdate:h.z.string().optional().describe("One paragraph the twin wants to remember next shift."),decisions:h.z.array(h.z.object({text:h.z.string(),rationale:h.z.string().optional()})).optional(),learnings:h.z.array(h.z.string()).optional(),goalUpdates:h.z.array(h.z.object({departmentId:h.z.string(),metric:h.z.string(),increment:h.z.number().int()})).optional(),tasksCreate:h.z.array(h.z.object({toTwinId:h.z.string().optional(),toDepartmentId:h.z.string().optional(),title:h.z.string(),description:h.z.string().optional(),priority:h.z.number().int().min(1).max(5).default(3)})).optional(),tasksComplete:h.z.array(h.z.object({taskId:h.z.string(),result:h.z.string()})).optional(),feedItems:h.z.array(h.z.object({kind:h.z.enum(["update","alert","needs-review"]),title:h.z.string(),detail:h.z.string().optional(),priority:h.z.number().int().min(1).max(5).default(3)})).optional().describe("Items the twin wants to surface to the CEO in /flow."),artifacts:h.z.array(h.z.string()).optional().describe("Relative paths the twin created or modified."),outputs:h.z.array(h.z.object({kind:h.z.enum(["image","video","file","link","text"]).optional(),title:h.z.string(),url:h.z.string().optional(),path:h.z.string().optional(),note:h.z.string().optional()})).optional().describe("Every concrete deliverable you produced this shift — generated image/video URLs, created files, published links. Always list them here so the CEO has a clean record of what came out of the shift.")}),g=(function e(t){if(t&&"object"==typeof t)for(let n of(delete t.$schema,"integer"===t.type&&(t.minimum===Number.MIN_SAFE_INTEGER&&delete t.minimum,t.maximum===Number.MAX_SAFE_INTEGER&&delete t.maximum),Object.keys(t))){let o=t[n];Array.isArray(o)?o.forEach(e):e(o)}}(t=JSON.parse(JSON.stringify(h.z.toJSONSchema(y)))),t);var w=e.i(85824),S=e.i(50990),_=e.i(38261);let b=s.default.join(process.cwd(),"data","employees");function v(e){return s.default.join(b,e,".shift","focus-cache.json")}async function k(e){var t;let n=(0,_.getFocusConfig)(e);if(!n.prefetches.length)return[];let o=function(e){let t=v(e);if(!l.default.existsSync(t))return{};try{let e=JSON.parse(l.default.readFileSync(t,"utf8"));return e&&"object"==typeof e?e:{}}catch(e){return console.warn("[twin-focus-prefetch] cache read failed:",e),{}}}(e),r=(0,d.getComposio)(),i=(0,d.composioUserIdFor)(e),a=[];for(let e of n.prefetches){let n=e.cacheTtlMs??3e5,s=`${e.toolSlug}|${function e(t){return null===t||"object"!=typeof t?JSON.stringify(t):Array.isArray(t)?"["+t.map(e).join(",")+"]":"{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+e(t[n])).join(",")+"}"}(e.arguments??{})}`,l=o[s];if(l&&function(e,t){let n=Date.now()-new Date(e.ts).getTime();return Number.isFinite(n)&&n<t}(l,n)){a.push({label:e.label,toolSlug:e.toolSlug,ts:l.ts,cached:!0,ok:!0,data:l.data,durationMs:0,maxItems:e.maxItems});continue}let u=Date.now();try{let n=(t=await r.tools.execute(e.toolSlug,{userId:i,arguments:e.arguments}))&&"object"==typeof t&&"data"in t?t.data:t,l=new Date().toISOString();o[s]={ts:l,data:n},a.push({label:e.label,toolSlug:e.toolSlug,ts:l,cached:!1,ok:!0,data:n,durationMs:Date.now()-u,maxItems:e.maxItems})}catch(n){let t=n instanceof Error?n.message:String(n);a.push({label:e.label,toolSlug:e.toolSlug,ts:new Date().toISOString(),cached:!1,ok:!1,data:null,errorMessage:t,durationMs:Date.now()-u,maxItems:e.maxItems})}}try{let t,n;t=v(e),n=s.default.dirname(t),l.default.existsSync(n)||l.default.mkdirSync(n,{recursive:!0}),l.default.writeFileSync(t,JSON.stringify(o,null,2),"utf8")}catch(e){console.warn("[twin-focus-prefetch] cache write failed:",e)}return a}let R="\n\n_(focus snapshot truncated to fit prompt budget)_";var $=e.i(38745),I=e.i(43127),x=e.i(8035),N=e.i(61704),O=e.i(21625),A=e.i(11540);let z=/https?:\/\/[^\s"'<>)\]]+/g;function C(e){return s.default.join(process.cwd(),"data","shifts",e)}function E(e){let t=C(e);return l.default.mkdirSync(t,{recursive:!0}),t}function T(e,t){l.default.appendFileSync(e,JSON.stringify(t)+"\n","utf8")}function j(e){let t=e??"";return t.length>512&&/^[A-Za-z0-9+/=\s]+$/.test(t.slice(0,512))&&!/\s/.test(t.slice(0,200))?`[binary/base64 payload omitted — ${t.length} chars]`:t.length>4096?t.slice(0,4096)+`… [+${t.length-4096} chars]`:t}function D(e){return s.default.join(C(e),"manifest.json")}function M(e){try{return JSON.parse(l.default.readFileSync(D(e),"utf8"))}catch{return null}}function L(e){l.default.writeFileSync(D(e.runId),JSON.stringify(e,null,2),"utf8")}function U(e,t){try{let n=E(e),o={ts:new Date().toISOString(),...t};if(T(s.default.join(n,"events.jsonl"),o),"approval"===o.kind){let t=M(e);t&&(t.approvals.push({tool:o.tool,decision:o.decision,ts:o.ts}),L(t))}}catch(t){console.warn("[shift-archive] event failed",e,t)}}function P(e,t){try{let n=E(e),o={ts:new Date().toISOString(),...t};T(s.default.join(n,"outputs.jsonl"),o);let r=M(e);r&&(r.outputCount+=1,L(r))}catch(t){console.warn("[shift-archive] output failed",e,t)}}function F(e,t){try{U(e,{kind:"done",summary:t.summary});let n=M(e);n&&(n.endedAt=new Date().toISOString(),n.status=t.status,n.summary=t.summary,n.costUsd=t.costUsd,n.turns=t.turns,L(n))}catch(t){console.warn("[shift-archive] finalize failed",e,t)}}let J=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];async function Y(e){let{employee:t,trigger:n,abortController:r}=e,i=`shift_${t.id}_${Date.now()}`,a=s.default.join(process.cwd(),"data","employees",t.id);(0,I.registerRun)({runId:i,surface:"shift",employeeId:t.id,employeeName:t.name,label:`Shift (${n})`,startedAt:new Date().toISOString(),logPath:(0,x.logPathFor)("shift",i)}),(0,x.appendRunLog)("shift",i,{type:"meta",message:`Shift started — trigger: ${n}`});var h={runId:i,employeeId:t.id,employeeName:t.name,trigger:n};try{E(h.runId),L({...h,startedAt:new Date().toISOString(),status:"running",outputCount:0,approvals:[]})}catch(e){console.warn("[shift-archive] init failed",h.runId,e)}let _=0,b=0,v="natural",C="";try{let e,h,E,T,D,M,L,Y,B,G,[q,H,X]=await Promise.all([(0,d.buildEmployeeMcpServer)(t.id),(0,p.loadOrgCustomMcpServers)(),k(t.id).catch(e=>(console.warn("[shift-runner] focus prefetch failed:",e),[]))]),Z=function(e){if(!e.length)return"";let t=[`# Focus snapshot (as of ${new Date().toISOString()})`,...e.map(e=>(function(e,t){if(!e.ok)return`## ${e.label}
1
+ module.exports=[73596,e=>{"use strict";let t;var n=e.i(6015),o=e.i(76222),i=e.i(13826),r=e.i(47751),a=e.i(51474),s=e.i(14747),l=e.i(22734),u=e.i(25289),d=e.i(20993),p=e.i(48705),c=e.i(5779),m=e.i(7416);let f=s.default.join(process.cwd(),"data","employees");var h=e.i(69719);let y=h.z.object({summary:h.z.string().describe("One short line of what happened this shift."),contextUpdate:h.z.string().optional().describe("One paragraph the twin wants to remember next shift."),decisions:h.z.array(h.z.object({text:h.z.string(),rationale:h.z.string().optional()})).optional(),learnings:h.z.array(h.z.string()).optional(),goalUpdates:h.z.array(h.z.object({departmentId:h.z.string(),metric:h.z.string(),increment:h.z.number().int()})).optional(),tasksCreate:h.z.array(h.z.object({toTwinId:h.z.string().optional(),toDepartmentId:h.z.string().optional(),title:h.z.string(),description:h.z.string().optional(),priority:h.z.number().int().min(1).max(5).default(3)})).optional(),tasksComplete:h.z.array(h.z.object({taskId:h.z.string(),result:h.z.string()})).optional(),feedItems:h.z.array(h.z.object({kind:h.z.enum(["update","alert","needs-review"]),title:h.z.string(),detail:h.z.string().optional(),priority:h.z.number().int().min(1).max(5).default(3)})).optional().describe("Items the twin wants to surface to the CEO in /flow."),artifacts:h.z.array(h.z.string()).optional().describe("Relative paths the twin created or modified."),outputs:h.z.array(h.z.object({kind:h.z.enum(["image","video","file","link","text","document"]).optional(),title:h.z.string(),url:h.z.string().optional(),path:h.z.string().optional(),note:h.z.string().optional(),content:h.z.string().optional().describe("For a document deliverable (a report, brief, draft, spec, post) — put the FULL markdown body here. It is saved as a real .md file in the shift's archive so the CEO can open it.")})).optional().describe("Every concrete deliverable you produced this shift — written documents (put the full markdown in `content`), generated image/video URLs, created files, published links. Always list them here so the CEO has a clean record of what came out of the shift.")}),g=(function e(t){if(t&&"object"==typeof t)for(let n of(delete t.$schema,"integer"===t.type&&(t.minimum===Number.MIN_SAFE_INTEGER&&delete t.minimum,t.maximum===Number.MAX_SAFE_INTEGER&&delete t.maximum),Object.keys(t))){let o=t[n];Array.isArray(o)?o.forEach(e):e(o)}}(t=JSON.parse(JSON.stringify(h.z.toJSONSchema(y)))),t);var w=e.i(85824),S=e.i(50990),k=e.i(38261);let b=s.default.join(process.cwd(),"data","employees");function v(e){return s.default.join(b,e,".shift","focus-cache.json")}async function _(e){var t;let n=(0,k.getFocusConfig)(e);if(!n.prefetches.length)return[];let o=function(e){let t=v(e);if(!l.default.existsSync(t))return{};try{let e=JSON.parse(l.default.readFileSync(t,"utf8"));return e&&"object"==typeof e?e:{}}catch(e){return console.warn("[twin-focus-prefetch] cache read failed:",e),{}}}(e),i=(0,d.getComposio)(),r=(0,d.composioUserIdFor)(e),a=[];for(let e of n.prefetches){let n=e.cacheTtlMs??3e5,s=`${e.toolSlug}|${function e(t){return null===t||"object"!=typeof t?JSON.stringify(t):Array.isArray(t)?"["+t.map(e).join(",")+"]":"{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+e(t[n])).join(",")+"}"}(e.arguments??{})}`,l=o[s];if(l&&function(e,t){let n=Date.now()-new Date(e.ts).getTime();return Number.isFinite(n)&&n<t}(l,n)){a.push({label:e.label,toolSlug:e.toolSlug,ts:l.ts,cached:!0,ok:!0,data:l.data,durationMs:0,maxItems:e.maxItems});continue}let u=Date.now();try{let n=(t=await i.tools.execute(e.toolSlug,{userId:r,arguments:e.arguments}))&&"object"==typeof t&&"data"in t?t.data:t,l=new Date().toISOString();o[s]={ts:l,data:n},a.push({label:e.label,toolSlug:e.toolSlug,ts:l,cached:!1,ok:!0,data:n,durationMs:Date.now()-u,maxItems:e.maxItems})}catch(n){let t=n instanceof Error?n.message:String(n);a.push({label:e.label,toolSlug:e.toolSlug,ts:new Date().toISOString(),cached:!1,ok:!1,data:null,errorMessage:t,durationMs:Date.now()-u,maxItems:e.maxItems})}}try{let t,n;t=v(e),n=s.default.dirname(t),l.default.existsSync(n)||l.default.mkdirSync(n,{recursive:!0}),l.default.writeFileSync(t,JSON.stringify(o,null,2),"utf8")}catch(e){console.warn("[twin-focus-prefetch] cache write failed:",e)}return a}let R="\n\n_(focus snapshot truncated to fit prompt budget)_";var $=e.i(38745),x=e.i(43127),I=e.i(8035),N=e.i(61704),E=e.i(21625),A=e.i(11540),O=e.i(56003);let z=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];async function T(e){let{employee:t,trigger:n,abortController:i}=e,r=`shift_${t.id}_${Date.now()}`,a=s.default.join(process.cwd(),"data","employees",t.id);(0,x.registerRun)({runId:r,surface:"shift",employeeId:t.id,employeeName:t.name,label:`Shift (${n})`,startedAt:new Date().toISOString(),logPath:(0,I.logPathFor)("shift",r)}),(0,I.appendRunLog)("shift",r,{type:"meta",message:`Shift started — trigger: ${n}`}),(0,O.initShiftArchive)({runId:r,employeeId:t.id,employeeName:t.name,trigger:n});let h=0,k=0,b="natural",v="";try{let e,T,C,D,j,L,M,U,P,F,[Y,J,B]=await Promise.all([(0,d.buildEmployeeMcpServer)(t.id),(0,p.loadOrgCustomMcpServers)(),_(t.id).catch(e=>(console.warn("[shift-runner] focus prefetch failed:",e),[]))]),G=function(e){if(!e.length)return"";let t=[`# Focus snapshot (as of ${new Date().toISOString()})`,...e.map(e=>(function(e,t){if(!e.ok)return`## ${e.label}
2
2
  _(prefetch failed: ${e.errorMessage??"unknown error"})_`;let n=JSON.stringify(function(e,t){if(Array.isArray(e))return e.slice(0,t);if(e&&"object"==typeof e){for(let n of["items","data","results"])if(Array.isArray(e[n]))return{...e,[n]:e[n].slice(0,t)}}return e}(e.data,t),null,2);return n.length>1500&&(n=n.slice(0,1500)+"\n…(truncated)"),`## ${e.label}
3
3
  \`\`\`json
4
4
  ${n}
5
- \`\`\``})(e,e.maxItems??5))].join("\n\n");if(t.length<=8e3)return t;let n=8e3-R.length;return t.slice(0,Math.max(0,n))+R}(X),W={...H,...q?{composio:q}:{}},K=Object.keys(W).length>0;if(!K){try{(0,$.appendFeedItem)({source:{kind:"shift",employeeId:t.id,runId:i},type:"needs-review",title:`${t.firstName} can't run shifts: no tools connected`,detail:`${t.firstName}-twin has zero MCP connections (no Composio toolkits, no org-wide MCP servers), so this shift was skipped before the model ran ($0 spent). Connect at least one toolkit at /connections/${t.id}.`,priority:1})}catch(e){console.warn("[shift-runner] no-mcp feed item failed:",e)}return(0,x.appendRunLog)("shift",i,{type:"meta",message:"Skipped: no MCP connections"}),F(i,{status:"complete",summary:`Skipped: no MCP connections active for ${t.firstName}.`,costUsd:0,turns:0}),(0,I.unregisterRun)(i,{status:"complete",costUsd:0}),{report:null,summary:`Skipped: no MCP connections active for ${t.firstName}.`,turns:0,costUsd:0,stoppedReason:"natural",runId:i}}if(!q)try{(0,$.appendFeedItem)({source:{kind:"shift",employeeId:t.id,runId:i},type:"needs-review",title:`${t.firstName} has no personal toolkits connected`,detail:`${t.firstName}-twin will run this shift on org-wide MCP servers only. No personal Slack/Gmail/GitHub/Linear etc. — the twin can't act AS ${t.firstName} on real systems until you connect at least one personal toolkit at /connections/${t.id}.`,priority:3})}catch(e){console.warn("[shift-runner] no-personal-mcp feed item failed:",e)}let Q=await (0,N.createConsultContext)({requester:t,runId:i,surface:"shift",maxDepth:3}),V={...W,twin_consult:(0,O.buildConsultMcpServer)(Q)},ee=async(e,n)=>{let o=n??{},r=(0,c.classifyTool)(e,o),a=e.replace(/^mcp__[a-z0-9_]+__/i,"");if("allow"===r.kind)return{behavior:"allow",updatedInput:n};if("block"===r.kind)return(0,m.appendAuditEntry)({runId:i,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,verdict:"hard_blocked",blockReason:r.reason}),{behavior:"deny",message:r.reason};let{approvalId:s,promise:l}=(0,A.registerApproval)({runId:i,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,reason:r.reason,surface:"background"});(0,x.appendRunLog)("shift",i,{type:"meta",message:`Awaiting CEO approval: ${a} — ${r.reason}`}),(0,I.updateRun)(i,{currentTool:`⏳ approval: ${a}`}),U(i,{kind:"approval_request",tool:a,reason:r.reason});let u=await l;if((0,x.appendRunLog)("shift",i,{type:"approval",tool:a,decision:u.action}),U(i,{kind:"approval",tool:a,decision:u.action}),"allow"===u.action){let n=u.updatedInput??o;return(0,m.appendAuditEntry)({runId:i,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:n,verdict:"ceo_approved",approvalId:s,inputEdited:void 0!==u.updatedInput}),{behavior:"allow",updatedInput:n}}return(0,m.appendAuditEntry)({runId:i,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,verdict:"ceo_denied",approvalId:s}),{behavior:"deny",message:u.message??`${r.reason} — The CEO declined this action. Do not retry; note it in your ShiftReport under "pending_actions" and continue with what you can.`}},et=(0,w.buildBaseOptions)({surface:"routine",abortController:r,runId:i,employeeId:t.id}),en=(0,w.buildTwinHooks)({runId:i,employeeId:t.id,employeeName:t.name,surface:"routine"}),eo=(0,u.query)({prompt:"Run your shift. Use your MCP tools as needed, then emit a ShiftReport.",options:{...et,cwd:a,systemPrompt:(e=J.map(e=>{try{let t=l.default.readFileSync(s.default.join(a,e),"utf8");return`### ${e}
5
+ \`\`\``})(e,e.maxItems??5))].join("\n\n");if(t.length<=8e3)return t;let n=8e3-R.length;return t.slice(0,Math.max(0,n))+R}(B),q={...J,...Y?{composio:Y}:{}},H=Object.keys(q).length>0;if(!H){try{(0,$.appendFeedItem)({source:{kind:"shift",employeeId:t.id,runId:r},type:"needs-review",title:`${t.firstName} can't run shifts: no tools connected`,detail:`${t.firstName}-twin has zero MCP connections (no Composio toolkits, no org-wide MCP servers), so this shift was skipped before the model ran ($0 spent). Connect at least one toolkit at /connections/${t.id}.`,priority:1})}catch(e){console.warn("[shift-runner] no-mcp feed item failed:",e)}return(0,I.appendRunLog)("shift",r,{type:"meta",message:"Skipped: no MCP connections"}),(0,O.finalizeShiftArchive)(r,{status:"complete",summary:`Skipped: no MCP connections active for ${t.firstName}.`,costUsd:0,turns:0}),(0,x.unregisterRun)(r,{status:"complete",costUsd:0}),{report:null,summary:`Skipped: no MCP connections active for ${t.firstName}.`,turns:0,costUsd:0,stoppedReason:"natural",runId:r}}if(!Y)try{(0,$.appendFeedItem)({source:{kind:"shift",employeeId:t.id,runId:r},type:"needs-review",title:`${t.firstName} has no personal toolkits connected`,detail:`${t.firstName}-twin will run this shift on org-wide MCP servers only. No personal Slack/Gmail/GitHub/Linear etc. — the twin can't act AS ${t.firstName} on real systems until you connect at least one personal toolkit at /connections/${t.id}.`,priority:3})}catch(e){console.warn("[shift-runner] no-personal-mcp feed item failed:",e)}let X=await (0,N.createConsultContext)({requester:t,runId:r,surface:"shift",maxDepth:3}),W={...q,twin_consult:(0,E.buildConsultMcpServer)(X)},Z=async(e,n)=>{let o=n??{},i=(0,c.classifyTool)(e,o),a=e.replace(/^mcp__[a-z0-9_]+__/i,"");if("allow"===i.kind)return{behavior:"allow",updatedInput:n};if("block"===i.kind)return(0,m.appendAuditEntry)({runId:r,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,verdict:"hard_blocked",blockReason:i.reason}),{behavior:"deny",message:i.reason};let{approvalId:s,promise:l}=(0,A.registerApproval)({runId:r,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,reason:i.reason,surface:"background"});(0,I.appendRunLog)("shift",r,{type:"meta",message:`Awaiting CEO approval: ${a} — ${i.reason}`}),(0,x.updateRun)(r,{currentTool:`⏳ approval: ${a}`}),(0,O.archiveEvent)(r,{kind:"approval_request",tool:a,reason:i.reason});let u=await l;if((0,I.appendRunLog)("shift",r,{type:"approval",tool:a,decision:u.action}),(0,O.archiveEvent)(r,{kind:"approval",tool:a,decision:u.action}),"allow"===u.action){let n=u.updatedInput??o;return(0,m.appendAuditEntry)({runId:r,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:n,verdict:"ceo_approved",approvalId:s,inputEdited:void 0!==u.updatedInput}),{behavior:"allow",updatedInput:n}}return(0,m.appendAuditEntry)({runId:r,employeeId:t.id,employeeName:t.name,toolName:e,bareName:a,input:o,verdict:"ceo_denied",approvalId:s}),{behavior:"deny",message:u.message??`${i.reason} — The CEO declined this action. Do not retry; note it in your ShiftReport under "pending_actions" and continue with what you can.`}},K=(0,w.buildBaseOptions)({surface:"routine",abortController:i,runId:r,employeeId:t.id}),Q=(0,w.buildTwinHooks)({runId:r,employeeId:t.id,employeeName:t.name,surface:"routine"}),V=(0,u.query)({prompt:"Run your shift. Use your MCP tools as needed, then emit a ShiftReport.",options:{...K,cwd:a,systemPrompt:(e=z.map(e=>{try{let t=l.default.readFileSync(s.default.join(a,e),"utf8");return`### ${e}
6
6
 
7
- ${t.trim()}`}catch{return null}}).filter(Boolean).join("\n\n---\n\n"),h=`You are the digital twin of ${t.name}, ${t.role} at Employee001 — an early-stage AI startup building a digital employee twin platform that lets CEOs chat with and delegate tasks to AI versions of their team.
7
+ ${t.trim()}`}catch{return null}}).filter(Boolean).join("\n\n---\n\n"),T=`You are the digital twin of ${t.name}, ${t.role} at Employee001 — an early-stage AI startup building a digital employee twin platform that lets CEOs chat with and delegate tasks to AI versions of their team.
8
8
 
9
9
  You have been trained on ${t.firstName}'s real working style, decisions, and expertise. You speak in ${t.firstName}'s voice — with their tone, values, and reasoning.
10
10
 
@@ -24,28 +24,28 @@ You are running in autonomous shift mode. No CEO is present. Your job is to:
24
24
  - Do NOT send messages, emails, or post to external channels without a prior decision recorded in your shift log.
25
25
  - You CAN take real actions (including generating images/video, posting, sending). For any action that isn't read-only, a live approval request is raised to the CEO and the run pauses until they approve or decline — so go ahead and use the tool when the work calls for it; don't pre-emptively skip it.
26
26
  - If a decision needs a colleague's expertise or sign-off, use \`consult_twin\` for advice or \`request_approval\` for a go/no-go — don't guess outside your lane. Use sparingly, only when their input changes what you'd do.
27
- - **Record every deliverable you produce** (generated image/video URLs, created files, published links) in the \`outputs\` field of your ShiftReport, so the CEO has a clean record of what came out of the shift.
28
- - Keep the summary to one short line: what actually happened, not what you planned.`,E=function(e){function t(t){let n=s.default.join(s.default.join(f,e,".shift"),`${t}.md`);return l.default.existsSync(n)?l.default.readFileSync(n,"utf8").trim():""}return{context:t("context"),decisions:t("decisions"),learnings:t("learnings")}}(t.id),T=new Date,D=`# Current date and time
27
+ - **Record every deliverable you produce** in the \`outputs\` field of your ShiftReport. A deliverable can be a **written document** — a brief, report, draft, post, or spec — in which case put the FULL markdown in \`outputs[].content\` (it's saved as a real .md file the CEO can open). It can also be a generated image/video URL, a created file, or a published link. Always list them so the CEO has a clean record of what came out of the shift.
28
+ - Keep the summary to one short line: what actually happened, not what you planned.`,C=function(e){function t(t){let n=s.default.join(s.default.join(f,e,".shift"),`${t}.md`);return l.default.existsSync(n)?l.default.readFileSync(n,"utf8").trim():""}return{context:t("context"),decisions:t("decisions"),learnings:t("learnings")}}(t.id),D=new Date,j=`# Current date and time
29
29
 
30
- - Today: **${T.toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"Asia/Jerusalem"})}** (Israel time)
31
- - Local time: ${T.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",timeZone:"Asia/Jerusalem",hour12:!1})} IST
32
- - ISO (UTC): ${T.toISOString()}
30
+ - Today: **${D.toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"Asia/Jerusalem"})}** (Israel time)
31
+ - Local time: ${D.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",timeZone:"Asia/Jerusalem",hour12:!1})} IST
32
+ - ISO (UTC): ${D.toISOString()}
33
33
 
34
- Use this when reasoning about deadlines, scheduling, "tomorrow", overdue items, or anything time-sensitive. Do NOT make up dates from your training data.`,M=`# Your shift memory
34
+ Use this when reasoning about deadlines, scheduling, "tomorrow", overdue items, or anything time-sensitive. Do NOT make up dates from your training data.`,L=`# Your shift memory
35
35
 
36
36
  ## Context (recent)
37
- ${E.context||"(none yet)"}
37
+ ${C.context||"(none yet)"}
38
38
 
39
39
  ## Decisions (recent)
40
- ${E.decisions||"(none yet)"}
40
+ ${C.decisions||"(none yet)"}
41
41
 
42
42
  ## Learnings (recent)
43
- ${E.learnings||"(none yet)"}`,L=(0,S.getTasksFor)(t.id,"pending"),B=(Y=[...(0,S.getTasksFor)(t.id,"in_progress"),...L]).length>0?`# Tasks for you (${Y.length})
43
+ ${C.learnings||"(none yet)"}`,M=(0,S.getTasksFor)(t.id,"pending"),P=(U=[...(0,S.getTasksFor)(t.id,"in_progress"),...M]).length>0?`# Tasks for you (${U.length})
44
44
 
45
45
  You have the following tasks waiting. When you complete one, include it in \`tasksComplete[]\` in your ShiftReport with the result. You can also create new tasks for other twins via \`tasksCreate[]\`.
46
46
 
47
- ${Y.map(e=>{let t=Math.floor((Date.now()-new Date(e.createdAt).getTime())/6e4),n=t<60?`${t}m ago`:t<1440?`${Math.floor(t/60)}h ago`:`${Math.floor(t/1440)}d ago`,o=e.description?`
48
- ${e.description}`:"";return`- [${e.id}] **${e.title}** (priority ${e.priority}, ${e.status}, ${n}, from ${e.fromEmployeeId})${o}`}).join("\n")}`:"# Tasks for you\n\n(no pending tasks — you can still create tasks for other twins via `tasksCreate[]` if helpful)",G=[D,M,Z,B,"wakeup"===n?`# Catch-up note
49
- This shift was delayed and is running as a catch-up. Lean toward summarising recent state rather than emitting many actions.`:""].filter(Boolean),[h,u.SYSTEM_PROMPT_DYNAMIC_BOUNDARY,...G]),allowedTools:["TodoWrite"],mcpServers:V,maxTurns:12,includePartialMessages:!0,permissionMode:K?"default":"bypassPermissions",canUseTool:K?ee:void 0,outputFormat:{type:"json_schema",schema:g},settingSources:[],hooks:en}}),er=0,ei="",ea=new Map,es=()=>{if(!ei.trim()){ei="";return}(0,x.appendRunLog)("shift",i,{type:"text",text:ei}),(0,I.updateRun)(i,{lastText:ei.slice(-200)}),ei=""};for await(let e of eo){if("stream_event"===e.type){let t=e.event;"content_block_delta"===t.type&&"text_delta"===t.delta.type&&t.delta.text&&(C+=t.delta.text,ei+=t.delta.text,/[.!?\n]\s*$/.test(ei)&&ei.length>30&&es());continue}if("assistant"===e.type){for(let t of(es(),e.message.content))if("tool_use"===t.type){er++;let e=t.name.replace(/^mcp__[a-z0-9_]+__/i,"");(0,x.appendRunLog)("shift",i,{type:"tool_use",tool:e,input:t.input}),U(i,{kind:"tool_use",tool:e,input:t.input}),ea.set(t.id,e),(0,I.updateRun)(i,{toolCalls:er,currentTool:e})}continue}if("user"===e.type){let t=e.message.content;if(Array.isArray(t)){for(let e of t)if("object"==typeof e&&null!==e&&"type"in e&&"tool_result"===e.type){let t=e.tool_use_id&&ea.get(e.tool_use_id)||"result",n="";"string"==typeof e.content?n=e.content:Array.isArray(e.content)&&(n=e.content.map(e=>e&&"object"==typeof e&&"text"in e&&"string"==typeof e.text?e.text:"string"==typeof e?e:"").join("\n")),(0,x.appendRunLog)("shift",i,{type:"tool_result",tool:t,...n?{output:j(n)}:{}}),function(e,t,n){var o;let r,i,a=function(e){let t=new Set;for(let n of(e??"").matchAll(z))t.add(n[0]);return[...t].slice(0,20)}(n);U(e,{kind:"tool_result",tool:t,output:j(n),...a.length?{urls:a}:{}}),a.length&&P(e,{tool:t,kind:(o=a[0],r=o.toLowerCase(),i=t.toLowerCase(),/\.(png|jpe?g|gif|webp|svg|avif)(\?|$)/.test(r)||/image|photo|design|render/.test(i)?"image":/\.(mp4|mov|webm|m4v|gif)(\?|$)/.test(r)||/video|clip|reel|teaser/.test(i)?"video":/\.(pdf|docx?|pptx?|xlsx?|csv|zip|json|md)(\?|$)/.test(r)?"file":"link"),urls:a,note:`Produced by ${t}`})}(i,t,n)}}continue}if("result"===e.type){es(),_=e.num_turns??0,b=e.total_cost_usd??0;let n=e.subtype;"error_max_budget_usd"===n?v="max_budget":"error_max_turns"===n?v="max_turns":"error_max_structured_output_retries"===n&&console.warn(`[shift-runner] structured output exhausted retries for run ${i}`);let r=e.structured_output,a=y.safeParse(r);if(a.success){for(let e of((0,x.appendRunLog)("shift",i,{type:"done",summary:a.data.summary,costUsd:b,turns:_}),a.data.outputs??[]))P(i,{tool:"shift-report",kind:e.kind??(e.url?"link":"text"),...e.url?{urls:[e.url]}:{},note:e.path?`${e.title} (${e.path})`:e.title});for(let e of a.data.artifacts??[])P(i,{tool:"shift-report",kind:"file",note:e});return F(i,{status:"complete",summary:a.data.summary,costUsd:b,turns:_}),(0,I.unregisterRun)(i,{status:"complete",costUsd:b}),b>0&&(0,o.recordSpend)(t.id,b),{report:a.data,summary:a.data.summary,turns:_,costUsd:b,stoppedReason:v,runId:i}}}}es();let el=C.trim().slice(0,200)||"Shift completed";return(0,x.appendRunLog)("shift",i,{type:"done",summary:el,costUsd:b,turns:_}),F(i,{status:"max_budget"===v||"max_turns"===v?"error":"complete",summary:el,costUsd:b,turns:_}),(0,I.unregisterRun)(i,{status:"max_budget"===v||"max_turns"===v?"error":"complete",costUsd:b}),b>0&&(0,o.recordSpend)(t.id,b),{report:null,summary:el,turns:_,costUsd:b,stoppedReason:v,runId:i}}catch(t){let e=t instanceof Error?t.message:"Unknown error";return(0,x.appendRunLog)("shift",i,{type:"error",message:e}),F(i,{status:"error",summary:`Shift failed: ${e}`,costUsd:0,turns:0}),(0,I.unregisterRun)(i,{status:"error",costUsd:0}),{report:null,summary:`Shift failed: ${e}`,turns:0,costUsd:0,stoppedReason:"error",runId:i}}}function B(){let e=globalThis;return e.__routineScheduler||(e.__routineScheduler={interval:null,running:new Set}),e.__routineScheduler}function G(){let e=Date.now();for(let t of(0,n.listRoutines)())t.enabled&&t.nextRunAt&&(new Date(t.nextRunAt).getTime()>e||H(t,"scheduled"))}function q(){let e=Date.now();for(let t of(0,n.listRoutines)()){if(!t.enabled||!t.nextRunAt)continue;let n=new Date(t.nextRunAt).getTime();n>=e-6e4||(console.log(`[scheduler] catch-up: firing ${t.id} (nextRunAt=${t.nextRunAt}, ${Math.floor((e-n)/6e4)} min late)`),H(t,"wakeup"))}}async function H(t,s){let l=B();if(l.running.has(t.id))return"error";if(l.running.add(t.id),"scheduled"===s||"wakeup"===s){let e=(0,n.computeNextRun)(t.schedule).toISOString();(0,n.updateRoutine)(t.id,{nextRunAt:e})}let u=await (0,i.loadEmployeesFromDisk)(),d=[...u,...(0,a.getHiredEmployees)().filter(e=>!u.some(t=>t.id===e.id))].find(e=>e.id===t.employeeId);if(!d)return l.running.delete(t.id),(0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:"error",lastRunSummary:"Employee not found"}),"error";if("shift"===t.kind&&!(0,o.isUnderBudget)(d.id)){try{let{appendFeedItem:t}=await e.A(86212);t({source:{kind:"shift",employeeId:d.id,runId:`budget_${Date.now()}`},type:"needs-review",title:`${d.firstName} is over daily budget — shift skipped`,detail:`${d.firstName}-twin has spent its daily budget and won't run again until midnight (Israel time). Raise the limit at /budgets if needed.`,priority:2})}catch{}return l.running.delete(t.id),(0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:"skipped",lastRunSummary:"Skipped: daily budget exhausted"}),"skipped"}let p="",c=!1,m=!1,f=0,h=0,y="shift"!==t.kind?`rtrun_${t.id}_${Date.now()}`:null;y&&((0,I.registerRun)({runId:y,surface:"routine",employeeId:d.id,employeeName:d.name,label:t.name,startedAt:new Date().toISOString(),logPath:(0,x.logPathFor)("routine",y)}),(0,x.appendRunLog)("routine",y,{type:"meta",message:`Routine "${t.name}" started — trigger: ${s}`}));let g="",w=()=>{if(!y||!g.trim()){g="";return}(0,x.appendRunLog)("routine",y,{type:"text",text:g}),(0,I.updateRun)(y,{lastText:g.slice(-200)}),g=""};try{if("shift"===t.kind){let e=await Y({employee:d,trigger:s});p=e.summary,"error"===e.stoppedReason&&(m=!0)}else await (0,r.runSingleTwin)(d,t.task,e=>{if("text_delta"===e.type&&(p+=e.delta,y&&(g+=e.delta,/[.!?\n]\s*$/.test(g)&&g.length>30&&w())),"tool_use"===e.type&&y){w(),f++;let t=e.tool.replace(/^mcp__[a-z0-9_]+__/i,"");(0,x.appendRunLog)("routine",y,{type:"tool_use",tool:t,input:e.input}),(0,I.updateRun)(y,{toolCalls:f,currentTool:t})}"tool_result"===e.type&&y&&(0,x.appendRunLog)("routine",y,{type:"tool_result",tool:e.tool}),"tool_approval_resolved"===e.type&&("deny"===e.decision&&(c=!0),y&&(0,x.appendRunLog)("routine",y,{type:"approval",tool:"(approval)",decision:e.decision})),"tool_blocked"===e.type&&(c=!0,y&&(0,x.appendRunLog)("routine",y,{type:"meta",message:`Blocked: ${e.tool} — ${e.reason}`})),"employee_error"===e.type&&(m=!0,y&&(0,x.appendRunLog)("routine",y,{type:"error",message:e.message})),"employee_done"===e.type&&(h=e.costUsd??0,y&&(0,I.updateRun)(y,{costUsd:h}))},[],{surface:"background",context:{type:"routine",routineId:t.id,routineName:t.name}})}catch{m=!0}y&&(w(),(0,x.appendRunLog)("routine",y,{type:"done",summary:p.trim().slice(0,200)||"Routine completed",costUsd:h}),(0,I.unregisterRun)(y,{status:m?"error":"complete",costUsd:h}));let S=m?"error":c?"denied":"ok",_=p.trim()||("error"===S?"Run failed":"denied"===S?"Action was declined":"Completed");if((0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:S,lastRunSummary:_}),"shift"!==t.kind){let e=`rt_${t.id}_${Date.now()}`,n="error"===S?"Routine failed":"denied"===S?"Routine declined":"Routine completed";try{(0,$.appendFeedItem)({source:{kind:"routine",employeeId:t.employeeId,runId:e,routineId:t.id,routineName:t.name},type:"error"===S?"alert":"update",title:`${n}: ${t.name}`,detail:_.length>600?_.slice(0,580)+"…":_,priority:"error"===S?2:3})}catch(e){console.warn("[scheduler] feed append failed",e)}}return l.running.delete(t.id),S}e.s(["ensureSchedulerStarted",0,function(){let e=B();e.interval||(e.interval=setInterval(G,3e4),setTimeout(G,1e3),setTimeout(q,2e3))},"fireRoutine",0,H],73596)}];
47
+ ${U.map(e=>{let t=Math.floor((Date.now()-new Date(e.createdAt).getTime())/6e4),n=t<60?`${t}m ago`:t<1440?`${Math.floor(t/60)}h ago`:`${Math.floor(t/1440)}d ago`,o=e.description?`
48
+ ${e.description}`:"";return`- [${e.id}] **${e.title}** (priority ${e.priority}, ${e.status}, ${n}, from ${e.fromEmployeeId})${o}`}).join("\n")}`:"# Tasks for you\n\n(no pending tasks — you can still create tasks for other twins via `tasksCreate[]` if helpful)",F=[j,L,G,P,"wakeup"===n?`# Catch-up note
49
+ This shift was delayed and is running as a catch-up. Lean toward summarising recent state rather than emitting many actions.`:""].filter(Boolean),[T,u.SYSTEM_PROMPT_DYNAMIC_BOUNDARY,...F]),allowedTools:["TodoWrite"],mcpServers:W,maxTurns:12,includePartialMessages:!0,permissionMode:H?"default":"bypassPermissions",canUseTool:H?Z:void 0,outputFormat:{type:"json_schema",schema:g},settingSources:[],hooks:Q}}),ee=0,et="",en="",eo=new Map,ei=()=>{if(!et.trim()){et="";return}(0,I.appendRunLog)("shift",r,{type:"text",text:et}),(0,O.archiveEvent)(r,{kind:"text",text:et}),(0,x.updateRun)(r,{lastText:et.slice(-200)}),et=""},er=()=>{if(!en.trim()){en="";return}(0,I.appendRunLog)("shift",r,{type:"thinking",text:en}),(0,O.archiveEvent)(r,{kind:"thinking",text:en}),en=""};for await(let e of V){if("stream_event"===e.type){let t=e.event;if("content_block_delta"===t.type&&"text_delta"===t.delta.type&&t.delta.text)er(),v+=t.delta.text,et+=t.delta.text,/[.!?\n]\s*$/.test(et)&&et.length>30&&ei();else if("content_block_delta"===t.type&&"thinking_delta"===t.delta.type){let e=t.delta.thinking??"";e&&(en+=e).length>80&&er()}continue}if("assistant"===e.type){for(let t of(er(),ei(),e.message.content))if("tool_use"===t.type){ee++;let e=t.name.replace(/^mcp__[a-z0-9_]+__/i,"");(0,I.appendRunLog)("shift",r,{type:"tool_use",tool:e,input:t.input}),(0,O.archiveEvent)(r,{kind:"tool_use",tool:e,input:t.input}),eo.set(t.id,e),(0,x.updateRun)(r,{toolCalls:ee,currentTool:e})}continue}if("user"===e.type){let t=e.message.content;if(Array.isArray(t)){for(let e of t)if("object"==typeof e&&null!==e&&"type"in e&&"tool_result"===e.type){let t=e.tool_use_id&&eo.get(e.tool_use_id)||"result",n="";"string"==typeof e.content?n=e.content:Array.isArray(e.content)&&(n=e.content.map(e=>e&&"object"==typeof e&&"text"in e&&"string"==typeof e.text?e.text:"string"==typeof e?e:"").join("\n")),(0,I.appendRunLog)("shift",r,{type:"tool_result",tool:t,...n?{output:(0,O.summariseOutput)(n)}:{}}),(0,O.archiveToolResult)(r,t,n)}}continue}if("result"===e.type){er(),ei(),h=e.num_turns??0,k=e.total_cost_usd??0;let n=e.subtype;"error_max_budget_usd"===n?b="max_budget":"error_max_turns"===n?b="max_turns":"error_max_structured_output_retries"===n&&console.warn(`[shift-runner] structured output exhausted retries for run ${r}`);let i=e.structured_output,a=y.safeParse(i);if(a.success){for(let e of((0,I.appendRunLog)("shift",r,{type:"done",summary:a.data.summary,costUsd:k,turns:h}),a.data.outputs??[]))e.content?(0,O.archiveDocument)(r,{title:e.title,content:e.content,kind:"text"===e.kind||"file"===e.kind?e.kind:"document"}):(0,O.archiveOutput)(r,{tool:"shift-report",kind:e.kind??(e.url?"link":"text"),...e.url?{urls:[e.url]}:{},...e.path?{path:e.path}:{},note:e.title});for(let e of a.data.artifacts??[])(0,O.archiveOutput)(r,{tool:"shift-report",kind:"file",path:e,note:e});return(0,O.finalizeShiftArchive)(r,{status:"complete",summary:a.data.summary,costUsd:k,turns:h}),(0,x.unregisterRun)(r,{status:"complete",costUsd:k}),k>0&&(0,o.recordSpend)(t.id,k),{report:a.data,summary:a.data.summary,turns:h,costUsd:k,stoppedReason:b,runId:r}}}}er(),ei();let ea=v.trim().slice(0,200)||"Shift completed";return(0,I.appendRunLog)("shift",r,{type:"done",summary:ea,costUsd:k,turns:h}),(0,O.finalizeShiftArchive)(r,{status:"max_budget"===b||"max_turns"===b?"error":"complete",summary:ea,costUsd:k,turns:h}),(0,x.unregisterRun)(r,{status:"max_budget"===b||"max_turns"===b?"error":"complete",costUsd:k}),k>0&&(0,o.recordSpend)(t.id,k),{report:null,summary:ea,turns:h,costUsd:k,stoppedReason:b,runId:r}}catch(t){let e=t instanceof Error?t.message:"Unknown error";return(0,I.appendRunLog)("shift",r,{type:"error",message:e}),(0,O.finalizeShiftArchive)(r,{status:"error",summary:`Shift failed: ${e}`,costUsd:0,turns:0}),(0,x.unregisterRun)(r,{status:"error",costUsd:0}),{report:null,summary:`Shift failed: ${e}`,turns:0,costUsd:0,stoppedReason:"error",runId:r}}}function C(){let e=globalThis;return e.__routineScheduler||(e.__routineScheduler={interval:null,running:new Set}),e.__routineScheduler}function D(){let e=Date.now();for(let t of(0,n.listRoutines)())t.enabled&&t.nextRunAt&&(new Date(t.nextRunAt).getTime()>e||L(t,"scheduled"))}function j(){let e=Date.now();for(let t of(0,n.listRoutines)()){if(!t.enabled||!t.nextRunAt)continue;let n=new Date(t.nextRunAt).getTime();n>=e-6e4||(console.log(`[scheduler] catch-up: firing ${t.id} (nextRunAt=${t.nextRunAt}, ${Math.floor((e-n)/6e4)} min late)`),L(t,"wakeup"))}}async function L(t,s){let l,u=C();if(u.running.has(t.id))return"error";if(u.running.add(t.id),"scheduled"===s||"wakeup"===s){let e=(0,n.computeNextRun)(t.schedule).toISOString();(0,n.updateRoutine)(t.id,{nextRunAt:e})}let d=await (0,r.loadEmployeesFromDisk)(),p=[...d,...(0,a.getHiredEmployees)().filter(e=>!d.some(t=>t.id===e.id))].find(e=>e.id===t.employeeId);if(!p)return u.running.delete(t.id),(0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:"error",lastRunSummary:"Employee not found"}),"error";if("shift"===t.kind&&!(0,o.isUnderBudget)(p.id)){try{let{appendFeedItem:t}=await e.A(86212);t({source:{kind:"shift",employeeId:p.id,runId:`budget_${Date.now()}`},type:"needs-review",title:`${p.firstName} is over daily budget — shift skipped`,detail:`${p.firstName}-twin has spent its daily budget and won't run again until midnight (Israel time). Raise the limit at /budgets if needed.`,priority:2})}catch{}return u.running.delete(t.id),(0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:"skipped",lastRunSummary:"Skipped: daily budget exhausted"}),"skipped"}let c="",m=!1,f=!1,h=0,y=0,g="shift"!==t.kind?`rtrun_${t.id}_${Date.now()}`:null;g&&((0,x.registerRun)({runId:g,surface:"routine",employeeId:p.id,employeeName:p.name,label:t.name,startedAt:new Date().toISOString(),logPath:(0,I.logPathFor)("routine",g)}),(0,I.appendRunLog)("routine",g,{type:"meta",message:`Routine "${t.name}" started — trigger: ${s}`}));let w="",S=()=>{if(!g||!w.trim()){w="";return}(0,I.appendRunLog)("routine",g,{type:"text",text:w}),(0,x.updateRun)(g,{lastText:w.slice(-200)}),w=""};try{if("shift"===t.kind){let e=await T({employee:p,trigger:s});c=e.summary,l=e.runId,"error"===e.stoppedReason&&(f=!0)}else await (0,i.runSingleTwin)(p,t.task,e=>{if("text_delta"===e.type&&(c+=e.delta,g&&(w+=e.delta,/[.!?\n]\s*$/.test(w)&&w.length>30&&S())),"tool_use"===e.type&&g){S(),h++;let t=e.tool.replace(/^mcp__[a-z0-9_]+__/i,"");(0,I.appendRunLog)("routine",g,{type:"tool_use",tool:t,input:e.input}),(0,x.updateRun)(g,{toolCalls:h,currentTool:t})}"tool_result"===e.type&&g&&(0,I.appendRunLog)("routine",g,{type:"tool_result",tool:e.tool}),"tool_approval_resolved"===e.type&&("deny"===e.decision&&(m=!0),g&&(0,I.appendRunLog)("routine",g,{type:"approval",tool:"(approval)",decision:e.decision})),"tool_blocked"===e.type&&(m=!0,g&&(0,I.appendRunLog)("routine",g,{type:"meta",message:`Blocked: ${e.tool} — ${e.reason}`})),"employee_error"===e.type&&(f=!0,g&&(0,I.appendRunLog)("routine",g,{type:"error",message:e.message})),"employee_done"===e.type&&(y=e.costUsd??0,g&&(0,x.updateRun)(g,{costUsd:y}))},[],{surface:"background",context:{type:"routine",routineId:t.id,routineName:t.name}})}catch{f=!0}g&&(S(),(0,I.appendRunLog)("routine",g,{type:"done",summary:c.trim().slice(0,200)||"Routine completed",costUsd:y}),(0,x.unregisterRun)(g,{status:f?"error":"complete",costUsd:y}));let k=f?"error":m?"denied":"ok",b=c.trim()||("error"===k?"Run failed":"denied"===k?"Action was declined":"Completed");if((0,n.updateRoutine)(t.id,{lastRunAt:new Date().toISOString(),lastRunStatus:k,lastRunSummary:b,...l?{lastRunId:l}:{}}),"shift"!==t.kind){let e=`rt_${t.id}_${Date.now()}`,n="error"===k?"Routine failed":"denied"===k?"Routine declined":"Routine completed";try{(0,$.appendFeedItem)({source:{kind:"routine",employeeId:t.employeeId,runId:e,routineId:t.id,routineName:t.name},type:"error"===k?"alert":"update",title:`${n}: ${t.name}`,detail:b.length>600?b.slice(0,580)+"…":b,priority:"error"===k?2:3})}catch(e){console.warn("[scheduler] feed append failed",e)}}return u.running.delete(t.id),k}e.s(["ensureSchedulerStarted",0,function(){let e=C();e.interval||(e.interval=setInterval(D,3e4),setTimeout(D,1e3),setTimeout(j,2e3))},"fireRoutine",0,L],73596)}];
50
50
 
51
51
  //# sourceMappingURL=src_lib_routine-scheduler_ts_0vht_3x._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},60168,a=>{"use strict";a.i(70396);var b=a.i(73727);a.s(["default",0,function(){(0,b.redirect)("/setup")}])},28004,a=>{a.n(a.i(60168))},10585,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},68611,a=>{"use strict";let b={src:a.i(10585).default,width:256,height:256};a.s(["default",0,b])}];
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},10585,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},68611,a=>{"use strict";let b={src:a.i(10585).default,width:256,height:256};a.s(["default",0,b])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0pcgmfj._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__07.~422._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},10585,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},68611,a=>{"use strict";let b={src:a.i(10585).default,width:256,height:256};a.s(["default",0,b])},60168,a=>{"use strict";a.i(70396);var b=a.i(73727),c=a.i(82389);async function d(){let a=await (0,c.loadEmployeesFromDisk)();(0,b.redirect)(a.length>0?"/launchpad":"/setup")}a.s(["default",0,d])},28004,a=>{a.n(a.i(60168))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0jsvat_._.js.map
@@ -1,6 +1,6 @@
1
1
  module.exports=[20916,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21170,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},28859,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(21170),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},44868,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(21170),g=a.r(28859),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},89798,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},16155,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(89798),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},34557,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(89798).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},93845,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(89798).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},28340,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},31382,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(50640),h=a.r(28340);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},13091,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(31382);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},73808,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},49640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},1567,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(89798),e=a.r(28859);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},96556,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60312,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},17491,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},61933,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},99195,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return d}});let d="__next_instant_validation_boundary__"},60384,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return $},Postpone:function(){return D},PreludeState:function(){return af},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return u},createDynamicValidationState:function(){return v},createHangingInputAbortSignal:function(){return P},createInstantValidationState:function(){return _},createRenderInBrowserAbortSignal:function(){return O},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return aj},getStaticShellDisallowedDynamicReasons:function(){return ai},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return ag},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return ah},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return Z},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return aa},trackDynamicHoleInRuntimeShell:function(){return ac},trackDynamicHoleInStaticShell:function(){return ad},trackThrownErrorInNavigation:function(){return ab},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var h in g)Object.defineProperty(c,h,{enumerable:!0,get:g[h]});let i=(d=a.r(717))&&d.__esModule?d:{default:d},j=a.r(96556),k=a.r(60312),l=a.r(32319),m=a.r(56704),n=a.r(13091),o=a.r(17491),p=a.r(61933),q=a.r(49640),r=a.r(50640),s=a.r(99195),t="function"==typeof i.default.unstable_postpone;function u(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function v(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;A(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!t)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
2
  ${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else if("prerender-runtime"===a.type&&a.stagedRendering){let{stagedRendering:c}=a;c.waitForStage((0,n.getRuntimeStage)(c)).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()))}else(0,p.scheduleOnNextTick)(()=>b.abort());return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function S(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${s.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function Z(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}var $=((e={})[e.Runtime=1]="Runtime",e[e.Dynamic=2]="Dynamic",e);function _(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:a}}function aa(a,b,c,d,e,f){if(X.test(b))return;if(V.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicMetadata=d;return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(d);return}let g=Y.exec(b);if(g){let a=T.exec(b);if(a&&a.index<g.index){c.hasAllowedDynamic=!0;return}}else if(f.expectedIds.size===f.renderedIds.size){c.hasAllowedClientDynamicAboveBoundary=!0,c.hasAllowedDynamic=!0;return}else{let d=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.validationPreventingErrors.push(d);return}if(d.syncDynamicErrorWithStack){let a=d.syncDynamicErrorWithStack;null!==c.createInstantStack&&void 0===a.cause&&(a.cause=c.createInstantStack()),c.dynamicErrors.push(a);return}let h=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(h)}function ab(a,b,c,d){let e=Y.exec(d);if(e){let f=T.exec(d);if(f&&f.index<e.index)return;let g=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=ae(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d){if(X.test(b))return;if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}if(T.test(b)){c.hasAllowedDynamic=!0;return}else if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(e)}function ad(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}function ae(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var af=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function ag(a,b){console.error(b),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
3
3
  - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
4
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},94783,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(13091),e=a.r(73808),f=a.r(49640),g=a.r(1567),h=a.r(60384),i=a.r(96556);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60968,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(94783).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},73727,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20916),g=a.r(44868),h=a.r(16155),i=a.r(34557),j=a.r(93845),k=a.r(60968);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},70396,a=>{"use strict";a.i(73727),a.s([])}];
4
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},94783,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(13091),e=a.r(73808),f=a.r(49640),g=a.r(1567),h=a.r(60384),i=a.r(96556);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60968,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(94783).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},73727,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20916),g=a.r(44868),h=a.r(16155),i=a.r(34557),j=a.r(93845),k=a.r(60968);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},70396,82389,a=>{"use strict";a.i(73727),a.s([],70396);var b=a.i(24868),c=a.i(14747);let d=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],e=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];async function f(){let a,f=c.default.join(process.cwd(),"data","employees");try{a=await b.default.readdir(f)}catch{return[]}let g=[];for(let i of a){var h;let a;if(i.startsWith("."))continue;let j=c.default.join(f,i,"employee.json");try{let c=await b.default.readFile(j,"utf8");a=JSON.parse(c)}catch{continue}if(!a?.name||a.pendingProfile)continue;let k=0;for(let a of e)try{(await b.default.readFile(c.default.join(f,i,`${a}.md`),"utf8")).trim().length>16&&k++}catch{}g.push({id:a.id||i,name:a.name,firstName:(h=a.name).trim().split(/\s+/)[0]||h,role:a.role||"—",department:a.department||"General",initials:function(a){let b=a.trim().split(/\s+/).filter(Boolean);return 0===b.length?"??":1===b.length?b[0].slice(0,2).toUpperCase():(b[0][0]+b[b.length-1][0]).toUpperCase()}(a.name),avatarColor:function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return d[Math.abs(b)%d.length]}(a.id||i),integrations:a.integrations??[],twinStatus:k>=6?"ready":k>0?"building":"pending",twinConfidence:k>=6?Math.min(1,k/9):0,profileFilesComplete:k,lastActiveAt:a.lastActiveAt,questionsThisWeek:a.weekOf===function(a){let b=new Date(Date.UTC(a.getFullYear(),a.getMonth(),a.getDate())),c=b.getUTCDay()||7;b.setUTCDate(b.getUTCDate()+4-c);let d=new Date(Date.UTC(b.getUTCFullYear(),0,1)),e=Math.ceil(((b.getTime()-d.getTime())/864e5+1)/7);return`${b.getUTCFullYear()}-W${String(e).padStart(2,"0")}`}(new Date)?a.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-7",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return g.sort((a,b)=>(b.lastActiveAt??"").localeCompare(a.lastActiveAt??"")),g}a.s(["loadEmployeesFromDisk",0,f],82389)}];
5
5
 
6
6
  //# sourceMappingURL=node_modules_next_dist_11dij6w._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[4105,a=>{"use strict";a.i(70396);var b=a.i(73727),c=a.i(24868),d=a.i(14747);let e=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],f=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];async function g(){let a,b=d.default.join(process.cwd(),"data","employees");try{a=await c.default.readdir(b)}catch{return[]}let g=[];for(let i of a){var h;let a;if(i.startsWith("."))continue;let j=d.default.join(b,i,"employee.json");try{let b=await c.default.readFile(j,"utf8");a=JSON.parse(b)}catch{continue}if(!a?.name||a.pendingProfile)continue;let k=0;for(let a of f)try{(await c.default.readFile(d.default.join(b,i,`${a}.md`),"utf8")).trim().length>16&&k++}catch{}g.push({id:a.id||i,name:a.name,firstName:(h=a.name).trim().split(/\s+/)[0]||h,role:a.role||"—",department:a.department||"General",initials:function(a){let b=a.trim().split(/\s+/).filter(Boolean);return 0===b.length?"??":1===b.length?b[0].slice(0,2).toUpperCase():(b[0][0]+b[b.length-1][0]).toUpperCase()}(a.name),avatarColor:function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return e[Math.abs(b)%e.length]}(a.id||i),integrations:a.integrations??[],twinStatus:k>=6?"ready":k>0?"building":"pending",twinConfidence:k>=6?Math.min(1,k/9):0,profileFilesComplete:k,lastActiveAt:a.lastActiveAt,questionsThisWeek:a.weekOf===function(a){let b=new Date(Date.UTC(a.getFullYear(),a.getMonth(),a.getDate())),c=b.getUTCDay()||7;b.setUTCDate(b.getUTCDate()+4-c);let d=new Date(Date.UTC(b.getUTCFullYear(),0,1)),e=Math.ceil(((b.getTime()-d.getTime())/864e5+1)/7);return`${b.getUTCFullYear()}-W${String(e).padStart(2,"0")}`}(new Date)?a.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-7",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return g.sort((a,b)=>(b.lastActiveAt??"").localeCompare(a.lastActiveAt??"")),g}var h=a.i(22734);let i={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]},j=[{id:"marketplace-sdr-alex",name:"Alex Morgan",firstName:"Alex",role:"Sales Development Rep",department:"Sales",initials:"AM",avatarColor:"#C4A87A",category:"sales",tagline:"Outbound prospecting, cold outreach, and pipeline generation",skills:["Cold Outreach","CRM","Lead Qualification","Sequences"],suggestedToolkits:["hubspot","gmail","linkedin","salesforce"],profileFiles:{"EXPERTISE.md":`# Expertise — Alex Morgan, Sales Development Rep
1
+ module.exports=[4105,a=>{"use strict";a.i(70396);var b=a.i(73727),c=a.i(82389),d=a.i(22734),e=a.i(14747);let f={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]},g=[{id:"marketplace-sdr-alex",name:"Alex Morgan",firstName:"Alex",role:"Sales Development Rep",department:"Sales",initials:"AM",avatarColor:"#C4A87A",category:"sales",tagline:"Outbound prospecting, cold outreach, and pipeline generation",skills:["Cold Outreach","CRM","Lead Qualification","Sequences"],suggestedToolkits:["hubspot","gmail","linkedin","salesforce"],profileFiles:{"EXPERTISE.md":`# Expertise — Alex Morgan, Sales Development Rep
2
2
 
3
3
  ## Primary domains
4
4
 
@@ -982,6 +982,6 @@ release gates, and Security on safety/privacy test cases.
982
982
 
983
983
  Agent benchmark suite, prompt regression tests, safety audit fixtures, and
984
984
  quality dashboard definitions.
985
- `}}],k=d.default.join(process.cwd(),"data","hired-agents.json");async function l(){let a=await g(),c=[...a,...(function(){let a=function(){try{let a=h.default.readFileSync(k,"utf-8");return JSON.parse(a).filter(a=>"string"==typeof a.id).map(a=>(function(a){var b,c;let d,e=(b=a.marketplaceAgentId??a.id,j.find(a=>a.id===b));return{id:a.id,marketplaceAgentId:a.marketplaceAgentId??a.id,hiredAt:a.hiredAt??new Date(0).toISOString(),placement:(c=a.placement,d={...i,teamName:e?.department??i.teamName},{employmentKind:c?.employmentKind==="team_member"||c?.employmentKind==="external_consultant"?c.employmentKind:d.employmentKind,responsibleEmployeeId:c?.responsibleEmployeeId||d.responsibleEmployeeId,responsibleEmployeeName:c?.responsibleEmployeeName||d.responsibleEmployeeName,teamName:c?.teamName||d.teamName,teammateIds:Array.isArray(c?.teammateIds)?c.teammateIds:[],teammateNames:Array.isArray(c?.teammateNames)?c.teammateNames:[],engagementNote:c?.engagementNote?.trim()||void 0})}})(a))}catch{return[]}}(),b=[];for(let e of a){var c,d;let a=j.find(a=>a.id===e.id);a&&b.push((c=e.hiredAt,d=e.placement,{id:a.id,name:a.name,firstName:a.firstName,role:a.role,department:a.department,initials:a.initials,avatarColor:a.avatarColor,integrations:a.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(a.profileFiles).length,lastActiveAt:c,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:a.skills.map(a=>({id:a.toLowerCase().replace(/\s+/g,"-"),label:a})),orgSkillIds:[],consent:{grantedAt:c,version:"1.0",scopes:["data-collection","integrations"]},placement:d}))}return b})().filter(b=>!a.some(a=>a.id===b.id))],d=c.find(a=>"ready"===a.twinStatus)??c[0];d||(0,b.redirect)("/employees"),(0,b.redirect)(`/connections/${d.id}`)}d.default.join(process.cwd(),"data","employees"),a.s(["default",0,l],4105)},47691,a=>{a.n(a.i(4105))}];
985
+ `}}],h=e.default.join(process.cwd(),"data","hired-agents.json");async function i(){let a=await (0,c.loadEmployeesFromDisk)(),e=[...a,...(function(){let a=function(){try{let a=d.default.readFileSync(h,"utf-8");return JSON.parse(a).filter(a=>"string"==typeof a.id).map(a=>(function(a){var b,c;let d,e=(b=a.marketplaceAgentId??a.id,g.find(a=>a.id===b));return{id:a.id,marketplaceAgentId:a.marketplaceAgentId??a.id,hiredAt:a.hiredAt??new Date(0).toISOString(),placement:(c=a.placement,d={...f,teamName:e?.department??f.teamName},{employmentKind:c?.employmentKind==="team_member"||c?.employmentKind==="external_consultant"?c.employmentKind:d.employmentKind,responsibleEmployeeId:c?.responsibleEmployeeId||d.responsibleEmployeeId,responsibleEmployeeName:c?.responsibleEmployeeName||d.responsibleEmployeeName,teamName:c?.teamName||d.teamName,teammateIds:Array.isArray(c?.teammateIds)?c.teammateIds:[],teammateNames:Array.isArray(c?.teammateNames)?c.teammateNames:[],engagementNote:c?.engagementNote?.trim()||void 0})}})(a))}catch{return[]}}(),b=[];for(let d of a){var c,e;let a=g.find(a=>a.id===d.id);a&&b.push((c=d.hiredAt,e=d.placement,{id:a.id,name:a.name,firstName:a.firstName,role:a.role,department:a.department,initials:a.initials,avatarColor:a.avatarColor,integrations:a.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(a.profileFiles).length,lastActiveAt:c,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:a.skills.map(a=>({id:a.toLowerCase().replace(/\s+/g,"-"),label:a})),orgSkillIds:[],consent:{grantedAt:c,version:"1.0",scopes:["data-collection","integrations"]},placement:e}))}return b})().filter(b=>!a.some(a=>a.id===b.id))],i=e.find(a=>"ready"===a.twinStatus)??e[0];i||(0,b.redirect)("/employees"),(0,b.redirect)(`/connections/${i.id}`)}e.default.join(process.cwd(),"data","employees"),a.s(["default",0,i],4105)},47691,a=>{a.n(a.i(4105))}];
986
986
 
987
987
  //# sourceMappingURL=src_app_%28workspace%29_connections_page_tsx_0v~fkea._.js.map