employee001 0.3.0 → 0.4.0

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 (572) 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/required-server-files.json +6 -2
  6. package/.next/standalone/.next/routes-manifest.json +14 -0
  7. package/.next/standalone/.next/server/app/(auth)/forgot-password/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(auth)/signup/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(workspace)/audit/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(workspace)/budgets/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(workspace)/cockpit/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(workspace)/connections/[id]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(workspace)/connections/page.js +1 -1
  15. package/.next/standalone/.next/server/app/(workspace)/connections/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(workspace)/connections/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(workspace)/council/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(workspace)/employees/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(workspace)/flow/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(workspace)/focus/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(workspace)/generation/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(workspace)/handover/live/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(workspace)/handover/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(workspace)/inbox/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(workspace)/learning/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(workspace)/marketplace/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(workspace)/profile/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(workspace)/routines/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(workspace)/settings/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(workspace)/tasks/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(workspace)/templates/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(workspace)/workspace/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  34. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  35. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  42. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/api/budgets/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/budgets/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/connections/[id]/debug/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/connections/[id]/debug/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/connections/[id]/disconnect/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/connections/[id]/disconnect/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/connections/[id]/initiate/route.js +1 -1
  55. package/.next/standalone/.next/server/app/api/connections/[id]/initiate/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/connections/[id]/route.js +2 -2
  57. package/.next/standalone/.next/server/app/api/connections/[id]/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/connections/toolkits/route.js +1 -1
  59. package/.next/standalone/.next/server/app/api/connections/toolkits/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/council/chat/route.js +2 -2
  61. package/.next/standalone/.next/server/app/api/council/chat/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/employees/[id]/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/employees/[id]/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/employees/[id]/skills/route.js +1 -1
  65. package/.next/standalone/.next/server/app/api/employees/[id]/skills/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/employees/[id]/task/route.js +2 -2
  67. package/.next/standalone/.next/server/app/api/employees/[id]/task/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/employees/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/employees/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/invites/[token]/complete/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/invites/[token]/complete/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/invites/[token]/connections/[toolkit]/disconnect/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/invites/[token]/connections/[toolkit]/disconnect/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/invites/[token]/connections/initiate/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/invites/[token]/connections/initiate/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/invites/[token]/connections/route.js +1 -1
  77. package/.next/standalone/.next/server/app/api/invites/[token]/connections/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/invites/[token]/route.js +1 -1
  79. package/.next/standalone/.next/server/app/api/invites/[token]/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/invites/bulk-revoke/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/invites/bulk-revoke/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/invites/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/invites/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/marketplace/trial-chat/route.js +2 -2
  85. package/.next/standalone/.next/server/app/api/marketplace/trial-chat/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/org/brain/builder/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/org/brain/builder/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/org/brain/graph/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/org/brain/graph/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/relay/[employeeId]/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/relay/[employeeId]/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/routines/[id]/run/route.js +5 -5
  93. package/.next/standalone/.next/server/app/api/routines/[id]/run/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/routines/route.js +5 -5
  95. package/.next/standalone/.next/server/app/api/routines/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/app-paths-manifest.json +3 -0
  97. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/build-manifest.json +9 -0
  98. package/.next/standalone/.next/server/app/api/shifts/[runId]/route/server-reference-manifest.json +4 -0
  99. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js +7 -0
  100. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js.map +5 -0
  101. package/.next/standalone/.next/server/app/api/shifts/[runId]/route.js.nft.json +1 -0
  102. package/.next/standalone/.next/server/app/api/shifts/[runId]/route_client-reference-manifest.js +3 -0
  103. package/.next/standalone/.next/server/app/api/shifts/route/app-paths-manifest.json +3 -0
  104. package/.next/standalone/.next/server/app/api/shifts/route/build-manifest.json +9 -0
  105. package/.next/standalone/.next/server/app/api/shifts/route/server-reference-manifest.json +4 -0
  106. package/.next/standalone/.next/server/app/api/shifts/route.js +7 -0
  107. package/.next/standalone/.next/server/app/api/shifts/route.js.map +5 -0
  108. package/.next/standalone/.next/server/app/api/shifts/route.js.nft.json +1 -0
  109. package/.next/standalone/.next/server/app/api/shifts/route_client-reference-manifest.js +3 -0
  110. package/.next/standalone/.next/server/app/api/twin/chat/route.js +2 -2
  111. package/.next/standalone/.next/server/app/api/twin/chat/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/twin-builder/[employeeId]/route.js +2 -2
  113. package/.next/standalone/.next/server/app/api/twin-builder/[employeeId]/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/audit.html +1 -1
  115. package/.next/standalone/.next/server/app/audit.rsc +3 -3
  116. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk/audit/__PAGE__.segment.rsc +2 -2
  117. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk/audit.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/audit.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/audit.segments/_full.segment.rsc +3 -3
  120. package/.next/standalone/.next/server/app/audit.segments/_head.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/audit.segments/_index.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/audit.segments/_tree.segment.rsc +1 -1
  123. package/.next/standalone/.next/server/app/budgets.html +1 -1
  124. package/.next/standalone/.next/server/app/budgets.rsc +3 -3
  125. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk/budgets/__PAGE__.segment.rsc +2 -2
  126. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk/budgets.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/budgets.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/budgets.segments/_full.segment.rsc +3 -3
  129. package/.next/standalone/.next/server/app/budgets.segments/_head.segment.rsc +1 -1
  130. package/.next/standalone/.next/server/app/budgets.segments/_index.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/budgets.segments/_tree.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/cockpit.html +1 -1
  133. package/.next/standalone/.next/server/app/cockpit.rsc +3 -3
  134. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk/cockpit/__PAGE__.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk/cockpit.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/cockpit.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  137. package/.next/standalone/.next/server/app/cockpit.segments/_full.segment.rsc +3 -3
  138. package/.next/standalone/.next/server/app/cockpit.segments/_head.segment.rsc +1 -1
  139. package/.next/standalone/.next/server/app/cockpit.segments/_index.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/cockpit.segments/_tree.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/connections.html +1 -1
  142. package/.next/standalone/.next/server/app/connections.rsc +2 -2
  143. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk/connections/__PAGE__.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk/connections.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/connections.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  146. package/.next/standalone/.next/server/app/connections.segments/_full.segment.rsc +2 -2
  147. package/.next/standalone/.next/server/app/connections.segments/_head.segment.rsc +1 -1
  148. package/.next/standalone/.next/server/app/connections.segments/_index.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/connections.segments/_tree.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/council.html +2 -2
  151. package/.next/standalone/.next/server/app/council.rsc +3 -3
  152. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk/council/__PAGE__.segment.rsc +2 -2
  153. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk/council.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/council.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  155. package/.next/standalone/.next/server/app/council.segments/_full.segment.rsc +3 -3
  156. package/.next/standalone/.next/server/app/council.segments/_head.segment.rsc +1 -1
  157. package/.next/standalone/.next/server/app/council.segments/_index.segment.rsc +1 -1
  158. package/.next/standalone/.next/server/app/council.segments/_tree.segment.rsc +1 -1
  159. package/.next/standalone/.next/server/app/employees.html +1 -1
  160. package/.next/standalone/.next/server/app/employees.rsc +3 -3
  161. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk/employees/__PAGE__.segment.rsc +2 -2
  162. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk/employees.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/employees.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  164. package/.next/standalone/.next/server/app/employees.segments/_full.segment.rsc +3 -3
  165. package/.next/standalone/.next/server/app/employees.segments/_head.segment.rsc +1 -1
  166. package/.next/standalone/.next/server/app/employees.segments/_index.segment.rsc +1 -1
  167. package/.next/standalone/.next/server/app/employees.segments/_tree.segment.rsc +1 -1
  168. package/.next/standalone/.next/server/app/flow.html +1 -1
  169. package/.next/standalone/.next/server/app/flow.rsc +3 -3
  170. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk/flow/__PAGE__.segment.rsc +2 -2
  171. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk/flow.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/flow.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  173. package/.next/standalone/.next/server/app/flow.segments/_full.segment.rsc +3 -3
  174. package/.next/standalone/.next/server/app/flow.segments/_head.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/flow.segments/_index.segment.rsc +1 -1
  176. package/.next/standalone/.next/server/app/flow.segments/_tree.segment.rsc +1 -1
  177. package/.next/standalone/.next/server/app/focus.html +1 -1
  178. package/.next/standalone/.next/server/app/focus.rsc +3 -3
  179. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk/focus/__PAGE__.segment.rsc +2 -2
  180. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk/focus.segment.rsc +1 -1
  181. package/.next/standalone/.next/server/app/focus.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  182. package/.next/standalone/.next/server/app/focus.segments/_full.segment.rsc +3 -3
  183. package/.next/standalone/.next/server/app/focus.segments/_head.segment.rsc +1 -1
  184. package/.next/standalone/.next/server/app/focus.segments/_index.segment.rsc +1 -1
  185. package/.next/standalone/.next/server/app/focus.segments/_tree.segment.rsc +1 -1
  186. package/.next/standalone/.next/server/app/forgot-password.html +1 -1
  187. package/.next/standalone/.next/server/app/forgot-password.rsc +5 -5
  188. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp/forgot-password/__PAGE__.segment.rsc +2 -2
  189. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp/forgot-password.segment.rsc +1 -1
  190. package/.next/standalone/.next/server/app/forgot-password.segments/!KGF1dGgp.segment.rsc +4 -4
  191. package/.next/standalone/.next/server/app/forgot-password.segments/_full.segment.rsc +5 -5
  192. package/.next/standalone/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  193. package/.next/standalone/.next/server/app/forgot-password.segments/_index.segment.rsc +1 -1
  194. package/.next/standalone/.next/server/app/forgot-password.segments/_tree.segment.rsc +1 -1
  195. package/.next/standalone/.next/server/app/generation.html +1 -1
  196. package/.next/standalone/.next/server/app/generation.rsc +3 -3
  197. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk/generation/__PAGE__.segment.rsc +2 -2
  198. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk/generation.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/generation.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  200. package/.next/standalone/.next/server/app/generation.segments/_full.segment.rsc +3 -3
  201. package/.next/standalone/.next/server/app/generation.segments/_head.segment.rsc +1 -1
  202. package/.next/standalone/.next/server/app/generation.segments/_index.segment.rsc +1 -1
  203. package/.next/standalone/.next/server/app/generation.segments/_tree.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/handover/live.html +1 -1
  205. package/.next/standalone/.next/server/app/handover/live.rsc +3 -3
  206. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover/live/__PAGE__.segment.rsc +2 -2
  207. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover/live.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk/handover.segment.rsc +1 -1
  209. package/.next/standalone/.next/server/app/handover/live.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  210. package/.next/standalone/.next/server/app/handover/live.segments/_full.segment.rsc +3 -3
  211. package/.next/standalone/.next/server/app/handover/live.segments/_head.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/handover/live.segments/_index.segment.rsc +1 -1
  213. package/.next/standalone/.next/server/app/handover/live.segments/_tree.segment.rsc +1 -1
  214. package/.next/standalone/.next/server/app/handover.html +1 -1
  215. package/.next/standalone/.next/server/app/handover.rsc +3 -3
  216. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk/handover/__PAGE__.segment.rsc +2 -2
  217. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk/handover.segment.rsc +1 -1
  218. package/.next/standalone/.next/server/app/handover.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  219. package/.next/standalone/.next/server/app/handover.segments/_full.segment.rsc +3 -3
  220. package/.next/standalone/.next/server/app/handover.segments/_head.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/handover.segments/_index.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/handover.segments/_tree.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/inbox.html +1 -1
  224. package/.next/standalone/.next/server/app/inbox.rsc +3 -3
  225. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk/inbox/__PAGE__.segment.rsc +2 -2
  226. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk/inbox.segment.rsc +1 -1
  227. package/.next/standalone/.next/server/app/inbox.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/inbox.segments/_full.segment.rsc +3 -3
  229. package/.next/standalone/.next/server/app/inbox.segments/_head.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/inbox.segments/_index.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/inbox.segments/_tree.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/index.html +1 -1
  233. package/.next/standalone/.next/server/app/index.rsc +2 -2
  234. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  235. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
  236. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  237. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/join.html +1 -1
  240. package/.next/standalone/.next/server/app/join.rsc +1 -1
  241. package/.next/standalone/.next/server/app/join.segments/_full.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/join.segments/_head.segment.rsc +1 -1
  243. package/.next/standalone/.next/server/app/join.segments/_index.segment.rsc +1 -1
  244. package/.next/standalone/.next/server/app/join.segments/_tree.segment.rsc +1 -1
  245. package/.next/standalone/.next/server/app/join.segments/join/__PAGE__.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/join.segments/join.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/launchpad.html +1 -1
  248. package/.next/standalone/.next/server/app/launchpad.rsc +1 -1
  249. package/.next/standalone/.next/server/app/launchpad.segments/_full.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/launchpad.segments/_head.segment.rsc +1 -1
  251. package/.next/standalone/.next/server/app/launchpad.segments/_index.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/launchpad.segments/_tree.segment.rsc +1 -1
  253. package/.next/standalone/.next/server/app/launchpad.segments/launchpad/__PAGE__.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/launchpad.segments/launchpad.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/learning.html +1 -1
  256. package/.next/standalone/.next/server/app/learning.rsc +3 -3
  257. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk/learning/__PAGE__.segment.rsc +2 -2
  258. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk/learning.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/learning.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  260. package/.next/standalone/.next/server/app/learning.segments/_full.segment.rsc +3 -3
  261. package/.next/standalone/.next/server/app/learning.segments/_head.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/learning.segments/_index.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/learning.segments/_tree.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/login.html +1 -1
  265. package/.next/standalone/.next/server/app/login.rsc +5 -5
  266. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +2 -2
  267. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
  268. package/.next/standalone/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +4 -4
  269. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
  270. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  271. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/marketplace.html +2 -2
  274. package/.next/standalone/.next/server/app/marketplace.rsc +3 -3
  275. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk/marketplace/__PAGE__.segment.rsc +2 -2
  276. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk/marketplace.segment.rsc +1 -1
  277. package/.next/standalone/.next/server/app/marketplace.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  278. package/.next/standalone/.next/server/app/marketplace.segments/_full.segment.rsc +3 -3
  279. package/.next/standalone/.next/server/app/marketplace.segments/_head.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/marketplace.segments/_index.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/marketplace.segments/_tree.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  284. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  285. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  287. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +1 -1
  288. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  289. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/page.js +2 -2
  292. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  293. package/.next/standalone/.next/server/app/profile.html +1 -1
  294. package/.next/standalone/.next/server/app/profile.rsc +3 -3
  295. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk/profile/__PAGE__.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk/profile.segment.rsc +1 -1
  297. package/.next/standalone/.next/server/app/profile.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  298. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +3 -3
  299. package/.next/standalone/.next/server/app/profile.segments/_head.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/profile.segments/_index.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/routines.html +1 -1
  303. package/.next/standalone/.next/server/app/routines.rsc +3 -3
  304. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk/routines/__PAGE__.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk/routines.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/routines.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  307. package/.next/standalone/.next/server/app/routines.segments/_full.segment.rsc +3 -3
  308. package/.next/standalone/.next/server/app/routines.segments/_head.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/routines.segments/_index.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/routines.segments/_tree.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/settings.html +1 -1
  312. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  313. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk/settings/__PAGE__.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk/settings.segment.rsc +1 -1
  315. package/.next/standalone/.next/server/app/settings.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  316. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  317. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/setup.html +1 -1
  321. package/.next/standalone/.next/server/app/setup.rsc +1 -1
  322. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  324. package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +1 -1
  325. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/signup.html +1 -1
  329. package/.next/standalone/.next/server/app/signup.rsc +5 -5
  330. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp/signup/__PAGE__.segment.rsc +2 -2
  331. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp/signup.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/signup.segments/!KGF1dGgp.segment.rsc +4 -4
  333. package/.next/standalone/.next/server/app/signup.segments/_full.segment.rsc +5 -5
  334. package/.next/standalone/.next/server/app/signup.segments/_head.segment.rsc +1 -1
  335. package/.next/standalone/.next/server/app/signup.segments/_index.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/signup.segments/_tree.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/sources.html +1 -1
  338. package/.next/standalone/.next/server/app/sources.rsc +1 -1
  339. package/.next/standalone/.next/server/app/sources.segments/_full.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/sources.segments/_head.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/sources.segments/_index.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/sources.segments/_tree.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/sources.segments/sources/__PAGE__.segment.rsc +1 -1
  344. package/.next/standalone/.next/server/app/sources.segments/sources.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/tasks.html +1 -1
  346. package/.next/standalone/.next/server/app/tasks.rsc +3 -3
  347. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk/tasks/__PAGE__.segment.rsc +2 -2
  348. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk/tasks.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/tasks.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  350. package/.next/standalone/.next/server/app/tasks.segments/_full.segment.rsc +3 -3
  351. package/.next/standalone/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  352. package/.next/standalone/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  353. package/.next/standalone/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/templates.html +1 -1
  355. package/.next/standalone/.next/server/app/templates.rsc +3 -3
  356. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk/templates/__PAGE__.segment.rsc +2 -2
  357. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk/templates.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/templates.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  359. package/.next/standalone/.next/server/app/templates.segments/_full.segment.rsc +3 -3
  360. package/.next/standalone/.next/server/app/templates.segments/_head.segment.rsc +1 -1
  361. package/.next/standalone/.next/server/app/templates.segments/_index.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/templates.segments/_tree.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/twin-build.html +1 -1
  364. package/.next/standalone/.next/server/app/twin-build.rsc +1 -1
  365. package/.next/standalone/.next/server/app/twin-build.segments/_full.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/twin-build.segments/_head.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/twin-build.segments/_index.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/twin-build.segments/_tree.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/twin-build.segments/twin-build/__PAGE__.segment.rsc +1 -1
  370. package/.next/standalone/.next/server/app/twin-build.segments/twin-build.segment.rsc +1 -1
  371. package/.next/standalone/.next/server/app/welcome.html +1 -1
  372. package/.next/standalone/.next/server/app/welcome.rsc +1 -1
  373. package/.next/standalone/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
  374. package/.next/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  379. package/.next/standalone/.next/server/app/workspace.html +1 -1
  380. package/.next/standalone/.next/server/app/workspace.rsc +3 -3
  381. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk/workspace/__PAGE__.segment.rsc +2 -2
  382. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk/workspace.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/workspace.segments/!KHdvcmtzcGFjZSk.segment.rsc +2 -2
  384. package/.next/standalone/.next/server/app/workspace.segments/_full.segment.rsc +3 -3
  385. package/.next/standalone/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  386. package/.next/standalone/.next/server/app/workspace.segments/_index.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/workspace.segments/_tree.segment.rsc +1 -1
  388. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  389. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0q0srs7._.js → [root-of-the-server]__0-lk8gw._.js} +2 -2
  390. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09rxa0f._.js → [root-of-the-server]__01y_uxo._.js} +2 -2
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0237gqb._.js +6 -0
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06gg__1._.js +3 -0
  393. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13sg5t1._.js → [root-of-the-server]__09hvn7-._.js} +2 -2
  394. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12zipk.._.js → [root-of-the-server]__0_jnrj.._.js} +3 -3
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b3djxh._.js +28 -0
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fem_0b._.js +6 -0
  397. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12db.hv._.js → [root-of-the-server]__0gw6qq0._.js} +2 -2
  398. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07h84a1._.js → [root-of-the-server]__0gyw9i8._.js} +3 -3
  399. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0d-lfnv._.js → [root-of-the-server]__0h1i3s9._.js} +2 -2
  400. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0xo-0pp._.js → [root-of-the-server]__0j8-hnp._.js} +2 -2
  401. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jfxbyi._.js +3 -0
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mlyrlr._.js +32 -0
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mrua5j._.js +6 -0
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nzi2~3._.js +3 -0
  405. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0w5y6kf._.js → [root-of-the-server]__0oh.bx8._.js} +2 -2
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0orsh59._.js +6 -0
  407. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0eoob9l._.js → [root-of-the-server]__0qegxog._.js} +2 -2
  408. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0rm36nv._.js → [root-of-the-server]__0r-o5p3._.js} +2 -2
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sh9.4u._.js +6 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0so5kx6._.js +6 -0
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tn.ery._.js +5 -0
  412. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__11m~2bm._.js → [root-of-the-server]__0x96tox._.js} +4 -4
  413. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qmqh8n._.js → [root-of-the-server]__0xvvvvi._.js} +3 -3
  414. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~pykta._.js +6 -0
  415. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ivd-hw._.js → [root-of-the-server]__100ltks._.js} +2 -2
  416. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10zin~7._.js +3 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11s1uo6._.js +3 -0
  418. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0h91rfv._.js → [root-of-the-server]__12ky.dn._.js} +2 -2
  419. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_shifts_[runId]_route_actions_0p58h34.js +3 -0
  420. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_shifts_route_actions_0pujxq5.js +3 -0
  421. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0t88jn0.js +1 -1
  422. package/.next/standalone/.next/server/chunks/src_lib_relay_08x7sh~._.js +1 -1
  423. package/.next/standalone/.next/server/chunks/src_lib_routine-scheduler_ts_0vht_3x._.js +15 -15
  424. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0pcgmfj._.js → [root-of-the-server]__07.~422._.js} +2 -2
  425. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jsvat_._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/ssr/_0fttr8_._.js +1 -1
  427. package/.next/standalone/.next/server/chunks/ssr/_0vm6c0p._.js +1 -1
  428. package/.next/standalone/.next/server/chunks/ssr/_0w_c_on._.js +1 -1
  429. package/.next/standalone/.next/server/chunks/ssr/_12etb9e._.js +1 -1
  430. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0xd_0os._.js +1 -1
  431. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_11bk~bs._.js +1 -1
  432. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_11dij6w._.js +1 -1
  433. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_connections_page_tsx_0v~fkea._.js +2 -2
  434. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_employees_page_tsx_0boulkq._.js +1 -1
  435. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_learning_page_tsx_07inyff._.js +1 -1
  436. package/.next/standalone/.next/server/chunks/ssr/src_app_(workspace)_routines_page_tsx_0yv.xpm._.js +1 -1
  437. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  438. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  439. package/.next/standalone/.next/server/pages/404.html +1 -1
  440. package/.next/standalone/.next/server/pages/500.html +1 -1
  441. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  442. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  443. package/.next/{static/chunks/0ke~8a8097vg0.js → standalone/.next/static/chunks/079z_r_j123f8.js} +1 -1
  444. package/.next/{static/chunks/0w7nyted9ppnw.js → standalone/.next/static/chunks/07dgcg6-p~hvq.js} +2 -2
  445. package/.next/{static/chunks/07u0o14uqaics.js → standalone/.next/static/chunks/0d0fuingjj-4r.js} +1 -1
  446. package/.next/standalone/.next/static/chunks/{0_l-vc88_ssam.js → 0klpefohfnyh3.js} +1 -1
  447. package/.next/standalone/.next/static/chunks/0kn776dgnsnk_.js +1 -0
  448. package/.next/standalone/.next/static/chunks/{0a555fdm3qc2~.js → 0o.2rk9d4l9ns.js} +1 -1
  449. package/.next/standalone/.next/static/chunks/{15cvuwympfjrv.js → 0rvx6p2ht0ci3.js} +1 -1
  450. package/.next/standalone/.next/static/chunks/{0dau-on~0.h76.js → 10qo0~035dqvd.js} +2 -2
  451. package/.next/standalone/CHANGELOG.md +35 -0
  452. package/.next/standalone/README.md +1 -1
  453. package/.next/standalone/next.config.ts +27 -1
  454. package/.next/standalone/package-lock.json +2 -2
  455. package/.next/standalone/package.json +1 -1
  456. package/.next/standalone/scripts/post-build.mjs +5 -0
  457. package/.next/standalone/server.js +1 -1
  458. package/.next/standalone/src/app/(workspace)/employees/page.tsx +603 -289
  459. package/.next/standalone/src/app/(workspace)/learning/page.tsx +1 -1
  460. package/.next/standalone/src/app/(workspace)/routines/page.tsx +435 -18
  461. package/.next/standalone/src/app/api/shifts/[runId]/route.ts +24 -0
  462. package/.next/standalone/src/app/api/shifts/route.ts +10 -0
  463. package/.next/standalone/src/app/onboarding/page.tsx +1 -1
  464. package/.next/standalone/src/app/page.tsx +7 -2
  465. package/.next/standalone/src/components/ex/employee-picker.tsx +119 -117
  466. package/.next/standalone/src/lib/council-runner.ts +1 -1
  467. package/.next/standalone/src/lib/employees-disk.ts +1 -1
  468. package/.next/standalone/src/lib/employees.ts +3 -3
  469. package/.next/standalone/src/lib/relay/live-interview.ts +1 -1
  470. package/.next/standalone/src/lib/relay/runner.ts +1 -1
  471. package/.next/standalone/src/lib/routine-scheduler.ts +3 -0
  472. package/.next/standalone/src/lib/routines.ts +2 -0
  473. package/.next/standalone/src/lib/sdk-defaults.ts +1 -1
  474. package/.next/standalone/src/lib/shift-archive.ts +129 -1
  475. package/.next/standalone/src/lib/shift-runner.ts +45 -8
  476. package/.next/standalone/src/lib/shift-schema.ts +8 -2
  477. package/.next/{standalone/.next/static/chunks/0ke~8a8097vg0.js → static/chunks/079z_r_j123f8.js} +1 -1
  478. package/.next/{standalone/.next/static/chunks/0w7nyted9ppnw.js → static/chunks/07dgcg6-p~hvq.js} +2 -2
  479. package/.next/{standalone/.next/static/chunks/07u0o14uqaics.js → static/chunks/0d0fuingjj-4r.js} +1 -1
  480. package/.next/static/chunks/{0_l-vc88_ssam.js → 0klpefohfnyh3.js} +1 -1
  481. package/.next/static/chunks/0kn776dgnsnk_.js +1 -0
  482. package/.next/static/chunks/{0a555fdm3qc2~.js → 0o.2rk9d4l9ns.js} +1 -1
  483. package/.next/static/chunks/{15cvuwympfjrv.js → 0rvx6p2ht0ci3.js} +1 -1
  484. package/.next/static/chunks/{0dau-on~0.h76.js → 10qo0~035dqvd.js} +2 -2
  485. package/README.md +1 -1
  486. package/package.json +1 -1
  487. package/.next/standalone/.next/server/chunks/[root-of-the-server]__003k8.p._.js +0 -5
  488. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05p35qh._.js +0 -6
  489. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06s.03t._.js +0 -6
  490. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a_ynue._.js +0 -3
  491. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aqzr0-._.js +0 -6
  492. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ex2yk2._.js +0 -32
  493. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f~5z1~._.js +0 -3
  494. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ii-qqg._.js +0 -6
  495. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j3azpj._.js +0 -3
  496. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3o402._.js +0 -6
  497. package/.next/standalone/.next/server/chunks/[root-of-the-server]__110gbg5._.js +0 -6
  498. package/.next/standalone/.next/server/chunks/[root-of-the-server]__120ai0k._.js +0 -28
  499. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12hkvg8._.js +0 -6
  500. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11hh.q7._.js +0 -3
  501. package/.next/standalone/.next/static/chunks/10r909464lbko.js +0 -1
  502. package/.next/standalone/docs/SECURITY-SHAI-HULUD.md +0 -192
  503. package/.next/standalone/docs/screenshots/01-welcome.png +0 -0
  504. package/.next/standalone/docs/screenshots/02-employees.png +0 -0
  505. package/.next/standalone/docs/screenshots/03-flow.png +0 -0
  506. package/.next/standalone/docs/screenshots/04-settings.png +0 -0
  507. package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1596
  508. package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
  509. package/.next/standalone/node_modules/@img/colour/package.json +0 -58
  510. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  511. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  512. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  513. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  514. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  515. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  516. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  517. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  518. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  519. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  520. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  521. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  522. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  523. package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
  524. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  525. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  526. package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
  527. package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
  528. package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
  529. package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
  530. package/.next/standalone/node_modules/detect-libc/package.json +0 -44
  531. package/.next/standalone/node_modules/semver/classes/comparator.js +0 -143
  532. package/.next/standalone/node_modules/semver/classes/range.js +0 -564
  533. package/.next/standalone/node_modules/semver/classes/semver.js +0 -333
  534. package/.next/standalone/node_modules/semver/functions/cmp.js +0 -54
  535. package/.next/standalone/node_modules/semver/functions/coerce.js +0 -62
  536. package/.next/standalone/node_modules/semver/functions/compare.js +0 -7
  537. package/.next/standalone/node_modules/semver/functions/eq.js +0 -5
  538. package/.next/standalone/node_modules/semver/functions/gt.js +0 -5
  539. package/.next/standalone/node_modules/semver/functions/gte.js +0 -5
  540. package/.next/standalone/node_modules/semver/functions/lt.js +0 -5
  541. package/.next/standalone/node_modules/semver/functions/lte.js +0 -5
  542. package/.next/standalone/node_modules/semver/functions/neq.js +0 -5
  543. package/.next/standalone/node_modules/semver/functions/parse.js +0 -18
  544. package/.next/standalone/node_modules/semver/functions/satisfies.js +0 -12
  545. package/.next/standalone/node_modules/semver/internal/constants.js +0 -37
  546. package/.next/standalone/node_modules/semver/internal/debug.js +0 -11
  547. package/.next/standalone/node_modules/semver/internal/identifiers.js +0 -29
  548. package/.next/standalone/node_modules/semver/internal/lrucache.js +0 -42
  549. package/.next/standalone/node_modules/semver/internal/parse-options.js +0 -17
  550. package/.next/standalone/node_modules/semver/internal/re.js +0 -223
  551. package/.next/standalone/node_modules/semver/package.json +0 -78
  552. package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
  553. package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
  554. package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
  555. package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
  556. package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  557. package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
  558. package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
  559. package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
  560. package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
  561. package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
  562. package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
  563. package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  564. package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
  565. package/.next/standalone/node_modules/sharp/package.json +0 -202
  566. package/.next/static/chunks/10r909464lbko.js +0 -1
  567. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_buildManifest.js +0 -0
  568. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_clientMiddlewareManifest.js +0 -0
  569. /package/.next/standalone/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_ssgManifest.js +0 -0
  570. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_buildManifest.js +0 -0
  571. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_clientMiddlewareManifest.js +0 -0
  572. /package/.next/static/{OAQQWJtesX6FVXkik9ALc → jiZL4yqsy49gTyKNyTObX}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},8098,e=>{"use strict";var t=e.i(22734),r=e.i(24868),n=e.i(14747),i=e.i(54799);function o(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function a(){return n.default.join(process.cwd(),"data","invites.json")}function s(){let e=n.default.dirname(a());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(a()))return[];let e=t.default.readFileSync(a(),"utf8"),r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function d(e){s(),t.default.writeFileSync(a(),JSON.stringify(e,null,2),"utf8")}function u(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?o(t):void 0}function c(e){let t=u(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,o,a=u(e);if(!a)throw Error("invite not found");if(a.employeeId)return{employeeId:a.employeeId,reused:!0};let s=(t?.name||a.name||"").trim(),c=(t?.role||a.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,x=n.default.join(process.cwd(),"data","employees",v),h=n.default.join(x,"employee.json");try{return await r.default.access(h),{employeeId:v,reused:!0}}catch{}await r.default.mkdir(x,{recursive:!0});let g=s||`Pending (${e.slice(4,10)})`,y=(i=new Date().toISOString().slice(0,10),(o={}).EMPLOYMENT=`# Employment — ${g}
1
+ module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},8098,e=>{"use strict";var t=e.i(22734),r=e.i(24868),n=e.i(14747),i=e.i(54799);function o(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function a(){return n.default.join(process.cwd(),"data","invites.json")}function s(){let e=n.default.dirname(a());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(a()))return[];let e=t.default.readFileSync(a(),"utf8"),r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function d(e){s(),t.default.writeFileSync(a(),JSON.stringify(e,null,2),"utf8")}function u(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?o(t):void 0}function c(e){let t=u(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,o,a=u(e);if(!a)throw Error("invite not found");if(a.employeeId)return{employeeId:a.employeeId,reused:!0};let s=(t?.name||a.name||"").trim(),c=(t?.role||a.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,x=n.default.join(process.cwd(),"data","employees",v),h=n.default.join(x,"employee.json");try{return await r.default.access(h),{employeeId:v,reused:!0}}catch{}await r.default.mkdir(x,{recursive:!0});let g=s||`Pending (${e.slice(4,10)})`,y=(i=new Date().toISOString().slice(0,10),(o={}).EMPLOYMENT=`# Employment — ${g}
2
2
 
3
3
  - Name: ${g}
4
4
  ${c?`- Role: ${c}
@@ -29,4 +29,4 @@ _To be filled in during onboarding._
29
29
  _To be filled in during onboarding._
30
30
  `,o);return await Promise.all(p.map(async e=>{let t=n.default.join(x,`${e}.md`);try{await r.default.access(t)}catch{await r.default.writeFile(t,y[e],"utf8")}})),await r.default.writeFile(h,JSON.stringify({id:v,name:g,role:c||null,integrations:[],createdAt:new Date().toISOString(),lastActiveAt:new Date().toISOString(),via:{invite:e},pendingProfile:!s},null,2),"utf8"),!function(e,t){let r=l(),n=r.findIndex(t=>t.token===e);if(n<0)return;let i=r[n];i.employeeId===t||i.employeeId&&i.employeeId!==t||(r[n]={...i,employeeId:t},d(r))}(e,v),{employeeId:v,reused:!1}}e.s(["bulkRevokeInvites",0,function(e){let t=Date.now(),r=l(),n=[],i=r.filter(r=>!(!r.completedAt&&("expired"===e?new Date(r.expiresAt).getTime()<t:!r.employeeId))||(n.push(r.token),!1));return n.length>0&&d(i),{removed:n.length,tokens:n}},"classifyInvite",0,c,"createInvite",0,function(e){let t=`inv_${(0,i.randomBytes)(20).toString("hex")}`,r=new Date,n=new Date(r.getTime()+12096e5),o={token:t,name:e.name?.trim()||void 0,role:e.role?.trim()||void 0,createdAt:r.toISOString(),expiresAt:n.toISOString(),lookbackDays:function(e){let t="number"==typeof e?e:Number(e);if(!Number.isFinite(t))return 90;let r=Math.round(t);return r<30?30:r>360?360:r}(void 0===e.lookbackDays?90:e.lookbackDays)},a=l();return a.push(o),d(a),o},"findInvite",0,u,"isInviteRedeemable",0,function(e){let t=u(e);if(t&&!t.completedAt&&!(new Date(t.expiresAt).getTime()<Date.now()))return t},"listInvites",0,function(){return l().filter(e=>"string"==typeof e?.token).map(o).sort((e,t)=>t.createdAt.localeCompare(e.createdAt))},"markInviteCompleted",0,function(e,t){let r=l(),n=r.findIndex(t=>t.token===e);if(-1!==n)return r[n]={...r[n],completedAt:new Date().toISOString(),employeeId:t},d(r),r[n]},"materializeEmployeeFromInvite",0,m,"releaseInviteClaim",0,function(e){let r=n.default.join(n.default.dirname(a()),`.invite-${e}.lock`);try{t.default.unlinkSync(r)}catch{}},"revokeInvite",0,function(e){let t=l(),r=t.filter(t=>t.token!==e);return r.length!==t.length&&(d(r),!0)},"tryClaimInvite",0,function(e){let r=c(e);if(!r.ok)return{claimed:!1,reason:r.reason};s();let i=n.default.join(n.default.dirname(a()),`.invite-${e}.lock`);try{t.default.writeFileSync(i,String(process.pid),{flag:"wx"});let r=c(e);if(!r.ok){try{t.default.unlinkSync(i)}catch{}return{claimed:!1,reason:r.reason}}return{claimed:!0}}catch(e){if(e&&"EEXIST"===e.code)return{claimed:!1,reason:"already_claimed"};throw e}}])},10149,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),i=e.i(59756),o=e.i(61916),a=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),v=e.i(10372),x=e.i(93695);e.i(20232);var h=e.i(220),g=e.i(89171),y=e.i(8098),E=e.i(20993);async function R(e,{params:t}){let{token:r,toolkit:n}=await t,i=(0,y.classifyInvite)(r);if(!i.ok&&"not_found"===i.reason)return g.NextResponse.json({status:"not_found"},{status:404});if(!i.ok&&"expired"===i.reason)return g.NextResponse.json({status:"expired"},{status:410});if(!(0,E.isComposioConfigured)())return g.NextResponse.json({error:"COMPOSIO_API_KEY is not set"},{status:500});if(!n)return g.NextResponse.json({error:"toolkit is required"},{status:400});let o=(0,y.findInvite)(r),a=o?.employeeId;if(!a)try{a=(await (0,y.materializeEmployeeFromInvite)(r)).employeeId}catch{return g.NextResponse.json({ok:!0,noop:!0})}return await (0,E.disconnectToolkit)(a,n),g.NextResponse.json({ok:!0})}e.s(["POST",0,R,"runtime",0,"nodejs"],30418);var w=e.i(30418);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/invites/[token]/connections/[toolkit]/disconnect/route",pathname:"/api/invites/[token]/connections/[toolkit]/disconnect",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/invites/[token]/connections/[toolkit]/disconnect/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:I,serverHooks:b}=k;async function _(e,t,n){n.requestMeta&&(0,i.setRequestMeta)(e,n.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/invites/[token]/connections/[toolkit]/disconnect/route";g=g.replace(/\/index$/,"")||"/";let y=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,params:R,nextConfig:w,parsedUrl:S,isDraftMode:I,prerenderManifest:b,routerServerContext:_,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,resolvedPathname:A,clientReferenceManifest:N,serverActionsManifest:O}=y,P=(0,s.normalizeAppPath)(g),D=!!(b.dynamicRoutes[P]||b.routes[A]),j=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!I){let e=!!b.routes[A],t=b.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await j();throw new x.NoFallbackError}}let q=null;!D||k.isDev||I||(q="/index"===(q=A)?"/":q);let $=!0===k.isDev||!D,M=D&&!$;O&&N&&(0,a.setManifestsSingleton)({page:g,clientReferenceManifest:N,serverActionsManifest:O});let F=e.method||"GET",U=(0,o.getTracer)(),H=U.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,w,b,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let X={params:R,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:w.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>k.onRequestError(e,t,n,i,_)},sharedContext:{buildId:E}},z=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let i,a=async e=>k.handle(W,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${F} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${F} ${g}`)}),s=async i=>{var o,s;let l=async({previousCacheEntry:r})=>{try{if(!L&&C&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(i);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,J,o,X.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,_),t}},d=await k.handleResponse({req:e,nextConfig:w,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",C?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,J,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};B&&H?await s(H):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},s),void 0,!B))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,_),D)throw t;return await (0,p.sendResponse)(z,J,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:I})},"routeModule",0,k,"serverHooks",0,b,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,I],10149)},30887,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_stream_0g9s3ok._.js","server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))}];
31
31
 
32
- //# sourceMappingURL=%5Broot-of-the-server%5D__09rxa0f._.js.map
32
+ //# sourceMappingURL=%5Broot-of-the-server%5D__01y_uxo._.js.map
@@ -0,0 +1,6 @@
1
+ module.exports=[22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},51474,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let a={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var r=e.i(43811);let i=n.default.join(process.cwd(),"data","hired-agents.json"),o=n.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let n;return t=e,n=(0,r.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:l(t.placement,n)}})}catch{return[]}}function l(e,t){let n={...a,teamName:t?.department??a.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:n.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||n.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||n.responsibleEmployeeName,teamName:e?.teamName||n.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function c(e){t.default.mkdirSync(n.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let a=s(),r=a.findIndex(t=>t.id===e);if(-1===r)return!1;let i=n.default.join(o,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return a.splice(r,1),c(a),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let i of e){var n,a;let e=r.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((n=i.hiredAt,a=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:n,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:n,version:"1.0",scopes:["data-collection","integrations"]},placement:a}))}return t},"hireAgent",0,function(e,a){let r=l(a,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:r},d=n.default.join(o,e.id);for(let[a,i]of(t.default.mkdirSync(d,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(n.default.join(d,a),function(e,t,n){let a,r;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(a="external_consultant"===n.employmentKind?"External consultant":"Team member",r=n.teammateNames.length>0?n.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${a}`,`- Responsible owner: ${n.responsibleEmployeeName} (${n.responsibleEmployeeId})`,`- Team: ${n.teamName}`,`- Teammates: ${r}`,n.engagementNote?`- Engagement note: ${n.engagementNote}`:void 0].filter(Boolean).join("\n")),o=t.replace(/\s+$/,"");return o.includes("## Team placement")?o.replace(/## Team placement[\s\S]*$/,i)+"\n":`${o}
2
+
3
+ ${i}
4
+ `}(a,i,r),"utf-8");let u=s().filter(t=>t.id!==e.id);return u.push(i),c(u),i}],51474)},24868,(e,t,n)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},47751,e=>{"use strict";var t=e.i(24868),n=e.i(14747);let a=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],r=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-n);let a=new Date(Date.UTC(t.getUTCFullYear(),0,1)),r=Math.ceil(((t.getTime()-a.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(r).padStart(2,"0")}`}async function o(e){let a=n.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(a,"utf8"),n=JSON.parse(e),r=i(new Date),o=n.weekOf===r?(n.questionsThisWeek??0)+1:1;await t.default.writeFile(a,JSON.stringify({...n,lastActiveAt:new Date().toISOString(),questionsThisWeek:o,weekOf:r},null,2),"utf8")}catch{}}async function s(){let e,o=n.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(o)}catch{return[]}let s=[];for(let c of e){var l;let e;if(c.startsWith("."))continue;let d=n.default.join(o,c,"employee.json");try{let n=await t.default.readFile(d,"utf8");e=JSON.parse(n)}catch{continue}if(!e?.name||e.pendingProfile)continue;let u=0;for(let e of r)try{(await t.default.readFile(n.default.join(o,c,`${e}.md`),"utf8")).trim().length>16&&u++}catch{}s.push({id:e.id||c,name:e.name,firstName:(l=e.name).trim().split(/\s+/)[0]||l,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return a[Math.abs(t)%a.length]}(e.id||c),integrations:e.integrations??[],twinStatus:u>=6?"ready":u>0?"building":"pending",twinConfidence:u>=6?Math.min(1,u/9):0,profileFilesComplete:u,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-8",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,o,"loadEmployeesFromDisk",0,s])},43127,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let a=n.default.join(process.cwd(),"data","active-runs.json");function r(){let e=n.default.dirname(a);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function i(){try{if(r(),!t.default.existsSync(a))return{};let e=t.default.readFileSync(a,"utf8");if(!e.trim())return{};return JSON.parse(e)}catch(e){return console.warn("[active-runs] read failed",e),{}}}function o(e){try{r();let n=`${a}.tmp`;t.default.writeFileSync(n,JSON.stringify(e,null,2),"utf8"),t.default.renameSync(n,a)}catch(e){console.warn("[active-runs] write failed",e)}}function s(e){let t=Date.now(),n=!1,a={};for(let[r,i]of Object.entries(e)){if(i.endedAt){let e=new Date(i.endedAt).getTime();if(Number.isFinite(e)&&e+6e4<t){n=!0;continue}}a[r]=i}return n&&o(a),a}e.s(["getActiveRun",0,function(e){return s(i())[e]??null},"listActiveRuns",0,function(e){let t=Object.values(s(i()));return e?.includeRecent||(t=t.filter(e=>"running"===e.status)),e?.employeeId&&(t=t.filter(t=>t.employeeId===e.employeeId)),e?.surface&&(t=t.filter(t=>t.surface===e.surface)),t.sort((e,t)=>t.startedAt.localeCompare(e.startedAt)),t},"registerRun",0,function(e){let t=i(),n={...e,status:"running",toolCalls:0,costUsd:0};return t[n.runId]=n,o(t),n},"unregisterRun",0,function(e,t){let n=i(),a=n[e];a&&(n[e]={...a,status:t.status,endedAt:new Date().toISOString(),costUsd:"number"==typeof t.costUsd?t.costUsd:a.costUsd},o(n))},"updateRun",0,function(e,t){let n=i(),a=n[e];if(!a)return null;let r={...a,...t};return n[e]=r,o(n),r}])},7416,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let a=n.default.join(process.cwd(),"data","audit.jsonl");function r(){let e=n.default.dirname(a);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}let i=0,o=/^audit\.(\d{4}-\d{2})\.jsonl$/;e.s(["appendAuditEntry",0,function(e){try{r(),function(e){try{if(t.default.statSync(e).size<0xa00000)return;let a=t.default.readFileSync(e,"utf8").split("\n").filter(Boolean),r=Date.now()-2592e6,i=[],o=new Map;for(let e of a)try{let t=JSON.parse(e);if((t.ts?new Date(t.ts).getTime():0)>=r)i.push(e);else{let n=t.ts?t.ts.slice(0,7):"unknown";o.has(n)||o.set(n,[]),o.get(n).push(e)}}catch{i.push(e)}let s=n.default.dirname(e);for(let[e,a]of o){let r=n.default.join(s,`audit.${e}.jsonl`);t.default.appendFileSync(r,a.join("\n")+"\n","utf8")}t.default.writeFileSync(e,i.join("\n")+(i.length?"\n":""),"utf8")}catch{}}(a);let o={id:(i++,`aud_${Date.now().toString(36)}_${i}`),ts:new Date().toISOString(),...e};t.default.appendFileSync(a,JSON.stringify(o)+"\n","utf8")}catch{}},"readAuditLog",0,function(e={}){let i=Math.max(1,e.page??1),s=Math.min(500,Math.max(1,e.pageSize??100)),l=function(){try{let e=n.default.dirname(a);if(!t.default.existsSync(e))return[];let r=[];for(let n of t.default.readdirSync(e)){let e=n.match(o);e&&r.push(e[1])}return r.sort().reverse()}catch{return[]}}();try{var c;r();let o=e.archive?(c=e.archive,n.default.join(n.default.dirname(a),`audit.${c}.jsonl`)):a;if(!t.default.existsSync(o))return{entries:[],totalCount:0,page:i,pageSize:s,archives:l};let d=t.default.readFileSync(o,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),u=e.since?Date.parse(e.since):-1/0,p=e.until?Date.parse(e.until):1/0,m=d.filter(t=>{if(e.employeeId&&t.employeeId!==e.employeeId||e.toolName&&!t.bareName.toLowerCase().includes(e.toolName.toLowerCase())||e.verdict&&t.verdict!==e.verdict)return!1;let n=Date.parse(t.ts);return(!Number.isFinite(n)||!(n<u)&&!(n>p))&&!0}).reverse(),h=(i-1)*s;return{entries:m.slice(h,h+s),totalCount:m.length,page:i,pageSize:s,archives:l}}catch{return{entries:[],totalCount:0,page:i,pageSize:s,archives:l}}}])},56518,37263,74965,e=>{"use strict";let t={decision_rules:{minItems:4,weight:.25},playbooks:{minItems:3,weight:.2},contact_graph:{minItems:4,weight:.15},edge_cases:{minItems:3,weight:.15},tooling_map:{minItems:3,weight:.1},open_loops:{minItems:2,weight:.1},glossary:{minItems:3,weight:.05}},n=Object.keys(t);e.s(["scoreCoverage",0,function(e){let a={},r=[],i=0;for(let o of n){let{minItems:n,weight:s}=t[o],l=e[o],c=Array.isArray(l)?l.length:0,d=c>=n;a[o]={items:c,minItems:n,met:d,weight:s},i+=s*Math.min(1,c/n),d||r.push(`${o}: ${c}/${n}`)}let o=Math.min(1,Math.max(0,i));return{perField:a,score:o,status:o>=.7?"handover-ready":"draft",gaps:r}}],56518);let a="relay-rcp-1";function r(e){if(!e)return e;let t=e;return(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/\b(pass(?:word|wd|phrase)?|secret|api[_-]?key|access[_-]?key|token|bearer|authorization|client[_-]?secret|private[_-]?key|credential)s?\b(\s*[:=]\s*|\s+is\s+)(["']?)([^\s"']{4,})\3/gi,(e,t,n)=>`${t}${n}[REDACTED-SECRET]`)).replace(/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9._-]{10,}\b/g,"[REDACTED-TOKEN]")).replace(/\b(?:sk|pk|rk)[-_][A-Za-z0-9]{16,}\b/g,"[REDACTED-TOKEN]")).replace(/\b(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{20,}\b/g,"[REDACTED-TOKEN]")).replace(/\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g,"[REDACTED-TOKEN]")).replace(/\bAKIA[0-9A-Z]{16}\b/g,"[REDACTED-TOKEN]")).replace(/\bAIza[0-9A-Za-z_-]{30,}\b/g,"[REDACTED-TOKEN]")).replace(/\b[0-9a-fA-F]{32,}\b/g,"[REDACTED-TOKEN]")).replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,"[REDACTED-EMAIL]")).replace(/(?<!\w)(?:\+?\d{1,3}[\s.-]?)?(?:\(?\d{2,4}\)?[\s.-]?){2,4}\d{2,4}(?!\w)/g,e=>{let t=e.replace(/\D/g,"");return t.length>=7&&t.length<=15?"[REDACTED-PHONE]":e})}function i(e){let t=r(e.answer).trim(),n=e.title&&e.title.trim()||d(e.area,e.question,t);return{id:e.id,title:n,body:t,provenance:e.provenance,confidence:s(e.confidence),gaps:l(e.gaps??[])}}function o(e){let t=e.title&&e.title.trim()||d("tooling_map",e.question,e.answer);return{id:e.id,system:t,location:r((e.toolingLocation??"unspecified").trim()),accessVia:r((e.toolingAccessVia??"request via the owning team").trim()),ownedBy:e.toolingOwnedBy?r(e.toolingOwnedBy.trim()):void 0,provenance:e.provenance,confidence:s(e.confidence),gaps:l(e.gaps??[])}}function s(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function l(e){return Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)))}function c(e,t){return e.length>0?e.map(i):t}function d(e,t,n){let a=(t||n||e).replace(/\s+/g," ").trim(),r=a.replace(/^(walk me through|tell me about|how do you|when do you|what(?:'s| is)|who)\b[\s,:-]*/i,"").replace(/\?+$/,"").trim()||a;return r.length>72?`${r.slice(0,69)}…`:r}e.s(["RCP_SCHEMA_VERSION",0,a],37263),e.s(["redactPii",0,r,"synthesizeRcpFixture",0,function(e){var t,n;let r,i,s=e.generatedAt??new Date().toISOString(),l=function(e){let t={decision_rules:[],playbooks:[],contact_graph:[],edge_cases:[],tooling_map:[],glossary:[],open_loops:[]};for(let n of e??[])t[n.area]&&t[n.area].push(n);return t}(e.transcript),d=(r=e.profile.employeeId,{decision_rules:[(i=(e,t,n,a,i,o="interview")=>({id:`${r}:seed:${e}`,title:t,body:n,provenance:o,confidence:a,gaps:i}))("dr-deploy-approval","Production deploy approval","Any deploy touching the billing or auth services needs a second engineer's sign-off on the PR before merge. Everything else: author can self-merge once CI is green and at least one review is in.",.9,["Threshold for 'large' refactors that should pull in a third reviewer is informal — worth writing down."]),i("dr-incident-escalate","When to escalate an incident","Page the on-call SRE immediately for anything customer-facing (5xx spike, checkout failing, data loss risk). For internal-only degradation, file a ticket and handle in business hours. If unsure, escalate — over-paging is cheaper than a missed Sev1.",.85,["Exact error-rate threshold that auto-promotes Sev2 -> Sev1 lives in the runbook, not in my head."]),i("dr-hiring-bar","Engineering hiring bar","A 'yes' needs strong signal on either systems depth or product judgment, plus no red flags on collaboration. A single weak interview is not a veto; two are. I write the debrief summary, but the panel decides.",.8,["How to weigh take-home vs live coding for senior candidates is still subjective."]),i("dr-tech-debt-budget","Tech-debt vs feature budget","Roughly 20% of each sprint is reserved for paying down debt and reliability work. I protect that slot hard during crunch — skipping it twice in a row is the rule I will push back on PM about.",.82,["The 20% is a norm, not a tracked metric — no dashboard enforces it yet."]),i("dr-vendor-spend","Vendor / infra spend sign-off","I can approve new infra spend up to ~$2k/mo on my own. Above that goes to the Eng Director with a one-paragraph justification. Anything touching a new data-processor contract also loops in Legal first.",.78,["Exact current approval ceiling may have changed after the last budget cycle — confirm with Finance."])],playbooks:[i("pb-oncall-handoff","Weekly on-call handoff","1. Skim the open incidents board and PagerDuty timeline.\n2. Write a 3-bullet handoff note in #eng-oncall: what's still warm, what's resolved, what to watch.\n3. Confirm the incoming on-call has access to dashboards + runbook.\n4. Reassign any unresolved Sev2 tickets to the new on-call.",.9,["The handoff note template lives in my drafts, not in a shared doc yet."]),i("pb-release","Cutting a release","1. Freeze main; announce in #releases.\n2. Tag the release branch, let CI build the artifact.\n3. Deploy to staging, run the smoke suite.\n4. Canary to 5% prod for 30 min, watch error rate + latency.\n5. Ramp to 100% if clean; otherwise roll back and open an incident.",.88,["Canary thresholds are partly tribal knowledge — the dashboard alarms cover the obvious ones only."]),i("pb-postmortem","Running a blameless postmortem","1. Schedule within 48h while memory is fresh.\n2. Build the timeline from logs first, opinions second.\n3. Focus on contributing factors, never on individuals.\n4. Land 2-3 concrete action items with owners + dates.\n5. Publish to the postmortem wiki and link it from the incident ticket.",.86,["We don't consistently track whether postmortem action items actually ship."]),i("pb-onboarding","Onboarding a new engineer","1. Pair them with a buddy for week one.\n2. First PR should be a small, real, shippable change by day 3.\n3. Walk them through the deploy + on-call story before they touch prod.\n4. Check in 1:1 at end of week 1, 2, and 4.",.84,["Buddy assignment is ad-hoc; no rotation list exists."])],contact_graph:[i("cg-sre-lead","SRE / infra owner","Priya (SRE Lead, @priya) owns the alerting stack and prod access. Go to her before changing anything in the on-call rotation or touching infra IaC.",.9,["Backup contact when Priya is OOO is unclear."],"confirmed-from-history"),i("cg-billing","Billing domain expert","Marcus (Staff Eng, @marcus) is the only person who deeply understands the legacy billing reconciliation job. Pull him in for anything touching invoices or proration.",.88,["Marcus is a single point of failure here — knowledge isn't documented."]),i("cg-pm","Product partner","Sofia (Senior PM, @sofia) is my main product counterpart. She decides scope; I decide feasibility and sequencing. We sync Monday mornings.",.85,[],"confirmed-from-history"),i("cg-legal","Legal / data contacts","For anything touching customer data export or a new processor, loop in the Legal partner via the #legal-eng channel — don't DM individuals, the channel routes to whoever's on rotation.",.8,["Don't know the named Legal contact, only the channel."]),i("cg-fixer","The informal fixer","Dana (Eng Ops, @dana) isn't on the org chart for it but unblocks access requests, vendor accounts, and tooling licenses faster than the official process. Ask nicely.",.75,["This is informal — no guarantee it survives Dana changing roles."])],edge_cases:[i("ec-acme-billing","The Acme double-charge incident","Acme got double-charged when a retry storm hit the billing job during a deploy. Fix was to make the charge endpoint idempotent on the invoice id. Watch out: the legacy reconciliation job still assumes at-most-once and will silently drop a legitimate retry if you're not careful.",.85,["The idempotency key handling on the legacy path was never fully audited."]),i("ec-tz-cron","The timezone cron bug","A nightly job ran in UTC but reported in local time, so month-end reports were off by a day twice a year around DST. Fix: pin everything to UTC end-to-end and convert only at the presentation layer. Any new scheduled job: assume UTC, never server-local.",.82,["There may be other local-time assumptions lurking in older cron jobs."]),i("ec-thundering-herd","Cache-stampede on cold start","After a full cache flush, the first requests stampede the DB and tip it over. We added request coalescing + a short jittered backoff. If you ever flush prod cache, do it gradually or pre-warm — never cold-flush at peak.",.8,["The pre-warm script is manual and undocumented."])],tooling_map:[{id:`${r}:seed:tool-pagerduty`,system:"PagerDuty",location:"pagerduty.com (org SSO)",accessVia:"Request via IT ticket; SRE Lead approves on-call schedule changes",ownedBy:"SRE Lead (@priya)",provenance:"interview",confidence:.9,gaps:["Escalation policy IDs not captured here — see PagerDuty UI."]},{id:`${r}:seed:tool-datadog`,system:"Datadog",location:"app.datadoghq.com (org SSO)",accessVia:"SSO group 'eng-all'; dashboard edit needs 'eng-leads' group",ownedBy:"SRE team",provenance:"confirmed-from-history",confidence:.85,gaps:["Which dashboards are canonical vs experimental is unclear."]},{id:`${r}:seed:tool-deploy`,system:"Internal deploy console",location:"deploy.internal (behind VPN)",accessVia:"Granted via the 'deployers' role; request in #eng-access",ownedBy:"Eng Ops (@dana)",provenance:"interview",confidence:.82,gaps:["Rollback permissions are separate from deploy permissions — confirm scope per role."]}],glossary:[i("gl-canary","Canary","A staged rollout to a small % of prod traffic before full release, watched for error/latency regressions.",.95,[]),i("gl-recon","Recon job","The nightly billing reconciliation job that matches charges to invoices. Legacy, fragile, owned informally by Marcus.",.88,["Exact schedule + owner of record is fuzzy."]),i("gl-warm","Warm (incident)","An incident that's mitigated but not yet root-caused/closed — still needs watching during handoff.",.9,[]),i("gl-twenty","The 20%","Shorthand for the reliability/tech-debt budget reserved each sprint.",.85,[])],open_loops:[i("ol-billing-idempotency","Finish billing idempotency rollout","Idempotency is live on the new charge path; the legacy reconciliation path still needs the same treatment. Next action: pair with Marcus to audit the legacy key handling before next billing cycle.",.85,["No ticket owner assigned yet if I'm out."]),i("ol-oncall-docs","Document the on-call handoff template","Handoff note template only lives in my drafts. Next action: move it into the shared #eng-oncall pinned doc so it survives my absence.",.8,[]),i("ol-hiring-loop","Senior backend hire in flight","One senior backend candidate is at the offer stage; Sofia's team is waiting on the hire for the billing rework. Next action: chase the offer status with the recruiter and keep Sofia posted.",.78,["Compensation band sign-off may still be pending with Finance."])]}),u=c(l.decision_rules,d.decision_rules),p=c(l.playbooks,d.playbooks),m=c(l.contact_graph,d.contact_graph),h=c(l.edge_cases,d.edge_cases),g=c(l.glossary,d.glossary),f=c(l.open_loops,d.open_loops),y=(t=l.tooling_map,n=d.tooling_map,t.length>0?t.map(o):n),w=u.length+p.length+m.length+h.length+y.length+g.length+f.length,b=function(e){let t=0;for(let[n,a,r]of[["decision_rules",4,.25],["playbooks",3,.2],["contact_graph",4,.15],["edge_cases",3,.15],["tooling_map",3,.1],["open_loops",2,.1],["glossary",3,.05]])t+=r*Math.min(1,(e[n]?.length??0)/a);return t>=.7?"handover-ready":"draft"}({decision_rules:u,playbooks:p,contact_graph:m,edge_cases:h,tooling_map:y,glossary:g,open_loops:f});return{source_twin_id:e.profile.employeeId,schema_version:a,generated_at:s,synth_mode:"fixture",status:b,decision_rules:u,playbooks:p,contact_graph:m,edge_cases:h,tooling_map:y,glossary:g,open_loops:f,provenance:{interviewerModel:e.interviewerModel??"fixture",transcriptRef:e.transcriptRef,redactionApplied:!0,itemCount:w,consent:e.consent,auditRunId:e.auditRunId}}}],74965)}];
5
+
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0237gqb._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},27022,e=>{"use strict";var t=e.i(54799);async function r(e){let t=await c(s(e,"oauth-protected-resource")),r=t.authorization_servers?.[0];if(!r)throw Error("MCP server does not advertise an authorization_servers entry — cannot start OAuth.");let n=await c(s(r,"oauth-authorization-server"));if(!n.authorization_endpoint||!n.token_endpoint)throw Error("Authorization server metadata is missing required endpoints.");if(!(Array.isArray(n.code_challenge_methods_supported)&&n.code_challenge_methods_supported.includes("S256")))throw Error("Authorization server does not advertise S256 PKCE — refusing.");return{authorizationServer:r,authorizationEndpoint:n.authorization_endpoint,tokenEndpoint:n.token_endpoint,registrationEndpoint:n.registration_endpoint,scopesSupported:n.scopes_supported??t.scopes_supported,pkceS256Supported:!0}}async function n(e,t,r){let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_name:r,redirect_uris:[t],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"none",application_type:"web"})});if(!n.ok){let e=await n.text().catch(()=>"");throw Error(`Dynamic Client Registration failed (${n.status}): ${e.slice(0,200)}`)}let i=await n.json();if(!i.client_id)throw Error("Registration endpoint did not return a client_id.");return{clientId:i.client_id,clientSecret:i.client_secret}}async function i(e){let t=new URLSearchParams({grant_type:"authorization_code",code:e.code,code_verifier:e.codeVerifier,client_id:e.clientId,redirect_uri:e.redirectUri});return o(e.tokenEndpoint,t,e.clientSecret,e.clientId)}async function a(e){let t=new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:e.clientId});return o(e.tokenEndpoint,t,e.clientSecret,e.clientId)}async function o(e,t,r,n){let i={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"};r&&(i.Authorization="Basic "+Buffer.from(`${n}:${r}`).toString("base64"));let a=await fetch(e,{method:"POST",headers:i,body:t});if(!a.ok){let e=await a.text().catch(()=>"");throw Error(`Token endpoint returned ${a.status}: ${e.slice(0,200)}`)}let o=await a.json();if(!o.access_token)throw Error("Token response missing access_token.");let s="number"==typeof o.expires_in?o.expires_in:3600;return{accessToken:o.access_token,refreshToken:o.refresh_token,expiresAt:new Date(Date.now()+1e3*s).toISOString(),scope:o.scope}}function s(e,t){let r=new URL(e);return`${r.origin}/.well-known/${t}`}async function c(e){let t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok)throw Error(`GET ${e} → ${t.status}`);return await t.json()}function l(e){return e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}e.s(["buildAuthUrl",0,function(e){let t=new URL(e.authorizationEndpoint);return t.searchParams.set("response_type","code"),t.searchParams.set("client_id",e.clientId),t.searchParams.set("redirect_uri",e.redirectUri),t.searchParams.set("state",e.state),t.searchParams.set("code_challenge",e.codeChallenge),t.searchParams.set("code_challenge_method","S256"),e.scope&&t.searchParams.set("scope",e.scope),t.toString()},"discoverOAuth",0,r,"exchangeCode",0,i,"pkcePair",0,function(){let e=l((0,t.randomBytes)(32)),r=l((0,t.createHash)("sha256").update(e).digest());return{verifier:e,challenge:r}},"randomState",0,function(){return l((0,t.randomBytes)(24))},"refreshAccessToken",0,a,"registerClient",0,n])},48705,e=>{"use strict";var t=e.i(14747),r=e.i(24868),n=e.i(27022);let i=t.default.join(process.cwd(),"data","org"),a=t.default.join(i,"custom-mcp.json");async function o(){try{let e=await r.default.readFile(a,"utf-8"),t=JSON.parse(e);return{servers:Array.isArray(t.servers)?t.servers:[]}}catch{return{servers:[]}}}async function s(e){await r.default.mkdir(i,{recursive:!0}),await r.default.writeFile(a,JSON.stringify(e,null,2))}async function c(){let{servers:e}=await o();return[...e].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())}async function l(e){let t=y(e);if(t)throw Error(t);let r=new Date().toISOString(),n={id:`mcp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,name:e.name.trim(),description:e.description?.trim()||void 0,transport:e.transport,url:e.url.trim(),headers:_(e.headers??[]),...e.oauth?{oauth:e.oauth}:{},enabled:e.enabled??!0,createdAt:r,updatedAt:r},i=await o();if(i.servers.some(e=>m(e.name)===m(n.name)))throw Error(`An MCP server named "${n.name}" already exists. Pick a different name.`);return i.servers.push(n),await s(i),n}async function u(e,t){let r=await o(),n=r.servers.findIndex(t=>t.id===e);if(-1===n)return null;let i={...r.servers[n],...void 0!==t.name?{name:t.name.trim()}:{},...void 0!==t.description?{description:t.description.trim()||void 0}:{},...void 0!==t.transport?{transport:t.transport}:{},...void 0!==t.url?{url:t.url.trim()}:{},...void 0!==t.headers?{headers:_(t.headers)}:{},...void 0!==t.enabled?{enabled:t.enabled}:{},updatedAt:new Date().toISOString()},a=y(i);if(a)throw Error(a);let c=m(i.name);if(r.servers.some((e,t)=>t!==n&&m(e.name)===c))throw Error(`An MCP server named "${i.name}" already exists. Pick a different name.`);return r.servers[n]=i,await s(r),i}async function d(e,t){let r=await o(),n=r.servers.findIndex(t=>t.id===e);return -1!==n&&(r.servers[n]={...r.servers[n],oauth:t},await s(r),!0)}async function f(e){let t=await o(),r=t.servers.length;return t.servers=t.servers.filter(t=>t.id!==e),t.servers.length!==r&&(await s(t),!0)}async function p(e){let t=e.oauth;if(!t)return null;let r=Date.parse(t.expiresAt);if(Number.isFinite(r)&&Date.now()<r-6e4)return t.accessToken;if(!t.refreshToken)return console.warn(`[mcp-oauth] ${e.name}: access token expired and no refresh token on file — skipping until reconnect.`),null;try{let r=await (0,n.refreshAccessToken)({tokenEndpoint:t.tokenEndpoint,refreshToken:t.refreshToken,clientId:t.clientId,clientSecret:t.clientSecret}),i={...t,accessToken:r.accessToken,refreshToken:r.refreshToken??t.refreshToken,expiresAt:r.expiresAt,scope:r.scope??t.scope};return await d(e.id,i),r.accessToken}catch(r){let t=r instanceof Error?r.message:String(r);return console.warn(`[mcp-oauth] ${e.name}: refresh failed (${t}) — skipping until reconnect.`),null}}async function h(){let e=(await c()).filter(e=>e.enabled&&e.url);if(0===e.length)return{};let t={};for(let r of e){let e=m(r.name)||`mcp_${r.id}`;if(t[e])continue;let n=function(e){let t={};for(let r of e)t[r.key]=r.value;return t}(r.headers);if(r.oauth){let e=await p(r);if(!e)continue;n.Authorization=`Bearer ${e}`}if("http"===r.transport){let i={type:"http",url:r.url,...Object.keys(n).length>0?{headers:n}:{}};t[e]=i}else{let i={type:"sse",url:r.url,...Object.keys(n).length>0?{headers:n}:{}};t[e]=i}}return t}function m(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,32)}function _(e){return e.map(e=>({key:e.key.trim(),value:e.value.trim()})).filter(e=>e.key&&e.value)}function y(e){if(!e.name||!e.name.trim())return"Name is required.";if(!e.url||!e.url.trim())return"URL is required.";try{let t=new URL(e.url);if("https:"!==t.protocol&&"http:"!==t.protocol)return"URL must be http(s)."}catch{return"URL is not valid."}return e.transport&&"http"!==e.transport&&"sse"!==e.transport?"Transport must be 'http' or 'sse'.":0===m(e.name).length?"Name must contain at least one alphanumeric character.":null}e.s(["createCustomMcp",0,l,"deleteCustomMcp",0,f,"listCustomMcp",0,c,"loadOrgCustomMcpServers",0,h,"updateCustomMcp",0,u])},7416,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n=r.default.join(process.cwd(),"data","audit.jsonl");function i(){let e=r.default.dirname(n);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}let a=0,o=/^audit\.(\d{4}-\d{2})\.jsonl$/;e.s(["appendAuditEntry",0,function(e){try{i(),function(e){try{if(t.default.statSync(e).size<0xa00000)return;let n=t.default.readFileSync(e,"utf8").split("\n").filter(Boolean),i=Date.now()-2592e6,a=[],o=new Map;for(let e of n)try{let t=JSON.parse(e);if((t.ts?new Date(t.ts).getTime():0)>=i)a.push(e);else{let r=t.ts?t.ts.slice(0,7):"unknown";o.has(r)||o.set(r,[]),o.get(r).push(e)}}catch{a.push(e)}let s=r.default.dirname(e);for(let[e,n]of o){let i=r.default.join(s,`audit.${e}.jsonl`);t.default.appendFileSync(i,n.join("\n")+"\n","utf8")}t.default.writeFileSync(e,a.join("\n")+(a.length?"\n":""),"utf8")}catch{}}(n);let o={id:(a++,`aud_${Date.now().toString(36)}_${a}`),ts:new Date().toISOString(),...e};t.default.appendFileSync(n,JSON.stringify(o)+"\n","utf8")}catch{}},"readAuditLog",0,function(e={}){let a=Math.max(1,e.page??1),s=Math.min(500,Math.max(1,e.pageSize??100)),c=function(){try{let e=r.default.dirname(n);if(!t.default.existsSync(e))return[];let i=[];for(let r of t.default.readdirSync(e)){let e=r.match(o);e&&i.push(e[1])}return i.sort().reverse()}catch{return[]}}();try{var l;i();let o=e.archive?(l=e.archive,r.default.join(r.default.dirname(n),`audit.${l}.jsonl`)):n;if(!t.default.existsSync(o))return{entries:[],totalCount:0,page:a,pageSize:s,archives:c};let u=t.default.readFileSync(o,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),d=e.since?Date.parse(e.since):-1/0,f=e.until?Date.parse(e.until):1/0,p=u.filter(t=>{if(e.employeeId&&t.employeeId!==e.employeeId||e.toolName&&!t.bareName.toLowerCase().includes(e.toolName.toLowerCase())||e.verdict&&t.verdict!==e.verdict)return!1;let r=Date.parse(t.ts);return(!Number.isFinite(r)||!(r<d)&&!(r>f))&&!0}).reverse(),h=(a-1)*s;return{entries:p.slice(h,h+s),totalCount:p.length,page:a,pageSize:s,archives:c}}catch{return{entries:[],totalCount:0,page:a,pageSize:s,archives:c}}}])},85824,e=>{"use strict";var t=e.i(7416);let r="claude-sonnet-4-6",n="claude-sonnet-4-5",i=["Bash","NotebookEdit","EnterWorktree","ExitWorktree"];e.s(["TWIN_MODEL_FALLBACK",0,n,"TWIN_MODEL_PRIMARY",0,r,"buildBaseOptions",0,function(e){let t="builder"===e.surface||"relay"===e.surface?"high":"routine"===e.surface?"low":"medium",a="1"===process.env.TWIN_ENABLE_1M_CONTEXT;return{model:e.modelOverride??r,fallbackModel:n,effort:t,thinking:{type:"adaptive"},disallowedTools:i,betas:a?["context-1m-2025-08-07"]:void 0,env:{...process.env,CLAUDE_AGENT_SDK_CLIENT_APP:"Employee001/0.2.0"},abortController:e.abortController,title:e.title,promptSuggestions:"chat"===e.surface||"meeting"===e.surface,agentProgressSummaries:!1,strictMcpConfig:!0}},"buildTwinHooks",0,function(r){return{PreToolUse:[{hooks:[async e=>"PreToolUse"!==e.hook_event_name?{}:i.includes(e.tool_name)?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`${e.tool_name} is hard-disallowed for twins (see sdk-defaults.ts).`}}:{},async n=>{if("PreToolUse"!==n.hook_event_name||"Write"!==n.tool_name)return{};let i=n.tool_input??{},a="string"==typeof i.file_path?i.file_path:"",o=e=>{console.warn(`[restrictWriteToScratch] DENIED — ${e} (raw: "${a}")`);try{(0,t.appendAuditEntry)({runId:r.runId,employeeId:r.employeeId,employeeName:r.employeeName,toolName:"Write",bareName:"Write",input:{file_path:a},verdict:"hard_blocked",blockReason:e})}catch{}return r.onNotification?.({kind:"write_denied",message:e,title:"Scratch write denied"}),{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e}}};if(!a)return o("Write requires a file_path.");let s=`scratch/${r.employeeId}/`,c=a.replace(/^\.\//,"").replace(/\\/g,"/"),l=c.indexOf(s);if(l>0&&(c=c.slice(l)),!((c=c.replace(/^data\//,"")).startsWith(s)&&!c.includes("..")&&!c.split("/").some(e=>e.startsWith("."))))return o(`Write is sandboxed to ${s}<filename>. Got: "${a}" (normalised: "${c}"). Use a relative path like scratch/${r.employeeId}/my-memo.md`);try{let t=await e.A(23970),n=(await e.A(89793)).join(process.cwd(),"data","scratch",r.employeeId);t.mkdirSync(n,{recursive:!0})}catch{}return(console.log(`[restrictWriteToScratch] ALLOWED — "${c}" (original: "${a}")`),c!==a.replace(/^\.\//,"").replace(/\\/g,"/"))?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{...i,file_path:c}}}:{}}]}],PostToolUse:[{hooks:[async e=>{if("PostToolUse"!==e.hook_event_name)return{};let n=e.tool_input??{},i=e.tool_name.replace(/^mcp__[a-z0-9_]+__/i,"");try{(0,t.appendAuditEntry)({runId:r.runId,employeeId:r.employeeId,employeeName:r.employeeName,toolName:e.tool_name,bareName:i,input:n,verdict:"executed",durationMs:e.duration_ms,...e.agent_id?{agentId:e.agent_id}:{},...e.agent_type?{agentType:e.agent_type}:{}})}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-hooks] audit append failed: ${e}`)}return{}},async e=>{if("PostToolUse"!==e.hook_event_name||"WebSearch"!==e.tool_name&&"WebFetch"!==e.tool_name)return{};let t=e.tool_input??{},r=new Date().toISOString().split("T")[0],n="string"==typeof t.url?t.url:null;return{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:n?`[Fetched from ${n} on ${r}. Cite this URL and date in your answer so the CEO can verify the source.]`:`[Web results fetched on ${r}. Cite the source URL(s) and date in your answer.]`}}}]}],Notification:[{hooks:[async e=>{if("Notification"!==e.hook_event_name)return{};try{r.onNotification?.({kind:e.notification_type,message:e.message,title:e.title})}catch{}return{}}]}],Stop:[{hooks:[async e=>{if("Stop"!==e.hook_event_name)return{};try{r.onStop?.({stoppedBy:(e.stop_hook_active,"natural")})}catch{}return{}}]}]}}])},43127,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n=r.default.join(process.cwd(),"data","active-runs.json");function i(){let e=r.default.dirname(n);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function a(){try{if(i(),!t.default.existsSync(n))return{};let e=t.default.readFileSync(n,"utf8");if(!e.trim())return{};return JSON.parse(e)}catch(e){return console.warn("[active-runs] read failed",e),{}}}function o(e){try{i();let r=`${n}.tmp`;t.default.writeFileSync(r,JSON.stringify(e,null,2),"utf8"),t.default.renameSync(r,n)}catch(e){console.warn("[active-runs] write failed",e)}}function s(e){let t=Date.now(),r=!1,n={};for(let[i,a]of Object.entries(e)){if(a.endedAt){let e=new Date(a.endedAt).getTime();if(Number.isFinite(e)&&e+6e4<t){r=!0;continue}}n[i]=a}return r&&o(n),n}e.s(["getActiveRun",0,function(e){return s(a())[e]??null},"listActiveRuns",0,function(e){let t=Object.values(s(a()));return e?.includeRecent||(t=t.filter(e=>"running"===e.status)),e?.employeeId&&(t=t.filter(t=>t.employeeId===e.employeeId)),e?.surface&&(t=t.filter(t=>t.surface===e.surface)),t.sort((e,t)=>t.startedAt.localeCompare(e.startedAt)),t},"registerRun",0,function(e){let t=a(),r={...e,status:"running",toolCalls:0,costUsd:0};return t[r.runId]=r,o(t),r},"unregisterRun",0,function(e,t){let r=a(),n=r[e];n&&(r[e]={...n,status:t.status,endedAt:new Date().toISOString(),costUsd:"number"==typeof t.costUsd?t.costUsd:n.costUsd},o(r))},"updateRun",0,function(e,t){let r=a(),n=r[e];if(!n)return null;let i={...n,...t};return r[e]=i,o(r),i}])},8035,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(54799);function i(e,t){return r.default.join(process.cwd(),"data","run-logs",e,`${t}.ndjson`)}function a(e=0,t="0"){return{bytes:Buffer.alloc(0),size:e,etag:t}}e.s(["appendRunLog",0,function(e,n,a){try{let o,s=i(e,n);o=r.default.dirname(s),t.default.existsSync(o)||t.default.mkdirSync(o,{recursive:!0});let c={ts:new Date().toISOString(),...a};t.default.appendFileSync(s,JSON.stringify(c)+"\n","utf8")}catch(t){console.warn("[run-logs] append failed",e,n,t)}},"logPathFor",0,i,"readLogTail",0,function(e,r,o,s){try{let c=i(e,r);if(!t.default.existsSync(c))return a();let l=t.default.statSync(c).size,u=function(e,r){if(0===r)return"0";try{let i=Math.min(32,r),a=Buffer.alloc(i),o=t.default.openSync(e,"r");try{t.default.readSync(o,a,0,i,r-i)}finally{t.default.closeSync(o)}let s=n.default.createHash("sha1").update(a).digest("hex").slice(0,12);return`${r}-${s}`}catch{return`${r}-x`}}(c,l);if(0===l)return a(0,u);let d=Math.min(1048576,Math.max(1,s)),f=Math.max(0,o);if(f>=l)return{bytes:Buffer.alloc(0),size:l,etag:u};let p=Math.min(l,f+d)-f,h=Buffer.alloc(p),m=t.default.openSync(c,"r");try{t.default.readSync(m,h,0,p,f)}finally{t.default.closeSync(m)}return{bytes:h,size:l,etag:u}}catch(t){return console.warn("[run-logs] read tail failed",e,r,t),a()}}])},5779,e=>{"use strict";let t=[/_DELETE_/i,/_DESTROY_/i,/_REMOVE_USER_/i,/_TRANSFER_FUNDS_/i,/_REFUND_/i,/_PAYMENT_/i,/_CHARGE_/i],r=[/_GET_/i,/_LIST_/i,/_SEARCH_/i,/_FETCH_/i,/_RETRIEVE_/i,/_READ_/i,/_FIND_/i],n=new Set(["Read","Glob","Grep","Write","WebSearch","WebFetch","ToolSearch","Task","create_artifact","share_with_meeting","read_meeting_file","view_meeting_image","analyze_csv","query_csv","consult_twin","request_approval"]);e.s(["classifyTool",0,function(e,i){let a=e||"",o=(a||"").replace(/^mcp__[a-z0-9_]+__/i,"");if(n.has(a)||n.has(o))return{kind:"allow"};for(let e of t)if(e.test(o))return{kind:"block",reason:`${o} is on the hard-block list (deletes, payments, account changes).`};for(let e of r)if(e.test(o))return{kind:"allow"};if(/SLACK_(SEND|POST|REPLY|UPDATE_MESSAGE|SCHEDULE)/i.test(o)){let e="string"==typeof i?.channel?i.channel:"string"==typeof i?.channel_name?i.channel_name:"";return{kind:"ask",reason:e?`About to send a Slack message to ${e}. Public message — review before sending.`:"About to send a Slack message. Review the recipient and content before sending."}}if(/(GMAIL|OUTLOOK|EMAIL).*(SEND|REPLY)|SEND_EMAIL/i.test(o)){let e="string"==typeof i?.to?i.to:Array.isArray(i?.to)?i.to.join(", "):"";return{kind:"ask",reason:e?`About to send an email to ${e}. External communication — review before sending.`:"About to send an email. Review recipient and content before sending."}}return/CREATE/i.test(o)?{kind:"ask",reason:`About to create a record via ${o}. Review the title and body before creating.`}:/(UPDATE|EDIT|MODIFY|PATCH|MERGE|CLOSE|REOPEN|ASSIGN|TRANSFER)/i.test(o)?{kind:"ask",reason:`About to mutate existing data via ${o}. Review the change before applying.`}:/^[A-Z][A-Z0-9_]+$/.test(o)&&o.includes("_")?{kind:"ask",reason:`${o} is an external action. Confirm before running.`}:{kind:"ask",reason:`${a} is an unrecognized tool. Confirm before running.`}},"describeTool",0,function(e){let t=e.replace(/^mcp__[a-z_]+__/,""),r=t.split("_");if(r.length>=2){let e=r[0],t=r.slice(1).join(" ").toLowerCase();return`${e.charAt(0)}${e.slice(1).toLowerCase()}: ${t}`}return t}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__06gg__1._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},8098,e=>{"use strict";var t=e.i(22734),r=e.i(24868),n=e.i(14747),i=e.i(54799);function a(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function o(){return n.default.join(process.cwd(),"data","invites.json")}function s(){let e=n.default.dirname(o());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(o()))return[];let e=t.default.readFileSync(o(),"utf8"),r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function u(e){s(),t.default.writeFileSync(o(),JSON.stringify(e,null,2),"utf8")}function d(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?a(t):void 0}function c(e){let t=d(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,a,o=d(e);if(!o)throw Error("invite not found");if(o.employeeId)return{employeeId:o.employeeId,reused:!0};let s=(t?.name||o.name||"").trim(),c=(t?.role||o.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,g=n.default.join(process.cwd(),"data","employees",v),h=n.default.join(g,"employee.json");try{return await r.default.access(h),{employeeId:v,reused:!0}}catch{}await r.default.mkdir(g,{recursive:!0});let y=s||`Pending (${e.slice(4,10)})`,x=(i=new Date().toISOString().slice(0,10),(a={}).EMPLOYMENT=`# Employment — ${y}
1
+ module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},8098,e=>{"use strict";var t=e.i(22734),r=e.i(24868),n=e.i(14747),i=e.i(54799);function a(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function o(){return n.default.join(process.cwd(),"data","invites.json")}function s(){let e=n.default.dirname(o());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(o()))return[];let e=t.default.readFileSync(o(),"utf8"),r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function u(e){s(),t.default.writeFileSync(o(),JSON.stringify(e,null,2),"utf8")}function d(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?a(t):void 0}function c(e){let t=d(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,a,o=d(e);if(!o)throw Error("invite not found");if(o.employeeId)return{employeeId:o.employeeId,reused:!0};let s=(t?.name||o.name||"").trim(),c=(t?.role||o.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,g=n.default.join(process.cwd(),"data","employees",v),h=n.default.join(g,"employee.json");try{return await r.default.access(h),{employeeId:v,reused:!0}}catch{}await r.default.mkdir(g,{recursive:!0});let y=s||`Pending (${e.slice(4,10)})`,x=(i=new Date().toISOString().slice(0,10),(a={}).EMPLOYMENT=`# Employment — ${y}
2
2
 
3
3
  - Name: ${y}
4
4
  ${c?`- Role: ${c}
@@ -29,4 +29,4 @@ _To be filled in during onboarding._
29
29
  _To be filled in during onboarding._
30
30
  `,a);return await Promise.all(p.map(async e=>{let t=n.default.join(g,`${e}.md`);try{await r.default.access(t)}catch{await r.default.writeFile(t,x[e],"utf8")}})),await r.default.writeFile(h,JSON.stringify({id:v,name:y,role:c||null,integrations:[],createdAt:new Date().toISOString(),lastActiveAt:new Date().toISOString(),via:{invite:e},pendingProfile:!s},null,2),"utf8"),!function(e,t){let r=l(),n=r.findIndex(t=>t.token===e);if(n<0)return;let i=r[n];i.employeeId===t||i.employeeId&&i.employeeId!==t||(r[n]={...i,employeeId:t},u(r))}(e,v),{employeeId:v,reused:!1}}e.s(["bulkRevokeInvites",0,function(e){let t=Date.now(),r=l(),n=[],i=r.filter(r=>!(!r.completedAt&&("expired"===e?new Date(r.expiresAt).getTime()<t:!r.employeeId))||(n.push(r.token),!1));return n.length>0&&u(i),{removed:n.length,tokens:n}},"classifyInvite",0,c,"createInvite",0,function(e){let t=`inv_${(0,i.randomBytes)(20).toString("hex")}`,r=new Date,n=new Date(r.getTime()+12096e5),a={token:t,name:e.name?.trim()||void 0,role:e.role?.trim()||void 0,createdAt:r.toISOString(),expiresAt:n.toISOString(),lookbackDays:function(e){let t="number"==typeof e?e:Number(e);if(!Number.isFinite(t))return 90;let r=Math.round(t);return r<30?30:r>360?360:r}(void 0===e.lookbackDays?90:e.lookbackDays)},o=l();return o.push(a),u(o),a},"findInvite",0,d,"isInviteRedeemable",0,function(e){let t=d(e);if(t&&!t.completedAt&&!(new Date(t.expiresAt).getTime()<Date.now()))return t},"listInvites",0,function(){return l().filter(e=>"string"==typeof e?.token).map(a).sort((e,t)=>t.createdAt.localeCompare(e.createdAt))},"markInviteCompleted",0,function(e,t){let r=l(),n=r.findIndex(t=>t.token===e);if(-1!==n)return r[n]={...r[n],completedAt:new Date().toISOString(),employeeId:t},u(r),r[n]},"materializeEmployeeFromInvite",0,m,"releaseInviteClaim",0,function(e){let r=n.default.join(n.default.dirname(o()),`.invite-${e}.lock`);try{t.default.unlinkSync(r)}catch{}},"revokeInvite",0,function(e){let t=l(),r=t.filter(t=>t.token!==e);return r.length!==t.length&&(u(r),!0)},"tryClaimInvite",0,function(e){let r=c(e);if(!r.ok)return{claimed:!1,reason:r.reason};s();let i=n.default.join(n.default.dirname(o()),`.invite-${e}.lock`);try{t.default.writeFileSync(i,String(process.pid),{flag:"wx"});let r=c(e);if(!r.ok){try{t.default.unlinkSync(i)}catch{}return{claimed:!1,reason:r.reason}}return{claimed:!0}}catch(e){if(e&&"EEXIST"===e.code)return{claimed:!1,reason:"already_claimed"};throw e}}])},64058,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),i=e.i(59756),a=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),v=e.i(10372),g=e.i(93695);e.i(20232);var h=e.i(220),y=e.i(89171),x=e.i(8098);async function E(){return y.NextResponse.json({invites:(0,x.listInvites)()})}async function R(e){let t,r=[];if(process.env.ANTHROPIC_API_KEY||r.push("ANTHROPIC_API_KEY"),process.env.COMPOSIO_API_KEY||r.push("COMPOSIO_API_KEY"),r.length>0)return y.NextResponse.json({error:"not_configured",message:"Set the missing API keys in .env (or re-run `npx employee001 setup`), then restart the server.",missing:r},{status:409});let n={};try{n=await e.json()}catch{}let i="string"==typeof n.name?n.name:void 0,a="string"==typeof n.role?n.role:void 0;if(void 0!==n.lookbackDays&&null!==n.lookbackDays){let e="number"==typeof n.lookbackDays?n.lookbackDays:Number(n.lookbackDays);if(!Number.isFinite(e)||!Number.isInteger(e)||e<30||e>360)return y.NextResponse.json({error:"lookback_out_of_range",message:"lookbackDays must be between 30 and 360"},{status:400});t=e}let o=(0,x.createInvite)({name:i,role:a,lookbackDays:t});return y.NextResponse.json({invite:o},{status:201})}e.s(["GET",0,E,"POST",0,R,"runtime",0,"nodejs"],86563);var w=e.i(86563);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/invites/route",pathname:"/api/invites",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/invites/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:S,serverHooks:I}=b;async function A(e,t,n){n.requestMeta&&(0,i.setRequestMeta)(e,n.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/invites/route";y=y.replace(/\/index$/,"")||"/";let x=await b.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,params:R,nextConfig:w,parsedUrl:k,isDraftMode:S,prerenderManifest:I,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:_,serverActionsManifest:N}=x,P=(0,s.normalizeAppPath)(y),D=!!(I.dynamicRoutes[P]||I.routes[O]),j=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,k,!1):t.end("This page could not be found"),null);if(D&&!S){let e=!!I.routes[O],t=I.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await j();throw new g.NoFallbackError}}let $=null;!D||b.isDev||S||($="/index"===($=O)?"/":$);let q=!0===b.isDev||!D,M=D&&!q;N&&_&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:_,serverActionsManifest:N});let F=e.method||"GET",H=(0,a.getTracer)(),U=H.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),B=!!(0,i.getRequestMeta)(e,"minimalMode"),L=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,w,I,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let X={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:q,incrementalCache:L,cacheLifeProfiles:w.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>b.onRequestError(e,t,n,i,A)},sharedContext:{buildId:E}},Y=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,o=async e=>b.handle(z,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${F} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${F} ${y}`)}),s=async i=>{var a,s;let l=async({previousCacheEntry:r})=>{try{if(!B&&C&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(i);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(Y,J,a,X.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),t}},u=await b.handleResponse({req:e,nextConfig:w,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!D)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&D||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(Y,J,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};K&&U?await s(U):(i=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${y}`,kind:a.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},s),void 0,!K))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),D)throw t;return await (0,p.sendResponse)(Y,J,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:S})},"routeModule",0,b,"serverHooks",0,I,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,S],64058)}];
31
31
 
32
- //# sourceMappingURL=%5Broot-of-the-server%5D__13sg5t1._.js.map
32
+ //# sourceMappingURL=%5Broot-of-the-server%5D__09hvn7-._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},51474,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var l=e.i(43811);let i=n.default.join(process.cwd(),"data","hired-agents.json"),a=n.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let n;return t=e,n=(0,l.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:u(t.placement,n)}})}catch{return[]}}function u(e,t){let n={...r,teamName:t?.department??r.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:n.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||n.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||n.responsibleEmployeeName,teamName:e?.teamName||n.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(n.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let r=s(),l=r.findIndex(t=>t.id===e);if(-1===l)return!1;let i=n.default.join(a,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return r.splice(l,1),d(r),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let i of e){var n,r;let e=l.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((n=i.hiredAt,r=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:n,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:n,version:"1.0",scopes:["data-collection","integrations"]},placement:r}))}return t},"hireAgent",0,function(e,r){let l=u(r,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:l},o=n.default.join(a,e.id);for(let[r,i]of(t.default.mkdirSync(o,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(n.default.join(o,r),function(e,t,n){let r,l;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(r="external_consultant"===n.employmentKind?"External consultant":"Team member",l=n.teammateNames.length>0?n.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${r}`,`- Responsible owner: ${n.responsibleEmployeeName} (${n.responsibleEmployeeId})`,`- Team: ${n.teamName}`,`- Teammates: ${l}`,n.engagementNote?`- Engagement note: ${n.engagementNote}`:void 0].filter(Boolean).join("\n")),a=t.replace(/\s+$/,"");return a.includes("## Team placement")?a.replace(/## Team placement[\s\S]*$/,i)+"\n":`${a}
1
+ module.exports=[22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},51474,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var l=e.i(43811);let i=n.default.join(process.cwd(),"data","hired-agents.json"),a=n.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let n;return t=e,n=(0,l.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:u(t.placement,n)}})}catch{return[]}}function u(e,t){let n={...r,teamName:t?.department??r.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:n.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||n.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||n.responsibleEmployeeName,teamName:e?.teamName||n.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(n.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let r=s(),l=r.findIndex(t=>t.id===e);if(-1===l)return!1;let i=n.default.join(a,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return r.splice(l,1),d(r),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let i of e){var n,r;let e=l.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((n=i.hiredAt,r=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:n,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:n,version:"1.0",scopes:["data-collection","integrations"]},placement:r}))}return t},"hireAgent",0,function(e,r){let l=u(r,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:l},o=n.default.join(a,e.id);for(let[r,i]of(t.default.mkdirSync(o,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(n.default.join(o,r),function(e,t,n){let r,l;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(r="external_consultant"===n.employmentKind?"External consultant":"Team member",l=n.teammateNames.length>0?n.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${r}`,`- Responsible owner: ${n.responsibleEmployeeName} (${n.responsibleEmployeeId})`,`- Team: ${n.teamName}`,`- Teammates: ${l}`,n.engagementNote?`- Engagement note: ${n.engagementNote}`:void 0].filter(Boolean).join("\n")),a=t.replace(/\s+$/,"");return a.includes("## Team placement")?a.replace(/## Team placement[\s\S]*$/,i)+"\n":`${a}
2
2
 
3
3
  ${i}
4
- `}(r,i,l),"utf-8");let c=s().filter(t=>t.id!==e.id);return c.push(i),d(c),i}],51474)},47751,e=>{"use strict";var t=e.i(24868),n=e.i(14747);let r=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],l=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-n);let r=new Date(Date.UTC(t.getUTCFullYear(),0,1)),l=Math.ceil(((t.getTime()-r.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(l).padStart(2,"0")}`}async function a(e){let r=n.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(r,"utf8"),n=JSON.parse(e),l=i(new Date),a=n.weekOf===l?(n.questionsThisWeek??0)+1:1;await t.default.writeFile(r,JSON.stringify({...n,lastActiveAt:new Date().toISOString(),questionsThisWeek:a,weekOf:l},null,2),"utf8")}catch{}}async function s(){let e,a=n.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(a)}catch{return[]}let s=[];for(let d of e){var u;let e;if(d.startsWith("."))continue;let o=n.default.join(a,d,"employee.json");try{let n=await t.default.readFile(o,"utf8");e=JSON.parse(n)}catch{continue}if(!e?.name||e.pendingProfile)continue;let c=0;for(let e of l)try{(await t.default.readFile(n.default.join(a,d,`${e}.md`),"utf8")).trim().length>16&&c++}catch{}s.push({id:e.id||d,name:e.name,firstName:(u=e.name).trim().split(/\s+/)[0]||u,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return r[Math.abs(t)%r.length]}(e.id||d),integrations:e.integrations??[],twinStatus:c>=6?"ready":c>0?"building":"pending",twinConfidence:c>=6?Math.min(1,c/9):0,profileFilesComplete:c,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-7",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,a,"loadEmployeesFromDisk",0,s])},76430,28177,e=>{"use strict";var t=e.i(14747),n=e.i(22734);let r=["CONTEXT.md","EXPERTISE.md","PROJECTS.md","PEOPLE.md","DECISIONS.md","PREFERENCES.md","TONE.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["TWIN_FILE_NAMES",0,r],28177);let l=e=>t.default.join(process.cwd(),"data","employees",e),i=e=>t.default.join(l(e),".versions"),a=e=>t.default.join(i(e),"files"),s=e=>t.default.join(i(e),"builds"),u=e=>t.default.join(i(e),"_log.jsonl"),d=(e,n)=>t.default.join(s(e),`${n}.events.jsonl`),o=t.default.join(process.cwd(),"data","active-builds.json");function c(e=new Date){return e.toISOString().replace(/[:.]/g,"-")}function f(e){n.default.mkdirSync(i(e),{recursive:!0}),n.default.mkdirSync(a(e),{recursive:!0}),n.default.mkdirSync(s(e),{recursive:!0})}function m(e,r,l,i,s={}){f(e);let d=c(s.at??new Date),o=t.default.join(a(e),r);n.default.mkdirSync(o,{recursive:!0});let p=t.default.join(o,`${d}.md`),y=d,S=p,g=0;for(;n.default.existsSync(S);)g+=1,y=`${d}-${g}`,S=t.default.join(o,`${y}.md`);n.default.writeFileSync(S,l,"utf-8");let h={ts:y,filename:r,sizeBytes:Buffer.byteLength(l,"utf-8"),source:i,...s.buildId?{buildId:s.buildId}:{},...s.restoredFromTs?{restoredFromTs:s.restoredFromTs}:{}};return n.default.appendFileSync(u(e),JSON.stringify(h)+"\n"),y}function p(e,r,i,a={}){let s=t.default.join(l(e),r),u="";try{u=n.default.readFileSync(s,"utf-8")}catch{return null}return u?m(e,r,u,i,a):null}function y(e,l,i){if(!r.includes(l)||!/^[0-9A-Za-z\-]+Z(-\d+)?$/.test(i))return null;let s=t.default.join(a(e),l,`${i}.md`);try{return n.default.readFileSync(s,"utf-8")}catch{return null}}function S(e){let r;try{r=n.default.readdirSync(s(e))}catch{return[]}return r.filter(e=>e.endsWith(".json")).map(r=>{try{let l=n.default.readFileSync(t.default.join(s(e),r),"utf-8");return JSON.parse(l)}catch{return null}}).filter(e=>null!==e).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)).map((e,t)=>({...e,version:t+1}))}function g(e,r,i){let a=y(e,r,i);if(null===a)return{ok:!1,error:"version not found"};p(e,r,"restore",{restoredFromTs:i});let s=t.default.join(l(e),r);return n.default.mkdirSync(l(e),{recursive:!0}),n.default.writeFileSync(s,a,"utf-8"),{ok:!0}}function h(){try{let e=n.default.readFileSync(o,"utf-8");return JSON.parse(e)}catch{return{}}}function E(e){n.default.mkdirSync(t.default.dirname(o),{recursive:!0}),n.default.writeFileSync(o,JSON.stringify(e,null,2))}e.s(["appendBuildEvent",0,function(e,t,r){f(e),n.default.mkdirSync(s(e),{recursive:!0}),n.default.appendFileSync(d(e,t),JSON.stringify(r)+"\n")},"bumpBuildActivity",0,function(e,t){let n=h(),r=n[e];r&&(n[e]={...r,...t},E(n))},"clearBuildActive",0,function(e){let t=h();delete t[e],E(t)},"getActiveBuild",0,function(e){return h()[e]??null},"listActiveBuilds",0,function(){return Object.values(h())},"listBuilds",0,S,"listFileVersions",0,function(e,t){return(function(e){try{return n.default.readFileSync(u(e),"utf-8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}})(e).filter(e=>e.filename===t).map(e=>({ts:e.ts,sizeBytes:e.sizeBytes,source:e.source,buildId:e.buildId})).reverse()},"markBuildActive",0,function(e){let t=h();t[e.employeeId]=e,E(t)},"newBuildId",0,function(e=new Date){return c(e)},"readBuildEvents",0,function(e,t,r=0){let l,i=d(e,t);try{l=n.default.readFileSync(i)}catch{return{events:[],nextOffset:0,sizeBytes:0}}let a=l.byteLength;if(r>=a)return{events:[],nextOffset:a,sizeBytes:a};let s=l.subarray(r).toString("utf-8"),u=s.lastIndexOf("\n");if(u<0)return{events:[],nextOffset:r,sizeBytes:a};let o=u+1;return{events:s.slice(0,o).split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),nextOffset:r+o,sizeBytes:a}},"readFileVersion",0,y,"recordBuild",0,function(e){f(e.employeeId);let i=new Set(e.writtenFiles),a=[];for(let s of r){let r=t.default.join(l(e.employeeId),s),u="";try{u=n.default.readFileSync(r,"utf-8")}catch{continue}if(!u)continue;let d=m(e.employeeId,s,u,"builder",{buildId:e.buildId});a.push({filename:s,snapshotTs:d,sizeBytes:Buffer.byteLength(u,"utf-8"),written:i.has(s)})}let u={buildId:e.buildId,startedAt:e.startedAt.toISOString(),finishedAt:e.finishedAt.toISOString(),durationMs:e.finishedAt.getTime()-e.startedAt.getTime(),modelUsed:e.modelUsed,costUsd:e.costUsd,turns:e.turns,stoppedReason:e.stoppedReason,...e.ceoContext?{ceoContext:e.ceoContext}:{},activeToolkits:e.activeToolkits,files:a},d=t.default.join(s(e.employeeId),`${e.buildId}.json`);return n.default.writeFileSync(d,JSON.stringify(u,null,2)),u},"restoreBuild",0,function(e,t){let n=S(e).find(e=>e.buildId===t)??null;if(!n)return{ok:!1,error:"build not found",restored:[]};let r=[];for(let t of n.files)g(e,t.filename,t.snapshotTs).ok&&r.push(t.filename);return{ok:!0,restored:r}},"restoreFile",0,g,"snapshotFile",0,m,"snapshotRootFile",0,p],76430)},54975,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(76430);let l=n.default.join(process.cwd(),"data","employees"),i=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["hasEmployeeFiles",0,function(e){let r=n.default.join(l,e);try{return t.default.existsSync(r)&&t.default.readdirSync(r).some(e=>e.endsWith(".md"))}catch{return!1}},"readAllEmployeeFiles",0,function(e){let r={};for(let a of i){let i=function(e,r){let i=n.default.join(l,e,r);try{return t.default.readFileSync(i,"utf-8")}catch{return""}}(e,a);i&&(r[a]=i)}return r},"writeEmployeeFileBody",0,function(e,a,s){if(!i.includes(a))return null;let u=n.default.join(l,e);if(!t.default.existsSync(u))return null;let d=n.default.join(u,a),o="";try{o=t.default.readFileSync(d,"utf-8")}catch{}let c=o.match(/^---\s*\n[\s\S]*?\n---\s*\n/),f=(c?c[0]:"")+s.replace(/^\n+/,"").replace(/\s+$/,"")+"\n";if(o)try{(0,r.snapshotFile)(e,a,o,"manual")}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-versions] manual-edit snapshot skipped: ${e}`)}return t.default.writeFileSync(d,f,"utf-8"),f}])},50083,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r=n.default.join(process.cwd(),"data","task-history.jsonl"),l=n.default.join(process.cwd(),"data","task-events");function i(){let e=n.default.dirname(r);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0}),t.default.existsSync(l)||t.default.mkdirSync(l,{recursive:!0})}function a(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_");return n.default.join(l,`${t}.jsonl`)}function s(e={}){try{if(i(),!t.default.existsSync(r))return[];let n=t.default.readFileSync(r,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e).filter(t=>(!e.employeeId||t.employeeId===e.employeeId)&&(!e.status||t.status===e.status)).reverse();return e.limit?n.slice(0,e.limit):n}catch{return[]}}e.s(["appendTaskEvent",0,function(e,n){try{i(),t.default.appendFileSync(a(e),JSON.stringify(n)+"\n","utf8")}catch{}},"appendTaskRun",0,function(e){try{i(),t.default.appendFileSync(r,JSON.stringify(e)+"\n","utf8")}catch{}return e},"readTaskEvents",0,function(e){try{let n=a(e);if(!t.default.existsSync(n))return[];return t.default.readFileSync(n,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}},"readTaskRun",0,function(e){return s().find(t=>t.id===e)??null},"readTaskRuns",0,s,"updateTaskRun",0,function(e,n){try{if(i(),!t.default.existsSync(r))return null;let l=t.default.readFileSync(r,"utf8"),a=null,s=l.split("\n").filter(Boolean).map(t=>{try{let r=JSON.parse(t);if(r.id===e)return a={...r,...n},JSON.stringify(a);return t}catch{return t}});return t.default.writeFileSync(r,s.join("\n")+"\n","utf8"),a}catch{return null}}])},30887,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},89793,e=>{e.v(e=>Promise.resolve().then(()=>e(14747)))}];
4
+ `}(r,i,l),"utf-8");let c=s().filter(t=>t.id!==e.id);return c.push(i),d(c),i}],51474)},47751,e=>{"use strict";var t=e.i(24868),n=e.i(14747);let r=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],l=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-n);let r=new Date(Date.UTC(t.getUTCFullYear(),0,1)),l=Math.ceil(((t.getTime()-r.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(l).padStart(2,"0")}`}async function a(e){let r=n.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(r,"utf8"),n=JSON.parse(e),l=i(new Date),a=n.weekOf===l?(n.questionsThisWeek??0)+1:1;await t.default.writeFile(r,JSON.stringify({...n,lastActiveAt:new Date().toISOString(),questionsThisWeek:a,weekOf:l},null,2),"utf8")}catch{}}async function s(){let e,a=n.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(a)}catch{return[]}let s=[];for(let d of e){var u;let e;if(d.startsWith("."))continue;let o=n.default.join(a,d,"employee.json");try{let n=await t.default.readFile(o,"utf8");e=JSON.parse(n)}catch{continue}if(!e?.name||e.pendingProfile)continue;let c=0;for(let e of l)try{(await t.default.readFile(n.default.join(a,d,`${e}.md`),"utf8")).trim().length>16&&c++}catch{}s.push({id:e.id||d,name:e.name,firstName:(u=e.name).trim().split(/\s+/)[0]||u,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return r[Math.abs(t)%r.length]}(e.id||d),integrations:e.integrations??[],twinStatus:c>=6?"ready":c>0?"building":"pending",twinConfidence:c>=6?Math.min(1,c/9):0,profileFilesComplete:c,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-8",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,a,"loadEmployeesFromDisk",0,s])},76430,28177,e=>{"use strict";var t=e.i(14747),n=e.i(22734);let r=["CONTEXT.md","EXPERTISE.md","PROJECTS.md","PEOPLE.md","DECISIONS.md","PREFERENCES.md","TONE.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["TWIN_FILE_NAMES",0,r],28177);let l=e=>t.default.join(process.cwd(),"data","employees",e),i=e=>t.default.join(l(e),".versions"),a=e=>t.default.join(i(e),"files"),s=e=>t.default.join(i(e),"builds"),u=e=>t.default.join(i(e),"_log.jsonl"),d=(e,n)=>t.default.join(s(e),`${n}.events.jsonl`),o=t.default.join(process.cwd(),"data","active-builds.json");function c(e=new Date){return e.toISOString().replace(/[:.]/g,"-")}function f(e){n.default.mkdirSync(i(e),{recursive:!0}),n.default.mkdirSync(a(e),{recursive:!0}),n.default.mkdirSync(s(e),{recursive:!0})}function m(e,r,l,i,s={}){f(e);let d=c(s.at??new Date),o=t.default.join(a(e),r);n.default.mkdirSync(o,{recursive:!0});let p=t.default.join(o,`${d}.md`),y=d,S=p,g=0;for(;n.default.existsSync(S);)g+=1,y=`${d}-${g}`,S=t.default.join(o,`${y}.md`);n.default.writeFileSync(S,l,"utf-8");let h={ts:y,filename:r,sizeBytes:Buffer.byteLength(l,"utf-8"),source:i,...s.buildId?{buildId:s.buildId}:{},...s.restoredFromTs?{restoredFromTs:s.restoredFromTs}:{}};return n.default.appendFileSync(u(e),JSON.stringify(h)+"\n"),y}function p(e,r,i,a={}){let s=t.default.join(l(e),r),u="";try{u=n.default.readFileSync(s,"utf-8")}catch{return null}return u?m(e,r,u,i,a):null}function y(e,l,i){if(!r.includes(l)||!/^[0-9A-Za-z\-]+Z(-\d+)?$/.test(i))return null;let s=t.default.join(a(e),l,`${i}.md`);try{return n.default.readFileSync(s,"utf-8")}catch{return null}}function S(e){let r;try{r=n.default.readdirSync(s(e))}catch{return[]}return r.filter(e=>e.endsWith(".json")).map(r=>{try{let l=n.default.readFileSync(t.default.join(s(e),r),"utf-8");return JSON.parse(l)}catch{return null}}).filter(e=>null!==e).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)).map((e,t)=>({...e,version:t+1}))}function g(e,r,i){let a=y(e,r,i);if(null===a)return{ok:!1,error:"version not found"};p(e,r,"restore",{restoredFromTs:i});let s=t.default.join(l(e),r);return n.default.mkdirSync(l(e),{recursive:!0}),n.default.writeFileSync(s,a,"utf-8"),{ok:!0}}function h(){try{let e=n.default.readFileSync(o,"utf-8");return JSON.parse(e)}catch{return{}}}function E(e){n.default.mkdirSync(t.default.dirname(o),{recursive:!0}),n.default.writeFileSync(o,JSON.stringify(e,null,2))}e.s(["appendBuildEvent",0,function(e,t,r){f(e),n.default.mkdirSync(s(e),{recursive:!0}),n.default.appendFileSync(d(e,t),JSON.stringify(r)+"\n")},"bumpBuildActivity",0,function(e,t){let n=h(),r=n[e];r&&(n[e]={...r,...t},E(n))},"clearBuildActive",0,function(e){let t=h();delete t[e],E(t)},"getActiveBuild",0,function(e){return h()[e]??null},"listActiveBuilds",0,function(){return Object.values(h())},"listBuilds",0,S,"listFileVersions",0,function(e,t){return(function(e){try{return n.default.readFileSync(u(e),"utf-8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}})(e).filter(e=>e.filename===t).map(e=>({ts:e.ts,sizeBytes:e.sizeBytes,source:e.source,buildId:e.buildId})).reverse()},"markBuildActive",0,function(e){let t=h();t[e.employeeId]=e,E(t)},"newBuildId",0,function(e=new Date){return c(e)},"readBuildEvents",0,function(e,t,r=0){let l,i=d(e,t);try{l=n.default.readFileSync(i)}catch{return{events:[],nextOffset:0,sizeBytes:0}}let a=l.byteLength;if(r>=a)return{events:[],nextOffset:a,sizeBytes:a};let s=l.subarray(r).toString("utf-8"),u=s.lastIndexOf("\n");if(u<0)return{events:[],nextOffset:r,sizeBytes:a};let o=u+1;return{events:s.slice(0,o).split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),nextOffset:r+o,sizeBytes:a}},"readFileVersion",0,y,"recordBuild",0,function(e){f(e.employeeId);let i=new Set(e.writtenFiles),a=[];for(let s of r){let r=t.default.join(l(e.employeeId),s),u="";try{u=n.default.readFileSync(r,"utf-8")}catch{continue}if(!u)continue;let d=m(e.employeeId,s,u,"builder",{buildId:e.buildId});a.push({filename:s,snapshotTs:d,sizeBytes:Buffer.byteLength(u,"utf-8"),written:i.has(s)})}let u={buildId:e.buildId,startedAt:e.startedAt.toISOString(),finishedAt:e.finishedAt.toISOString(),durationMs:e.finishedAt.getTime()-e.startedAt.getTime(),modelUsed:e.modelUsed,costUsd:e.costUsd,turns:e.turns,stoppedReason:e.stoppedReason,...e.ceoContext?{ceoContext:e.ceoContext}:{},activeToolkits:e.activeToolkits,files:a},d=t.default.join(s(e.employeeId),`${e.buildId}.json`);return n.default.writeFileSync(d,JSON.stringify(u,null,2)),u},"restoreBuild",0,function(e,t){let n=S(e).find(e=>e.buildId===t)??null;if(!n)return{ok:!1,error:"build not found",restored:[]};let r=[];for(let t of n.files)g(e,t.filename,t.snapshotTs).ok&&r.push(t.filename);return{ok:!0,restored:r}},"restoreFile",0,g,"snapshotFile",0,m,"snapshotRootFile",0,p],76430)},54975,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(76430);let l=n.default.join(process.cwd(),"data","employees"),i=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["hasEmployeeFiles",0,function(e){let r=n.default.join(l,e);try{return t.default.existsSync(r)&&t.default.readdirSync(r).some(e=>e.endsWith(".md"))}catch{return!1}},"readAllEmployeeFiles",0,function(e){let r={};for(let a of i){let i=function(e,r){let i=n.default.join(l,e,r);try{return t.default.readFileSync(i,"utf-8")}catch{return""}}(e,a);i&&(r[a]=i)}return r},"writeEmployeeFileBody",0,function(e,a,s){if(!i.includes(a))return null;let u=n.default.join(l,e);if(!t.default.existsSync(u))return null;let d=n.default.join(u,a),o="";try{o=t.default.readFileSync(d,"utf-8")}catch{}let c=o.match(/^---\s*\n[\s\S]*?\n---\s*\n/),f=(c?c[0]:"")+s.replace(/^\n+/,"").replace(/\s+$/,"")+"\n";if(o)try{(0,r.snapshotFile)(e,a,o,"manual")}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-versions] manual-edit snapshot skipped: ${e}`)}return t.default.writeFileSync(d,f,"utf-8"),f}])},50083,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r=n.default.join(process.cwd(),"data","task-history.jsonl"),l=n.default.join(process.cwd(),"data","task-events");function i(){let e=n.default.dirname(r);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0}),t.default.existsSync(l)||t.default.mkdirSync(l,{recursive:!0})}function a(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_");return n.default.join(l,`${t}.jsonl`)}function s(e={}){try{if(i(),!t.default.existsSync(r))return[];let n=t.default.readFileSync(r,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e).filter(t=>(!e.employeeId||t.employeeId===e.employeeId)&&(!e.status||t.status===e.status)).reverse();return e.limit?n.slice(0,e.limit):n}catch{return[]}}e.s(["appendTaskEvent",0,function(e,n){try{i(),t.default.appendFileSync(a(e),JSON.stringify(n)+"\n","utf8")}catch{}},"appendTaskRun",0,function(e){try{i(),t.default.appendFileSync(r,JSON.stringify(e)+"\n","utf8")}catch{}return e},"readTaskEvents",0,function(e){try{let n=a(e);if(!t.default.existsSync(n))return[];return t.default.readFileSync(n,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}},"readTaskRun",0,function(e){return s().find(t=>t.id===e)??null},"readTaskRuns",0,s,"updateTaskRun",0,function(e,n){try{if(i(),!t.default.existsSync(r))return null;let l=t.default.readFileSync(r,"utf8"),a=null,s=l.split("\n").filter(Boolean).map(t=>{try{let r=JSON.parse(t);if(r.id===e)return a={...r,...n},JSON.stringify(a);return t}catch{return t}});return t.default.writeFileSync(r,s.join("\n")+"\n","utf8"),a}catch{return null}}])},30887,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},89793,e=>{e.v(e=>Promise.resolve().then(()=>e(14747)))}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__12zipk.._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0_jnrj.._.js.map
@@ -0,0 +1,28 @@
1
+ module.exports=[22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},76430,28177,e=>{"use strict";var t=e.i(14747),r=e.i(22734);let n=["CONTEXT.md","EXPERTISE.md","PROJECTS.md","PEOPLE.md","DECISIONS.md","PREFERENCES.md","TONE.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["TWIN_FILE_NAMES",0,n],28177);let i=e=>t.default.join(process.cwd(),"data","employees",e),l=e=>t.default.join(i(e),".versions"),a=e=>t.default.join(l(e),"files"),s=e=>t.default.join(l(e),"builds"),o=e=>t.default.join(l(e),"_log.jsonl"),d=(e,r)=>t.default.join(s(e),`${r}.events.jsonl`),u=t.default.join(process.cwd(),"data","active-builds.json");function c(e=new Date){return e.toISOString().replace(/[:.]/g,"-")}function f(e){r.default.mkdirSync(l(e),{recursive:!0}),r.default.mkdirSync(a(e),{recursive:!0}),r.default.mkdirSync(s(e),{recursive:!0})}function m(e,n,i,l,s={}){f(e);let d=c(s.at??new Date),u=t.default.join(a(e),n);r.default.mkdirSync(u,{recursive:!0});let p=t.default.join(u,`${d}.md`),y=d,g=p,h=0;for(;r.default.existsSync(g);)h+=1,y=`${d}-${h}`,g=t.default.join(u,`${y}.md`);r.default.writeFileSync(g,i,"utf-8");let S={ts:y,filename:n,sizeBytes:Buffer.byteLength(i,"utf-8"),source:l,...s.buildId?{buildId:s.buildId}:{},...s.restoredFromTs?{restoredFromTs:s.restoredFromTs}:{}};return r.default.appendFileSync(o(e),JSON.stringify(S)+"\n"),y}function p(e,n,l,a={}){let s=t.default.join(i(e),n),o="";try{o=r.default.readFileSync(s,"utf-8")}catch{return null}return o?m(e,n,o,l,a):null}function y(e,i,l){if(!n.includes(i)||!/^[0-9A-Za-z\-]+Z(-\d+)?$/.test(l))return null;let s=t.default.join(a(e),i,`${l}.md`);try{return r.default.readFileSync(s,"utf-8")}catch{return null}}function g(e){let n;try{n=r.default.readdirSync(s(e))}catch{return[]}return n.filter(e=>e.endsWith(".json")).map(n=>{try{let i=r.default.readFileSync(t.default.join(s(e),n),"utf-8");return JSON.parse(i)}catch{return null}}).filter(e=>null!==e).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)).map((e,t)=>({...e,version:t+1}))}function h(e,n,l){let a=y(e,n,l);if(null===a)return{ok:!1,error:"version not found"};p(e,n,"restore",{restoredFromTs:l});let s=t.default.join(i(e),n);return r.default.mkdirSync(i(e),{recursive:!0}),r.default.writeFileSync(s,a,"utf-8"),{ok:!0}}function S(){try{let e=r.default.readFileSync(u,"utf-8");return JSON.parse(e)}catch{return{}}}function E(e){r.default.mkdirSync(t.default.dirname(u),{recursive:!0}),r.default.writeFileSync(u,JSON.stringify(e,null,2))}e.s(["appendBuildEvent",0,function(e,t,n){f(e),r.default.mkdirSync(s(e),{recursive:!0}),r.default.appendFileSync(d(e,t),JSON.stringify(n)+"\n")},"bumpBuildActivity",0,function(e,t){let r=S(),n=r[e];n&&(r[e]={...n,...t},E(r))},"clearBuildActive",0,function(e){let t=S();delete t[e],E(t)},"getActiveBuild",0,function(e){return S()[e]??null},"listActiveBuilds",0,function(){return Object.values(S())},"listBuilds",0,g,"listFileVersions",0,function(e,t){return(function(e){try{return r.default.readFileSync(o(e),"utf-8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}})(e).filter(e=>e.filename===t).map(e=>({ts:e.ts,sizeBytes:e.sizeBytes,source:e.source,buildId:e.buildId})).reverse()},"markBuildActive",0,function(e){let t=S();t[e.employeeId]=e,E(t)},"newBuildId",0,function(e=new Date){return c(e)},"readBuildEvents",0,function(e,t,n=0){let i,l=d(e,t);try{i=r.default.readFileSync(l)}catch{return{events:[],nextOffset:0,sizeBytes:0}}let a=i.byteLength;if(n>=a)return{events:[],nextOffset:a,sizeBytes:a};let s=i.subarray(n).toString("utf-8"),o=s.lastIndexOf("\n");if(o<0)return{events:[],nextOffset:n,sizeBytes:a};let u=o+1;return{events:s.slice(0,u).split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),nextOffset:n+u,sizeBytes:a}},"readFileVersion",0,y,"recordBuild",0,function(e){f(e.employeeId);let l=new Set(e.writtenFiles),a=[];for(let s of n){let n=t.default.join(i(e.employeeId),s),o="";try{o=r.default.readFileSync(n,"utf-8")}catch{continue}if(!o)continue;let d=m(e.employeeId,s,o,"builder",{buildId:e.buildId});a.push({filename:s,snapshotTs:d,sizeBytes:Buffer.byteLength(o,"utf-8"),written:l.has(s)})}let o={buildId:e.buildId,startedAt:e.startedAt.toISOString(),finishedAt:e.finishedAt.toISOString(),durationMs:e.finishedAt.getTime()-e.startedAt.getTime(),modelUsed:e.modelUsed,costUsd:e.costUsd,turns:e.turns,stoppedReason:e.stoppedReason,...e.ceoContext?{ceoContext:e.ceoContext}:{},activeToolkits:e.activeToolkits,files:a},d=t.default.join(s(e.employeeId),`${e.buildId}.json`);return r.default.writeFileSync(d,JSON.stringify(o,null,2)),o},"restoreBuild",0,function(e,t){let r=g(e).find(e=>e.buildId===t)??null;if(!r)return{ok:!1,error:"build not found",restored:[]};let n=[];for(let t of r.files)h(e,t.filename,t.snapshotTs).ok&&n.push(t.filename);return{ok:!0,restored:n}},"restoreFile",0,h,"snapshotFile",0,m,"snapshotRootFile",0,p],76430)},54975,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(76430);let i=r.default.join(process.cwd(),"data","employees"),l=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["hasEmployeeFiles",0,function(e){let n=r.default.join(i,e);try{return t.default.existsSync(n)&&t.default.readdirSync(n).some(e=>e.endsWith(".md"))}catch{return!1}},"readAllEmployeeFiles",0,function(e){let n={};for(let a of l){let l=function(e,n){let l=r.default.join(i,e,n);try{return t.default.readFileSync(l,"utf-8")}catch{return""}}(e,a);l&&(n[a]=l)}return n},"writeEmployeeFileBody",0,function(e,a,s){if(!l.includes(a))return null;let o=r.default.join(i,e);if(!t.default.existsSync(o))return null;let d=r.default.join(o,a),u="";try{u=t.default.readFileSync(d,"utf-8")}catch{}let c=u.match(/^---\s*\n[\s\S]*?\n---\s*\n/),f=(c?c[0]:"")+s.replace(/^\n+/,"").replace(/\s+$/,"")+"\n";if(u)try{(0,n.snapshotFile)(e,a,u,"manual")}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-versions] manual-edit snapshot skipped: ${e}`)}return t.default.writeFileSync(d,f,"utf-8"),f}])},51474,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var i=e.i(43811);let l=r.default.join(process.cwd(),"data","hired-agents.json"),a=r.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(l,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let r;return t=e,r=(0,i.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:o(t.placement,r)}})}catch{return[]}}function o(e,t){let r={...n,teamName:t?.department??n.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:r.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||r.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||r.responsibleEmployeeName,teamName:e?.teamName||r.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(r.default.dirname(l),{recursive:!0}),t.default.writeFileSync(l,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let n=s(),i=n.findIndex(t=>t.id===e);if(-1===i)return!1;let l=r.default.join(a,e);try{t.default.rmSync(l,{recursive:!0,force:!0})}catch{}return n.splice(i,1),d(n),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let l of e){var r,n;let e=i.MARKETPLACE_AGENTS.find(e=>e.id===l.id);e&&t.push((r=l.hiredAt,n=l.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:r,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:r,version:"1.0",scopes:["data-collection","integrations"]},placement:n}))}return t},"hireAgent",0,function(e,n){let i=o(n,e),l={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:i},u=r.default.join(a,e.id);for(let[n,l]of(t.default.mkdirSync(u,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(r.default.join(u,n),function(e,t,r){let n,i;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let l=(n="external_consultant"===r.employmentKind?"External consultant":"Team member",i=r.teammateNames.length>0?r.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${n}`,`- Responsible owner: ${r.responsibleEmployeeName} (${r.responsibleEmployeeId})`,`- Team: ${r.teamName}`,`- Teammates: ${i}`,r.engagementNote?`- Engagement note: ${r.engagementNote}`:void 0].filter(Boolean).join("\n")),a=t.replace(/\s+$/,"");return a.includes("## Team placement")?a.replace(/## Team placement[\s\S]*$/,l)+"\n":`${a}
2
+
3
+ ${l}
4
+ `}(n,l,i),"utf-8");let c=s().filter(t=>t.id!==e.id);return c.push(l),d(c),l}],51474)},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},47751,e=>{"use strict";var t=e.i(24868),r=e.i(14747);let n=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],i=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function l(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),r=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-r);let n=new Date(Date.UTC(t.getUTCFullYear(),0,1)),i=Math.ceil(((t.getTime()-n.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(i).padStart(2,"0")}`}async function a(e){let n=r.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(n,"utf8"),r=JSON.parse(e),i=l(new Date),a=r.weekOf===i?(r.questionsThisWeek??0)+1:1;await t.default.writeFile(n,JSON.stringify({...r,lastActiveAt:new Date().toISOString(),questionsThisWeek:a,weekOf:i},null,2),"utf8")}catch{}}async function s(){let e,a=r.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(a)}catch{return[]}let s=[];for(let d of e){var o;let e;if(d.startsWith("."))continue;let u=r.default.join(a,d,"employee.json");try{let r=await t.default.readFile(u,"utf8");e=JSON.parse(r)}catch{continue}if(!e?.name||e.pendingProfile)continue;let c=0;for(let e of i)try{(await t.default.readFile(r.default.join(a,d,`${e}.md`),"utf8")).trim().length>16&&c++}catch{}s.push({id:e.id||d,name:e.name,firstName:(o=e.name).trim().split(/\s+/)[0]||o,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)|0;return n[Math.abs(t)%n.length]}(e.id||d),integrations:e.integrations??[],twinStatus:c>=6?"ready":c>0?"building":"pending",twinConfidence:c>=6?Math.min(1,c/9):0,profileFilesComplete:c,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===l(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-8",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,a,"loadEmployeesFromDisk",0,s])},13427,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n=r.default.join(process.cwd(),"data","org-brain"),i=r.default.join(n,"nodes"),l=/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/,a=/\[\[([a-zA-Z0-9_-]+)(?:#[^\]|]+)?(?:\|[^\]]+)?\]\]/g,s=["document","decision","incident","policy","customer","product","process","note"];function o(e){return e.toLowerCase().trim().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)}function d(e){return"string"==typeof e?e:""}function u(e){return Array.isArray(e)?e:"string"==typeof e&&e?[e]:[]}function c(e){let t=e.toLowerCase();return s.includes(t)?t:"note"}function f(e){let n=o(e),s=r.default.join(i,`${n}.md`);try{let e=t.default.readFileSync(s,"utf8"),{fm:r,body:i}=function(e){let t=e.match(l);if(!t)return{fm:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.match(/^([a-zA-Z_]+):\s*(.+)$/);if(!t)continue;let n=t[1],i=t[2].trim();if(i.startsWith("[")&&i.endsWith("]")){let e=i.slice(1,-1).trim();r[n]=e?e.split(",").map(e=>e.trim().replace(/^['"]|['"]$/g,"")):[];continue}r[n]=i.replace(/^['"]|['"]$/g,"")}return{fm:r,body:t[2]?.trim()??""}}(e),o=u(r.linked_nodes),f=function(e){let t=new Set;for(let r of e.matchAll(a))t.add(r[1]);return Array.from(t)}(i),m=Array.from(new Set([...o,...f]));return{slug:d(r.slug)||n,label:d(r.label)||n,type:c(d(r.type)||"note"),description:d(r.description),triggers:u(r.triggers),sources:u(r.sources),linkedNodes:m,lastUpdated:d(r.last_updated),body:i}}catch{return null}}function m(){try{return t.default.readdirSync(i,{withFileTypes:!0}).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(e=>f(e.name.replace(/\.md$/,""))).filter(e=>!!e).sort((e,t)=>e.label.localeCompare(t.label))}catch{return[]}}let p=new Set(["the","and","for","that","this","with","you","are","was","were","what","how","who","why","when","from","can","our","your","של","על","עם","את","זה","מה","איך","מי","למה","מתי"]);function y(e){return new Set((e.toLowerCase().match(/[\p{L}\p{N}_-]{2,}/gu)??[]).filter(e=>!p.has(e)))}e.s(["deleteOrgBrainNode",0,function(e){let n=o(e),l=r.default.join(i,`${n}.md`);try{return t.default.unlinkSync(l),!0}catch{return!1}},"formatOrgBrainBlock",0,function(e){if(0===e.length)return"";let t=e.map(({node:e})=>{let t=[e.type?`type: ${e.type}`:"",e.sources.length?`sources: ${e.sources.join(", ")}`:"",e.lastUpdated?`updated: ${e.lastUpdated.slice(0,10)}`:""].filter(Boolean).join(" · ");return`## ${e.label} \`[[${e.slug}]]\`
5
+ ${t?`_${t}_
6
+ `:""}
7
+ ${e.body}`}).join("\n\n---\n\n");return`# Relevant company knowledge (Org Brain)
8
+
9
+ These are organization-wide facts and documents — shared across every twin in
10
+ the company. Treat them as ground truth about the company itself (decisions,
11
+ policies, customers, incidents, products). They do NOT override your personal
12
+ profile, hard boundaries, or the user's direction.
13
+
14
+ ${t}`},"listOrgBrainNodes",0,m,"readOrgBrainNode",0,f,"selectOrgBrainNodesForRun",0,function(e,t=4){let r=m();if(0===r.length)return[];let n=r.map(t=>({node:t,score:function(e,t){let r=y(t);if(0===r.size)return 0;let n=0,i=y([e.slug,e.label,e.description,e.triggers.join(" ")].join(" ").toLowerCase());for(let e of r)i.has(e)&&(n+=1);for(let r of e.triggers)r&&t.toLowerCase().includes(r.toLowerCase())&&(n+=3);return e.label.length>=4&&t.toLowerCase().includes(e.label.toLowerCase())&&(n+=2),n}(t,e)})).sort((e,t)=>t.score-e.score).filter(e=>e.score>0);return 0===n.length?[]:n.slice(0,t)},"writeOrgBrainNode",0,function(e){var n;let l=o(e.slug);if(!l)throw Error("node slug is required");let a={slug:l,label:e.label.trim()||l,type:c(e.type??"note"),description:(e.description??"").trim(),triggers:(e.triggers??[]).map(e=>e.trim()).filter(Boolean),sources:(e.sources??[]).map(e=>e.trim()).filter(Boolean),linkedNodes:(e.linkedNodes??[]).map(e=>o(e)).filter(Boolean),lastUpdated:new Date().toISOString(),body:e.body.trim()};return t.default.mkdirSync(i,{recursive:!0}),t.default.writeFileSync(r.default.join(i,`${l}.md`),(n=a,`---
15
+ slug: ${n.slug}
16
+ label: ${n.label}
17
+ type: ${n.type}
18
+ description: ${n.description}
19
+ triggers: [${n.triggers.join(", ")}]
20
+ sources: [${n.sources.join(", ")}]
21
+ linked_nodes: [${n.linkedNodes.join(", ")}]
22
+ last_updated: ${n.lastUpdated}
23
+ ---
24
+
25
+ ${n.body.replace(/\s+$/,"")}
26
+ `),"utf8"),a}])}];
27
+
28
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0b3djxh._.js.map
@@ -0,0 +1,6 @@
1
+ module.exports=[22734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,a)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},51474,e=>{"use strict";var t=e.i(22734),a=e.i(14747);let r={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var n=e.i(43811);let i=a.default.join(process.cwd(),"data","hired-agents.json"),s=a.default.join(process.cwd(),"data","employees");function l(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let a;return t=e,a=(0,n.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:o(t.placement,a)}})}catch{return[]}}function o(e,t){let a={...r,teamName:t?.department??r.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:a.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||a.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||a.responsibleEmployeeName,teamName:e?.teamName||a.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(a.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let r=l(),n=r.findIndex(t=>t.id===e);if(-1===n)return!1;let i=a.default.join(s,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return r.splice(n,1),d(r),!0},"getHiredAgentIds",0,function(){return l().map(e=>e.id)},"getHiredEmployees",0,function(){let e=l(),t=[];for(let i of e){var a,r;let e=n.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((a=i.hiredAt,r=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:a,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:a,version:"1.0",scopes:["data-collection","integrations"]},placement:r}))}return t},"hireAgent",0,function(e,r){let n=o(r,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:n},u=a.default.join(s,e.id);for(let[r,i]of(t.default.mkdirSync(u,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(a.default.join(u,r),function(e,t,a){let r,n;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(r="external_consultant"===a.employmentKind?"External consultant":"Team member",n=a.teammateNames.length>0?a.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${r}`,`- Responsible owner: ${a.responsibleEmployeeName} (${a.responsibleEmployeeId})`,`- Team: ${a.teamName}`,`- Teammates: ${n}`,a.engagementNote?`- Engagement note: ${a.engagementNote}`:void 0].filter(Boolean).join("\n")),s=t.replace(/\s+$/,"");return s.includes("## Team placement")?s.replace(/## Team placement[\s\S]*$/,i)+"\n":`${s}
2
+
3
+ ${i}
4
+ `}(r,i,n),"utf-8");let p=l().filter(t=>t.id!==e.id);return p.push(i),d(p),i}],51474)},24868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},47751,e=>{"use strict";var t=e.i(24868),a=e.i(14747);let r=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],n=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),a=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-a);let r=new Date(Date.UTC(t.getUTCFullYear(),0,1)),n=Math.ceil(((t.getTime()-r.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(n).padStart(2,"0")}`}async function s(e){let r=a.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(r,"utf8"),a=JSON.parse(e),n=i(new Date),s=a.weekOf===n?(a.questionsThisWeek??0)+1:1;await t.default.writeFile(r,JSON.stringify({...a,lastActiveAt:new Date().toISOString(),questionsThisWeek:s,weekOf:n},null,2),"utf8")}catch{}}async function l(){let e,s=a.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(s)}catch{return[]}let l=[];for(let d of e){var o;let e;if(d.startsWith("."))continue;let u=a.default.join(s,d,"employee.json");try{let a=await t.default.readFile(u,"utf8");e=JSON.parse(a)}catch{continue}if(!e?.name||e.pendingProfile)continue;let p=0;for(let e of n)try{(await t.default.readFile(a.default.join(s,d,`${e}.md`),"utf8")).trim().length>16&&p++}catch{}l.push({id:e.id||d,name:e.name,firstName:(o=e.name).trim().split(/\s+/)[0]||o,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return r[Math.abs(t)%r.length]}(e.id||d),integrations:e.integrations??[],twinStatus:p>=6?"ready":p>0?"building":"pending",twinConfidence:p>=6?Math.min(1,p/9):0,profileFilesComplete:p,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-8",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return l.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),l}e.s(["bumpActivityOnDisk",0,s,"loadEmployeesFromDisk",0,l])},17519,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),l=e.i(69741),o=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),m=e.i(70101),f=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(20232);var y=e.i(220),E=e.i(47751),v=e.i(51474);async function A(){let[e,t]=await Promise.all([(0,E.loadEmployeesFromDisk)(),Promise.resolve((0,v.getHiredEmployees)())]),a=[...e,...t.filter(t=>!e.some(e=>e.id===t.id))];return Response.json(a,{headers:{"Cache-Control":"no-store"}})}e.s(["GET",0,A,"runtime",0,"nodejs"],56108);var C=e.i(56108);let w=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/employees/route",pathname:"/api/employees",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/employees/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:R,serverHooks:N}=w;async function T(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/employees/route";E=E.replace(/\/index$/,"")||"/";let v=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:C,nextConfig:x,parsedUrl:R,isDraftMode:N,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:P}=v,j=(0,l.normalizeAppPath)(E),D=!!(T.dynamicRoutes[j]||T.routes[I]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,R,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!T.routes[I],t=T.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await M();throw new g.NoFallbackError}}let q=null;!D||w.isDev||N||(q="/index"===(q=I)?"/":q);let _=!0===w.isDev||!D,U=D&&!_;P&&O&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:P});let F=e.method||"GET",$=(0,i.getTracer)(),H=$.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,x,T,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:C,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:_,incrementalCache:L,cacheLifeProfiles:x.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>w.onRequestError(e,t,r,n,S)},sharedContext:{buildId:A}},G=new o.NodeNextRequest(e),V=new o.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>w.handle(X,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${F} ${E}`)}),l=async n=>{var i,l;let o=async({previousCacheEntry:a})=>{try{if(!B&&b&&k&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let o=W.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(G,V,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);o&&(t[h.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,S),t}},d=await w.handleResponse({req:e,nextConfig:x,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,responseGenerator:o,waitUntil:r.waitUntil,isMinimalMode:B});if(!D)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&D||u.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(G,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&H?await l(H):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof g.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,S),D)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:R})},"routeModule",0,w,"serverHooks",0,N,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,R],17519)}];
5
+
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0fem_0b._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},54799,(e,t,n)=>{t.exports=e.x("crypto",()=>require("crypto"))},22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},24868,(e,t,n)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},33405,(e,t,n)=>{t.exports=e.x("child_process",()=>require("child_process"))},92509,(e,t,n)=>{t.exports=e.x("url",()=>require("url"))},27699,(e,t,n)=>{t.exports=e.x("events",()=>require("events"))},8098,e=>{"use strict";var t=e.i(22734),n=e.i(24868),r=e.i(14747),i=e.i(54799);function a(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function o(){return r.default.join(process.cwd(),"data","invites.json")}function s(){let e=r.default.dirname(o());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(o()))return[];let e=t.default.readFileSync(o(),"utf8"),n=JSON.parse(e);return Array.isArray(n)?n:[]}catch{return[]}}function d(e){s(),t.default.writeFileSync(o(),JSON.stringify(e,null,2),"utf8")}function u(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?a(t):void 0}function c(e){let t=u(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,a,o=u(e);if(!o)throw Error("invite not found");if(o.employeeId)return{employeeId:o.employeeId,reused:!0};let s=(t?.name||o.name||"").trim(),c=(t?.role||o.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,x=r.default.join(process.cwd(),"data","employees",v),h=r.default.join(x,"employee.json");try{return await n.default.access(h),{employeeId:v,reused:!0}}catch{}await n.default.mkdir(x,{recursive:!0});let g=s||`Pending (${e.slice(4,10)})`,y=(i=new Date().toISOString().slice(0,10),(a={}).EMPLOYMENT=`# Employment — ${g}
1
+ module.exports=[24725,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},24868,(e,t,n)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},54799,(e,t,n)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,n)=>{t.exports=e.x("child_process",()=>require("child_process"))},92509,(e,t,n)=>{t.exports=e.x("url",()=>require("url"))},27699,(e,t,n)=>{t.exports=e.x("events",()=>require("events"))},8098,e=>{"use strict";var t=e.i(22734),n=e.i(24868),r=e.i(14747),i=e.i(54799);function a(e){return"number"==typeof e.lookbackDays?e:{...e,lookbackDays:90}}function o(){return r.default.join(process.cwd(),"data","invites.json")}function s(){let e=r.default.dirname(o());t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0})}function l(){try{if(!t.default.existsSync(o()))return[];let e=t.default.readFileSync(o(),"utf8"),n=JSON.parse(e);return Array.isArray(n)?n:[]}catch{return[]}}function d(e){s(),t.default.writeFileSync(o(),JSON.stringify(e,null,2),"utf8")}function u(e){if(!e.startsWith("inv_"))return;let t=l().find(t=>t.token===e);return t?a(t):void 0}function c(e){let t=u(e);return t?t.completedAt?{ok:!1,reason:"used",invite:t}:new Date(t.expiresAt).getTime()<Date.now()?{ok:!1,reason:"expired",invite:t}:{ok:!0,invite:t}:{ok:!1,reason:"not_found"}}let p=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function f(e){return e.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}async function m(e,t){let i,a,o=u(e);if(!o)throw Error("invite not found");if(o.employeeId)return{employeeId:o.employeeId,reused:!0};let s=(t?.name||o.name||"").trim(),c=(t?.role||o.role||"").trim(),m=f(s);m||(m=f(c)),m||(m=`pending-${e.slice(4,10)}`);let v=`${m}-${e.slice(4,10)}`,x=r.default.join(process.cwd(),"data","employees",v),h=r.default.join(x,"employee.json");try{return await n.default.access(h),{employeeId:v,reused:!0}}catch{}await n.default.mkdir(x,{recursive:!0});let g=s||`Pending (${e.slice(4,10)})`,y=(i=new Date().toISOString().slice(0,10),(a={}).EMPLOYMENT=`# Employment — ${g}
2
2
 
3
3
  - Name: ${g}
4
4
  ${c?`- Role: ${c}
@@ -29,4 +29,4 @@ _To be filled in during onboarding._
29
29
  _To be filled in during onboarding._
30
30
  `,a);return await Promise.all(p.map(async e=>{let t=r.default.join(x,`${e}.md`);try{await n.default.access(t)}catch{await n.default.writeFile(t,y[e],"utf8")}})),await n.default.writeFile(h,JSON.stringify({id:v,name:g,role:c||null,integrations:[],createdAt:new Date().toISOString(),lastActiveAt:new Date().toISOString(),via:{invite:e},pendingProfile:!s},null,2),"utf8"),!function(e,t){let n=l(),r=n.findIndex(t=>t.token===e);if(r<0)return;let i=n[r];i.employeeId===t||i.employeeId&&i.employeeId!==t||(n[r]={...i,employeeId:t},d(n))}(e,v),{employeeId:v,reused:!1}}e.s(["bulkRevokeInvites",0,function(e){let t=Date.now(),n=l(),r=[],i=n.filter(n=>!(!n.completedAt&&("expired"===e?new Date(n.expiresAt).getTime()<t:!n.employeeId))||(r.push(n.token),!1));return r.length>0&&d(i),{removed:r.length,tokens:r}},"classifyInvite",0,c,"createInvite",0,function(e){let t=`inv_${(0,i.randomBytes)(20).toString("hex")}`,n=new Date,r=new Date(n.getTime()+12096e5),a={token:t,name:e.name?.trim()||void 0,role:e.role?.trim()||void 0,createdAt:n.toISOString(),expiresAt:r.toISOString(),lookbackDays:function(e){let t="number"==typeof e?e:Number(e);if(!Number.isFinite(t))return 90;let n=Math.round(t);return n<30?30:n>360?360:n}(void 0===e.lookbackDays?90:e.lookbackDays)},o=l();return o.push(a),d(o),a},"findInvite",0,u,"isInviteRedeemable",0,function(e){let t=u(e);if(t&&!t.completedAt&&!(new Date(t.expiresAt).getTime()<Date.now()))return t},"listInvites",0,function(){return l().filter(e=>"string"==typeof e?.token).map(a).sort((e,t)=>t.createdAt.localeCompare(e.createdAt))},"markInviteCompleted",0,function(e,t){let n=l(),r=n.findIndex(t=>t.token===e);if(-1!==r)return n[r]={...n[r],completedAt:new Date().toISOString(),employeeId:t},d(n),n[r]},"materializeEmployeeFromInvite",0,m,"releaseInviteClaim",0,function(e){let n=r.default.join(r.default.dirname(o()),`.invite-${e}.lock`);try{t.default.unlinkSync(n)}catch{}},"revokeInvite",0,function(e){let t=l(),n=t.filter(t=>t.token!==e);return n.length!==t.length&&(d(n),!0)},"tryClaimInvite",0,function(e){let n=c(e);if(!n.ok)return{claimed:!1,reason:n.reason};s();let i=r.default.join(r.default.dirname(o()),`.invite-${e}.lock`);try{t.default.writeFileSync(i,String(process.pid),{flag:"wx"});let n=c(e);if(!n.ok){try{t.default.unlinkSync(i)}catch{}return{claimed:!1,reason:n.reason}}return{claimed:!0}}catch(e){if(e&&"EEXIST"===e.code)return{claimed:!1,reason:"already_claimed"};throw e}}])},78542,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),i=e.i(59756),a=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),v=e.i(10372),x=e.i(93695);e.i(20232);var h=e.i(220),g=e.i(89171),y=e.i(8098),E=e.i(20993);async function R(e,{params:t}){let{token:n}=await t,r=(0,y.classifyInvite)(n);if(!r.ok&&"not_found"===r.reason)return g.NextResponse.json({status:"not_found"},{status:404});if(!r.ok&&"expired"===r.reason)return g.NextResponse.json({status:"expired"},{status:410});let i=(r.ok,r.invite??(0,y.findInvite)(n)),a=i?.employeeId??null;if(!a)return g.NextResponse.json({employeeId:null,connections:{},pendingEmployee:!0});let o=await (0,E.readState)(a);return g.NextResponse.json({employeeId:a,connections:o.connections,pendingEmployee:!1})}e.s(["GET",0,R,"runtime",0,"nodejs"],32507);var w=e.i(32507);let k=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/invites/[token]/connections/route",pathname:"/api/invites/[token]/connections",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/invites/[token]/connections/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:b,serverHooks:I}=k;async function _(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/invites/[token]/connections/route";g=g.replace(/\/index$/,"")||"/";let y=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:E,params:R,nextConfig:w,parsedUrl:S,isDraftMode:b,prerenderManifest:I,routerServerContext:_,isOnDemandRevalidate:T,revalidateOnlyGenerated:C,resolvedPathname:A,clientReferenceManifest:N,serverActionsManifest:O}=y,P=(0,s.normalizeAppPath)(g),D=!!(I.dynamicRoutes[P]||I.routes[A]),j=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!b){let e=!!I.routes[A],t=I.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await j();throw new x.NoFallbackError}}let q=null;!D||k.isDev||b||(q="/index"===(q=A)?"/":q);let $=!0===k.isDev||!D,M=D&&!$;O&&N&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:N,serverActionsManifest:O});let F=e.method||"GET",U=(0,a.getTracer)(),H=U.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,w,I,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let X={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:w.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,i)=>k.onRequestError(e,t,r,i,_)},sharedContext:{buildId:E}},J=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let i,o=async e=>k.handle(G,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=U.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${F} ${g}`)}),s=async i=>{var a,s;let l=async({previousCacheEntry:n})=>{try{if(!L&&T&&C&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(i);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(J,z,a,X.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,r=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,_),t}},d=await k.handleResponse({req:e,nextConfig:w,cacheKey:q,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(J,z,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};B&&H?await s(H):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${g}`,kind:a.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},s),void 0,!B))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,_),D)throw t;return await (0,p.sendResponse)(J,z,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:b})},"routeModule",0,k,"serverHooks",0,I,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,b],78542)},30887,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_stream_0g9s3ok._.js","server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))}];
