reflex-agent 0.9.1 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +114 -113
  3. package/.next/app-path-routes-manifest.json +9 -9
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/server/app/_not-found/page.js +2 -2
  8. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/agents/[agentId]/page.js +2 -3
  11. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  12. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/agents/[agentId]/respond/route.js +1 -2
  14. package/.next/server/app/api/agents/[agentId]/respond/route.js.nft.json +1 -1
  15. package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/oauth/callback/route.js +2 -2
  18. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +1 -2
  22. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js.nft.json +1 -1
  23. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +1 -2
  25. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js.nft.json +1 -1
  26. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +2 -3
  28. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js.nft.json +1 -1
  29. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
  31. package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
  32. package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
  34. package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
  35. package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +1 -2
  38. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js.nft.json +1 -1
  39. package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/audit/page.js +2 -2
  45. package/.next/server/app/audit/page.js.nft.json +1 -1
  46. package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/onboarding/page.js +3 -4
  48. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  49. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/page.js +2 -3
  51. package/.next/server/app/page.js.nft.json +1 -1
  52. package/.next/server/app/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -3
  54. package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
  55. package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
  57. package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
  58. package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/roots/[id]/page.js +4 -4
  60. package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
  61. package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
  63. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
  64. package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/roots/[id]/workflows/page.js +2 -2
  66. package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
  67. package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/roots/new/page.js +3 -3
  69. package/.next/server/app/roots/new/page.js.nft.json +1 -1
  70. package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/settings/page.js +6 -6
  72. package/.next/server/app/settings/page.js.nft.json +1 -1
  73. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/share/[id]/file/page.js +2 -2
  75. package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
  76. package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/share/[id]/page.js +2 -2
  78. package/.next/server/app/share/[id]/page.js.nft.json +1 -1
  79. package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
  81. package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/utilities/page.js +2 -2
  84. package/.next/server/app/utilities/page.js.nft.json +1 -1
  85. package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app-paths-manifest.json +9 -9
  87. package/.next/server/chunks/1105.js +1 -1
  88. package/.next/server/chunks/1358.js +1 -1
  89. package/.next/server/chunks/2108.js +1 -0
  90. package/.next/server/chunks/243.js +1 -0
  91. package/.next/server/chunks/2552.js +1 -1
  92. package/.next/server/chunks/285.js +7 -6
  93. package/.next/server/chunks/3332.js +1 -1
  94. package/.next/server/chunks/{6326.js → 3829.js} +2 -2
  95. package/.next/server/chunks/4812.js +1 -1
  96. package/.next/server/chunks/4925.js +1 -1
  97. package/.next/server/chunks/{1988.js → 5470.js} +2 -2
  98. package/.next/server/chunks/6216.js +1 -1
  99. package/.next/server/chunks/7229.js +2 -0
  100. package/.next/server/chunks/7358.js +4 -4
  101. package/.next/server/chunks/7800.js +1 -1
  102. package/.next/server/chunks/827.js +1 -0
  103. package/.next/server/chunks/8501.js +1 -0
  104. package/.next/server/chunks/9098.js +1 -1
  105. package/.next/server/chunks/9448.js +3 -0
  106. package/.next/server/chunks/9631.js +2 -2
  107. package/.next/server/chunks/{3749.js → 9809.js} +1 -1
  108. package/.next/server/functions-config-manifest.json +1 -1
  109. package/.next/server/middleware-build-manifest.js +1 -1
  110. package/.next/server/middleware-manifest.json +5 -5
  111. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  112. package/.next/server/pages/500.html +1 -1
  113. package/.next/server/pages/_error.js +3 -3
  114. package/.next/server/server-reference-manifest.js +1 -1
  115. package/.next/server/server-reference-manifest.json +1 -1
  116. package/.next/static/chunks/1215-6bf6c0997a3966b5.js +1 -0
  117. package/.next/static/chunks/{3954-fe27ff41d9bf012d.js → 2038-0849f9c03cc8d6ab.js} +1 -1
  118. package/.next/static/chunks/4108.e60f6f2d13c6e341.js +1 -0
  119. package/.next/static/chunks/{6445-99824866a51b582a.js → 5041-50b52df22f60e028.js} +1 -1
  120. package/.next/static/chunks/5475-fd7801895adb058e.js +1 -0
  121. package/.next/static/chunks/{5235-990ba9c4c8446446.js → 6231-d572db56a0a44f92.js} +2 -2
  122. package/.next/static/chunks/7529-5e60df9bb54dac00.js +1 -0
  123. package/.next/static/chunks/7544-361ab91088caf4e2.js +1 -0
  124. package/.next/static/chunks/83-c3e4801d1362769d.js +1 -0
  125. package/.next/static/chunks/{5097-f07f6aeee3f60a33.js → 9776-e3882c1c63293e0a.js} +1 -1
  126. package/.next/static/chunks/app/audit/page-8dcb779a1ca1f1d1.js +1 -0
  127. package/.next/static/chunks/app/layout-d10a100470029f0e.js +1 -0
  128. package/.next/static/chunks/app/onboarding/page-a52d76f48c071f59.js +1 -0
  129. package/.next/static/chunks/app/{page-ad10be3dfddf1726.js → page-8551ff0fd6989e65.js} +1 -1
  130. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-ca235f5f1d523635.js +1 -0
  131. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-aebc35e79e6e16d6.js +1 -0
  132. package/.next/static/chunks/app/roots/[id]/page-9b4a28b335dd8190.js +1 -0
  133. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-ab2801337dc9cc52.js +1 -0
  134. package/.next/static/chunks/app/roots/[id]/workflows/page-85f4eb885ecb80a1.js +1 -0
  135. package/.next/static/chunks/app/roots/new/page-4036140c7828948d.js +1 -0
  136. package/.next/static/chunks/app/settings/page-175f2087baeb2328.js +1 -0
  137. package/.next/static/chunks/app/share/[id]/page-5f86538339553350.js +1 -0
  138. package/.next/static/chunks/app/utilities/[scope]/[id]/page-223495e5566167ef.js +1 -0
  139. package/.next/static/chunks/app/utilities/page-cbd341f4f56941a0.js +1 -0
  140. package/.next/static/chunks/{webpack-274d59f6d4391442.js → webpack-680c8fa1cf6aef64.js} +1 -1
  141. package/.next/trace +89 -89
  142. package/package.json +1 -1
  143. package/.next/server/chunks/1088.js +0 -1
  144. package/.next/server/chunks/192.js +0 -1
  145. package/.next/server/chunks/2143.js +0 -1
  146. package/.next/server/chunks/2356.js +0 -1
  147. package/.next/server/chunks/3775.js +0 -1
  148. package/.next/server/chunks/445.js +0 -3
  149. package/.next/server/chunks/5844.js +0 -1
  150. package/.next/server/chunks/7572.js +0 -2
  151. package/.next/server/chunks/9617.js +0 -1
  152. package/.next/static/chunks/2390-079e9ccc8bd20e63.js +0 -1
  153. package/.next/static/chunks/4108.4e39a8f41278c35d.js +0 -1
  154. package/.next/static/chunks/5822-6d9ec5c9f0cc673f.js +0 -1
  155. package/.next/static/chunks/7703-d9e4d0e072aed92d.js +0 -1
  156. package/.next/static/chunks/8302-4918fb0ed8cc2283.js +0 -1
  157. package/.next/static/chunks/8336-e69c4adb375513c5.js +0 -1
  158. package/.next/static/chunks/app/audit/page-e3445076d462aa80.js +0 -1
  159. package/.next/static/chunks/app/layout-7e681a7d621e2e09.js +0 -1
  160. package/.next/static/chunks/app/onboarding/page-69bd037838f9e996.js +0 -1
  161. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-dc406db1caaa8b38.js +0 -1
  162. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-b0ef88a66b2f0d1d.js +0 -1
  163. package/.next/static/chunks/app/roots/[id]/page-aa93ae31a8ee3c99.js +0 -1
  164. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-4526b98999cca3ad.js +0 -1
  165. package/.next/static/chunks/app/roots/[id]/workflows/page-e3445076d462aa80.js +0 -1
  166. package/.next/static/chunks/app/roots/new/page-03431339c6cd8f24.js +0 -1
  167. package/.next/static/chunks/app/settings/page-a19a41e378e7d8a4.js +0 -1
  168. package/.next/static/chunks/app/share/[id]/page-f9087c14a67b4dcd.js +0 -1
  169. package/.next/static/chunks/app/utilities/[scope]/[id]/page-f57871e8c1ab1f72.js +0 -1
  170. package/.next/static/chunks/app/utilities/page-ca382ce386f0d77c.js +0 -1
  171. /package/.next/static/{Phb9nqftdL6MOVwBc0yAc → fQIjUyzIepDxqQpzYlf6H}/_buildManifest.js +0 -0
  172. /package/.next/static/{Phb9nqftdL6MOVwBc0yAc → fQIjUyzIepDxqQpzYlf6H}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=3332,exports.ids=[3332],exports.modules={26970:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00a3d25a155d9d72c7aa41e14204d67387b3318379",d.callServer,void 0,d.findSourceMapURL,"listOAuthStatusesAction")},33332:(a,b,c)=>{c.d(b,{beginOAuthAction:()=>g.T,getOAuthClientAction:()=>f.J,listOAuthStatusesAction:()=>d.o,saveOAuthClientAction:()=>e.S});var d=c(26970),e=c(68989),f=c(62747),g=c(83687)},62747:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40de909a1b9aa77bfcdcfe967a1fd381328e0d81d1",d.callServer,void 0,d.findSourceMapURL,"getOAuthClientAction")},68989:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40588b5e81f0ff542cb154de7e6f9ccc2dc0dfd0a7",d.callServer,void 0,d.findSourceMapURL,"saveOAuthClientAction")},83687:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(3265);let e=(0,d.createServerReference)("601df653569e782420199ce1c8451e339e35558730",d.callServer,void 0,d.findSourceMapURL,"beginOAuthAction")}};
