flujo-ai 3.48.6 → 3.48.7

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 (510) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +60 -60
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +2 -2
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  12. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  13. package/.next/server/app/api/approvals/route.js +1 -1
  14. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  15. package/.next/server/app/api/automation-map/route.js +1 -1
  16. package/.next/server/app/api/automation-map/route.js.nft.json +1 -1
  17. package/.next/server/app/api/avatar/[voiceAction]/route.js +1 -1
  18. package/.next/server/app/api/avatar/[voiceAction]/route.js.nft.json +1 -1
  19. package/.next/server/app/api/avatar/connections/route.js +1 -1
  20. package/.next/server/app/api/avatar/connections/route.js.nft.json +1 -1
  21. package/.next/server/app/api/avatar/local-speech/route.js +1 -1
  22. package/.next/server/app/api/avatar/local-speech/route.js.nft.json +1 -1
  23. package/.next/server/app/api/avatar/remote/[voiceAction]/route.js +1 -1
  24. package/.next/server/app/api/avatar/remote/[voiceAction]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/avatar/remote/availability/route.js +1 -1
  26. package/.next/server/app/api/avatar/remote/availability/route.js.nft.json +1 -1
  27. package/.next/server/app/api/avatar/voice/route.js +1 -1
  28. package/.next/server/app/api/avatar/voice/route.js.nft.json +1 -1
  29. package/.next/server/app/api/avatar/work-model/route.js +1 -1
  30. package/.next/server/app/api/avatar/work-model/route.js.nft.json +1 -1
  31. package/.next/server/app/api/avatar/world/route.js +1 -1
  32. package/.next/server/app/api/avatar/world/route.js.nft.json +1 -1
  33. package/.next/server/app/api/backup/route.js +1 -1
  34. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  35. package/.next/server/app/api/browse/route.js +1 -1
  36. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  37. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  38. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  39. package/.next/server/app/api/credential-migration/route.js +1 -1
  40. package/.next/server/app/api/credential-migration/route.js.nft.json +1 -1
  41. package/.next/server/app/api/credential-transfer/restore/route.js +1 -1
  42. package/.next/server/app/api/credential-transfer/restore/route.js.nft.json +1 -1
  43. package/.next/server/app/api/credential-transfer/route.js +1 -1
  44. package/.next/server/app/api/credential-transfer/route.js.nft.json +1 -1
  45. package/.next/server/app/api/cwd/route.js +1 -1
  46. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  47. package/.next/server/app/api/encryption/secure/route.js +1 -1
  48. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  49. package/.next/server/app/api/env/route.js +1 -1
  50. package/.next/server/app/api/env/route.js.nft.json +1 -1
  51. package/.next/server/app/api/factory-observatory/route.js +1 -1
  52. package/.next/server/app/api/factory-observatory/route.js.nft.json +1 -1
  53. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js +1 -1
  54. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/[id]/models/route.js +1 -1
  56. package/.next/server/app/api/flow/[id]/models/route.js.nft.json +1 -1
  57. package/.next/server/app/api/flow/[id]/route.js +1 -1
  58. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  60. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  62. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  63. package/.next/server/app/api/flow/assist/route.js +1 -1
  64. package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
  65. package/.next/server/app/api/flow/compile/route.js +1 -1
  66. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  67. package/.next/server/app/api/flow/generate/route.js +1 -1
  68. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  69. package/.next/server/app/api/flow/generate/visual/route.js +1 -1
  70. package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
  71. package/.next/server/app/api/flow/generator/route.js +1 -1
  72. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  73. package/.next/server/app/api/flow/improve/route.js +1 -1
  74. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  75. package/.next/server/app/api/flow/model-agent/route.js +1 -1
  76. package/.next/server/app/api/flow/model-agent/route.js.nft.json +1 -1
  77. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  78. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  79. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  80. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  81. package/.next/server/app/api/flow/repair/route.js +1 -1
  82. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  83. package/.next/server/app/api/flow/route.js +1 -1
  84. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  85. package/.next/server/app/api/git/route.js +1 -1
  86. package/.next/server/app/api/git/route.js.nft.json +1 -1
  87. package/.next/server/app/api/harness/[id]/route.js +1 -1
  88. package/.next/server/app/api/harness/[id]/route.js.nft.json +1 -1
  89. package/.next/server/app/api/harness/comparisons/[id]/route.js +1 -1
  90. package/.next/server/app/api/harness/comparisons/[id]/route.js.nft.json +1 -1
  91. package/.next/server/app/api/harness/comparisons/route.js +1 -1
  92. package/.next/server/app/api/harness/comparisons/route.js.nft.json +1 -1
  93. package/.next/server/app/api/harness/profiles/route.js +1 -1
  94. package/.next/server/app/api/harness/profiles/route.js.nft.json +1 -1
  95. package/.next/server/app/api/harness/route.js +1 -1
  96. package/.next/server/app/api/harness/route.js.nft.json +1 -1
  97. package/.next/server/app/api/init/route.js +1 -1
  98. package/.next/server/app/api/init/route.js.nft.json +1 -1
  99. package/.next/server/app/api/local-models/capability/route.js +1 -1
  100. package/.next/server/app/api/local-models/capability/route.js.nft.json +1 -1
  101. package/.next/server/app/api/local-models/pull/route.js +1 -1
  102. package/.next/server/app/api/local-models/pull/route.js.nft.json +1 -1
  103. package/.next/server/app/api/local-models/suggest/route.js +1 -1
  104. package/.next/server/app/api/local-models/suggest/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/app-consent/route.js +1 -1
  106. package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
  107. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  108. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp/assistant/route.js +1 -1
  110. package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
  111. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  112. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  113. package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
  114. package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
  115. package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
  116. package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
  117. package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
  118. package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
  119. package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
  120. package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
  121. package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
  122. package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
  123. package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
  124. package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
  125. package/.next/server/app/api/mcp/flujo/skills/route.js +1 -1
  126. package/.next/server/app/api/mcp/flujo/skills/route.js.nft.json +1 -1
  127. package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
  128. package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
  129. package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
  130. package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
  131. package/.next/server/app/api/mcp/model-risk-assessment/route.js +1 -1
  132. package/.next/server/app/api/mcp/model-risk-assessment/route.js.nft.json +1 -1
  133. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  134. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  135. package/.next/server/app/api/mcp/security-review/route.js +1 -1
  136. package/.next/server/app/api/mcp/security-review/route.js.nft.json +1 -1
  137. package/.next/server/app/api/mcp/servers/[name]/host-consent/route.js +1 -1
  138. package/.next/server/app/api/mcp/servers/[name]/host-consent/route.js.nft.json +1 -1
  139. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  140. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  141. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  142. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  143. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  144. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  145. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  146. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  147. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  148. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  149. package/.next/server/app/api/mcp/servers/[name]/skills/approve/route.js +1 -1
  150. package/.next/server/app/api/mcp/servers/[name]/skills/approve/route.js.nft.json +1 -1
  151. package/.next/server/app/api/mcp/servers/[name]/skills/get/route.js +1 -1
  152. package/.next/server/app/api/mcp/servers/[name]/skills/get/route.js.nft.json +1 -1
  153. package/.next/server/app/api/mcp/servers/[name]/skills/load/route.js +1 -1
  154. package/.next/server/app/api/mcp/servers/[name]/skills/load/route.js.nft.json +1 -1
  155. package/.next/server/app/api/mcp/servers/[name]/skills/route.js +1 -1
  156. package/.next/server/app/api/mcp/servers/[name]/skills/route.js.nft.json +1 -1
  157. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  158. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  159. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
  160. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
  161. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
  162. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
  163. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  164. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  165. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/stream/route.js +1 -1
  166. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/stream/route.js.nft.json +1 -1
  167. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  168. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  169. package/.next/server/app/api/mcp/servers/route.js +1 -1
  170. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  171. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  172. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  173. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  174. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  175. package/.next/server/app/api/mcp-registry/route.js +1 -1
  176. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  177. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  178. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  179. package/.next/server/app/api/model/[id]/route.js +1 -1
  180. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  181. package/.next/server/app/api/model/allowance/route.js +1 -1
  182. package/.next/server/app/api/model/allowance/route.js.nft.json +1 -1
  183. package/.next/server/app/api/model/provider/route.js +1 -1
  184. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  185. package/.next/server/app/api/model/route.js +1 -1
  186. package/.next/server/app/api/model/route.js.nft.json +1 -1
  187. package/.next/server/app/api/model/test/route.js +1 -1
  188. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  189. package/.next/server/app/api/network-exposure/route.js +1 -1
  190. package/.next/server/app/api/network-exposure/route.js.nft.json +1 -1
  191. package/.next/server/app/api/oauth/callback/route.js +1 -1
  192. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  193. package/.next/server/app/api/oauth/initiate/route.js +1 -1
  194. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  195. package/.next/server/app/api/oauth/reset/route.js +1 -1
  196. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  197. package/.next/server/app/api/operations/status/route.js +1 -1
  198. package/.next/server/app/api/operations/status/route.js.nft.json +1 -1
  199. package/.next/server/app/api/original-owner/route.js +1 -1
  200. package/.next/server/app/api/original-owner/route.js.nft.json +1 -1
  201. package/.next/server/app/api/packages/build/route.js +1 -1
  202. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  203. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  204. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  205. package/.next/server/app/api/packages/install/route.js +1 -1
  206. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  207. package/.next/server/app/api/packages/install/status/route.js +1 -1
  208. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  209. package/.next/server/app/api/packages/installed/route.js +1 -1
  210. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  211. package/.next/server/app/api/packages/resolve/route.js +1 -1
  212. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  213. package/.next/server/app/api/packages/scan-targets/route.js +1 -1
  214. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  215. package/.next/server/app/api/packages/search/route.js +1 -1
  216. package/.next/server/app/api/packages/search/route.js.nft.json +1 -1
  217. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  218. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  219. package/.next/server/app/api/persona-recovery/route.js +2 -2
  220. package/.next/server/app/api/persona-recovery/route.js.nft.json +1 -1
  221. package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
  222. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  223. package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
  224. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  225. package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
  226. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  227. package/.next/server/app/api/planned-executions/[id]/worker-recovery/route.js +1 -1
  228. package/.next/server/app/api/planned-executions/[id]/worker-recovery/route.js.nft.json +1 -1
  229. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  230. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  231. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  232. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  233. package/.next/server/app/api/planned-executions/route.js +1 -1
  234. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  235. package/.next/server/app/api/projects/route.js +1 -1
  236. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  237. package/.next/server/app/api/reference-search/files/route.js +1 -1
  238. package/.next/server/app/api/reference-search/files/route.js.nft.json +1 -1
  239. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  240. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  241. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  242. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  243. package/.next/server/app/api/registry/auth/route.js +1 -1
  244. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  245. package/.next/server/app/api/registry/feedback/route.js +1 -1
  246. package/.next/server/app/api/registry/feedback/route.js.nft.json +1 -1
  247. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  248. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  249. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  250. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  251. package/.next/server/app/api/registry/packages/route.js +1 -1
  252. package/.next/server/app/api/registry/packages/route.js.nft.json +1 -1
  253. package/.next/server/app/api/registry/publish/route.js +1 -1
  254. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  255. package/.next/server/app/api/registry/settings/route.js +1 -1
  256. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  257. package/.next/server/app/api/restore/route.js +1 -1
  258. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  259. package/.next/server/app/api/runs/active/route.js +1 -1
  260. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  261. package/.next/server/app/api/runtime-environment/route.js +1 -1
  262. package/.next/server/app/api/runtime-environment/route.js.nft.json +1 -1
  263. package/.next/server/app/api/setup/ai-cli/route.js +1 -1
  264. package/.next/server/app/api/setup/ai-cli/route.js.nft.json +1 -1
  265. package/.next/server/app/api/snapshot/abort/route.js +1 -1
  266. package/.next/server/app/api/snapshot/abort/route.js.nft.json +1 -1
  267. package/.next/server/app/api/snapshot/begin/route.js +1 -1
  268. package/.next/server/app/api/snapshot/begin/route.js.nft.json +1 -1
  269. package/.next/server/app/api/snapshot/download/route.js +1 -1
  270. package/.next/server/app/api/snapshot/download/route.js.nft.json +1 -1
  271. package/.next/server/app/api/snapshot/finalize/route.js +1 -1
  272. package/.next/server/app/api/snapshot/finalize/route.js.nft.json +1 -1
  273. package/.next/server/app/api/snapshot/info/route.js +1 -1
  274. package/.next/server/app/api/snapshot/info/route.js.nft.json +1 -1
  275. package/.next/server/app/api/snapshot/status/route.js +1 -1
  276. package/.next/server/app/api/snapshot/status/route.js.nft.json +1 -1
  277. package/.next/server/app/api/snapshots/cleanup/route.js +1 -1
  278. package/.next/server/app/api/snapshots/cleanup/route.js.nft.json +1 -1
  279. package/.next/server/app/api/snapshots/open-folder/route.js +1 -1
  280. package/.next/server/app/api/snapshots/open-folder/route.js.nft.json +1 -1
  281. package/.next/server/app/api/snapshots/route.js +1 -1
  282. package/.next/server/app/api/snapshots/route.js.nft.json +1 -1
  283. package/.next/server/app/api/statistics/route.js +1 -1
  284. package/.next/server/app/api/statistics/route.js.nft.json +1 -1
  285. package/.next/server/app/api/storage/route.js +1 -1
  286. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  287. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  288. package/.next/server/app/api/telemetry/daily-active/route.js.nft.json +1 -1
  289. package/.next/server/app/api/tickets/[id]/route.js +1 -1
  290. package/.next/server/app/api/tickets/[id]/route.js.nft.json +1 -1
  291. package/.next/server/app/api/tickets/route.js +1 -1
  292. package/.next/server/app/api/tickets/route.js.nft.json +1 -1
  293. package/.next/server/app/api/transcription/route.js +1 -1
  294. package/.next/server/app/api/transcription/route.js.nft.json +1 -1
  295. package/.next/server/app/api/update/route.js +1 -1
  296. package/.next/server/app/api/update/route.js.nft.json +1 -1
  297. package/.next/server/app/api/waves/route.js +1 -1
  298. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  299. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  300. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  301. package/.next/server/app/api/workspaces/route.js +1 -1
  302. package/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  303. package/.next/server/app/chat/page.js +1 -1
  304. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  305. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  306. package/.next/server/app/mcp/page.js +1 -1
  307. package/.next/server/app/mcp/page.js.nft.json +1 -1
  308. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  309. package/.next/server/app/mcp-flows/route.js +1 -1
  310. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  311. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  312. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  313. package/.next/server/app/settings/page.js +1 -1
  314. package/.next/server/app/settings/page.js.nft.json +1 -1
  315. package/.next/server/app/v1/chat/completions/route.js +1 -1
  316. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  317. package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
  318. package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
  319. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  320. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  321. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  322. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  323. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
  324. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
  325. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  326. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  327. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
  328. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
  329. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  330. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  331. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  332. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  333. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  334. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  335. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  336. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  337. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route.js +1 -1
  338. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route.js.nft.json +1 -1
  339. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route.js +1 -1
  340. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route.js.nft.json +1 -1
  341. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/route.js +1 -1
  342. package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/route.js.nft.json +1 -1
  343. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
  344. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
  345. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js +1 -1
  346. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js.nft.json +1 -1
  347. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  348. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  349. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  350. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  351. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
  352. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
  353. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  354. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  355. package/.next/server/app/v1/chat/conversations/[conversationId]/wire-preview/route.js +1 -1
  356. package/.next/server/app/v1/chat/conversations/[conversationId]/wire-preview/route.js.nft.json +1 -1
  357. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  358. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  359. package/.next/server/app/v1/chat/events/route.js +1 -1
  360. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  361. package/.next/server/app/v1/flows/[flowRef]/readiness/route.js +1 -1
  362. package/.next/server/app/v1/flows/[flowRef]/readiness/route.js.nft.json +1 -1
  363. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
  364. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
  365. package/.next/server/app/v1/meetings/[meetingId]/events/route.js +1 -1
  366. package/.next/server/app/v1/meetings/[meetingId]/events/route.js.nft.json +1 -1
  367. package/.next/server/app/v1/meetings/[meetingId]/interventions/route.js +1 -1
  368. package/.next/server/app/v1/meetings/[meetingId]/interventions/route.js.nft.json +1 -1
  369. package/.next/server/app/v1/meetings/[meetingId]/private-notes/route.js +1 -1
  370. package/.next/server/app/v1/meetings/[meetingId]/private-notes/route.js.nft.json +1 -1
  371. package/.next/server/app/v1/meetings/[meetingId]/resume/route.js +1 -1
  372. package/.next/server/app/v1/meetings/[meetingId]/resume/route.js.nft.json +1 -1
  373. package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
  374. package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
  375. package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
  376. package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
  377. package/.next/server/app/v1/meetings/route.js +1 -1
  378. package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
  379. package/.next/server/app/v1/models/route.js +1 -1
  380. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  381. package/.next/server/app/v1/persona-drafts/[draftId]/route.js +1 -1
  382. package/.next/server/app/v1/persona-drafts/[draftId]/route.js.nft.json +1 -1
  383. package/.next/server/app/v1/persona-drafts/route.js +1 -1
  384. package/.next/server/app/v1/persona-drafts/route.js.nft.json +1 -1
  385. package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js +1 -1
  386. package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js.nft.json +1 -1
  387. package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/route.js +1 -1
  388. package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/route.js.nft.json +1 -1
  389. package/.next/server/app/v1/personas/[personaId]/app-grants/route.js +1 -1
  390. package/.next/server/app/v1/personas/[personaId]/app-grants/route.js.nft.json +1 -1
  391. package/.next/server/app/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route.js +1 -1
  392. package/.next/server/app/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route.js.nft.json +1 -1
  393. package/.next/server/app/v1/personas/[personaId]/composition/behaviors/route.js +1 -1
  394. package/.next/server/app/v1/personas/[personaId]/composition/behaviors/route.js.nft.json +1 -1
  395. package/.next/server/app/v1/personas/[personaId]/composition/copy/route.js +1 -1
  396. package/.next/server/app/v1/personas/[personaId]/composition/copy/route.js.nft.json +1 -1
  397. package/.next/server/app/v1/personas/[personaId]/composition/route.js +1 -1
  398. package/.next/server/app/v1/personas/[personaId]/composition/route.js.nft.json +1 -1
  399. package/.next/server/app/v1/personas/[personaId]/core/reconcile/route.js +1 -1
  400. package/.next/server/app/v1/personas/[personaId]/core/reconcile/route.js.nft.json +1 -1
  401. package/.next/server/app/v1/personas/[personaId]/deletion-preview/route.js +1 -1
  402. package/.next/server/app/v1/personas/[personaId]/deletion-preview/route.js.nft.json +1 -1
  403. package/.next/server/app/v1/personas/[personaId]/execution-preview/route.js +1 -1
  404. package/.next/server/app/v1/personas/[personaId]/execution-preview/route.js.nft.json +1 -1
  405. package/.next/server/app/v1/personas/[personaId]/export/route.js +1 -1
  406. package/.next/server/app/v1/personas/[personaId]/export/route.js.nft.json +1 -1
  407. package/.next/server/app/v1/personas/[personaId]/export-preview/route.js +1 -1
  408. package/.next/server/app/v1/personas/[personaId]/export-preview/route.js.nft.json +1 -1
  409. package/.next/server/app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js +1 -1
  410. package/.next/server/app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js.nft.json +1 -1
  411. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/apply/route.js +1 -1
  412. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/apply/route.js.nft.json +1 -1
  413. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/promote/route.js +1 -1
  414. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/promote/route.js.nft.json +1 -1
  415. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/reject/route.js +1 -1
  416. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/reject/route.js.nft.json +1 -1
  417. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/undo/route.js +1 -1
  418. package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/undo/route.js.nft.json +1 -1
  419. package/.next/server/app/v1/personas/[personaId]/improvements/route.js +1 -1
  420. package/.next/server/app/v1/personas/[personaId]/improvements/route.js.nft.json +1 -1
  421. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/activate/route.js +1 -1
  422. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/activate/route.js.nft.json +1 -1
  423. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/correct/route.js +1 -1
  424. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/correct/route.js.nft.json +1 -1
  425. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/pin/route.js +1 -1
  426. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/pin/route.js.nft.json +1 -1
  427. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/resolve-conflict/route.js +1 -1
  428. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/resolve-conflict/route.js.nft.json +1 -1
  429. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/route.js +1 -1
  430. package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/route.js.nft.json +1 -1
  431. package/.next/server/app/v1/personas/[personaId]/memories/route.js +1 -1
  432. package/.next/server/app/v1/personas/[personaId]/memories/route.js.nft.json +1 -1
  433. package/.next/server/app/v1/personas/[personaId]/route.js +1 -1
  434. package/.next/server/app/v1/personas/[personaId]/route.js.nft.json +1 -1
  435. package/.next/server/app/v1/personas/[personaId]/runtime-recovery/route.js +1 -1
  436. package/.next/server/app/v1/personas/[personaId]/runtime-recovery/route.js.nft.json +1 -1
  437. package/.next/server/app/v1/personas/[personaId]/storage-stats/route.js +1 -1
  438. package/.next/server/app/v1/personas/[personaId]/storage-stats/route.js.nft.json +1 -1
  439. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/assign/route.js +1 -1
  440. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/assign/route.js.nft.json +1 -1
  441. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js +1 -1
  442. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js.nft.json +1 -1
  443. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/route.js +1 -1
  444. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/route.js.nft.json +1 -1
  445. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js +1 -1
  446. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js.nft.json +1 -1
  447. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/source/route.js +1 -1
  448. package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/source/route.js.nft.json +1 -1
  449. package/.next/server/app/v1/personas/[personaId]/work-items/promote-todo/route.js +1 -1
  450. package/.next/server/app/v1/personas/[personaId]/work-items/promote-todo/route.js.nft.json +1 -1
  451. package/.next/server/app/v1/personas/[personaId]/work-items/route.js +1 -1
  452. package/.next/server/app/v1/personas/[personaId]/work-items/route.js.nft.json +1 -1
  453. package/.next/server/app/v1/personas/readiness/route.js +1 -1
  454. package/.next/server/app/v1/personas/readiness/route.js.nft.json +1 -1
  455. package/.next/server/app/v1/personas/route.js +1 -1
  456. package/.next/server/app/v1/personas/route.js.nft.json +1 -1
  457. package/.next/server/app/v1/personas/settings-options/route.js +1 -1
  458. package/.next/server/app/v1/personas/settings-options/route.js.nft.json +1 -1
  459. package/.next/server/app/v1/personas/summary/route.js +1 -1
  460. package/.next/server/app/v1/personas/summary/route.js.nft.json +1 -1
  461. package/.next/server/app/v1/roles/[roleId]/duplicate/route.js +1 -1
  462. package/.next/server/app/v1/roles/[roleId]/duplicate/route.js.nft.json +1 -1
  463. package/.next/server/app/v1/roles/[roleId]/impact/route.js +1 -1
  464. package/.next/server/app/v1/roles/[roleId]/impact/route.js.nft.json +1 -1
  465. package/.next/server/app/v1/roles/[roleId]/restore/route.js +1 -1
  466. package/.next/server/app/v1/roles/[roleId]/restore/route.js.nft.json +1 -1
  467. package/.next/server/app/v1/roles/[roleId]/rollback/route.js +1 -1
  468. package/.next/server/app/v1/roles/[roleId]/rollback/route.js.nft.json +1 -1
  469. package/.next/server/app/v1/roles/[roleId]/route.js +1 -1
  470. package/.next/server/app/v1/roles/[roleId]/route.js.nft.json +1 -1
  471. package/.next/server/app/v1/roles/[roleId]/versions/route.js +1 -1
  472. package/.next/server/app/v1/roles/[roleId]/versions/route.js.nft.json +1 -1
  473. package/.next/server/app/v1/roles/route.js +1 -1
  474. package/.next/server/app/v1/roles/route.js.nft.json +1 -1
  475. package/.next/server/app/v1/tasks/[taskId]/route.js +1 -1
  476. package/.next/server/app/v1/tasks/[taskId]/route.js.nft.json +1 -1
  477. package/.next/server/app-paths-manifest.json +60 -60
  478. package/.next/server/chunks/14645.js +1 -1
  479. package/.next/server/chunks/21392.js +3 -3
  480. package/.next/server/chunks/{83503.js → 25847.js} +3 -3
  481. package/.next/server/chunks/31519.js +3 -3
  482. package/.next/server/chunks/34679.js +1 -1
  483. package/.next/server/chunks/52152.js +3 -3
  484. package/.next/server/chunks/73633.js +1 -1
  485. package/.next/server/chunks/81306.js +1 -1
  486. package/.next/server/chunks/82300.js +3 -3
  487. package/.next/server/chunks/83718.js +1 -1
  488. package/.next/server/chunks/8464.js +1 -1
  489. package/.next/server/chunks/{78608.js → 87864.js} +3 -3
  490. package/.next/server/chunks/89031.js +1 -1
  491. package/.next/server/chunks/97235.js +1 -1
  492. package/.next/server/middleware-build-manifest.js +1 -1
  493. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  494. package/.next/server/pages/500.html +1 -1
  495. package/.next/server/preview-props.json +3 -3
  496. package/.next/server/server-reference-manifest.js +1 -1
  497. package/.next/server/server-reference-manifest.json +1 -1
  498. package/.next/static/chunks/{2103-5f61569b0629e957.js → 2103-be5e06316fbab625.js} +1 -1
  499. package/.next/static/chunks/app/chat/{page-569fe5a097bb2c06.js → page-314d31c432c2d88b.js} +1 -1
  500. package/.next/static/chunks/webpack-1449ea081feba501.js +1 -0
  501. package/.next/trace-build +1 -1
  502. package/README.md +1 -1
  503. package/mcp-servers/bash/package.json +1 -1
  504. package/mcp-servers/browser/package.json +1 -1
  505. package/mcp-servers/filesystem/package.json +1 -1
  506. package/mcp-servers/flujo/package.json +1 -1
  507. package/package.json +5 -5
  508. package/.next/static/chunks/webpack-d7e41a6b1b459ed1.js +0 -1
  509. /package/.next/static/{QzwOWTB7GKoP7AaFNpYr5 → dA-lF06zcBoG4LavbX9MD}/_buildManifest.js +0 -0
  510. /package/.next/static/{QzwOWTB7GKoP7AaFNpYr5 → dA-lF06zcBoG4LavbX9MD}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=34679,exports.ids=[34679],exports.modules={34679:(a,b,c)=>{c.d(b,{_F:()=>J,inspectShippedWorkspaceProvenance:()=>G});var d=c(51455),e=c.n(d),f=c(176760),g=c.n(f),h=c(977598),i=c(973024),j=c.n(i),k=c(598995),l=c(553468);let m=/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i;function n(a,b){let c=g().relative(a,b);return".."!==c&&!c.startsWith(`..${g().sep}`)&&!g().isAbsolute(c)}async function o(a){let b=g().resolve(a),c=await j().promises.realpath(a),d=a=>"win32"===process.platform?a.toLowerCase():a;if(d(c)!==d(b))throw Error("Linked installation asset refused.")}function p(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs&&a.mode===b.mode}async function q(a){return(await Promise.allSettled(a)).map(a=>{if("rejected"===a.status)throw a.reason;return a.value})}async function r(a,b,c,d,e="Dependency asset changed."){let f=await Promise.allSettled([o(a),...c?[c.stat({bigint:!0})]:[],j().promises.lstat(a,{bigint:!0})]),g=f[0];if("rejected"===g.status)throw g.reason;if(void 0!==d&&BigInt(d)!==b.size)throw Error(e);for(let a of f.slice(1)){if("rejected"===a.status)throw a.reason;if(!a.value||!p(b,a.value))throw Error(e)}if(c&&!p(b,j().fstatSync(c.fd,{bigint:!0}))||!p(b,j().lstatSync(a,{bigint:!0})))throw Error(e)}async function s(a,b,c){let d=await j().promises.realpath(a);await o(d);let e=[...b],f=new Set,l=[],s=[],t=new Map,u=0,v=0,w=()=>{if(c?.aborted)throw Error("Dependency inspection cancelled.")},x=async(a,b,c=!1)=>{w();let d=await j().promises.open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0)),e=[],f=Buffer.alloc(65536),g=(0,h.createHash)("sha256");try{let h=await d.stat({bigint:!0});if(!h.isFile()||h.nlink!==BigInt(1)||h.size>BigInt(b))throw Error("Dependency asset exceeds its bounds.");let i=t.get(a);if(i&&!p(i,h))throw Error("Dependency asset changed between reads.");await r(a,h);let j=0;for(;;){w();let a=await d.read(f,0,f.length,null);if(!a.bytesRead)break;if((j+=a.bytesRead)>b)throw Error("Dependency asset exceeds its bounds.");g.update(f.subarray(0,a.bytesRead)),c||e.push(Buffer.from(f.subarray(0,a.bytesRead)))}return await r(a,h,d,j),t.set(a,h),{content:c?void 0:Buffer.concat(e),digest:g.digest("hex")}}finally{for(let a of(f.fill(0),e))a.fill(0);await d.close()}};for(;e.length;){let a;w();let b=await j().promises.realpath(e.shift());if(!n(d,b))throw Error("Dependency resolves outside the inspected installation.");if(f.has(b))continue;if(f.add(b),f.size>256)throw Error("Dependency graph exceeds its package bound.");await o(b);let c=g().join(b,"package.json"),i=await x(c,65536),r=i.content,y=i.digest;try{a=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(r))}finally{r.fill(0)}if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid dependency manifest.");for(let b of[a.dependencies,a.optionalDependencies,a.peerDependencies])if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)||Object.values(b).some(a=>"string"!=typeof a||a.length>2048)))throw Error("Invalid dependency declarations.");let z=(0,h.createHash)("sha256").update("flujo:mcp:installed-dependency:v1\0"),A=async a=>{if(w(),++u>16384)throw Error("Dependency graph exceeds its member bound.");await o(a);let d=await j().promises.lstat(a,{bigint:!0});if(!d.isDirectory())throw Error("Dependency directory refused.");t.set(a,d),z.update(JSON.stringify(["directory",g().relative(b,a),String(d.mode)]));let e=(await j().promises.readdir(a)).sort().filter(a=>"node_modules"!==a);for(let d=0;d<e.length;d+=16)for(let f of(await q(e.slice(d,d+16).map(async b=>{w();let d=g().join(a,b),e=await j().promises.lstat(d,{bigint:!0});if(e.isDirectory()&&!e.isSymbolicLink())return{filename:d,stat:e,digest:void 0};if(++u>16384||!e.isFile()||e.isSymbolicLink())throw Error("Dependency member refused.");let f=Number(e.size);if((v+=f)>0x10000000)throw Error("Dependency graph exceeds its byte bound.");let{digest:h}=await x(d,f,!0);if(!p(e,t.get(d)))throw Error("Dependency member changed before reading.");if(d===c&&h!==y)throw Error("Parsed dependency manifest differs from the fingerprinted manifest.");return{filename:d,stat:e,digest:h}}))))void 0===f.digest?await A(f.filename):z.update(JSON.stringify(["file",g().relative(b,f.filename),String(f.stat.mode),f.digest]));if(await o(a),!p(d,await j().promises.lstat(a,{bigint:!0})))throw Error("Dependency directory changed.")};await A(b),l.push({directory:b,digest:z.digest("hex")});let B=Reflect.get(k,"createRequire")(c),C=new Set([...Object.keys(a.dependencies??{}),...Object.keys(a.optionalDependencies??{}),...Object.keys(a.peerDependencies??{})]);if(C.size>128)throw Error("Dependency manifest exceeds its name bound.");for(let c of[...C].sort()){let f;if(!m.test(c))throw Error("Invalid dependency name.");for(let a of B.resolve.paths(c)??[])try{f=await j().promises.realpath(g().join(a,c));break}catch(a){if("ENOENT"!==a.code)throw a}if(!f){if(Object.prototype.hasOwnProperty.call(a.dependencies??{},c))throw Error("Required installation dependency missing.");continue}if(!n(d,f))throw Error("Dependency resolves outside the inspected installation.");s.push({from:b,name:c,to:f}),e.push(f)}}w();let y=[...t];for(let a=0;a<y.length;a+=32)await q(y.slice(a,a+32).map(async([a,b])=>{w(),await r(a,b,void 0,void 0,"Installation changed during dependency inspection.")}));return l.sort((a,b)=>a.directory.localeCompare(b.directory)),s.sort((a,b)=>JSON.stringify(a).localeCompare(JSON.stringify(b))),{installation:d,packages:l,edges:s,digest:(0,h.createHash)("sha256").update(JSON.stringify({domain:"flujo:mcp:installed-dependency-graph:v1",installation:d,packages:l,edges:s})).digest("hex")}}var t=c(950902);let u=["package.json","src","dist","scripts","tsconfig.json","README.md","LICENSE"],v=new Set([...l.wZ.map(a=>a.packageDirectory),"shared"]),w=new Map,x=".flujo-template.json";async function y(a){return e().lstat(a).catch(a=>{if("ENOENT"!==a.code)throw a})}async function z(a){let b=await e().lstat(a);if(!b.isDirectory()||b.isSymbolicLink())throw Error(`Shipped package directory must not be a symlink or junction: ${a}`)}async function A(a,b){let c=await e().lstat(a);if(c.isSymbolicLink())throw Error(`Shipped package assets must not contain links: ${a}`);if(c.isDirectory())for(let c of(await e().mkdir(b),await e().readdir(a)))await A(g().join(a,c),g().join(b,c));else if(c.isFile())await e().copyFile(a,b,i.constants.COPYFILE_EXCL);else throw Error(`Unsupported shipped package asset: ${a}`)}function B(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function C(a,b){let c=await e().open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0));try{let d=await c.stat({bigint:!0});if(!d.isFile()||!B(b,d))throw Error("A copied package asset changed before it could be read.");let f=await c.readFile(),g=await e().lstat(a,{bigint:!0});if(g.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(!g.isFile()||BigInt(f.length)!==d.size||!B(d,await c.stat({bigint:!0}))||!B(d,g))throw Error("A copied package asset changed while it was being read.");return f}finally{await c.close()}}async function D(a,b=!1){let c=(0,h.createHash)("sha256"),d=(0,h.createHash)("sha256"),f=(0,h.createHash)("sha256"),i=(a,b,e=a,g=!0)=>{c.update(a),b&&(d.update(a),g&&f.update(e))},j=async(a,c,d)=>{for(let f of(await e().readdir(a)).sort()){if(!c&&["node_modules",".git",x].includes(f)||!c&&b&&!u.includes(f))continue;let k=c?d:["package.json","dist","scripts"].includes(f),l=c?`${c}/${f}`:f,m=g().join(a,f),n=await e().lstat(m,{bigint:!0});if(n.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(n.isDirectory())i(`directory:${l}\0`,k),await j(m,l,k);else if(n.isFile()){let a=await C(m,n),b=(0,h.createHash)("sha256").update(a).digest("hex"),c=/\.(?:cjs|cts|js|json|map|mjs|mts|sh|ts)$/i.test(l),d=k&&c?Buffer.from(a.toString("latin1").replace(/\r\n/g,"\n"),"latin1"):a,e=(0,h.createHash)("sha256").update(d).digest("hex"),f=!/^scripts\/.*\.test\.[cm]?[jt]s$/i.test(l);i(`file:${l}\0${b}\0`,k,`file:${l}\0${e}\0`,f)}else throw Error("A copied package contains an unsupported asset.")}};return await j(a,"",!1),{assetSha256:c.digest("hex"),runtimeSha256:d.digest("hex"),portableRuntimeSha256:f.digest("hex")}}async function E(a,b){let c;await z(a);let d=g().join(a,"package.json"),f=await y(d);if(!f?.isFile()||f.isSymbolicLink())throw Error(`Shipped package manifest is missing: ${b}`);try{c=JSON.parse(await e().readFile(d,"utf8"))}catch{throw Error(`Shipped package manifest is invalid: ${b}`)}let h=l.wZ.find(a=>a.packageDirectory===b),i=h?[h.packageId,...h.legacyPackageIds??[]]:["@flujo-ai/mcp-shared"];if(!c||!i.includes(c.name))throw Error(`The existing ${b} directory belongs to a different package; it was not overwritten.`);if("shared"!==b){await z(g().join(a,"dist"));let c=await y(g().join(a,"dist","index.js"));if(!c?.isFile()||c.isSymbolicLink())throw Error(`Shipped package is not built: ${b}. Build its MCP package first.`)}return c}async function F(a,b){let c=g().join(a,"mcp-servers",b,"package.json"),d=JSON.parse(await e().readFile(c,"utf8")),f=Reflect.get(k,"createRequire")(c),h=Object.keys(d.dependencies??{}),i=Object.keys({...d.devDependencies,...d.optionalDependencies}),j=[];for(let a of new Set([...h,...i])){if(!/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i.test(a))throw Error("Invalid shipped package dependency name.");let b=!1;for(let c of f.resolve.paths(a)??[]){let d=g().join(c,a);if(!await y(d))continue;let f=await e().realpath(d);await z(f),j.push({name:a,root:c,directory:f}),b=!0;break}if(!b&&h.includes(a))throw Error(`The installation is missing the ${a} dependency. Repair the application installation first.`)}let l=[...new Set(j.map(a=>a.root))];return{packages:j,sharedRoot:1===l.length?await e().realpath(l[0]):void 0}}async function G(a,b,c=(0,l.P2)()){return(0,t.Cg)("ASSETS",async()=>{if(!l.wZ.some(a=>a.packageDirectory===b))throw Error("Unknown shipped package.");let d=await e().realpath(c);await z(d);let f=g().join(d,"mcp-servers",b),h=g().join(g().resolve(a),"mcp-servers",b);await E(f,b),await E(h,b);let[i,j]=await Promise.all([D(f,!0),D(h,!0)]);if(i.assetSha256!==j.assetSha256)throw Error("Copied package differs from the installed revision.");let k=await (0,t.Cg)("DEP_LAYOUT",()=>F(d,b)),{runtimeDependencies:m,dependencyNamespaceRoot:n}=await (0,t.Cg)("DEP_LAYOUT",async()=>{let a=JSON.parse(await e().readFile(g().join(f,"package.json"),"utf8")),b=new Set(Object.keys({...a.dependencies,...a.optionalDependencies})),c=k.packages.filter(a=>b.has(a.name)),h=d;if("node_modules"===g().basename(g().dirname(d))){if("flujo-ai"!==JSON.parse(await e().readFile(g().join(d,"package.json"),"utf8")).name)throw Error("Unrecognized flattened application installation.");h=await e().realpath(g().dirname(d))}return{runtimeDependencies:c,dependencyNamespaceRoot:h}}),o=await (0,t.Cg)("DEP_GRAPH",()=>s(n,m.map(a=>a.directory))),p=await (0,t.Cg)("DEP_LINKS",async()=>{let a=g().join(h,"node_modules"),b=[];if(k.sharedRoot){if(!(await e().lstat(a)).isSymbolicLink()||await e().realpath(a)!==k.sharedRoot)throw Error("Copied dependency target differs from the installation.");b.push({link:a,target:k.sharedRoot})}else for(let c of(await z(a),k.packages)){let d=g().join(a,c.name);if(!(await e().lstat(d)).isSymbolicLink()||await e().realpath(d)!==c.directory)throw Error("Copied dependency target differs from the installation.");b.push({link:d,target:c.directory})}return b});return{installation:d,packageDirectory:b,sourceRoot:h,assetDigest:j.assetSha256,runtimeDigest:j.runtimeSha256,dependencyLinks:p,dependencies:m.map(a=>({name:a.name,directory:a.directory})),dependencyNamespaceRoot:n,dependencyGraph:o}})}async function H(a,b,c){let d=g().join(a,"node_modules"),f=await y(d);if(f?.isDirectory()&&!f.isSymbolicLink()&&!await y(g().join(d,".flujo-dependencies.json")))return;let i=await F(b,c);if(f){if(f.isSymbolicLink()&&i.sharedRoot&&await e().realpath(d).catch(()=>"")===i.sharedRoot)return;if(f.isDirectory()&&!f.isSymbolicLink()){for(let a of i.packages){let b=g().join(d,a.name);if(!(await y(b))?.isSymbolicLink()||await e().realpath(b).catch(()=>"")!==a.directory)throw Error("The copied package dependency links are incomplete; existing dependencies were not replaced.")}return}throw Error("The copied package dependency link is invalid; its existing dependencies were not replaced.")}try{if(i.sharedRoot)await e().symlink(i.sharedRoot,d,"win32"===process.platform?"junction":"dir");else{let b=g().join(a,`.flujo-dependencies-${(0,h.randomUUID)()}`);await e().mkdir(b);try{for(let a of(await e().writeFile(g().join(b,".flujo-dependencies.json"),JSON.stringify({version:1}),{flag:"wx"}),i.packages)){let c=g().join(b,a.name);await e().mkdir(g().dirname(c),{recursive:!0}),await e().symlink(a.directory,c,"win32"===process.platform?"junction":"dir")}await e().rename(b,d)}finally{await e().rm(b,{recursive:!0,force:!0})}}}catch(e){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(e.code??"")||!await y(d))throw e;await H(a,b,c)}}async function I(a,b,c){if(!v.has(c))throw Error("Unknown shipped package directory.");let d=g().join(a,c);if(await y(d)){await E(d,c),await H(d,b,c);return}let f=g().join(b,"mcp-servers",c);if("shared"===c&&!await y(f))return;let i=await E(f,c),j=g().join(a,`.flujo-copy-${c}-${(0,h.randomUUID)()}`);await e().mkdir(j);try{for(let a of u){let b=g().join(f,a);await y(b)&&await A(b,g().join(j,a))}await H(j,b,c),await e().writeFile(g().join(j,x),JSON.stringify({version:1,packageDirectory:c,copiedAt:new Date().toISOString(),sourcePackageVersion:i.version,sourceManifestSha256:(0,h.createHash)("sha256").update(await e().readFile(g().join(f,"package.json"))).digest("hex"),assetSha256:(await D(j)).assetSha256,dependencyPolicy:"installation-resolution"}),{flag:"wx"});try{await e().rename(j,d)}catch(a){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(a.code??"")||!await y(d))throw a;await E(d,c),await H(d,b,c)}}finally{await e().rm(j,{recursive:!0,force:!0})}}function J(a,b=(0,l.P2)(),c=l.wZ.map(a=>a.packageDirectory)){if(0===c.length)return Promise.resolve();let d=JSON.stringify([g().resolve(a),g().resolve(b),[...c].sort()]),f=w.get(d);if(f)return f;let h=(async()=>{await z(a);let d=await e().realpath(b);await z(d),await z(g().join(d,"mcp-servers"));let f=g().join(a,"mcp-servers");for(let a of(await e().mkdir(f,{recursive:!0}),await z(f),[...new Set([...c,"shared"])]))await I(f,d,a);let h=g().join(d,"mcp-servers","embed-shared.mjs"),i=g().join(f,"embed-shared.mjs");if(await y(h)&&!await y(i))try{await A(h,i)}catch(a){if("EEXIST"!==a.code)throw a}})().finally(()=>w.delete(d));return w.set(d,h),h}},553468:(a,b,c)=>{c.d(b,{AI:()=>i,AW:()=>j,P2:()=>h,Vm:()=>k,wZ:()=>g});var d=c(176760),e=c.n(d),f=c(189663);let g=[{defaultName:"flujo",packageId:"@mario.andreschak/mcp-flujo",legacyPackageIds:["@flujo-ai/mcp-flujo"],packageDirectory:"flujo",icons:[{src:"/mcp-icons/flujo.svg",mimeType:"image/svg+xml"}]},{defaultName:"filesystem",packageId:"@mario.andreschak/mcp-filesystem",packageDirectory:"filesystem",icons:[{src:"/mcp-icons/filesystem.svg",mimeType:"image/svg+xml"}],hostPathAccess:{environmentRootVariables:["FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"bash",packageId:"@mario.andreschak/mcp-bash",legacyPackageIds:["@flujo-ai/mcp-bash"],packageDirectory:"bash",icons:[{src:"/mcp-icons/bash.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0,hostPathAccess:{environmentRootVariables:["FLUJO_BASH_ROOTS","FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"browser",packageId:"@mario.andreschak/mcp-browser",legacyPackageIds:["@flujo-ai/mcp-browser"],packageDirectory:"browser",icons:[{src:"/mcp-icons/browser.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0}];function h(a=process.env){return e().resolve(a.FLUJO_APP_ROOT?.trim()||process.cwd())}function i(a=process.env,b=process.platform){let c=a.PLAYWRIGHT_BROWSERS_PATH?.trim();if(c)return c;let d="win32"===b?e().win32:e().posix;if("win32"===b){let b=a.LOCALAPPDATA?.trim();if(b)return d.join(b,"ms-playwright");let c=a.USERPROFILE?.trim();return c?d.join(c,"AppData","Local","ms-playwright"):void 0}let f=a.HOME?.trim();if("darwin"===b)return f?d.join(f,"Library","Caches","ms-playwright"):void 0;let g=a.XDG_CACHE_HOME?.trim();return g?d.join(g,"ms-playwright"):f?d.join(f,".cache","ms-playwright"):void 0}function j(a){let b=a.source?.type==="marketplace"?a.source.id:void 0;return g.find(c=>{let d=[c.packageId,...c.legacyPackageIds??[]];return d.includes(b??"")||d.includes("string"==typeof a.internalPackage?a.internalPackage:"")})}function k(a,b=process.env){let c=e().join("mcp-servers",a.packageDirectory);return{name:a.defaultName,transport:"stdio",command:"node",args:["./dist/index.js"],env:function(a,b=process.env){let c=(0,f.getCurrentWorkspace)(),d=e().resolve(b.FLUJO_PARENT_DATA_DIR?.trim()||b.FLUJO_DATA_DIR?.trim()||process.cwd()),g=e().join(d,"workspaces",c),h={FLUJO_PARENT_DATA_DIR:d,FLUJO_DATA_DIR:g,FLUJO_WORKSPACE:c},j=new Set(["FLUJO_BASE_URL","FLUJO_EXTRA_CA_CERTS","NODE_EXTRA_CA_CERTS","NODE_TLS_REJECT_UNAUTHORIZED","SSL_CERT_FILE"]);if("flujo"===a.defaultName)j.add("FLUJO_SYSTEM_SCREENSHOT_ENABLED");else if("filesystem"===a.defaultName)j.add("FLUJO_FS_ROOTS");else if("bash"===a.defaultName)j.add("FLUJO_BASH_ROOTS"),j.add("FLUJO_FS_ROOTS");else if("browser"===a.defaultName)for(let a of["FLUJO_BROWSER_ENABLED","FLUJO_BROWSER_ALLOWED_ORIGINS","FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS","FLUJO_BROWSER_RESTRICT_NAVIGATION","FLUJO_BROWSER_MODE","FLUJO_BROWSER_EXECUTABLE_PATH","FLUJO_BROWSER_PROFILE_DIR","FLUJO_BROWSER_LOCALE","FLUJO_BROWSER_TIMEZONE_ID","FLUJO_BROWSER_EXTENSION_DIRS","FLUJO_BROWSER_WINDOW_VISIBILITY","FLUJO_BROWSER_MAX_SESSIONS","FLUJO_BROWSER_IDLE_TIMEOUT_MS","FLUJO_BROWSER_MAX_REDIRECTS","FLUJO_BROWSER_SCREENSHOT_DIR","FLUJO_BROWSER_STREAM_ENABLED","FLUJO_BROWSER_STREAM_HOST","FLUJO_BROWSER_STREAM_PORT","FLUJO_BROWSER_STREAM_PUBLIC_ORIGIN","FLUJO_BROWSER_STREAM_QUALITY","FLUJO_MCP_APP_SANDBOX_ALLOW_ALL","FLUJO_BROWSER_STREAM_MAX_WIDTH","FLUJO_BROWSER_STREAM_MAX_HEIGHT","FLUJO_BROWSER_STREAM_AUDIO","FLUJO_BROWSER_VIEWPORT_WIDTH","FLUJO_BROWSER_VIEWPORT_HEIGHT","FLUJO_BROWSER_CHANNEL","FLUJO_BROWSER_HEADED","FLUJO_BROWSER_AUDIO","FLUJO_BROWSER_ALLOW_SERVICE_WORKERS","PLAYWRIGHT_BROWSERS_PATH","FLUJO_BROWSER_ALLOW_LOCAL_CAPTURE","FLUJO_BROWSER_LOCAL_CAPTURE_ROOTS","FLUJO_BROWSER_RECORD_DIR","FLUJO_BROWSER_RECORD_MAX_MS","FLUJO_BROWSER_RECORD_MAX_WIDTH","FLUJO_BROWSER_RECORD_MAX_HEIGHT","FLUJO_BROWSER_INLINE_RECORDING_MAX_BYTES","FLUJO_FFMPEG_PATH"])j.add(a);for(let a of j){let c=b[a];"string"==typeof c&&(h[a]=c)}if("browser"!==a.defaultName||h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS?.trim()||(h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS="1"),"browser"===a.defaultName){let a=i(b);a&&(h.PLAYWRIGHT_BROWSERS_PATH=a)}return h.FLUJO_PARENT_DATA_DIR=d,h.FLUJO_DATA_DIR=g,h.FLUJO_WORKSPACE=c,"browser"===a.defaultName&&(h.FLUJO_BROWSER_PROFILE_DIR=e().join(g,"browser-profile","trusted"),h.FLUJO_BROWSER_SCREENSHOT_DIR=e().join(g,"screenshots","browser"),h.FLUJO_BROWSER_RECORD_DIR=e().join(g,"recordings","browser")),h}(a,b),cwd:c,disabled:a.disabledByDefault?.(b)??!1,rootPath:c,roots:[],_buildCommand:"",_installCommand:"",source:{type:"marketplace",id:a.packageId},icons:a.icons,exposeAsMcpServer:!0,enableMcpApps:a.enableMcpApps??!1,...a.hostPathAccess?{hostPathAccess:a.hostPathAccess}:{}}}}};
1
+ "use strict";exports.id=34679,exports.ids=[34679],exports.modules={34679:(a,b,c)=>{c.d(b,{_F:()=>K,inspectShippedWorkspaceProvenance:()=>G});var d=c(51455),e=c.n(d),f=c(176760),g=c.n(f),h=c(977598),i=c(973024),j=c.n(i),k=c(598995),l=c(553468);let m=/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i;function n(a,b){let c=g().relative(a,b);return".."!==c&&!c.startsWith(`..${g().sep}`)&&!g().isAbsolute(c)}async function o(a){let b=g().resolve(a),c=await j().promises.realpath(a),d=a=>"win32"===process.platform?a.toLowerCase():a;if(d(c)!==d(b))throw Error("Linked installation asset refused.")}function p(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs&&a.mode===b.mode}async function q(a){return(await Promise.allSettled(a)).map(a=>{if("rejected"===a.status)throw a.reason;return a.value})}async function r(a,b,c,d,e="Dependency asset changed."){let f=await Promise.allSettled([o(a),...c?[c.stat({bigint:!0})]:[],j().promises.lstat(a,{bigint:!0})]),g=f[0];if("rejected"===g.status)throw g.reason;if(void 0!==d&&BigInt(d)!==b.size)throw Error(e);for(let a of f.slice(1)){if("rejected"===a.status)throw a.reason;if(!a.value||!p(b,a.value))throw Error(e)}if(c&&!p(b,j().fstatSync(c.fd,{bigint:!0}))||!p(b,j().lstatSync(a,{bigint:!0})))throw Error(e)}async function s(a,b,c){let d=await j().promises.realpath(a);await o(d);let e=[...b],f=new Set,l=[],s=[],t=new Map,u=0,v=0,w=()=>{if(c?.aborted)throw Error("Dependency inspection cancelled.")},x=async(a,b,c=!1)=>{w();let d=await j().promises.open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0)),e=[],f=Buffer.alloc(65536),g=(0,h.createHash)("sha256");try{let h=await d.stat({bigint:!0});if(!h.isFile()||h.nlink!==BigInt(1)||h.size>BigInt(b))throw Error("Dependency asset exceeds its bounds.");let i=t.get(a);if(i&&!p(i,h))throw Error("Dependency asset changed between reads.");await r(a,h);let j=0;for(;;){w();let a=await d.read(f,0,f.length,null);if(!a.bytesRead)break;if((j+=a.bytesRead)>b)throw Error("Dependency asset exceeds its bounds.");g.update(f.subarray(0,a.bytesRead)),c||e.push(Buffer.from(f.subarray(0,a.bytesRead)))}return await r(a,h,d,j),t.set(a,h),{content:c?void 0:Buffer.concat(e),digest:g.digest("hex")}}finally{for(let a of(f.fill(0),e))a.fill(0);await d.close()}};for(;e.length;){let a;w();let b=await j().promises.realpath(e.shift());if(!n(d,b))throw Error("Dependency resolves outside the inspected installation.");if(f.has(b))continue;if(f.add(b),f.size>256)throw Error("Dependency graph exceeds its package bound.");await o(b);let c=g().join(b,"package.json"),i=await x(c,65536),r=i.content,y=i.digest;try{a=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(r))}finally{r.fill(0)}if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid dependency manifest.");for(let b of[a.dependencies,a.optionalDependencies,a.peerDependencies])if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)||Object.values(b).some(a=>"string"!=typeof a||a.length>2048)))throw Error("Invalid dependency declarations.");let z=(0,h.createHash)("sha256").update("flujo:mcp:installed-dependency:v1\0"),A=async a=>{if(w(),++u>16384)throw Error("Dependency graph exceeds its member bound.");await o(a);let d=await j().promises.lstat(a,{bigint:!0});if(!d.isDirectory())throw Error("Dependency directory refused.");t.set(a,d),z.update(JSON.stringify(["directory",g().relative(b,a),String(d.mode)]));let e=(await j().promises.readdir(a)).sort().filter(a=>"node_modules"!==a);for(let d=0;d<e.length;d+=16)for(let f of(await q(e.slice(d,d+16).map(async b=>{w();let d=g().join(a,b),e=await j().promises.lstat(d,{bigint:!0});if(e.isDirectory()&&!e.isSymbolicLink())return{filename:d,stat:e,digest:void 0};if(++u>16384||!e.isFile()||e.isSymbolicLink())throw Error("Dependency member refused.");let f=Number(e.size);if((v+=f)>0x10000000)throw Error("Dependency graph exceeds its byte bound.");let{digest:h}=await x(d,f,!0);if(!p(e,t.get(d)))throw Error("Dependency member changed before reading.");if(d===c&&h!==y)throw Error("Parsed dependency manifest differs from the fingerprinted manifest.");return{filename:d,stat:e,digest:h}}))))void 0===f.digest?await A(f.filename):z.update(JSON.stringify(["file",g().relative(b,f.filename),String(f.stat.mode),f.digest]));if(await o(a),!p(d,await j().promises.lstat(a,{bigint:!0})))throw Error("Dependency directory changed.")};await A(b),l.push({directory:b,digest:z.digest("hex")});let B=Reflect.get(k,"createRequire")(c),C=new Set([...Object.keys(a.dependencies??{}),...Object.keys(a.optionalDependencies??{}),...Object.keys(a.peerDependencies??{})]);if(C.size>128)throw Error("Dependency manifest exceeds its name bound.");for(let c of[...C].sort()){let f;if(!m.test(c))throw Error("Invalid dependency name.");for(let a of B.resolve.paths(c)??[])try{f=await j().promises.realpath(g().join(a,c));break}catch(a){if("ENOENT"!==a.code)throw a}if(!f){if(Object.prototype.hasOwnProperty.call(a.dependencies??{},c))throw Error("Required installation dependency missing.");continue}if(!n(d,f))throw Error("Dependency resolves outside the inspected installation.");s.push({from:b,name:c,to:f}),e.push(f)}}w();let y=[...t];for(let a=0;a<y.length;a+=32)await q(y.slice(a,a+32).map(async([a,b])=>{w(),await r(a,b,void 0,void 0,"Installation changed during dependency inspection.")}));return l.sort((a,b)=>a.directory.localeCompare(b.directory)),s.sort((a,b)=>JSON.stringify(a).localeCompare(JSON.stringify(b))),{installation:d,packages:l,edges:s,digest:(0,h.createHash)("sha256").update(JSON.stringify({domain:"flujo:mcp:installed-dependency-graph:v1",installation:d,packages:l,edges:s})).digest("hex")}}var t=c(950902);let u=["package.json","src","dist","scripts","tsconfig.json","README.md","LICENSE"],v=new Set([...l.wZ.map(a=>a.packageDirectory),"shared"]),w=new Map,x=".flujo-template.json";async function y(a){return e().lstat(a).catch(a=>{if("ENOENT"!==a.code)throw a})}async function z(a){let b=await e().lstat(a);if(!b.isDirectory()||b.isSymbolicLink())throw Error(`Shipped package directory must not be a symlink or junction: ${a}`)}async function A(a,b){let c=await e().lstat(a);if(c.isSymbolicLink())throw Error(`Shipped package assets must not contain links: ${a}`);if(c.isDirectory())for(let c of(await e().mkdir(b),await e().readdir(a)))await A(g().join(a,c),g().join(b,c));else if(c.isFile())await e().copyFile(a,b,i.constants.COPYFILE_EXCL);else throw Error(`Unsupported shipped package asset: ${a}`)}function B(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function C(a,b){let c=await e().open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0));try{let d=await c.stat({bigint:!0});if(!d.isFile()||!B(b,d))throw Error("A copied package asset changed before it could be read.");let f=await c.readFile(),g=await e().lstat(a,{bigint:!0});if(g.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(!g.isFile()||BigInt(f.length)!==d.size||!B(d,await c.stat({bigint:!0}))||!B(d,g))throw Error("A copied package asset changed while it was being read.");return f}finally{await c.close()}}async function D(a,b=!1){let c=(0,h.createHash)("sha256"),d=(0,h.createHash)("sha256"),f=(0,h.createHash)("sha256"),i=(a,b,e=a,g=!0)=>{c.update(a),b&&(d.update(a),g&&f.update(e))},j=async(a,c,d)=>{for(let f of(await e().readdir(a)).sort()){if(!c&&["node_modules",".git",x].includes(f)||!c&&b&&!u.includes(f))continue;let k=c?d:["package.json","dist","scripts"].includes(f),l=c?`${c}/${f}`:f,m=g().join(a,f),n=await e().lstat(m,{bigint:!0});if(n.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(n.isDirectory())i(`directory:${l}\0`,k),await j(m,l,k);else if(n.isFile()){let a=await C(m,n),b=(0,h.createHash)("sha256").update(a).digest("hex"),c=/\.(?:cjs|cts|js|json|map|mjs|mts|sh|ts)$/i.test(l),d=k&&c?Buffer.from(a.toString("latin1").replace(/\r\n/g,"\n"),"latin1"):a,e=(0,h.createHash)("sha256").update(d).digest("hex"),f=!/^scripts\/.*\.test\.[cm]?[jt]s$/i.test(l);i(`file:${l}\0${b}\0`,k,`file:${l}\0${e}\0`,f)}else throw Error("A copied package contains an unsupported asset.")}};return await j(a,"",!1),{assetSha256:c.digest("hex"),runtimeSha256:d.digest("hex"),portableRuntimeSha256:f.digest("hex")}}async function E(a,b){let c;await z(a);let d=g().join(a,"package.json"),f=await y(d);if(!f?.isFile()||f.isSymbolicLink())throw Error(`Shipped package manifest is missing: ${b}`);try{c=JSON.parse(await e().readFile(d,"utf8"))}catch{throw Error(`Shipped package manifest is invalid: ${b}`)}let h=l.wZ.find(a=>a.packageDirectory===b),i=h?[h.packageId,...h.legacyPackageIds??[]]:["@flujo-ai/mcp-shared"];if(!c||!i.includes(c.name))throw Error(`The existing ${b} directory belongs to a different package; it was not overwritten.`);if("shared"!==b){await z(g().join(a,"dist"));let c=await y(g().join(a,"dist","index.js"));if(!c?.isFile()||c.isSymbolicLink())throw Error(`Shipped package is not built: ${b}. Build its MCP package first.`)}return c}async function F(a,b){let c=g().join(a,"mcp-servers",b,"package.json"),d=JSON.parse(await e().readFile(c,"utf8")),f=Reflect.get(k,"createRequire")(c),h=Object.keys(d.dependencies??{}),i=Object.keys({...d.devDependencies,...d.optionalDependencies}),j=[];for(let a of new Set([...h,...i])){if(!/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i.test(a))throw Error("Invalid shipped package dependency name.");let b=!1;for(let c of f.resolve.paths(a)??[]){let d=g().join(c,a);if(!await y(d))continue;let f=await e().realpath(d);await z(f),j.push({name:a,root:c,directory:f}),b=!0;break}if(!b&&h.includes(a))throw Error(`The installation is missing the ${a} dependency. Repair the application installation first.`)}let l=[...new Set(j.map(a=>a.root))];return{packages:j,sharedRoot:1===l.length?await e().realpath(l[0]):void 0}}async function G(a,b,c=(0,l.P2)()){return(0,t.Cg)("ASSETS",async()=>{if(!l.wZ.some(a=>a.packageDirectory===b))throw Error("Unknown shipped package.");let d=await e().realpath(c);await z(d);let f=g().join(d,"mcp-servers",b),h=g().join(g().resolve(a),"mcp-servers",b);await E(f,b),await E(h,b);let[i,j]=await Promise.all([D(f,!0),D(h,!0)]);if(i.assetSha256!==j.assetSha256)throw Error("Copied package differs from the installed revision.");let k=await (0,t.Cg)("DEP_LAYOUT",()=>F(d,b)),{runtimeDependencies:m,dependencyNamespaceRoot:n}=await (0,t.Cg)("DEP_LAYOUT",async()=>{let a=JSON.parse(await e().readFile(g().join(f,"package.json"),"utf8")),b=new Set(Object.keys({...a.dependencies,...a.optionalDependencies})),c=k.packages.filter(a=>b.has(a.name)),h=d;if("node_modules"===g().basename(g().dirname(d))){if("flujo-ai"!==JSON.parse(await e().readFile(g().join(d,"package.json"),"utf8")).name)throw Error("Unrecognized flattened application installation.");h=await e().realpath(g().dirname(d))}return{runtimeDependencies:c,dependencyNamespaceRoot:h}}),o=await (0,t.Cg)("DEP_GRAPH",()=>s(n,m.map(a=>a.directory))),p=await (0,t.Cg)("DEP_LINKS",async()=>{let a=g().join(h,"node_modules"),b=[];if(k.sharedRoot){if(!(await e().lstat(a)).isSymbolicLink()||await e().realpath(a)!==k.sharedRoot)throw Error("Copied dependency target differs from the installation.");b.push({link:a,target:k.sharedRoot})}else for(let c of(await z(a),k.packages)){let d=g().join(a,c.name);if(!(await e().lstat(d)).isSymbolicLink()||await e().realpath(d)!==c.directory)throw Error("Copied dependency target differs from the installation.");b.push({link:d,target:c.directory})}return b});return{installation:d,packageDirectory:b,sourceRoot:h,assetDigest:j.assetSha256,runtimeDigest:j.runtimeSha256,dependencyLinks:p,dependencies:m.map(a=>({name:a.name,directory:a.directory})),dependencyNamespaceRoot:n,dependencyGraph:o}})}async function H(a){try{let b=JSON.parse(await e().readFile(g().join(a,x),"utf8"));return b?.version===1&&b?.dependencyPolicy==="installation-resolution"}catch{return!1}}async function I(a,b,c){let d=g().join(a,"node_modules"),f=await y(d);if(f?.isDirectory()&&!f.isSymbolicLink()&&!await y(g().join(d,".flujo-dependencies.json")))return;let i=await F(b,c);if(f){if(f.isSymbolicLink()&&i.sharedRoot&&await e().realpath(d).catch(()=>"")===i.sharedRoot)return;let b=f.isDirectory()&&!f.isSymbolicLink();if(b){let a=!0;for(let b of i.packages){let c=g().join(d,b.name);if(!(await y(c))?.isSymbolicLink()||await e().realpath(c).catch(()=>"")!==b.directory){a=!1;break}}if(a)return}if(!await H(a))throw Error(b?"The copied package dependency links are incomplete; existing dependencies were not replaced.":"The copied package dependency link is invalid; its existing dependencies were not replaced.");b?await e().rm(d,{recursive:!0,force:!0}):await e().unlink(d).catch(a=>{if("ENOENT"!==a.code)throw a})}try{if(i.sharedRoot)await e().symlink(i.sharedRoot,d,"win32"===process.platform?"junction":"dir");else{let b=g().join(a,`.flujo-dependencies-${(0,h.randomUUID)()}`);await e().mkdir(b);try{for(let a of(await e().writeFile(g().join(b,".flujo-dependencies.json"),JSON.stringify({version:1}),{flag:"wx"}),i.packages)){let c=g().join(b,a.name);await e().mkdir(g().dirname(c),{recursive:!0}),await e().symlink(a.directory,c,"win32"===process.platform?"junction":"dir")}await e().rename(b,d)}finally{await e().rm(b,{recursive:!0,force:!0})}}}catch(e){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(e.code??"")||!await y(d))throw e;await I(a,b,c)}}async function J(a,b,c){if(!v.has(c))throw Error("Unknown shipped package directory.");let d=g().join(a,c);if(await y(d)){await E(d,c),await I(d,b,c);return}let f=g().join(b,"mcp-servers",c);if("shared"===c&&!await y(f))return;let i=await E(f,c),j=g().join(a,`.flujo-copy-${c}-${(0,h.randomUUID)()}`);await e().mkdir(j);try{for(let a of u){let b=g().join(f,a);await y(b)&&await A(b,g().join(j,a))}await I(j,b,c),await e().writeFile(g().join(j,x),JSON.stringify({version:1,packageDirectory:c,copiedAt:new Date().toISOString(),sourcePackageVersion:i.version,sourceManifestSha256:(0,h.createHash)("sha256").update(await e().readFile(g().join(f,"package.json"))).digest("hex"),assetSha256:(await D(j)).assetSha256,dependencyPolicy:"installation-resolution"}),{flag:"wx"});try{await e().rename(j,d)}catch(a){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(a.code??"")||!await y(d))throw a;await E(d,c),await I(d,b,c)}}finally{await e().rm(j,{recursive:!0,force:!0})}}function K(a,b=(0,l.P2)(),c=l.wZ.map(a=>a.packageDirectory)){if(0===c.length)return Promise.resolve();let d=JSON.stringify([g().resolve(a),g().resolve(b),[...c].sort()]),f=w.get(d);if(f)return f;let h=(async()=>{await z(a);let d=await e().realpath(b);await z(d),await z(g().join(d,"mcp-servers"));let f=g().join(a,"mcp-servers");for(let a of(await e().mkdir(f,{recursive:!0}),await z(f),[...new Set([...c,"shared"])]))await J(f,d,a);let h=g().join(d,"mcp-servers","embed-shared.mjs"),i=g().join(f,"embed-shared.mjs");if(await y(h)&&!await y(i))try{await A(h,i)}catch(a){if("EEXIST"!==a.code)throw a}})().finally(()=>w.delete(d));return w.set(d,h),h}},553468:(a,b,c)=>{c.d(b,{AI:()=>i,AW:()=>j,P2:()=>h,Vm:()=>k,wZ:()=>g});var d=c(176760),e=c.n(d),f=c(189663);let g=[{defaultName:"flujo",packageId:"@mario.andreschak/mcp-flujo",legacyPackageIds:["@flujo-ai/mcp-flujo"],packageDirectory:"flujo",icons:[{src:"/mcp-icons/flujo.svg",mimeType:"image/svg+xml"}]},{defaultName:"filesystem",packageId:"@mario.andreschak/mcp-filesystem",packageDirectory:"filesystem",icons:[{src:"/mcp-icons/filesystem.svg",mimeType:"image/svg+xml"}],hostPathAccess:{environmentRootVariables:["FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"bash",packageId:"@mario.andreschak/mcp-bash",legacyPackageIds:["@flujo-ai/mcp-bash"],packageDirectory:"bash",icons:[{src:"/mcp-icons/bash.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0,hostPathAccess:{environmentRootVariables:["FLUJO_BASH_ROOTS","FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"browser",packageId:"@mario.andreschak/mcp-browser",legacyPackageIds:["@flujo-ai/mcp-browser"],packageDirectory:"browser",icons:[{src:"/mcp-icons/browser.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0}];function h(a=process.env){return e().resolve(a.FLUJO_APP_ROOT?.trim()||process.cwd())}function i(a=process.env,b=process.platform){let c=a.PLAYWRIGHT_BROWSERS_PATH?.trim();if(c)return c;let d="win32"===b?e().win32:e().posix;if("win32"===b){let b=a.LOCALAPPDATA?.trim();if(b)return d.join(b,"ms-playwright");let c=a.USERPROFILE?.trim();return c?d.join(c,"AppData","Local","ms-playwright"):void 0}let f=a.HOME?.trim();if("darwin"===b)return f?d.join(f,"Library","Caches","ms-playwright"):void 0;let g=a.XDG_CACHE_HOME?.trim();return g?d.join(g,"ms-playwright"):f?d.join(f,".cache","ms-playwright"):void 0}function j(a){let b=a.source?.type==="marketplace"?a.source.id:void 0;return g.find(c=>{let d=[c.packageId,...c.legacyPackageIds??[]];return d.includes(b??"")||d.includes("string"==typeof a.internalPackage?a.internalPackage:"")})}function k(a,b=process.env){let c=e().join("mcp-servers",a.packageDirectory);return{name:a.defaultName,transport:"stdio",command:"node",args:["./dist/index.js"],env:function(a,b=process.env){let c=(0,f.getCurrentWorkspace)(),d=e().resolve(b.FLUJO_PARENT_DATA_DIR?.trim()||b.FLUJO_DATA_DIR?.trim()||process.cwd()),g=e().join(d,"workspaces",c),h={FLUJO_PARENT_DATA_DIR:d,FLUJO_DATA_DIR:g,FLUJO_WORKSPACE:c},j=new Set(["FLUJO_BASE_URL","FLUJO_EXTRA_CA_CERTS","NODE_EXTRA_CA_CERTS","NODE_TLS_REJECT_UNAUTHORIZED","SSL_CERT_FILE"]);if("flujo"===a.defaultName)j.add("FLUJO_SYSTEM_SCREENSHOT_ENABLED");else if("filesystem"===a.defaultName)j.add("FLUJO_FS_ROOTS");else if("bash"===a.defaultName)j.add("FLUJO_BASH_ROOTS"),j.add("FLUJO_FS_ROOTS");else if("browser"===a.defaultName)for(let a of["FLUJO_BROWSER_ENABLED","FLUJO_BROWSER_ALLOWED_ORIGINS","FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS","FLUJO_BROWSER_RESTRICT_NAVIGATION","FLUJO_BROWSER_MODE","FLUJO_BROWSER_EXECUTABLE_PATH","FLUJO_BROWSER_PROFILE_DIR","FLUJO_BROWSER_LOCALE","FLUJO_BROWSER_TIMEZONE_ID","FLUJO_BROWSER_EXTENSION_DIRS","FLUJO_BROWSER_WINDOW_VISIBILITY","FLUJO_BROWSER_MAX_SESSIONS","FLUJO_BROWSER_IDLE_TIMEOUT_MS","FLUJO_BROWSER_MAX_REDIRECTS","FLUJO_BROWSER_SCREENSHOT_DIR","FLUJO_BROWSER_STREAM_ENABLED","FLUJO_BROWSER_STREAM_HOST","FLUJO_BROWSER_STREAM_PORT","FLUJO_BROWSER_STREAM_PUBLIC_ORIGIN","FLUJO_BROWSER_STREAM_QUALITY","FLUJO_MCP_APP_SANDBOX_ALLOW_ALL","FLUJO_BROWSER_STREAM_MAX_WIDTH","FLUJO_BROWSER_STREAM_MAX_HEIGHT","FLUJO_BROWSER_STREAM_AUDIO","FLUJO_BROWSER_VIEWPORT_WIDTH","FLUJO_BROWSER_VIEWPORT_HEIGHT","FLUJO_BROWSER_CHANNEL","FLUJO_BROWSER_HEADED","FLUJO_BROWSER_AUDIO","FLUJO_BROWSER_ALLOW_SERVICE_WORKERS","PLAYWRIGHT_BROWSERS_PATH","FLUJO_BROWSER_ALLOW_LOCAL_CAPTURE","FLUJO_BROWSER_LOCAL_CAPTURE_ROOTS","FLUJO_BROWSER_RECORD_DIR","FLUJO_BROWSER_RECORD_MAX_MS","FLUJO_BROWSER_RECORD_MAX_WIDTH","FLUJO_BROWSER_RECORD_MAX_HEIGHT","FLUJO_BROWSER_INLINE_RECORDING_MAX_BYTES","FLUJO_FFMPEG_PATH"])j.add(a);for(let a of j){let c=b[a];"string"==typeof c&&(h[a]=c)}if("browser"!==a.defaultName||h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS?.trim()||(h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS="1"),"browser"===a.defaultName){let a=i(b);a&&(h.PLAYWRIGHT_BROWSERS_PATH=a)}return h.FLUJO_PARENT_DATA_DIR=d,h.FLUJO_DATA_DIR=g,h.FLUJO_WORKSPACE=c,"browser"===a.defaultName&&(h.FLUJO_BROWSER_PROFILE_DIR=e().join(g,"browser-profile","trusted"),h.FLUJO_BROWSER_SCREENSHOT_DIR=e().join(g,"screenshots","browser"),h.FLUJO_BROWSER_RECORD_DIR=e().join(g,"recordings","browser")),h}(a,b),cwd:c,disabled:a.disabledByDefault?.(b)??!1,rootPath:c,roots:[],_buildCommand:"",_installCommand:"",source:{type:"marketplace",id:a.packageId},icons:a.icons,exposeAsMcpServer:!0,enableMcpApps:a.enableMcpApps??!1,...a.hostPathAccess?{hostPathAccess:a.hostPathAccess}:{}}}}};