31
31
 
32
- //# sourceMappingURL=%5Broot-of-the-server%5D__12db.hv._.js.map
32
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0gw6qq0._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},51474,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var l=e.i(43811);let i=n.default.join(process.cwd(),"data","hired-agents.json"),a=n.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let n;return t=e,n=(0,l.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:u(t.placement,n)}})}catch{return[]}}function u(e,t){let n={...r,teamName:t?.department??r.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:n.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||n.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||n.responsibleEmployeeName,teamName:e?.teamName||n.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(n.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let r=s(),l=r.findIndex(t=>t.id===e);if(-1===l)return!1;let i=n.default.join(a,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return r.splice(l,1),d(r),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let i of e){var n,r;let e=l.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((n=i.hiredAt,r=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:n,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:n,version:"1.0",scopes:["data-collection","integrations"]},placement:r}))}return t},"hireAgent",0,function(e,r){let l=u(r,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:l},o=n.default.join(a,e.id);for(let[r,i]of(t.default.mkdirSync(o,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(n.default.join(o,r),function(e,t,n){let r,l;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(r="external_consultant"===n.employmentKind?"External consultant":"Team member",l=n.teammateNames.length>0?n.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${r}`,`- Responsible owner: ${n.responsibleEmployeeName} (${n.responsibleEmployeeId})`,`- Team: ${n.teamName}`,`- Teammates: ${l}`,n.engagementNote?`- Engagement note: ${n.engagementNote}`:void 0].filter(Boolean).join("\n")),a=t.replace(/\s+$/,"");return a.includes("## Team placement")?a.replace(/## Team placement[\s\S]*$/,i)+"\n":`${a}
1
+ module.exports=[22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},24361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},51474,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r={employmentKind:"external_consultant",responsibleEmployeeId:"",responsibleEmployeeName:"",teamName:"General",teammateIds:[],teammateNames:[]};var l=e.i(43811);let i=n.default.join(process.cwd(),"data","hired-agents.json"),a=n.default.join(process.cwd(),"data","employees");function s(){try{let e=t.default.readFileSync(i,"utf-8");return JSON.parse(e).filter(e=>"string"==typeof e.id).map(e=>{var t;let n;return t=e,n=(0,l.getMarketplaceAgent)(t.marketplaceAgentId??t.id),{id:t.id,marketplaceAgentId:t.marketplaceAgentId??t.id,hiredAt:t.hiredAt??new Date(0).toISOString(),placement:u(t.placement,n)}})}catch{return[]}}function u(e,t){let n={...r,teamName:t?.department??r.teamName};return{employmentKind:e?.employmentKind==="team_member"||e?.employmentKind==="external_consultant"?e.employmentKind:n.employmentKind,responsibleEmployeeId:e?.responsibleEmployeeId||n.responsibleEmployeeId,responsibleEmployeeName:e?.responsibleEmployeeName||n.responsibleEmployeeName,teamName:e?.teamName||n.teamName,teammateIds:Array.isArray(e?.teammateIds)?e.teammateIds:[],teammateNames:Array.isArray(e?.teammateNames)?e.teammateNames:[],engagementNote:e?.engagementNote?.trim()||void 0}}function d(e){t.default.mkdirSync(n.default.dirname(i),{recursive:!0}),t.default.writeFileSync(i,JSON.stringify(e,null,2),"utf-8")}e.s(["dismissAgent",0,function(e){let r=s(),l=r.findIndex(t=>t.id===e);if(-1===l)return!1;let i=n.default.join(a,e);try{t.default.rmSync(i,{recursive:!0,force:!0})}catch{}return r.splice(l,1),d(r),!0},"getHiredAgentIds",0,function(){return s().map(e=>e.id)},"getHiredEmployees",0,function(){let e=s(),t=[];for(let i of e){var n,r;let e=l.MARKETPLACE_AGENTS.find(e=>e.id===i.id);e&&t.push((n=i.hiredAt,r=i.placement,{id:e.id,name:e.name,firstName:e.firstName,role:e.role,department:e.department,initials:e.initials,avatarColor:e.avatarColor,integrations:e.suggestedToolkits,twinStatus:"ready",twinConfidence:.85,profileFilesComplete:Object.keys(e.profileFiles).length,lastActiveAt:n,questionsThisWeek:0,seedModel:"claude-sonnet-4-6",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL",skills:e.skills.map(e=>({id:e.toLowerCase().replace(/\s+/g,"-"),label:e})),orgSkillIds:[],consent:{grantedAt:n,version:"1.0",scopes:["data-collection","integrations"]},placement:r}))}return t},"hireAgent",0,function(e,r){let l=u(r,e),i={id:e.id,marketplaceAgentId:e.id,hiredAt:new Date().toISOString(),placement:l},o=n.default.join(a,e.id);for(let[r,i]of(t.default.mkdirSync(o,{recursive:!0}),Object.entries(e.profileFiles)))t.default.writeFileSync(n.default.join(o,r),function(e,t,n){let r,l;if("EMPLOYMENT.md"!==e&&"PEOPLE.md"!==e)return t;let i=(r="external_consultant"===n.employmentKind?"External consultant":"Team member",l=n.teammateNames.length>0?n.teammateNames.join(", "):"No named teammates yet",["## Team placement",`- Employment kind: ${r}`,`- Responsible owner: ${n.responsibleEmployeeName} (${n.responsibleEmployeeId})`,`- Team: ${n.teamName}`,`- Teammates: ${l}`,n.engagementNote?`- Engagement note: ${n.engagementNote}`:void 0].filter(Boolean).join("\n")),a=t.replace(/\s+$/,"");return a.includes("## Team placement")?a.replace(/## Team placement[\s\S]*$/,i)+"\n":`${a}
2
2
 
3
3
  ${i}
4
- `}(r,i,l),"utf-8");let c=s().filter(t=>t.id!==e.id);return c.push(i),d(c),i}],51474)},47751,e=>{"use strict";var t=e.i(24868),n=e.i(14747);let r=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],l=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-n);let r=new Date(Date.UTC(t.getUTCFullYear(),0,1)),l=Math.ceil(((t.getTime()-r.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(l).padStart(2,"0")}`}async function a(e){let r=n.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(r,"utf8"),n=JSON.parse(e),l=i(new Date),a=n.weekOf===l?(n.questionsThisWeek??0)+1:1;await t.default.writeFile(r,JSON.stringify({...n,lastActiveAt:new Date().toISOString(),questionsThisWeek:a,weekOf:l},null,2),"utf8")}catch{}}async function s(){let e,a=n.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(a)}catch{return[]}let s=[];for(let d of e){var u;let e;if(d.startsWith("."))continue;let o=n.default.join(a,d,"employee.json");try{let n=await t.default.readFile(o,"utf8");e=JSON.parse(n)}catch{continue}if(!e?.name||e.pendingProfile)continue;let c=0;for(let e of l)try{(await t.default.readFile(n.default.join(a,d,`${e}.md`),"utf8")).trim().length>16&&c++}catch{}s.push({id:e.id||d,name:e.name,firstName:(u=e.name).trim().split(/\s+/)[0]||u,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return r[Math.abs(t)%r.length]}(e.id||d),integrations:e.integrations??[],twinStatus:c>=6?"ready":c>0?"building":"pending",twinConfidence:c>=6?Math.min(1,c/9):0,profileFilesComplete:c,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-7",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,a,"loadEmployeesFromDisk",0,s])},76430,28177,e=>{"use strict";var t=e.i(14747),n=e.i(22734);let r=["CONTEXT.md","EXPERTISE.md","PROJECTS.md","PEOPLE.md","DECISIONS.md","PREFERENCES.md","TONE.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["TWIN_FILE_NAMES",0,r],28177);let l=e=>t.default.join(process.cwd(),"data","employees",e),i=e=>t.default.join(l(e),".versions"),a=e=>t.default.join(i(e),"files"),s=e=>t.default.join(i(e),"builds"),u=e=>t.default.join(i(e),"_log.jsonl"),d=(e,n)=>t.default.join(s(e),`${n}.events.jsonl`),o=t.default.join(process.cwd(),"data","active-builds.json");function c(e=new Date){return e.toISOString().replace(/[:.]/g,"-")}function f(e){n.default.mkdirSync(i(e),{recursive:!0}),n.default.mkdirSync(a(e),{recursive:!0}),n.default.mkdirSync(s(e),{recursive:!0})}function m(e,r,l,i,s={}){f(e);let d=c(s.at??new Date),o=t.default.join(a(e),r);n.default.mkdirSync(o,{recursive:!0});let p=t.default.join(o,`${d}.md`),y=d,S=p,g=0;for(;n.default.existsSync(S);)g+=1,y=`${d}-${g}`,S=t.default.join(o,`${y}.md`);n.default.writeFileSync(S,l,"utf-8");let h={ts:y,filename:r,sizeBytes:Buffer.byteLength(l,"utf-8"),source:i,...s.buildId?{buildId:s.buildId}:{},...s.restoredFromTs?{restoredFromTs:s.restoredFromTs}:{}};return n.default.appendFileSync(u(e),JSON.stringify(h)+"\n"),y}function p(e,r,i,a={}){let s=t.default.join(l(e),r),u="";try{u=n.default.readFileSync(s,"utf-8")}catch{return null}return u?m(e,r,u,i,a):null}function y(e,l,i){if(!r.includes(l)||!/^[0-9A-Za-z\-]+Z(-\d+)?$/.test(i))return null;let s=t.default.join(a(e),l,`${i}.md`);try{return n.default.readFileSync(s,"utf-8")}catch{return null}}function S(e){let r;try{r=n.default.readdirSync(s(e))}catch{return[]}return r.filter(e=>e.endsWith(".json")).map(r=>{try{let l=n.default.readFileSync(t.default.join(s(e),r),"utf-8");return JSON.parse(l)}catch{return null}}).filter(e=>null!==e).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)).map((e,t)=>({...e,version:t+1}))}function g(e,r,i){let a=y(e,r,i);if(null===a)return{ok:!1,error:"version not found"};p(e,r,"restore",{restoredFromTs:i});let s=t.default.join(l(e),r);return n.default.mkdirSync(l(e),{recursive:!0}),n.default.writeFileSync(s,a,"utf-8"),{ok:!0}}function h(){try{let e=n.default.readFileSync(o,"utf-8");return JSON.parse(e)}catch{return{}}}function E(e){n.default.mkdirSync(t.default.dirname(o),{recursive:!0}),n.default.writeFileSync(o,JSON.stringify(e,null,2))}e.s(["appendBuildEvent",0,function(e,t,r){f(e),n.default.mkdirSync(s(e),{recursive:!0}),n.default.appendFileSync(d(e,t),JSON.stringify(r)+"\n")},"bumpBuildActivity",0,function(e,t){let n=h(),r=n[e];r&&(n[e]={...r,...t},E(n))},"clearBuildActive",0,function(e){let t=h();delete t[e],E(t)},"getActiveBuild",0,function(e){return h()[e]??null},"listActiveBuilds",0,function(){return Object.values(h())},"listBuilds",0,S,"listFileVersions",0,function(e,t){return(function(e){try{return n.default.readFileSync(u(e),"utf-8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}})(e).filter(e=>e.filename===t).map(e=>({ts:e.ts,sizeBytes:e.sizeBytes,source:e.source,buildId:e.buildId})).reverse()},"markBuildActive",0,function(e){let t=h();t[e.employeeId]=e,E(t)},"newBuildId",0,function(e=new Date){return c(e)},"readBuildEvents",0,function(e,t,r=0){let l,i=d(e,t);try{l=n.default.readFileSync(i)}catch{return{events:[],nextOffset:0,sizeBytes:0}}let a=l.byteLength;if(r>=a)return{events:[],nextOffset:a,sizeBytes:a};let s=l.subarray(r).toString("utf-8"),u=s.lastIndexOf("\n");if(u<0)return{events:[],nextOffset:r,sizeBytes:a};let o=u+1;return{events:s.slice(0,o).split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),nextOffset:r+o,sizeBytes:a}},"readFileVersion",0,y,"recordBuild",0,function(e){f(e.employeeId);let i=new Set(e.writtenFiles),a=[];for(let s of r){let r=t.default.join(l(e.employeeId),s),u="";try{u=n.default.readFileSync(r,"utf-8")}catch{continue}if(!u)continue;let d=m(e.employeeId,s,u,"builder",{buildId:e.buildId});a.push({filename:s,snapshotTs:d,sizeBytes:Buffer.byteLength(u,"utf-8"),written:i.has(s)})}let u={buildId:e.buildId,startedAt:e.startedAt.toISOString(),finishedAt:e.finishedAt.toISOString(),durationMs:e.finishedAt.getTime()-e.startedAt.getTime(),modelUsed:e.modelUsed,costUsd:e.costUsd,turns:e.turns,stoppedReason:e.stoppedReason,...e.ceoContext?{ceoContext:e.ceoContext}:{},activeToolkits:e.activeToolkits,files:a},d=t.default.join(s(e.employeeId),`${e.buildId}.json`);return n.default.writeFileSync(d,JSON.stringify(u,null,2)),u},"restoreBuild",0,function(e,t){let n=S(e).find(e=>e.buildId===t)??null;if(!n)return{ok:!1,error:"build not found",restored:[]};let r=[];for(let t of n.files)g(e,t.filename,t.snapshotTs).ok&&r.push(t.filename);return{ok:!0,restored:r}},"restoreFile",0,g,"snapshotFile",0,m,"snapshotRootFile",0,p],76430)},54975,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(76430);let l=n.default.join(process.cwd(),"data","employees"),i=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["hasEmployeeFiles",0,function(e){let r=n.default.join(l,e);try{return t.default.existsSync(r)&&t.default.readdirSync(r).some(e=>e.endsWith(".md"))}catch{return!1}},"readAllEmployeeFiles",0,function(e){let r={};for(let a of i){let i=function(e,r){let i=n.default.join(l,e,r);try{return t.default.readFileSync(i,"utf-8")}catch{return""}}(e,a);i&&(r[a]=i)}return r},"writeEmployeeFileBody",0,function(e,a,s){if(!i.includes(a))return null;let u=n.default.join(l,e);if(!t.default.existsSync(u))return null;let d=n.default.join(u,a),o="";try{o=t.default.readFileSync(d,"utf-8")}catch{}let c=o.match(/^---\s*\n[\s\S]*?\n---\s*\n/),f=(c?c[0]:"")+s.replace(/^\n+/,"").replace(/\s+$/,"")+"\n";if(o)try{(0,r.snapshotFile)(e,a,o,"manual")}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-versions] manual-edit snapshot skipped: ${e}`)}return t.default.writeFileSync(d,f,"utf-8"),f}])},50083,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r=n.default.join(process.cwd(),"data","task-history.jsonl"),l=n.default.join(process.cwd(),"data","task-events");function i(){let e=n.default.dirname(r);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0}),t.default.existsSync(l)||t.default.mkdirSync(l,{recursive:!0})}function a(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_");return n.default.join(l,`${t}.jsonl`)}function s(e={}){try{if(i(),!t.default.existsSync(r))return[];let n=t.default.readFileSync(r,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e).filter(t=>(!e.employeeId||t.employeeId===e.employeeId)&&(!e.status||t.status===e.status)).reverse();return e.limit?n.slice(0,e.limit):n}catch{return[]}}e.s(["appendTaskEvent",0,function(e,n){try{i(),t.default.appendFileSync(a(e),JSON.stringify(n)+"\n","utf8")}catch{}},"appendTaskRun",0,function(e){try{i(),t.default.appendFileSync(r,JSON.stringify(e)+"\n","utf8")}catch{}return e},"readTaskEvents",0,function(e){try{let n=a(e);if(!t.default.existsSync(n))return[];return t.default.readFileSync(n,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}},"readTaskRun",0,function(e){return s().find(t=>t.id===e)??null},"readTaskRuns",0,s,"updateTaskRun",0,function(e,n){try{if(i(),!t.default.existsSync(r))return null;let l=t.default.readFileSync(r,"utf8"),a=null,s=l.split("\n").filter(Boolean).map(t=>{try{let r=JSON.parse(t);if(r.id===e)return a={...r,...n},JSON.stringify(a);return t}catch{return t}});return t.default.writeFileSync(r,s.join("\n")+"\n","utf8"),a}catch{return null}}])},30887,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},89793,e=>{e.v(e=>Promise.resolve().then(()=>e(14747)))}];
4
+ `}(r,i,l),"utf-8");let c=s().filter(t=>t.id!==e.id);return c.push(i),d(c),i}],51474)},47751,e=>{"use strict";var t=e.i(24868),n=e.i(14747);let r=["#A8B4C4","#C4A8B8","#B8C4A8","#A8C4B8","#C4B8A8","#B8A8C4","#C4C4A8","#A8C4C4","#C4A8A8","#A8A8C4"],l=["EXPERTISE","DECISIONS","CONTEXT","PEOPLE","PROJECTS","PREFERENCES","TONE","BOUNDARIES","EMPLOYMENT"];function i(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),n=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-n);let r=new Date(Date.UTC(t.getUTCFullYear(),0,1)),l=Math.ceil(((t.getTime()-r.getTime())/864e5+1)/7);return`${t.getUTCFullYear()}-W${String(l).padStart(2,"0")}`}async function a(e){let r=n.default.join(process.cwd(),"data","employees",e,"employee.json");try{let e=await t.default.readFile(r,"utf8"),n=JSON.parse(e),l=i(new Date),a=n.weekOf===l?(n.questionsThisWeek??0)+1:1;await t.default.writeFile(r,JSON.stringify({...n,lastActiveAt:new Date().toISOString(),questionsThisWeek:a,weekOf:l},null,2),"utf8")}catch{}}async function s(){let e,a=n.default.join(process.cwd(),"data","employees");try{e=await t.default.readdir(a)}catch{return[]}let s=[];for(let d of e){var u;let e;if(d.startsWith("."))continue;let o=n.default.join(a,d,"employee.json");try{let n=await t.default.readFile(o,"utf8");e=JSON.parse(n)}catch{continue}if(!e?.name||e.pendingProfile)continue;let c=0;for(let e of l)try{(await t.default.readFile(n.default.join(a,d,`${e}.md`),"utf8")).trim().length>16&&c++}catch{}s.push({id:e.id||d,name:e.name,firstName:(u=e.name).trim().split(/\s+/)[0]||u,role:e.role||"—",department:e.department||"General",initials:function(e){let t=e.trim().split(/\s+/).filter(Boolean);return 0===t.length?"??":1===t.length?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}(e.name),avatarColor:function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return r[Math.abs(t)%r.length]}(e.id||d),integrations:e.integrations??[],twinStatus:c>=6?"ready":c>0?"building":"pending",twinConfidence:c>=6?Math.min(1,c/9):0,profileFilesComplete:c,lastActiveAt:e.lastActiveAt,questionsThisWeek:e.weekOf===i(new Date)?e.questionsThisWeek??0:0,skills:[],orgSkillIds:[],seedModel:"claude-opus-4-8",refreshModel:"claude-sonnet-4-6",ttsVoiceId:"EXAVITQu4vr4xnSDxMaL"})}return s.sort((e,t)=>(t.lastActiveAt??"").localeCompare(e.lastActiveAt??"")),s}e.s(["bumpActivityOnDisk",0,a,"loadEmployeesFromDisk",0,s])},76430,28177,e=>{"use strict";var t=e.i(14747),n=e.i(22734);let r=["CONTEXT.md","EXPERTISE.md","PROJECTS.md","PEOPLE.md","DECISIONS.md","PREFERENCES.md","TONE.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["TWIN_FILE_NAMES",0,r],28177);let l=e=>t.default.join(process.cwd(),"data","employees",e),i=e=>t.default.join(l(e),".versions"),a=e=>t.default.join(i(e),"files"),s=e=>t.default.join(i(e),"builds"),u=e=>t.default.join(i(e),"_log.jsonl"),d=(e,n)=>t.default.join(s(e),`${n}.events.jsonl`),o=t.default.join(process.cwd(),"data","active-builds.json");function c(e=new Date){return e.toISOString().replace(/[:.]/g,"-")}function f(e){n.default.mkdirSync(i(e),{recursive:!0}),n.default.mkdirSync(a(e),{recursive:!0}),n.default.mkdirSync(s(e),{recursive:!0})}function m(e,r,l,i,s={}){f(e);let d=c(s.at??new Date),o=t.default.join(a(e),r);n.default.mkdirSync(o,{recursive:!0});let p=t.default.join(o,`${d}.md`),y=d,S=p,g=0;for(;n.default.existsSync(S);)g+=1,y=`${d}-${g}`,S=t.default.join(o,`${y}.md`);n.default.writeFileSync(S,l,"utf-8");let h={ts:y,filename:r,sizeBytes:Buffer.byteLength(l,"utf-8"),source:i,...s.buildId?{buildId:s.buildId}:{},...s.restoredFromTs?{restoredFromTs:s.restoredFromTs}:{}};return n.default.appendFileSync(u(e),JSON.stringify(h)+"\n"),y}function p(e,r,i,a={}){let s=t.default.join(l(e),r),u="";try{u=n.default.readFileSync(s,"utf-8")}catch{return null}return u?m(e,r,u,i,a):null}function y(e,l,i){if(!r.includes(l)||!/^[0-9A-Za-z\-]+Z(-\d+)?$/.test(i))return null;let s=t.default.join(a(e),l,`${i}.md`);try{return n.default.readFileSync(s,"utf-8")}catch{return null}}function S(e){let r;try{r=n.default.readdirSync(s(e))}catch{return[]}return r.filter(e=>e.endsWith(".json")).map(r=>{try{let l=n.default.readFileSync(t.default.join(s(e),r),"utf-8");return JSON.parse(l)}catch{return null}}).filter(e=>null!==e).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)).map((e,t)=>({...e,version:t+1}))}function g(e,r,i){let a=y(e,r,i);if(null===a)return{ok:!1,error:"version not found"};p(e,r,"restore",{restoredFromTs:i});let s=t.default.join(l(e),r);return n.default.mkdirSync(l(e),{recursive:!0}),n.default.writeFileSync(s,a,"utf-8"),{ok:!0}}function h(){try{let e=n.default.readFileSync(o,"utf-8");return JSON.parse(e)}catch{return{}}}function E(e){n.default.mkdirSync(t.default.dirname(o),{recursive:!0}),n.default.writeFileSync(o,JSON.stringify(e,null,2))}e.s(["appendBuildEvent",0,function(e,t,r){f(e),n.default.mkdirSync(s(e),{recursive:!0}),n.default.appendFileSync(d(e,t),JSON.stringify(r)+"\n")},"bumpBuildActivity",0,function(e,t){let n=h(),r=n[e];r&&(n[e]={...r,...t},E(n))},"clearBuildActive",0,function(e){let t=h();delete t[e],E(t)},"getActiveBuild",0,function(e){return h()[e]??null},"listActiveBuilds",0,function(){return Object.values(h())},"listBuilds",0,S,"listFileVersions",0,function(e,t){return(function(e){try{return n.default.readFileSync(u(e),"utf-8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}})(e).filter(e=>e.filename===t).map(e=>({ts:e.ts,sizeBytes:e.sizeBytes,source:e.source,buildId:e.buildId})).reverse()},"markBuildActive",0,function(e){let t=h();t[e.employeeId]=e,E(t)},"newBuildId",0,function(e=new Date){return c(e)},"readBuildEvents",0,function(e,t,r=0){let l,i=d(e,t);try{l=n.default.readFileSync(i)}catch{return{events:[],nextOffset:0,sizeBytes:0}}let a=l.byteLength;if(r>=a)return{events:[],nextOffset:a,sizeBytes:a};let s=l.subarray(r).toString("utf-8"),u=s.lastIndexOf("\n");if(u<0)return{events:[],nextOffset:r,sizeBytes:a};let o=u+1;return{events:s.slice(0,o).split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e),nextOffset:r+o,sizeBytes:a}},"readFileVersion",0,y,"recordBuild",0,function(e){f(e.employeeId);let i=new Set(e.writtenFiles),a=[];for(let s of r){let r=t.default.join(l(e.employeeId),s),u="";try{u=n.default.readFileSync(r,"utf-8")}catch{continue}if(!u)continue;let d=m(e.employeeId,s,u,"builder",{buildId:e.buildId});a.push({filename:s,snapshotTs:d,sizeBytes:Buffer.byteLength(u,"utf-8"),written:i.has(s)})}let u={buildId:e.buildId,startedAt:e.startedAt.toISOString(),finishedAt:e.finishedAt.toISOString(),durationMs:e.finishedAt.getTime()-e.startedAt.getTime(),modelUsed:e.modelUsed,costUsd:e.costUsd,turns:e.turns,stoppedReason:e.stoppedReason,...e.ceoContext?{ceoContext:e.ceoContext}:{},activeToolkits:e.activeToolkits,files:a},d=t.default.join(s(e.employeeId),`${e.buildId}.json`);return n.default.writeFileSync(d,JSON.stringify(u,null,2)),u},"restoreBuild",0,function(e,t){let n=S(e).find(e=>e.buildId===t)??null;if(!n)return{ok:!1,error:"build not found",restored:[]};let r=[];for(let t of n.files)g(e,t.filename,t.snapshotTs).ok&&r.push(t.filename);return{ok:!0,restored:r}},"restoreFile",0,g,"snapshotFile",0,m,"snapshotRootFile",0,p],76430)},54975,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(76430);let l=n.default.join(process.cwd(),"data","employees"),i=["EXPERTISE.md","TONE.md","CONTEXT.md","DECISIONS.md","PREFERENCES.md","PEOPLE.md","PROJECTS.md","BOUNDARIES.md","EMPLOYMENT.md"];e.s(["hasEmployeeFiles",0,function(e){let r=n.default.join(l,e);try{return t.default.existsSync(r)&&t.default.readdirSync(r).some(e=>e.endsWith(".md"))}catch{return!1}},"readAllEmployeeFiles",0,function(e){let r={};for(let a of i){let i=function(e,r){let i=n.default.join(l,e,r);try{return t.default.readFileSync(i,"utf-8")}catch{return""}}(e,a);i&&(r[a]=i)}return r},"writeEmployeeFileBody",0,function(e,a,s){if(!i.includes(a))return null;let u=n.default.join(l,e);if(!t.default.existsSync(u))return null;let d=n.default.join(u,a),o="";try{o=t.default.readFileSync(d,"utf-8")}catch{}let c=o.match(/^---\s*\n[\s\S]*?\n---\s*\n/),f=(c?c[0]:"")+s.replace(/^\n+/,"").replace(/\s+$/,"")+"\n";if(o)try{(0,r.snapshotFile)(e,a,o,"manual")}catch(t){let e=t instanceof Error?t.message:String(t);console.warn(`[twin-versions] manual-edit snapshot skipped: ${e}`)}return t.default.writeFileSync(d,f,"utf-8"),f}])},50083,e=>{"use strict";var t=e.i(22734),n=e.i(14747);let r=n.default.join(process.cwd(),"data","task-history.jsonl"),l=n.default.join(process.cwd(),"data","task-events");function i(){let e=n.default.dirname(r);t.default.existsSync(e)||t.default.mkdirSync(e,{recursive:!0}),t.default.existsSync(l)||t.default.mkdirSync(l,{recursive:!0})}function a(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_");return n.default.join(l,`${t}.jsonl`)}function s(e={}){try{if(i(),!t.default.existsSync(r))return[];let n=t.default.readFileSync(r,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e).filter(t=>(!e.employeeId||t.employeeId===e.employeeId)&&(!e.status||t.status===e.status)).reverse();return e.limit?n.slice(0,e.limit):n}catch{return[]}}e.s(["appendTaskEvent",0,function(e,n){try{i(),t.default.appendFileSync(a(e),JSON.stringify(n)+"\n","utf8")}catch{}},"appendTaskRun",0,function(e){try{i(),t.default.appendFileSync(r,JSON.stringify(e)+"\n","utf8")}catch{}return e},"readTaskEvents",0,function(e){try{let n=a(e);if(!t.default.existsSync(n))return[];return t.default.readFileSync(n,"utf8").split("\n").filter(Boolean).map(e=>{try{return JSON.parse(e)}catch{return null}}).filter(e=>null!==e)}catch{return[]}},"readTaskRun",0,function(e){return s().find(t=>t.id===e)??null},"readTaskRuns",0,s,"updateTaskRun",0,function(e,n){try{if(i(),!t.default.existsSync(r))return null;let l=t.default.readFileSync(r,"utf8"),a=null,s=l.split("\n").filter(Boolean).map(t=>{try{let r=JSON.parse(t);if(r.id===e)return a={...r,...n},JSON.stringify(a);return t}catch{return t}});return t.default.writeFileSync(r,s.join("\n")+"\n","utf8"),a}catch{return null}}])},30887,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0gqp_8t._.js"].map(t=>e.l(t))).then(()=>t(41379)))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},89793,e=>{e.v(e=>Promise.resolve().then(()=>e(14747)))}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__07h84a1._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0gyw9i8._.js.map