1
+ "use strict";exports.id=3332,exports.ids=[3332],exports.modules={1730:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(3265);let e=(0,d.createServerReference)("6037970c7b5d88b772b0b22f9c4a8d5dc88a151a03",d.callServer,void 0,d.findSourceMapURL,"beginOAuthAction")},33332:(a,b,c)=>{c.d(b,{beginOAuthAction:()=>g.T,getOAuthClientAction:()=>e.J,listOAuthStatusesAction:()=>d.o,saveOAuthClientAction:()=>f.S});var d=c(44610),e=c(40642),f=c(92960),g=c(1730)},40642:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(3265);let e=(0,d.createServerReference)("4060eba9dd050400b483afe84dfc884c2744a584a7",d.callServer,void 0,d.findSourceMapURL,"getOAuthClientAction")},44610:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00e03823f110681202fb780f26b4982980b5e81f7b",d.callServer,void 0,d.findSourceMapURL,"listOAuthStatusesAction")},92960:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40917347bb862dbc2126434fdee168779f5bed7d13",d.callServer,void 0,d.findSourceMapURL,"saveOAuthClientAction")}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6326,exports.ids=[6326],exports.modules={16856:(a,b,c)=>{c.d(b,{Is:()=>g,L8:()=>h,ns:()=>i});var d=c(73745);c(66493);var e=c(65326),f=c(30878);async function g(a){try{if("utility"===a.kind&&(!a.utilityId||!a.utilityScope))return{ok:!1,error:"share kind=utility requires utilityId + utilityScope"};if("kb-file"===a.kind&&(!a.rootId||!a.kbRelPath))return{ok:!1,error:"share kind=kb-file requires rootId + kbRelPath"};if(("kb-tree"===a.kind||"project"===a.kind)&&!a.rootId)return{ok:!1,error:`share kind=${a.kind} requires rootId`};let b=await (0,f.cn)(a);return(0,e.revalidatePath)("/settings"),{ok:!0,share:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function h(){return{shares:await (0,f.Bg)()}}async function i(a){let b=await (0,f.Ru)(a);return(0,e.revalidatePath)("/settings"),{ok:b}}(0,c(63781).D)([g,h,i]),(0,d.A)(g,"40e775e4c6b454de1325097cd878ef834d95ee8d4a",null),(0,d.A)(h,"00e00510e67c820d2199eb2b603274aa93ca0667a4",null),(0,d.A)(i,"40359a1499c2c92094928f0ba3fb338da1edc5b0ed",null)},30878:(a,b,c)=>{c.d(b,{BE:()=>o,Bg:()=>m,Ru:()=>q,cn:()=>p,er:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"shares.json");async function k(){try{let a=await d.promises.readFile(j,"utf8"),b=JSON.parse(a);if(b&&Array.isArray(b.shares))return b}catch{}return{version:1,shares:[]}}async function l(a){await d.promises.mkdir(f().dirname(j),{recursive:!0}),await d.promises.writeFile(j,JSON.stringify(a,null,2)+"\n",{mode:384})}async function m(){return(await k()).shares}async function n(a){return(await k()).shares.find(b=>b.id===a)??null}function o(a,b){if(!a.passwordHash)return!0;if(!a.passwordSalt)return!1;let c=h().createHash("sha256").update(a.passwordSalt+":"+b).digest("hex");return h().timingSafeEqual(Buffer.from(c,"hex"),Buffer.from(a.passwordHash,"hex"))}async function p(a){let b=await k(),c={id:function(){let a="abcdefghjkmnpqrstuvwxyz23456789",b="";for(let c=0;c<12;c++)b+=a[h().randomInt(0,a.length)];return b}(),kind:a.kind,createdAt:new Date().toISOString(),...a.rootId?{rootId:a.rootId}:{},...a.utilityScope?{utilityScope:a.utilityScope}:{},...a.utilityId?{utilityId:a.utilityId}:{},...a.kbRelPath?{kbRelPath:a.kbRelPath}:{},...a.expiresAt?{expiresAt:a.expiresAt}:{},...a.label?{label:a.label}:{}};if(a.password){let{salt:b,hash:d}=function(a){let b=h().randomBytes(16).toString("hex"),c=h().createHash("sha256").update(b+":"+a).digest("hex");return{salt:b,hash:c}}(a.password);c.passwordSalt=b,c.passwordHash=d}return b.shares=[c,...b.shares],await l(b),c}async function q(a){let b=await k(),c=b.shares.length;return b.shares=b.shares.filter(b=>b.id!==a),b.shares.length!==c&&(await l(b),!0)}},42382:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(64173);c(17240);var e=c(20483),f=c(91520),g=c(91344);let h=(0,e.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},47071:(a,b,c)=>{c.d(b,{p:()=>f});var d=c(64173);c(17240);var e=c(91344);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.cn)("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",a),...c})}},60524:(a,b,c)=>{c.d(b,{Separator:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/reflex-agent/reflex-agent/components/ui/separator.tsx","Separator")},80281:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(64173);c(17240);var e=c(90044),f=c(91344);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},84736:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00bf66e7a3c221d21263f24afb758495f31e714664",d.callServer,void 0,d.findSourceMapURL,"getTunnelStatusAction")},92814:(a,b,c)=>{c.d(b,{Ng:()=>s,bt:()=>v,Zl:()=>w,Nt:()=>t,Fm:()=>u});var d=c(73745);c(66493);var e=c(65326),f=c(36017),g=c(31421),h=c(73024),i=c(76760),j=c.n(i),k=c(73652);let l="__reflex_ngrok_tunnel__";function m(){return globalThis[l]}function n(a){globalThis[l]=a}async function o(a){let b;if(!a.authtoken)return{ok:!1,error:"ngrok authtoken is required"};let c=m();if(c&&null===c.child.exitCode)return{ok:!1,error:"Tunnel already running — stop it first."};let d=(0,k._)();await h.promises.mkdir(d,{recursive:!0});let e=j().join(d,"ngrok.yml");await h.promises.writeFile(e,`version: 3
1
+ "use strict";exports.id=3829,exports.ids=[3829],exports.modules={16856:(a,b,c)=>{c.d(b,{Is:()=>g,L8:()=>h,ns:()=>i});var d=c(73745);c(66493);var e=c(65326),f=c(30878);async function g(a){try{if("utility"===a.kind&&(!a.utilityId||!a.utilityScope))return{ok:!1,error:"share kind=utility requires utilityId + utilityScope"};if("kb-file"===a.kind&&(!a.rootId||!a.kbRelPath))return{ok:!1,error:"share kind=kb-file requires rootId + kbRelPath"};if(("kb-tree"===a.kind||"project"===a.kind)&&!a.rootId)return{ok:!1,error:`share kind=${a.kind} requires rootId`};let b=await (0,f.cn)(a);return(0,e.revalidatePath)("/settings"),{ok:!0,share:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function h(){return{shares:await (0,f.Bg)()}}async function i(a){let b=await (0,f.Ru)(a);return(0,e.revalidatePath)("/settings"),{ok:b}}(0,c(63781).D)([g,h,i]),(0,d.A)(g,"409ad2e09486a2266e0202c1b3d6f8c00062f83156",null),(0,d.A)(h,"004835c6a3b253b315f6e1589b58e2262aa25971c7",null),(0,d.A)(i,"408d8f373c972578c106d8e34846d6172856d78edf",null)},30878:(a,b,c)=>{c.d(b,{BE:()=>o,Bg:()=>m,Ru:()=>q,cn:()=>p,er:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"shares.json");async function k(){try{let a=await d.promises.readFile(j,"utf8"),b=JSON.parse(a);if(b&&Array.isArray(b.shares))return b}catch{}return{version:1,shares:[]}}async function l(a){await d.promises.mkdir(f().dirname(j),{recursive:!0}),await d.promises.writeFile(j,JSON.stringify(a,null,2)+"\n",{mode:384})}async function m(){return(await k()).shares}async function n(a){return(await k()).shares.find(b=>b.id===a)??null}function o(a,b){if(!a.passwordHash)return!0;if(!a.passwordSalt)return!1;let c=h().createHash("sha256").update(a.passwordSalt+":"+b).digest("hex");return h().timingSafeEqual(Buffer.from(c,"hex"),Buffer.from(a.passwordHash,"hex"))}async function p(a){let b=await k(),c={id:function(){let a="abcdefghjkmnpqrstuvwxyz23456789",b="";for(let c=0;c<12;c++)b+=a[h().randomInt(0,a.length)];return b}(),kind:a.kind,createdAt:new Date().toISOString(),...a.rootId?{rootId:a.rootId}:{},...a.utilityScope?{utilityScope:a.utilityScope}:{},...a.utilityId?{utilityId:a.utilityId}:{},...a.kbRelPath?{kbRelPath:a.kbRelPath}:{},...a.expiresAt?{expiresAt:a.expiresAt}:{},...a.label?{label:a.label}:{}};if(a.password){let{salt:b,hash:d}=function(a){let b=h().randomBytes(16).toString("hex"),c=h().createHash("sha256").update(b+":"+a).digest("hex");return{salt:b,hash:c}}(a.password);c.passwordSalt=b,c.passwordHash=d}return b.shares=[c,...b.shares],await l(b),c}async function q(a){let b=await k(),c=b.shares.length;return b.shares=b.shares.filter(b=>b.id!==a),b.shares.length!==c&&(await l(b),!0)}},42382:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(64173);c(17240);var e=c(20483),f=c(91520),g=c(91344);let h=(0,e.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},47071:(a,b,c)=>{c.d(b,{p:()=>f});var d=c(64173);c(17240);var e=c(91344);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.cn)("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",a),...c})}},58159:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(3265);let e=(0,d.createServerReference)("005c1ca5a2c3935608b24df513e5bbc6420b6cb390",d.callServer,void 0,d.findSourceMapURL,"getTunnelStatusAction")},60524:(a,b,c)=>{c.d(b,{Separator:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/reflex-agent/reflex-agent/components/ui/separator.tsx","Separator")},80281:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(64173);c(17240);var e=c(90044),f=c(91344);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},92814:(a,b,c)=>{c.d(b,{Ng:()=>s,bt:()=>v,Zl:()=>w,Nt:()=>t,Fm:()=>u});var d=c(73745);c(66493);var e=c(65326),f=c(36017),g=c(31421),h=c(73024),i=c(76760),j=c.n(i),k=c(73652);let l="__reflex_ngrok_tunnel__";function m(){return globalThis[l]}function n(a){globalThis[l]=a}async function o(a){let b;if(!a.authtoken)return{ok:!1,error:"ngrok authtoken is required"};let c=m();if(c&&null===c.child.exitCode)return{ok:!1,error:"Tunnel already running — stop it first."};let d=(0,k._)();await h.promises.mkdir(d,{recursive:!0});let e=j().join(d,"ngrok.yml");await h.promises.writeFile(e,`version: 3
2
2
  agent:
3
3
  authtoken: ${a.authtoken}
4
- `,{mode:384});let f=["http",String(a.port),"--config",e,"--log","stdout","--log-format","json"];a.domain&&f.push(`--domain=${a.domain}`);try{b=(0,g.spawn)("ngrok",f,{detached:!1,stdio:["ignore","pipe","pipe"]})}catch(a){return{ok:!1,error:"Failed to spawn ngrok — is the CLI installed and on PATH? "+(a instanceof Error?a.message:String(a))}}return b.on("error",a=>{console.error("[ngrok] spawn error:",a)}),b.on("exit",(a,c)=>{console.log(`[ngrok] tunnel exited code=${a} signal=${c??"-"}`);let d=m();d?.child===b&&n(void 0)}),b.stdout?.on("data",a=>{let b=a.toString().trim();b&&console.log("[ngrok]",b)}),b.stderr?.on("data",a=>{let b=a.toString().trim();b&&console.error("[ngrok!]",b)}),n({child:b,startedAt:new Date().toISOString(),port:a.port,...a.domain?{domain:a.domain}:{}}),{ok:!0}}async function p(){let a=Date.now()+6e3;for(;Date.now()<a;){try{let a=await fetch("http://127.0.0.1:4040/api/tunnels");if(a.ok){let b=await a.json(),c=b.tunnels.find(a=>"https"===a.proto),d=b.tunnels[0],e=c?.public_url??d?.public_url;if(e){let a=m();return a&&(a.publicUrl=e,n(a)),e}}}catch{}await new Promise(a=>setTimeout(a,400))}return null}async function q(){return new Promise(a=>{try{let b=(0,g.spawn)("ngrok",["version"],{stdio:["ignore","pipe","ignore"]}),c="";b.stdout?.on("data",a=>{c+=a.toString()}),b.on("close",()=>a(c.trim()||null)),b.on("error",()=>a(null))}catch{a(null)}})}async function r(a){if(!a)return{ok:!1,error:"ngrok API key not configured"};try{let b=await fetch("https://api.ngrok.com/reserved_domains",{headers:{Authorization:`Bearer ${a}`,"Ngrok-Version":"2"}});if(!b.ok)return{ok:!1,error:`ngrok API ${b.status}: ${(await b.text()).slice(0,200)}`};let c=await b.json();return{ok:!0,domains:(c.reserved_domains??[]).map(a=>({id:a.id,domain:a.domain,region:a.region}))}}catch(a){return{ok:!1,error:"ngrok API call failed: "+(a instanceof Error?a.message:String(a))}}}async function s(){let a=function(){let a=m();return a?null!==a.child.exitCode?(n(void 0),{running:!1}):{running:!0,...a.publicUrl?{publicUrl:a.publicUrl}:{},startedAt:a.startedAt,port:a.port,...a.domain?{domain:a.domain}:{}}:{running:!1}}();return{status:a,cliVersion:await q(),publicHost:process.env.REFLEX_NGROK_HOST??null}}async function t(){let a=await (0,f.M)();if(!a.ngrok.authtoken)return{ok:!1,error:"ngrok.authtoken is empty — fill it in the settings above."};let b=await o({port:a.ngrok.port,authtoken:a.ngrok.authtoken,...a.ngrok.domain?{domain:a.ngrok.domain}:{}});if(!b.ok)return b;let c=await p();if(c)try{let a=new URL(c);process.env.REFLEX_NGROK_HOST=a.host}catch{}return(0,e.revalidatePath)("/settings"),{ok:!0,publicUrl:c}}async function u(){let a=await new Promise(a=>{let b=m();if(!b)return void a(!1);let{child:c}=b,d=!1,e=b=>{d||(d=!0,n(void 0),a(b))};if(c.once("exit",()=>e(!0)),null!==c.exitCode)return void e(!0);try{c.kill("SIGTERM")}catch(a){console.error("[ngrok] SIGTERM failed:",a)}setTimeout(()=>{if(!d){try{c.kill("SIGKILL")}catch{}e(!0)}},2500)});return delete process.env.REFLEX_NGROK_HOST,(0,e.revalidatePath)("/settings"),{ok:a}}async function v(a){try{let b=await (0,f.M)(),c={...b,ngrok:{...b.ngrok,...a}};return await (0,f.D)(c),(0,e.revalidatePath)("/settings"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function w(){return r((await (0,f.M)()).ngrok.apiKey)}(0,c(63781).D)([s,t,u,v,w]),(0,d.A)(s,"00bf66e7a3c221d21263f24afb758495f31e714664",null),(0,d.A)(t,"004fea90efcf8c42a72346a67e846669b41927bb46",null),(0,d.A)(u,"0030e0d465559d452134a01c0a76d1884613acd089",null),(0,d.A)(v,"4016bc53e6cbc813a2d8809e6033abcc691523679d",null),(0,d.A)(w,"00e6ecccfe26db61690703188017001803fd8cfa46",null)}};
4
+ `,{mode:384});let f=["http",String(a.port),"--config",e,"--log","stdout","--log-format","json"];a.domain&&f.push(`--domain=${a.domain}`);try{b=(0,g.spawn)("ngrok",f,{detached:!1,stdio:["ignore","pipe","pipe"]})}catch(a){return{ok:!1,error:"Failed to spawn ngrok — is the CLI installed and on PATH? "+(a instanceof Error?a.message:String(a))}}return b.on("error",a=>{console.error("[ngrok] spawn error:",a)}),b.on("exit",(a,c)=>{console.log(`[ngrok] tunnel exited code=${a} signal=${c??"-"}`);let d=m();d?.child===b&&n(void 0)}),b.stdout?.on("data",a=>{let b=a.toString().trim();b&&console.log("[ngrok]",b)}),b.stderr?.on("data",a=>{let b=a.toString().trim();b&&console.error("[ngrok!]",b)}),n({child:b,startedAt:new Date().toISOString(),port:a.port,...a.domain?{domain:a.domain}:{}}),{ok:!0}}async function p(){let a=Date.now()+6e3;for(;Date.now()<a;){try{let a=await fetch("http://127.0.0.1:4040/api/tunnels");if(a.ok){let b=await a.json(),c=b.tunnels.find(a=>"https"===a.proto),d=b.tunnels[0],e=c?.public_url??d?.public_url;if(e){let a=m();return a&&(a.publicUrl=e,n(a)),e}}}catch{}await new Promise(a=>setTimeout(a,400))}return null}async function q(){return new Promise(a=>{try{let b=(0,g.spawn)("ngrok",["version"],{stdio:["ignore","pipe","ignore"]}),c="";b.stdout?.on("data",a=>{c+=a.toString()}),b.on("close",()=>a(c.trim()||null)),b.on("error",()=>a(null))}catch{a(null)}})}async function r(a){if(!a)return{ok:!1,error:"ngrok API key not configured"};try{let b=await fetch("https://api.ngrok.com/reserved_domains",{headers:{Authorization:`Bearer ${a}`,"Ngrok-Version":"2"}});if(!b.ok)return{ok:!1,error:`ngrok API ${b.status}: ${(await b.text()).slice(0,200)}`};let c=await b.json();return{ok:!0,domains:(c.reserved_domains??[]).map(a=>({id:a.id,domain:a.domain,region:a.region}))}}catch(a){return{ok:!1,error:"ngrok API call failed: "+(a instanceof Error?a.message:String(a))}}}async function s(){let a=function(){let a=m();return a?null!==a.child.exitCode?(n(void 0),{running:!1}):{running:!0,...a.publicUrl?{publicUrl:a.publicUrl}:{},startedAt:a.startedAt,port:a.port,...a.domain?{domain:a.domain}:{}}:{running:!1}}();return{status:a,cliVersion:await q(),publicHost:process.env.REFLEX_NGROK_HOST??null}}async function t(){let a=await (0,f.M)();if(!a.ngrok.authtoken)return{ok:!1,error:"ngrok.authtoken is empty — fill it in the settings above."};let b=await o({port:a.ngrok.port,authtoken:a.ngrok.authtoken,...a.ngrok.domain?{domain:a.ngrok.domain}:{}});if(!b.ok)return b;let c=await p();if(c)try{let a=new URL(c);process.env.REFLEX_NGROK_HOST=a.host}catch{}return(0,e.revalidatePath)("/settings"),{ok:!0,publicUrl:c}}async function u(){let a=await new Promise(a=>{let b=m();if(!b)return void a(!1);let{child:c}=b,d=!1,e=b=>{d||(d=!0,n(void 0),a(b))};if(c.once("exit",()=>e(!0)),null!==c.exitCode)return void e(!0);try{c.kill("SIGTERM")}catch(a){console.error("[ngrok] SIGTERM failed:",a)}setTimeout(()=>{if(!d){try{c.kill("SIGKILL")}catch{}e(!0)}},2500)});return delete process.env.REFLEX_NGROK_HOST,(0,e.revalidatePath)("/settings"),{ok:a}}async function v(a){try{let b=await (0,f.M)(),c={...b,ngrok:{...b.ngrok,...a}};return await (0,f.D)(c),(0,e.revalidatePath)("/settings"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function w(){return r((await (0,f.M)()).ngrok.apiKey)}(0,c(63781).D)([s,t,u,v,w]),(0,d.A)(s,"005c1ca5a2c3935608b24df513e5bbc6420b6cb390",null),(0,d.A)(t,"00de4fbf737938084b3944cc94f5df22e19f97e7e5",null),(0,d.A)(u,"005ce3115e590b5da7caad0f97d3114a4b20d63337",null),(0,d.A)(v,"40911c4cef83ebe9b7c2784e4274d7754b673be0ed",null),(0,d.A)(w,"00093f3c6297fe45812a651004bcba5c8b287af1bd",null)}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4812,exports.ids=[4812,8514],exports.modules={9328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>A,JR:()=>P,Kt:()=>I,L_:()=>z,QI:()=>G,QR:()=>y,RK:()=>K,Yt:()=>Q,Zh:()=>J,b7:()=>L,gn:()=>B,i8:()=>R,jf:()=>F,k_:()=>O,mR:()=>E,nO:()=>C,q_:()=>H,vv:()=>x});var e=c(73745);c(66493);var f=c(73024),g=c(76760),h=c.n(g),i=c(65326),j=c(53905),k=c(5492),l=c(36017),m=c(51021),n=c(99861),o=c(45730),p=c(97453),q=c(16975),r=c(8118),s=c(28514),t=c(12140),u=c(20050),v=c(63781),w=a([m,n,o]);async function x(a){try{let b=await (0,r.listUtilities)(a??{});return{ok:!0,utilities:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function y(a){let b=await (0,o.w)(a);return b.ok?{ok:!0,preview:b.preview}:{ok:!1,error:b.error}}async function z(a){try{let b=await (0,o.installFromGithubConfirmed)(a);return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:b.scope,id:b.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function A(){let{getCuratedRegistry:a}=await c.e(4925).then(c.bind(c,44925));return{items:await a()}}async function B(a){if(a.github.startsWith("builtin:"))try{let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035)),d=await b({builtin:a.github,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:d.scope,id:d.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}let b=await (0,o.w)(a.github);if(!b.ok)return{ok:!1,error:b.error};try{let c=await (0,o.installFromGithubConfirmed)({preview:b.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:c.scope,id:c.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function C(a){try{let b=await (0,r.listUtilities)({...a?.rootId?{rootId:a.rootId}:{}}),d=[];for(let a of b){let b=a.manifest.source?.origin??"";if(b.startsWith("builtin:")){let b=await D(a.manifest.id,a.manifest.version);b&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:b.version,source:"builtin",ref:b.spec})}else if(b.startsWith("github:"))try{let{checkGithubUpdate:b}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.manifest.id,a.rootId);!e.upToDate&&e.preview&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:e.preview.manifest.version,source:"github",ref:`github:${e.preview.source.owner}/${e.preview.source.repo}@${e.latestSha}`})}catch{}}return{ok:!0,updates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function D(a,b){try{let d=await Promise.resolve().then(c.t.bind(c,51455,23)),e=(await Promise.resolve().then(c.t.bind(c,76760,23))).join(process.cwd(),"packages","utilities",a,"manifest.json"),f=await d.readFile(e,"utf8"),g=JSON.parse(f);if(!g.version||g.version===b)return null;return{version:g.version,spec:`builtin:${a}@${g.version}`}}catch{return null}}async function E(a){try{let{withUpdateSnapshot:b}=await c.e(4840).then(c.bind(c,94840)),d=await b(a.scope,a.id,a.rootId,async()=>{if("builtin"===a.source){let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035));return(await b({builtin:a.ref,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}})).origin.split("@")[1]??a.latestVersion}if("github"===a.source){let{checkGithubUpdate:b,installFromGithubConfirmed:d}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.id,a.rootId);return e.upToDate||!e.preview?a.currentVersion:(await d({preview:e.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}}),e.preview.manifest.version)}throw Error(`Unknown update source: ${a.source}`)});return(0,i.revalidatePath)("/utilities"),a.rootId&&(0,i.revalidatePath)(`/roots/${a.rootId}`),{ok:!0,newVersion:d}}catch(c){var b,d;let a=c instanceof Error?c.message:String(c);return{ok:!1,error:`Update rolled back — previous version restored. Error: ${b=a,d=600,b.length<=600?b:b.slice(0,d)+"…"}`}}}async function F(a,b,c){try{return await (0,r.jc)(a,b,c),await (0,s.J8)(a,b,c),(0,i.revalidatePath)("/utilities"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function G(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return await (0,n.buildUtility)(d),(0,i.revalidatePath)(`/utilities/${a}/${b}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function H(a,b,c){try{let d=await (0,o.checkGithubUpdate)(a,b,c);return{ok:!0,...d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function I(a){return(0,t.y4)(a??{})}async function J(a){let b=p.McpConfigSchema.safeParse(a);if(!b.success)return{ok:!1,error:b.error.message};try{let a=await (0,p.connectAndListTools)(b.data);return{ok:!0,...a.name?{serverName:a.name}:{},...a.version?{serverVersion:a.version}:{},tools:a.tools}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function K(a){try{var b;let c=p.McpConfigSchema.parse(a.config),d=await (0,p.connectAndListTools)(c),e=(0,q.U)({id:a.id,name:a.name,description:a.description??d.name??"",tools:d.tools}),g=u.pL.parse(e.manifest),j=await (0,r.gd)({scope:a.scope,...a.rootId?{rootId:a.rootId}:{},manifest:g,files:e.files,source:{type:"mcp",origin:(b=c,"stdio"===b.transport?`mcp:stdio:${b.command}${b.args.length?" "+b.args.join(" "):""}`:`mcp:${b.transport}:${b.url}`),fetchedAt:new Date().toISOString(),installedBy:"user"}});return await f.promises.writeFile(h().join(j.dir,"mcp.json"),JSON.stringify(c,null,2)+"\n","utf8"),await (0,n.buildUtility)(j),(0,i.revalidatePath)("/utilities"),{ok:!0,scope:j.scope,id:j.manifest.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!a.instruction.trim())return{ok:!1,error:"instruction is empty"};let c=await M(b,a.rootId);if(!c)return{ok:!1,error:"no project root available — register a root first"};let d=await (0,j.Zn)(c);if(!d)return{ok:!1,error:"root not found"};let e=await N(b.dir),f=function(a,b,c,d){let e=c.map(a=>{var b;return"### "+a.rel+"\n```"+((b=a.rel).endsWith(".tsx")?"tsx":b.endsWith(".ts")?"ts":b.endsWith(".jsx")?"jsx":b.endsWith(".js")?"js":b.endsWith(".json")?"json":b.endsWith(".css")?"css":b.endsWith(".md")?"md":"")+"\n"+a.content+"\n```"}).join("\n\n");return[`/goal Improve the Reflex utility "${a.name}" (id: ${a.id}).`,"",`Current utility directory on disk: \`${b}\`.`,`Scope: ${a.source?.type??"agent"} -> manifest.id=${a.id}.`,"\n## What the user is asking",d.trim(),"\n## Current utility files",e||"(no readable files)",'\n## What is required of you\n1. Read the files above and understand the current behaviour.\n2. Make the changes the user requested.\n3. Emit the updated utility via the `<<reflex:utility>>` marker with the same `id` and an incremented `version`. Reflex will reinstall it on top of the existing one and rebuild the bundle immediately.\n4. Verify the new bundle builds without errors and the UI reflects the requested change.\n5. When done, emit `<<reflex:kb>>{"kind":"goal-completion",...}` and the phrase `GOAL ACHIEVED` on a separate line.\n\nDo not invent imports outside the whitelist (`react`, `react-dom/client`, `react/jsx-runtime`, `@host/api`, `@host/ui`). If the request requires something impossible — ask via `<<reflex:question>>`.'].join("\n")}(b.manifest,b.dir,e,a.instruction),g=await (0,l.M)(),h=g.assignments.chat,n=await (0,k.OY)({root:d.path,firstMessage:`Edit: ${b.manifest.name}`,harness:h.harness,model:h.model,language:g.language}),o=await (0,m.W)({rootId:c,topicId:n.meta.id,message:f});if("error"in o)return{ok:!1,error:o.error};return(0,i.revalidatePath)(`/roots/${c}`),{ok:!0,rootId:c,topicId:n.meta.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a,b){if(a.rootId)return a.rootId;let c=a.manifest.source?.origin;if(c?.startsWith("agent:")){let a=c.split(":");if(a.length>=4){let b=a[1];if(await (0,j.Zn)(b))return b}}if(b&&await (0,j.Zn)(b))return b;let d=await (0,j.qV)();return d[0]?.id}async function N(a){let b=[],c=async(a,d)=>{for(let e of(await f.promises.readdir(a,{withFileTypes:!0}))){if("data"===e.name||"dist"===e.name||"node_modules"===e.name)continue;let g=h().join(a,e.name),i=d?`${d}/${e.name}`:e.name;if(e.isDirectory())await c(g,i);else if(/\.(tsx?|jsx?|md|json|css)$/.test(e.name)&&"bundle.js"!==e.name&&"style.css"!==e.name){let a=await f.promises.readFile(g,"utf8");a.length<32e3&&b.push({rel:i,content:a})}}};return await c(a,""),b}async function O(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};let c=b.manifest.secrets??[],d=new Set(await (0,s.listSecretKeys)(a.scope,a.id,a.rootId));return{ok:!0,secrets:c.map(a=>({key:a.key,label:a.label,description:a.description,required:a.required,set:d.has(a.key)}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!(b.manifest.secrets??[]).find(b=>b.key===a.key))return{ok:!1,error:`secret "${a.key}" is not declared in manifest.secrets`};if(!a.value)return{ok:!1,error:"empty value — use delete instead"};return await (0,s.Pq)(a.scope,a.id,a.key,a.value,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function Q(a){try{return await (0,s.e3)(a.scope,a.id,a.key,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return{ok:!0,manifest:d.manifest}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}[m,n,o]=w.then?(await w)():w,(0,v.D)([x,y,z,A,B,C,E,F,G,H,I,J,K,L,O,P,Q,R]),(0,e.A)(x,"4015b91b56a68cc377f33415befd766be5cd723bf5",null),(0,e.A)(y,"40ba29579adc0e16d0ebad26ec39ed9c8cca709ed3",null),(0,e.A)(z,"40028ceb862fe590af2320050c8522a4e74323f40e",null),(0,e.A)(A,"00e69bc3d48703de31dc45f6137a45499d7475e1cd",null),(0,e.A)(B,"40b6e50457c5f3d8ea6f4eeb59bc6a36c9f2a94c38",null),(0,e.A)(C,"403ae4f4987be8c16b4b4e575a8eeb73e787832c76",null),(0,e.A)(E,"403d5ad7aef782546ecac36aed02c5ba008e1c85f5",null),(0,e.A)(F,"70143e4221052d144ffe7c7f1fc312c47794683afa",null),(0,e.A)(G,"70d3786bb276c0841f3d3125aec8b4336ed7177bc9",null),(0,e.A)(H,"705b77e83a2c4f21da792623e6ac88274d69771bdc",null),(0,e.A)(I,"4067b59fddfd47e8e06ae51ee34b73a325ee8a1fd8",null),(0,e.A)(J,"40cd6eff569fa5549c99e7af5acc0e9d4c541ae2b0",null),(0,e.A)(K,"40752620dbdef6cf890752700ca91e0effc80ffc59",null),(0,e.A)(L,"4004f8bb55beca74d8706a29c931890cd5e7f95a88",null),(0,e.A)(O,"404360ba37c19c6474770e6b8e3d741000bffdba35",null),(0,e.A)(P,"40d55ea0fffc1c331249d028d495eb8ed9a2bf01bf",null),(0,e.A)(Q,"40abffb28ff9aa9a90fcd5b21b7809a94bc70d3610",null),(0,e.A)(R,"70f33fd92d3298f291eb3ee26a99ef10d9b93e1d32",null),d()}catch(a){d(a)}})},12140:(a,b,c)=>{c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},16975:(a,b,c)=>{function d(a){var b;return{manifest:{id:a.id,name:a.name,description:a.description,version:"0.1.0",ui:"ui.tsx",serverActions:[],permissions:{audit:{write:!0}}},files:{"ui.tsx":function(a){let b=JSON.stringify(a.tools,null,2);return`import { useState } from "react";
1
+ "use strict";exports.id=4812,exports.ids=[4812,8514],exports.modules={9328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>A,JR:()=>P,Kt:()=>I,L_:()=>z,QI:()=>G,QR:()=>y,RK:()=>K,Yt:()=>Q,Zh:()=>J,b7:()=>L,gn:()=>B,i8:()=>R,jf:()=>F,k_:()=>O,mR:()=>E,nO:()=>C,q_:()=>H,vv:()=>x});var e=c(73745);c(66493);var f=c(73024),g=c(76760),h=c.n(g),i=c(65326),j=c(53905),k=c(5492),l=c(36017),m=c(51021),n=c(99861),o=c(45730),p=c(97453),q=c(16975),r=c(8118),s=c(28514),t=c(12140),u=c(20050),v=c(63781),w=a([m,n,o]);async function x(a){try{let b=await (0,r.listUtilities)(a??{});return{ok:!0,utilities:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function y(a){let b=await (0,o.w)(a);return b.ok?{ok:!0,preview:b.preview}:{ok:!1,error:b.error}}async function z(a){try{let b=await (0,o.installFromGithubConfirmed)(a);return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:b.scope,id:b.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function A(){let{getCuratedRegistry:a}=await c.e(4925).then(c.bind(c,44925));return{items:await a()}}async function B(a){if(a.github.startsWith("builtin:"))try{let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035)),d=await b({builtin:a.github,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:d.scope,id:d.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}let b=await (0,o.w)(a.github);if(!b.ok)return{ok:!1,error:b.error};try{let c=await (0,o.installFromGithubConfirmed)({preview:b.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:c.scope,id:c.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function C(a){try{let b=await (0,r.listUtilities)({...a?.rootId?{rootId:a.rootId}:{}}),d=[];for(let a of b){let b=a.manifest.source?.origin??"";if(b.startsWith("builtin:")){let b=await D(a.manifest.id,a.manifest.version);b&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:b.version,source:"builtin",ref:b.spec})}else if(b.startsWith("github:"))try{let{checkGithubUpdate:b}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.manifest.id,a.rootId);!e.upToDate&&e.preview&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:e.preview.manifest.version,source:"github",ref:`github:${e.preview.source.owner}/${e.preview.source.repo}@${e.latestSha}`})}catch{}}return{ok:!0,updates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function D(a,b){try{let d=await Promise.resolve().then(c.t.bind(c,51455,23)),e=(await Promise.resolve().then(c.t.bind(c,76760,23))).join(process.cwd(),"packages","utilities",a,"manifest.json"),f=await d.readFile(e,"utf8"),g=JSON.parse(f);if(!g.version||g.version===b)return null;return{version:g.version,spec:`builtin:${a}@${g.version}`}}catch{return null}}async function E(a){try{let{withUpdateSnapshot:b}=await c.e(4840).then(c.bind(c,94840)),d=await b(a.scope,a.id,a.rootId,async()=>{if("builtin"===a.source){let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035));return(await b({builtin:a.ref,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}})).origin.split("@")[1]??a.latestVersion}if("github"===a.source){let{checkGithubUpdate:b,installFromGithubConfirmed:d}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.id,a.rootId);return e.upToDate||!e.preview?a.currentVersion:(await d({preview:e.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}}),e.preview.manifest.version)}throw Error(`Unknown update source: ${a.source}`)});return(0,i.revalidatePath)("/utilities"),a.rootId&&(0,i.revalidatePath)(`/roots/${a.rootId}`),{ok:!0,newVersion:d}}catch(c){var b,d;let a=c instanceof Error?c.message:String(c);return{ok:!1,error:`Update rolled back — previous version restored. Error: ${b=a,d=600,b.length<=600?b:b.slice(0,d)+"…"}`}}}async function F(a,b,c){try{return await (0,r.jc)(a,b,c),await (0,s.J8)(a,b,c),(0,i.revalidatePath)("/utilities"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function G(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return await (0,n.buildUtility)(d),(0,i.revalidatePath)(`/utilities/${a}/${b}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function H(a,b,c){try{let d=await (0,o.checkGithubUpdate)(a,b,c);return{ok:!0,...d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function I(a){return(0,t.y4)(a??{})}async function J(a){let b=p.McpConfigSchema.safeParse(a);if(!b.success)return{ok:!1,error:b.error.message};try{let a=await (0,p.connectAndListTools)(b.data);return{ok:!0,...a.name?{serverName:a.name}:{},...a.version?{serverVersion:a.version}:{},tools:a.tools}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function K(a){try{var b;let c=p.McpConfigSchema.parse(a.config),d=await (0,p.connectAndListTools)(c),e=(0,q.U)({id:a.id,name:a.name,description:a.description??d.name??"",tools:d.tools}),g=u.pL.parse(e.manifest),j=await (0,r.gd)({scope:a.scope,...a.rootId?{rootId:a.rootId}:{},manifest:g,files:e.files,source:{type:"mcp",origin:(b=c,"stdio"===b.transport?`mcp:stdio:${b.command}${b.args.length?" "+b.args.join(" "):""}`:`mcp:${b.transport}:${b.url}`),fetchedAt:new Date().toISOString(),installedBy:"user"}});return await f.promises.writeFile(h().join(j.dir,"mcp.json"),JSON.stringify(c,null,2)+"\n","utf8"),await (0,n.buildUtility)(j),(0,i.revalidatePath)("/utilities"),{ok:!0,scope:j.scope,id:j.manifest.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!a.instruction.trim())return{ok:!1,error:"instruction is empty"};let c=await M(b,a.rootId);if(!c)return{ok:!1,error:"no project root available — register a root first"};let d=await (0,j.Zn)(c);if(!d)return{ok:!1,error:"root not found"};let e=await N(b.dir),f=function(a,b,c,d){let e=c.map(a=>{var b;return"### "+a.rel+"\n```"+((b=a.rel).endsWith(".tsx")?"tsx":b.endsWith(".ts")?"ts":b.endsWith(".jsx")?"jsx":b.endsWith(".js")?"js":b.endsWith(".json")?"json":b.endsWith(".css")?"css":b.endsWith(".md")?"md":"")+"\n"+a.content+"\n```"}).join("\n\n");return[`/goal Improve the Reflex utility "${a.name}" (id: ${a.id}).`,"",`Current utility directory on disk: \`${b}\`.`,`Scope: ${a.source?.type??"agent"} -> manifest.id=${a.id}.`,"\n## What the user is asking",d.trim(),"\n## Current utility files",e||"(no readable files)",'\n## What is required of you\n1. Read the files above and understand the current behaviour.\n2. Make the changes the user requested.\n3. Emit the updated utility via the `<<reflex:utility>>` marker with the same `id` and an incremented `version`. Reflex will reinstall it on top of the existing one and rebuild the bundle immediately.\n4. Verify the new bundle builds without errors and the UI reflects the requested change.\n5. When done, emit `<<reflex:kb>>{"kind":"goal-completion",...}` and the phrase `GOAL ACHIEVED` on a separate line.\n\nDo not invent imports outside the whitelist (`react`, `react-dom/client`, `react/jsx-runtime`, `@host/api`, `@host/ui`). If the request requires something impossible — ask via `<<reflex:question>>`.'].join("\n")}(b.manifest,b.dir,e,a.instruction),g=await (0,l.M)(),h=g.assignments.chat,n=await (0,k.OY)({root:d.path,firstMessage:`Edit: ${b.manifest.name}`,harness:h.harness,model:h.model,language:g.language}),o=await (0,m.W)({rootId:c,topicId:n.meta.id,message:f});if("error"in o)return{ok:!1,error:o.error};return(0,i.revalidatePath)(`/roots/${c}`),{ok:!0,rootId:c,topicId:n.meta.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a,b){if(a.rootId)return a.rootId;let c=a.manifest.source?.origin;if(c?.startsWith("agent:")){let a=c.split(":");if(a.length>=4){let b=a[1];if(await (0,j.Zn)(b))return b}}if(b&&await (0,j.Zn)(b))return b;let d=await (0,j.qV)();return d[0]?.id}async function N(a){let b=[],c=async(a,d)=>{for(let e of(await f.promises.readdir(a,{withFileTypes:!0}))){if("data"===e.name||"dist"===e.name||"node_modules"===e.name)continue;let g=h().join(a,e.name),i=d?`${d}/${e.name}`:e.name;if(e.isDirectory())await c(g,i);else if(/\.(tsx?|jsx?|md|json|css)$/.test(e.name)&&"bundle.js"!==e.name&&"style.css"!==e.name){let a=await f.promises.readFile(g,"utf8");a.length<32e3&&b.push({rel:i,content:a})}}};return await c(a,""),b}async function O(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};let c=b.manifest.secrets??[],d=new Set(await (0,s.listSecretKeys)(a.scope,a.id,a.rootId));return{ok:!0,secrets:c.map(a=>({key:a.key,label:a.label,description:a.description,required:a.required,set:d.has(a.key)}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!(b.manifest.secrets??[]).find(b=>b.key===a.key))return{ok:!1,error:`secret "${a.key}" is not declared in manifest.secrets`};if(!a.value)return{ok:!1,error:"empty value — use delete instead"};return await (0,s.Pq)(a.scope,a.id,a.key,a.value,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function Q(a){try{return await (0,s.e3)(a.scope,a.id,a.key,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return{ok:!0,manifest:d.manifest}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}[m,n,o]=w.then?(await w)():w,(0,v.D)([x,y,z,A,B,C,E,F,G,H,I,J,K,L,O,P,Q,R]),(0,e.A)(x,"40af54099ba684dd118217bf5d584656554d1bf7ab",null),(0,e.A)(y,"4058b0c64c6165b43adb39c01a95d7fa55b2cdd890",null),(0,e.A)(z,"4046000e78367a012f0675ee779f9a0fc913f62890",null),(0,e.A)(A,"0007e177a65cf4af720ee1e048811b640b9da09775",null),(0,e.A)(B,"403cd694c973517813d73522acac0cad1186d154d1",null),(0,e.A)(C,"40658eb45f18e44356330d1ad96deac972d61a6b2d",null),(0,e.A)(E,"403722f557c99e5e2fbd1b123315296a990073329f",null),(0,e.A)(F,"70435caa51eabdf37965712339c6c28e4dc1b24000",null),(0,e.A)(G,"70389ae62c5eedd7f095e090e7bb43debc29c4fac9",null),(0,e.A)(H,"70210b54944da8839130461d0bf7025ae52239f779",null),(0,e.A)(I,"409489baae7ec239184466a0fe85a6a54400c77449",null),(0,e.A)(J,"403bb79b6c9a7554e05c4765b9ec79bdc6052f1cc2",null),(0,e.A)(K,"408100f5d46622d5599626747ea77f5f5cea365c7d",null),(0,e.A)(L,"40a988ebd03701484b883bd2b05f85908a3996ae05",null),(0,e.A)(O,"40383900ee87f35b2b616d933147e2f8d6791ce0ca",null),(0,e.A)(P,"40f2ef3a27f0e6c9f89e16e5d0b2633730286e13e8",null),(0,e.A)(Q,"404214607b42cf370d2e25b486f62f86c9ad5f54c3",null),(0,e.A)(R,"709ab3859427845e32d2f3b61a92291819c80d7f08",null),d()}catch(a){d(a)}})},12140:(a,b,c)=>{c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},16975:(a,b,c)=>{function d(a){var b;return{manifest:{id:a.id,name:a.name,description:a.description,version:"0.1.0",ui:"ui.tsx",serverActions:[],permissions:{audit:{write:!0}}},files:{"ui.tsx":function(a){let b=JSON.stringify(a.tools,null,2);return`import { useState } from "react";
2
2
  import { reflex } from "@host/api";
3
3
  import {
4
4
  Button,
@@ -1 +1 @@
1
- "use strict";exports.id=4925,exports.ids=[4925],exports.modules={44925:(a,b,c)=>{c.d(b,{getCuratedRegistry:()=>k});var d=c(73024),e=c(76760),f=c.n(e),g=c(73652);let h=[{id:"learn-anything",name:"Learn anything",emoji:"\uD83C\uDF93",category:"study",description:'Universal AI tutor. Say "I want to learn X" — it builds a course for your level: syllabus, articles, videos, diagrams, quizzes, homework, and interactive drills.',github:"github:legostin/rflx-learn-anything@v0.6.0",suggestedScope:"project",author:"reflex-org"},{id:"task-board",name:"Task board",emoji:"\uD83D\uDCCB",category:"productivity",description:"Kanban tracker with /task, /tasks, /take-task commands. Each code task gets its own git worktree on dispatch so parallel agents never collide. Auto-pickup, PR mode, pre/post hooks.",github:"github:legostin/rflx-task-board@v0.3.0",suggestedScope:"project",author:"reflex-org"}],i=f().join((0,g._)(),"curated-registry.json"),j=null;async function k(){if(j&&l(j,36e5))return j.items;let a=await m();if(a&&l(a,864e5))return j=a,a.items;let b=await o();if(b){let a={fetchedAt:new Date().toISOString(),items:b};return j=a,n(a).catch(()=>null),b}return a?.items.length?a.items:h}function l(a,b){return Date.now()-Date.parse(a.fetchedAt)<b}async function m(){try{let a=await d.promises.readFile(i,"utf8"),b=JSON.parse(a);if(Array.isArray(b.items)&&"string"==typeof b.fetchedAt)return b}catch{}return null}async function n(a){await d.promises.mkdir(f().dirname(i),{recursive:!0}),await d.promises.writeFile(i,JSON.stringify(a,null,2)+"\n","utf8")}async function o(){try{let a=await fetch("https://raw.githubusercontent.com/reflex-org/utility-registry/main/index.json",{signal:AbortSignal.timeout(4e3),headers:{Accept:"application/json"}});if(!a.ok)return null;let b=await a.json();if(!Array.isArray(b.items))return null;return b.items.filter(a=>"string"==typeof a.id&&"string"==typeof a.name&&"string"==typeof a.github)}catch{return null}}}};
1
+ "use strict";exports.id=4925,exports.ids=[4925],exports.modules={44925:(a,b,c)=>{c.d(b,{getCuratedRegistry:()=>k});var d=c(73024),e=c(76760),f=c.n(e),g=c(73652);let h=[{id:"learn-anything",name:"Learn anything",emoji:"\uD83C\uDF93",category:"study",description:'Universal AI tutor. Say "I want to learn X" — it builds a course for your level: syllabus, articles, videos, diagrams, quizzes, homework, and interactive drills.',github:"github:legostin/rflx-learn-anything@v0.6.0",suggestedScope:"project",author:"reflex-org"},{id:"task-board",name:"Task board",emoji:"\uD83D\uDCCB",category:"productivity",description:"Kanban tracker with /task, /tasks, /take-task commands. Each code task gets its own git worktree on dispatch so parallel agents never collide. Auto-pickup, PR mode, pre/post hooks.",github:"github:legostin/rflx-task-board@v0.4.0",suggestedScope:"project",author:"reflex-org"}],i=f().join((0,g._)(),"curated-registry.json"),j=null;async function k(){if(j&&l(j,36e5))return j.items;let a=await m();if(a&&l(a,864e5))return j=a,a.items;let b=await o();if(b){let a={fetchedAt:new Date().toISOString(),items:b};return j=a,n(a).catch(()=>null),b}return a?.items.length?a.items:h}function l(a,b){return Date.now()-Date.parse(a.fetchedAt)<b}async function m(){try{let a=await d.promises.readFile(i,"utf8"),b=JSON.parse(a);if(Array.isArray(b.items)&&"string"==typeof b.fetchedAt)return b}catch{}return null}async function n(a){await d.promises.mkdir(f().dirname(i),{recursive:!0}),await d.promises.writeFile(i,JSON.stringify(a,null,2)+"\n","utf8")}async function o(){try{let a=await fetch("https://raw.githubusercontent.com/reflex-org/utility-registry/main/index.json",{signal:AbortSignal.timeout(4e3),headers:{Accept:"application/json"}});if(!a.ok)return null;let b=await a.json();if(!Array.isArray(b.items))return null;return b.items.filter(a=>"string"==typeof a.id&&"string"==typeof a.name&&"string"==typeof a.github)}catch{return null}}}};