reflex-agent 0.8.0 → 0.9.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 (166) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +89 -89
  3. package/.next/app-path-routes-manifest.json +6 -6
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +7 -7
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/server/app/_not-found/page.js +1 -1
  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 +3 -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 +2 -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 +2 -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 +2 -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 +3 -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 +2 -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 +1 -1
  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 -3
  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 +3 -2
  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 -2
  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 +1 -1
  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 +4 -4
  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 +1 -1
  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 +6 -6
  87. package/.next/server/chunks/1105.js +1 -1
  88. package/.next/server/chunks/126.js +4 -0
  89. package/.next/server/chunks/{3152.js → 1358.js} +1 -1
  90. package/.next/server/chunks/1769.js +4 -0
  91. package/.next/server/chunks/{6822.js → 2143.js} +1 -1
  92. package/.next/server/chunks/2485.js +2 -2
  93. package/.next/server/chunks/2787.js +1 -0
  94. package/.next/server/chunks/285.js +52 -19
  95. package/.next/server/chunks/3332.js +1 -1
  96. package/.next/server/chunks/3749.js +1 -0
  97. package/.next/server/chunks/3775.js +1 -0
  98. package/.next/server/chunks/3834.js +1 -0
  99. package/.next/server/chunks/4031.js +2 -2
  100. package/.next/server/chunks/445.js +3 -0
  101. package/.next/server/chunks/4812.js +1 -1
  102. package/.next/server/chunks/4925.js +1 -1
  103. package/.next/server/chunks/539.js +1 -1
  104. package/.next/server/chunks/5844.js +1 -0
  105. package/.next/server/chunks/6326.js +4 -0
  106. package/.next/server/chunks/6483.js +2 -2
  107. package/.next/server/chunks/7220.js +1 -0
  108. package/.next/server/chunks/7358.js +52 -19
  109. package/.next/server/chunks/8576.js +7 -0
  110. package/.next/server/chunks/9098.js +1 -1
  111. package/.next/server/chunks/9179.js +7 -0
  112. package/.next/server/chunks/9617.js +1 -0
  113. package/.next/server/functions-config-manifest.json +2 -2
  114. package/.next/server/middleware-build-manifest.js +1 -1
  115. package/.next/server/middleware-manifest.json +5 -5
  116. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  117. package/.next/server/pages/500.html +1 -1
  118. package/.next/server/server-reference-manifest.js +1 -1
  119. package/.next/server/server-reference-manifest.json +1 -1
  120. package/.next/static/chunks/2390-079e9ccc8bd20e63.js +1 -0
  121. package/.next/static/chunks/4108.4e39a8f41278c35d.js +1 -0
  122. package/.next/static/chunks/5822-6d9ec5c9f0cc673f.js +1 -0
  123. package/.next/static/chunks/7703-d9e4d0e072aed92d.js +1 -0
  124. package/.next/static/chunks/8302-4918fb0ed8cc2283.js +1 -0
  125. package/.next/static/chunks/8336-e69c4adb375513c5.js +1 -0
  126. package/.next/static/chunks/app/layout-7e681a7d621e2e09.js +1 -0
  127. package/.next/static/chunks/app/onboarding/page-69bd037838f9e996.js +1 -0
  128. package/.next/static/chunks/app/page-ad10be3dfddf1726.js +1 -0
  129. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-dc406db1caaa8b38.js +1 -0
  130. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-b0ef88a66b2f0d1d.js +1 -0
  131. package/.next/static/chunks/app/roots/[id]/page-aa93ae31a8ee3c99.js +1 -0
  132. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-4526b98999cca3ad.js +1 -0
  133. package/.next/static/chunks/app/roots/new/{page-dc4edb7f4cbc2441.js → page-03431339c6cd8f24.js} +1 -1
  134. package/.next/static/chunks/app/settings/page-a19a41e378e7d8a4.js +1 -0
  135. package/.next/static/chunks/app/share/[id]/page-f9087c14a67b4dcd.js +1 -0
  136. package/.next/static/chunks/app/utilities/[scope]/[id]/page-f57871e8c1ab1f72.js +1 -0
  137. package/.next/static/chunks/app/utilities/page-ca382ce386f0d77c.js +1 -0
  138. package/.next/static/chunks/{webpack-6f08731be9714ee4.js → webpack-274d59f6d4391442.js} +1 -1
  139. package/.next/trace +89 -89
  140. package/dist/lib/reflex/agents/prompts.js +45 -0
  141. package/dist/lib/reflex/agents/prompts.js.map +1 -1
  142. package/package.json +1 -1
  143. package/.next/server/chunks/2920.js +0 -1
  144. package/.next/server/chunks/3151.js +0 -3
  145. package/.next/server/chunks/4197.js +0 -4
  146. package/.next/server/chunks/8872.js +0 -1
  147. package/.next/server/chunks/9637.js +0 -1
  148. package/.next/static/chunks/4108.aca4cb07ce9b3ed2.js +0 -1
  149. package/.next/static/chunks/4138-d787eac2eac9c9a8.js +0 -1
  150. package/.next/static/chunks/4847-a85e8d18ea0da09e.js +0 -1
  151. package/.next/static/chunks/527-c86224761908776e.js +0 -1
  152. package/.next/static/chunks/70-61c97afa667d1efe.js +0 -1
  153. package/.next/static/chunks/8270-8e72f6c35eb03ad2.js +0 -1
  154. package/.next/static/chunks/app/layout-c712136be28f3127.js +0 -1
  155. package/.next/static/chunks/app/onboarding/page-a4145c3e505dfe74.js +0 -1
  156. package/.next/static/chunks/app/page-6096902532dd6ec8.js +0 -1
  157. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-b3d8e79a61db4bdc.js +0 -1
  158. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-75d2a17f6f78a45d.js +0 -1
  159. package/.next/static/chunks/app/roots/[id]/page-6a9df2bb923bb1d3.js +0 -1
  160. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-8a3c2c81fce5b020.js +0 -1
  161. package/.next/static/chunks/app/settings/page-df5f4911b7f3a2df.js +0 -1
  162. package/.next/static/chunks/app/share/[id]/page-050853f9974f0915.js +0 -1
  163. package/.next/static/chunks/app/utilities/[scope]/[id]/page-d5494af2daf1c38d.js +0 -1
  164. package/.next/static/chunks/app/utilities/page-3ee2dc6d66ad4154.js +0 -1
  165. /package/.next/static/{F56etct0NPc8KXiqqJQvx → Phb9nqftdL6MOVwBc0yAc}/_buildManifest.js +0 -0
  166. /package/.next/static/{F56etct0NPc8KXiqqJQvx → Phb9nqftdL6MOVwBc0yAc}/_ssgManifest.js +0 -0
@@ -40,6 +40,7 @@ export async function chatSystemPrompt(scope) {
40
40
  imageGenInstructions(),
41
41
  memoryInstructions(),
42
42
  skillAuthoringInstructions(),
43
+ taskAuthoringInstructions(),
43
44
  ].join("\n\n");
44
45
  }
45
46
  /**
@@ -351,4 +352,48 @@ function skillAuthoringInstructions() {
351
352
  "Then say in prose: \"I keep doing this every Monday — saved as `/skill weekly-changelog-digest`. Try it next week.\"",
352
353
  ].join("\n");
353
354
  }
355
+ /**
356
+ * Task authoring. If the project has the task-board utility installed,
357
+ * the orchestrator can file or update cards from any chat by emitting
358
+ * `<<reflex:task-create>>` / `<<reflex:task-update>>`. The board polls
359
+ * the underlying store and shows new cards automatically.
360
+ */
361
+ function taskAuthoringInstructions() {
362
+ return [
363
+ "## Tasks — file work onto the Kanban board",
364
+ "",
365
+ "When the user mentions a piece of work that's bigger than this turn (a feature to build, a bug to fix, a topic to research) emit a `<<reflex:task-create>>` marker. The task lands on the project's Kanban board (if the user has the task-board utility installed); from there they can dispatch it to an agent in its own git worktree, link it to other tasks, etc. Don't ask permission — emit and confirm in one line.",
366
+ "",
367
+ "```",
368
+ `<<reflex:task-create>>{`,
369
+ ` "title": "<imperative, 4-12 words>",`,
370
+ ` "body": "<markdown — context, acceptance criteria, anything I'd want when I open this in 3 days>",`,
371
+ ` "type": "feature" | "bug" | "refactor" | "docs" | "chore" | "research" | "review" | "call" | "idea",`,
372
+ ` "status": "backlog" | "ready" | "in-progress" | "review" | "done" | "blocked",`,
373
+ ` "priority": "low" | "normal" | "high",`,
374
+ ` "labels": ["...", "..."],`,
375
+ ` "parent": "<id of parent task, optional>"`,
376
+ `}<</reflex:task-create>>`,
377
+ "```",
378
+ "",
379
+ "When inside a topic that's been dispatched FROM a task (you'll see this in the system prompt header: \"You are working on task t-…\"), use `<<reflex:task-update>>` to advance the card's status as you finish — `status: \"done\"` when the work lands, `status: \"review\"` if it needs human eyes.",
380
+ "",
381
+ "```",
382
+ `<<reflex:task-update>>{`,
383
+ ` "id": "t-…",`,
384
+ ` "patch": {`,
385
+ ` "status": "done",`,
386
+ ` "body": "<optional — append a brief summary of what was done>"`,
387
+ ` }`,
388
+ `}<</reflex:task-update>>`,
389
+ "```",
390
+ "",
391
+ "Rules:",
392
+ "- One task per concrete unit of work. \"Set up CI + write tests + deploy\" is three tasks.",
393
+ "- `type` defaults to `feature`. Match the obvious case: regression → `bug`, investigate-before-decide → `research`, write-some-words-down → `idea`.",
394
+ "- Choose `status: \"backlog\"` for newly-captured ideas (default). Use `ready` only if the user explicitly said \"do this next\".",
395
+ "- Cite what the user said in `body` so it makes sense out of context.",
396
+ "- Don't open more than 5 tasks in a single turn; you're noting, not firehosing.",
397
+ ].join("\n");
398
+ }
354
399
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../lib/reflex/agents/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../lib/reflex/agents/prompts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reflex-agent",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "private": false,
5
5
  "description": "Local-first knowledge base built by an agent over a chosen directory.",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- "use strict";exports.id=2920,exports.ids=[2920],exports.modules={2119:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(43264);let e=function(a){var b=new a.constructor(a.byteLength);return new d.A(b).set(new d.A(a)),b}},31402:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(76501),e=c(49898);let f=function(a,b){var c=-1,f=(0,e.A)(a)?Array(a.length):[];return(0,d.A)(a,function(a,d,e){f[++c]=b(a,d,e)}),f}},38925:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(2119);let e=function(a,b){var c=b?(0,d.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}},39398:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(63937),e=Object.create,f=function(){function a(){}return function(b){if(!(0,d.A)(b))return{};if(e)return e(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}(),g=c(57317),h=c(10359);let i=function(a){return"function"!=typeof a.constructor||(0,h.A)(a)?{}:f((0,g.A)(a))}},40120:(a,b,c)=>{c.d(b,{A:()=>U});var d=c(96421),e=c(23522),f=c(42707),g=c(93373),h=c(2316),i=c(49462),j=c(57436),k=c(87623),l=c(28244),m=c(46570),n=c(57317),o=c(31127),p=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)(0,m.A)(b,(0,l.A)(a)),a=(0,n.A)(a);return b}:o.A,q=c(46970),r=c(81113);let s=function(a){return(0,r.A)(a,i.A,p)};var t=c(29216),u=Object.prototype.hasOwnProperty;let v=function(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&u.call(a,"index")&&(c.index=a.index,c.input=a.input),c};var w=c(2119);let x=function(a,b){var c=b?(0,w.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)};var y=/\w*$/;let z=function(a){var b=new a.constructor(a.source,y.exec(a));return b.lastIndex=a.lastIndex,b};var A=c(9295),B=A.A?A.A.prototype:void 0,C=B?B.valueOf:void 0,D=c(38925);let E=function(a,b,c){var d=a.constructor;switch(b){case"[object ArrayBuffer]":return(0,w.A)(a);case"[object Boolean]":case"[object Date]":return new d(+a);case"[object DataView]":return x(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,D.A)(a,c);case"[object Map]":case"[object Set]":return new d;case"[object Number]":case"[object String]":return new d(a);case"[object RegExp]":return z(a);case"[object Symbol]":return C?Object(C.call(a)):{}}};var F=c(39398),G=c(44952),H=c(13387),I=c(86996),J=c(47537),K=c(76879),L=K.A&&K.A.isMap,M=L?(0,J.A)(L):function(a){return(0,I.A)(a)&&"[object Map]"==(0,t.A)(a)},N=c(63937),O=K.A&&K.A.isSet,P=O?(0,J.A)(O):function(a){return(0,I.A)(a)&&"[object Set]"==(0,t.A)(a)},Q="[object Arguments]",R="[object Function]",S="[object Object]",T={};T[Q]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[S]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[R]=T["[object WeakMap]"]=!1;let U=function a(b,c,m,n,o,r){var u,w=1&c,x=2&c,y=4&c;if(m&&(u=o?m(b,n,o,r):m(b)),void 0!==u)return u;if(!(0,N.A)(b))return b;var z=(0,G.A)(b);if(z){if(u=v(b),!w)return(0,k.A)(b,u)}else{var A,B,C,D,I=(0,t.A)(b),J=I==R||"[object GeneratorFunction]"==I;if((0,H.A)(b))return(0,j.A)(b,w);if(I==S||I==Q||J&&!o){if(u=x||J?{}:(0,F.A)(b),!w)return x?(B=(A=u)&&(0,g.A)(b,(0,i.A)(b),A),(0,g.A)(b,p(b),B)):(D=(C=u)&&(0,g.A)(b,(0,h.A)(b),C),(0,g.A)(b,(0,l.A)(b),D))}else{if(!T[I])return o?b:{};u=E(b,I,w)}}r||(r=new d.A);var K=r.get(b);if(K)return K;r.set(b,u),P(b)?b.forEach(function(d){u.add(a(d,c,m,d,b,r))}):M(b)&&b.forEach(function(d,e){u.set(e,a(d,c,m,e,b,r))});var L=y?x?s:q.A:x?i.A:h.A,O=z?void 0:L(b);return(0,e.A)(O||b,function(d,e){O&&(d=b[e=d]),(0,f.A)(u,e,a(d,c,m,e,b,r))}),u}},42707:(a,b,c)=>{c.d(b,{A:()=>g});var d=c(74722),e=c(37758),f=Object.prototype.hasOwnProperty;let g=function(a,b,c){var g=a[b];f.call(a,b)&&(0,e.A)(g,c)&&(void 0!==c||b in a)||(0,d.A)(a,b,c)}},49462:(a,b,c)=>{c.d(b,{A:()=>k});var d=c(28028),e=c(63937),f=c(10359);let g=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b};var h=Object.prototype.hasOwnProperty;let i=function(a){if(!(0,e.A)(a))return g(a);var b=(0,f.A)(a),c=[];for(var d in a)"constructor"==d&&(b||!h.call(a,d))||c.push(d);return c};var j=c(49898);let k=function(a){return(0,j.A)(a)?(0,d.A)(a,!0):i(a)}},57317:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(30811).A)(Object.getPrototypeOf,Object)},57436:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(23763),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,f=e&&"object"==typeof module&&module&&!module.nodeType&&module,g=f&&f.exports===e?d.A.Buffer:void 0,h=g?g.allocUnsafe:void 0;let i=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},70539:(a,b,c)=>{c.d(b,{Zp:()=>bT});var d,e=c(14506),f=c(67672),g=0;let h=function(a){var b=++g;return(0,f.A)(a)+b};var i=c(22636),j=c(74432);let k=function(a){return(null==a?0:a.length)?(0,j.A)(a,1):[]};var l=c(74410),m=Math.ceil,n=Math.max;let o=function(a,b,c,d){for(var e=-1,f=n(m((b-a)/(c||1)),0),g=Array(f);f--;)g[d?f:++e]=a,a+=c;return g};var p=c(37758),q=c(49898),r=c(78101),s=c(63937);let t=function(a,b,c){if(!(0,s.A)(c))return!1;var d=typeof b;return("number"==d?!!((0,q.A)(c)&&(0,r.A)(b,c.length)):"string"==d&&b in c)&&(0,p.A)(c[b],a)};var u=/\s/;let v=function(a){for(var b=a.length;b--&&u.test(a.charAt(b)););return b};var w=/^\s+/,x=c(28420),y=0/0,z=/^[-+]0x[0-9a-f]+$/i,A=/^0b[01]+$/i,B=/^0o[0-7]+$/i,C=parseInt;let D=function(a){if("number"==typeof a)return a;if((0,x.A)(a))return y;if((0,s.A)(a)){var b,c="function"==typeof a.valueOf?a.valueOf():a;a=(0,s.A)(c)?c+"":c}if("string"!=typeof a)return 0===a?a:+a;a=(b=a)?b.slice(0,v(b)+1).replace(w,""):b;var d=A.test(a);return d||B.test(a)?C(a.slice(2),d?2:8):z.test(a)?y:+a};var E=1/0;let F=function(a){return a?(a=D(a))===E||a===-E?(a<0?-1:1)*17976931348623157e292:a==a?a:0:0===a?a:0},G=function(a,b,c){return c&&"number"!=typeof c&&t(a,b,c)&&(b=c=void 0),a=F(a),void 0===b?(b=a,a=0):b=F(b),c=void 0===c?a<b?1:-1:F(c),o(a,b,c,void 0)};var H=c(82249);class I{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,b=a._prev;if(b!==a)return J(b),b}enqueue(a){var b=this._sentinel;a._prev&&a._next&&J(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){for(var a=[],b=this._sentinel,c=b._prev;c!==b;)a.push(JSON.stringify(c,K)),c=c._prev;return"["+a.join(", ")+"]"}}function J(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function K(a,b){if("_next"!==a&&"_prev"!==a)return b}var L=i.A(1);function M(a,b,c,d,f){var g=f?[]:void 0;return e.A(a.inEdges(d.v),function(d){var e=a.edge(d),h=a.node(d.v);f&&g.push({v:d.v,w:d.w}),h.out-=e,N(b,c,h)}),e.A(a.outEdges(d.v),function(d){var e=a.edge(d),f=d.w,g=a.node(f);g.in-=e,N(b,c,g)}),a.removeNode(d.v),g}function N(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}var O=c(96421),P=c(74722);let Q=function(a,b,c){(void 0===c||(0,p.A)(a[b],c))&&(void 0!==c||b in a)||(0,P.A)(a,b,c)};var R=c(95361),S=c(57436),T=c(38925),U=c(87623),V=c(39398),W=c(44210),X=c(44952),Y=c(47371),Z=c(13387),$=c(27678),_=c(70451),aa=c(57317),ab=c(86996),ac=Object.prototype,ad=Function.prototype.toString,ae=ac.hasOwnProperty,af=ad.call(Object);let ag=function(a){if(!(0,ab.A)(a)||"[object Object]"!=(0,_.A)(a))return!1;var b=(0,aa.A)(a);if(null===b)return!0;var c=ae.call(b,"constructor")&&b.constructor;return"function"==typeof c&&c instanceof c&&ad.call(c)==af};var ah=c(7448);let ai=function(a,b){if(("constructor"!==b||"function"!=typeof a[b])&&"__proto__"!=b)return a[b]};var aj=c(93373),ak=c(49462);let al=function(a,b,c,d,e,f,g){var h=ai(a,c),i=ai(b,c),j=g.get(i);if(j)return void Q(a,c,j);var k=f?f(h,i,c+"",a,b,g):void 0,l=void 0===k;if(l){var m=(0,X.A)(i),n=!m&&(0,Z.A)(i),o=!m&&!n&&(0,ah.A)(i);(k=i,m||n||o)?(0,X.A)(h)?k=h:(0,Y.A)(h)?k=(0,U.A)(h):n?(l=!1,k=(0,S.A)(i,!0)):o?(l=!1,k=(0,T.A)(i,!0)):k=[]:ag(i)||(0,W.A)(i)?(k=h,(0,W.A)(h))?k=(0,aj.A)(h,(0,ak.A)(h)):(!(0,s.A)(h)||(0,$.A)(h))&&(k=(0,V.A)(i)):l=!1}l&&(g.set(i,k),e(k,i,d,f,g),g.delete(i)),Q(a,c,k)},am=function a(b,c,d,e,f){b!==c&&(0,R.A)(c,function(g,h){if(f||(f=new O.A),(0,s.A)(g))al(b,c,h,d,a,e,f);else{var i=e?e(ai(b,h),g,h+"",b,c,f):void 0;void 0===i&&(i=g),Q(b,h,i)}},ak.A)};var an=c(37970),ao=function(a){return(0,an.A)(function(b,c){var d=-1,e=c.length,f=e>1?c[e-1]:void 0,g=e>2?c[2]:void 0;for(f=a.length>3&&"function"==typeof f?(e--,f):void 0,g&&t(c[0],c[1],g)&&(f=e<3?void 0:f,e=1),b=Object(b);++d<e;){var h=c[d];h&&a(b,h,d,f)}return b})}(function(a,b,c){am(a,b,c)}),ap=c(39524),aq=c(42707),ar=c(22481),as=c(4781);let at=function(a,b,c,d){if(!(0,s.A)(a))return a;b=(0,ar.A)(b,a);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=(0,as.A)(b[e]),j=c;if("__proto__"===i||"constructor"===i||"prototype"===i)break;if(e!=g){var k=h[i];void 0===(j=d?d(k,i,h):void 0)&&(j=(0,s.A)(k)?k:(0,r.A)(b[e+1])?[]:{})}(0,aq.A)(h,i,j),h=h[i]}return a},au=function(a,b,c){for(var d=-1,e=b.length,f={};++d<e;){var g=b[d],h=(0,ap.A)(a,g);c(h,g)&&at(f,(0,ar.A)(g,a),h)}return f};var av=c(4640),aw=c(11310),ax=c(32745),ay=function(a){return(0,ax.A)((0,aw.A)(a,void 0,k),a+"")}(function(a,b){return null==a?{}:au(a,b,function(b,c){return(0,av.A)(a,c)})}),az=Object.prototype,aA=az.hasOwnProperty,aB=(0,an.A)(function(a,b){a=Object(a);var c=-1,d=b.length,e=d>2?b[2]:void 0;for(e&&t(b[0],b[1],e)&&(d=1);++c<d;)for(var f=b[c],g=(0,ak.A)(f),h=-1,i=g.length;++h<i;){var j=g[h],k=a[j];(void 0===k||(0,p.A)(k,az[j])&&!aA.call(a,j))&&(a[j]=f[j])}return a});let aC=function(a,b,c){for(var d=-1,e=a.length;++d<e;){var f=a[d],g=b(f);if(null!=g&&(void 0===h?g==g&&!(0,x.A)(g):c(g,h)))var h=g,i=f}return i},aD=function(a,b){return a>b};var aE=c(17606);let aF=function(a){return a&&a.length?aC(a,aE.A,aD):void 0},aG=function(a){var b=null==a?0:a.length;return b?a[b-1]:void 0};var aH=c(93911),aI=c(8484);let aJ=function(a,b){var c={};return b=(0,aI.A)(b,3),(0,aH.A)(a,function(a,d,e){(0,P.A)(c,d,b(a,d,e))}),c};var aK=c(23204);let aL=function(a,b){return a<b},aM=function(a){return a&&a.length?aC(a,aE.A,aL):void 0};var aN=Object.prototype.hasOwnProperty;let aO=function(a,b){return null!=a&&aN.call(a,b)};var aP=c(31908);let aQ=function(a,b){return null!=a&&(0,aP.A)(a,b,aO)};var aR=c(23763);let aS=function(){return aR.A.Date.now()};function aT(a,b,c,d){var e;do e=h(d);while(a.hasNode(e));return c.dummy=b,a.setNode(e,c),e}function aU(a){var b=new H.T({multigraph:a.isMultigraph()}).setGraph(a.graph());return e.A(a.nodes(),function(c){a.children(c).length||b.setNode(c,a.node(c))}),e.A(a.edges(),function(c){b.setEdge(c,a.edge(c))}),b}function aV(a,b){var c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}}function aW(a){var b=l.A(G(aY(a)+1),function(){return[]});return e.A(a.nodes(),function(c){var d=a.node(c),e=d.rank;aK.A(e)||(b[e][d.order]=c)}),b}function aX(a,b,c,d){var e={width:0,height:0};return arguments.length>=4&&(e.rank=c,e.order=d),aT(a,"border",e,b)}function aY(a){return aF(l.A(a.nodes(),function(b){var c=a.node(b).rank;if(!aK.A(c))return c}))}function aZ(a,b){var c=aS();try{return b()}finally{console.log(a+" time: "+(aS()-c)+"ms")}}function a$(a,b){return b()}function a_(a,b,c,d,e,f){var g=e[b][f-1],h=aT(a,"border",{width:0,height:0,rank:f,borderType:b},c);e[b][f]=h,a.setParent(h,d),g&&a.setEdge(g,h,{weight:1})}function a0(a){e.A(a.nodes(),function(b){a1(a.node(b))}),e.A(a.edges(),function(b){a1(a.edge(b))})}function a1(a){var b=a.width;a.width=a.height,a.height=b}function a2(a){a.y=-a.y}function a3(a){var b=a.x;a.x=a.y,a.y=b}let a4=function(a,b){return a&&a.length?aC(a,(0,aI.A)(b,2),aL):void 0};function a5(a){var b={};e.A(a.sources(),function c(d){var e=a.node(d);if(Object.prototype.hasOwnProperty.call(b,d))return e.rank;b[d]=!0;var f=aM(l.A(a.outEdges(d),function(b){return c(b.w)-a.edge(b).minlen}));return(f===1/0||null==f)&&(f=0),e.rank=f})}function a6(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}function a7(a){var b,c,d,f,g=new H.T({directed:!1}),h=a.nodes()[0],i=a.nodeCount();for(g.setNode(h,{});b=g,c=a,e.A(b.nodes(),function a(d){e.A(c.nodeEdges(d),function(e){var f=e.v,g=d===f?e.w:f;b.hasNode(g)||a6(c,e)||(b.setNode(g,{}),b.setEdge(d,g,{}),a(g))})}),b.nodeCount()<i;)d=function(a,b){return a4(b.edges(),function(c){if(a.hasNode(c.v)!==a.hasNode(c.w))return a6(b,c)})}(g,a),f=g.hasNode(d.v)?a6(a,d):-a6(a,d),function(a,b,c){e.A(a.nodes(),function(a){b.node(a).rank+=c})}(g,a,f);return g}var a8=c(2316),a9=c(12311);let ba=function(a){var b=F(a),c=b%1;return b==b?c?b-c:b:0};var bb=Math.max,bc=(d=function(a,b,c){var d=null==a?0:a.length;if(!d)return -1;var e=null==c?0:ba(c);return e<0&&(e=bb(d+e,0)),(0,a9.A)(a,(0,aI.A)(b,3),e)},function(a,b,c){var e=Object(a);if(!(0,q.A)(a)){var f=(0,aI.A)(b,3);a=(0,a8.A)(a),b=function(a){return f(e[a],a,e)}}var g=d(a,b,c);return g>-1?e[f?a[g]:g]:void 0}),bd=c(57151);i.A(1),i.A(1);var be=c(91671),bf=c(29216),bg=(0,c(37151).A)("length"),bh=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),bi="\ud800-\udfff",bj="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",bk="\ud83c[\udffb-\udfff]",bl="[^"+bi+"]",bm="(?:\ud83c[\udde6-\uddff]){2}",bn="[\ud800-\udbff][\udc00-\udfff]",bo="(?:"+bj+"|"+bk+")?",bp="[\\ufe0e\\ufe0f]?",bq="(?:\\u200d(?:"+[bl,bm,bn].join("|")+")"+bp+bo+")*",br=RegExp(bk+"(?="+bk+")|"+("(?:"+[bl+bj+"?",bj,bm,bn,"["+bi+"]"].join("|"))+")"+(bp+bo+bq),"g");function bs(){}function bt(a,b,c){X.A(b)||(b=[b]);var d=(a.isDirected()?a.successors:a.neighbors).bind(a),f=[],g={};return e.A(b,function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);!function a(b,c,d,f,g,h){!Object.prototype.hasOwnProperty.call(f,c)&&(f[c]=!0,d||h.push(c),e.A(g(c),function(c){a(b,c,d,f,g,h)}),d&&h.push(c))}(a,b,"post"===c,g,d,f)}),f}function bu(a){b=a,c=new H.T().setGraph(b.graph()),e.A(b.nodes(),function(a){c.setNode(a,b.node(a))}),e.A(b.edges(),function(a){var d=c.edge(a.v,a.w)||{weight:0,minlen:1},e=b.edge(a);c.setEdge(a.v,a.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),a5(a=c);var b,c,d,f,g=a7(a);for(bx(g),bv(g,a);d=by(g);)f=bz(g,a,d),bA(g,a,d,f)}function bv(a,b){var c=bt(a,a.nodes(),"post");c=c.slice(0,c.length-1),e.A(c,function(c){var d,e,f,g;d=a,e=b,f=c,g=d.node(f).parent,d.edge(f,g).cutvalue=bw(d,e,f)})}function bw(a,b,c){var d=a.node(c).parent,f=!0,g=b.edge(c,d),h=0;return g||(f=!1,g=b.edge(d,c)),h=g.weight,e.A(b.nodeEdges(c),function(e){var g=e.v===c,i=g?e.w:e.v;if(i!==d){var j,k,l,m=g===f,n=b.edge(e).weight;if(h+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;h+=m?-o:o}}}),h}function bx(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,f,g){var h=d,i=b.node(f);return c[f]=!0,e.A(b.neighbors(f),function(e){Object.prototype.hasOwnProperty.call(c,e)||(d=a(b,c,d,e,f))}),i.low=h,i.lim=d++,g?i.parent=g:delete i.parent,d}(a,{},1,b)}function by(a){return bc(a.edges(),function(b){return a.edge(b).cutvalue<0})}function bz(a,b,c){var d=c.v,e=c.w;b.hasEdge(d,e)||(d=c.w,e=c.v);var f=a.node(d),g=a.node(e),h=f,i=!1;return f.lim>g.lim&&(h=g,i=!0),a4(bd.A(b.edges(),function(b){return i===bB(a,a.node(b.v),h)&&i!==bB(a,a.node(b.w),h)}),function(a){return a6(b,a)})}function bA(a,b,c,d){var f,g,h,i,j=c.v,k=c.w;a.removeEdge(j,k),a.setEdge(d.v,d.w,{}),bx(a),bv(a,b),f=a,g=b,h=bc(f.nodes(),function(a){return!g.node(a).parent}),i=(i=bt(f,h,"pre")).slice(1),e.A(i,function(a){var b=f.node(a).parent,c=g.edge(a,b),d=!1;c||(c=g.edge(b,a),d=!0),g.node(a).rank=g.node(b).rank+(d?c.minlen:-c.minlen)})}function bB(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}bs.prototype=Error(),c(34403),bu.initLowLimValues=bx,bu.initCutValues=bv,bu.calcCutValue=bw,bu.leaveEdge=by,bu.enterEdge=bz,bu.exchangeEdges=bA;var bC=c(48083),bD=c(85411),bE=c(40120);let bF=function(a,b,c){for(var d=-1,e=a.length,f=b.length,g={};++d<e;){var h=d<f?b[d]:void 0;c(g,a[d],h)}return g};var bG=c(95696),bH=c(31402);let bI=function(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a};var bJ=c(47537);let bK=function(a,b){if(a!==b){var c=void 0!==a,d=null===a,e=a==a,f=(0,x.A)(a),g=void 0!==b,h=null===b,i=b==b,j=(0,x.A)(b);if(!h&&!j&&!f&&a>b||f&&g&&i&&!h&&!j||d&&g&&i||!c&&i||!e)return 1;if(!d&&!f&&!j&&a<b||j&&c&&e&&!d&&!f||h&&c&&e||!g&&e||!i)return -1}return 0},bL=function(a,b,c){for(var d=-1,e=a.criteria,f=b.criteria,g=e.length,h=c.length;++d<g;){var i=bK(e[d],f[d]);if(i){if(d>=h)return i;return i*("desc"==c[d]?-1:1)}}return a.index-b.index},bM=function(a,b,c){b=b.length?(0,bG.A)(b,function(a){return(0,X.A)(a)?function(b){return(0,ap.A)(b,1===a.length?a[0]:a)}:a}):[aE.A];var d=-1;return b=(0,bG.A)(b,(0,bJ.A)(aI.A)),bI((0,bH.A)(a,function(a,c,e){return{criteria:(0,bG.A)(b,function(b){return b(a)}),index:++d,value:a}}),function(a,b){return bL(a,b,c)})};var bN=(0,an.A)(function(a,b){if(null==a)return[];var c=b.length;return c>1&&t(a,b[0],b[1])?b=[]:c>2&&t(b[0],b[1],b[2])&&(b=[b[0]]),bM(a,(0,j.A)(b,1),[])});function bO(a,b,c){for(var d;b.length&&(d=aG(b)).i<=c;)b.pop(),a.push(d.vs),c++;return c}function bP(a,b,c){return l.A(b,function(b){var d,f;return d=function(a){for(var b;a.hasNode(b=h("_root")););return b}(a),f=new H.T({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(b){return a.node(b)}),e.A(a.nodes(),function(g){var h=a.node(g),i=a.parent(g);(h.rank===b||h.minRank<=b&&b<=h.maxRank)&&(f.setNode(g),f.setParent(g,i||d),e.A(a[c](g),function(b){var c=b.v===g?b.w:b.v,d=f.edge(c,g),e=aK.A(d)?0:d.weight;f.setEdge(c,g,{weight:a.edge(b).weight+e})}),Object.prototype.hasOwnProperty.call(h,"minRank")&&f.setNode(g,{borderLeft:h.borderLeft[b],borderRight:h.borderRight[b]}))}),f})}function bQ(a,b){e.A(b,function(b){e.A(b,function(b,c){a.node(b).order=c})})}var bR=c(96862);function bS(a,b,c){if(b>c){var d=b;b=c,c=d}Object.prototype.hasOwnProperty.call(a,b)||Object.defineProperty(a,b,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(a[b],c,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bT(a,b){var c=b&&b.debugTiming?aZ:a$;c("layout",()=>{var b=c(" buildLayoutGraph",()=>{var b,c,d;return b=a,c=new H.T({multigraph:!0,compound:!0}),d=b1(b.graph()),c.setGraph(ao({},bV,b0(d,bU),ay(d,bW))),e.A(b.nodes(),function(a){var d=b1(b.node(a));c.setNode(a,aB(b0(d,bX),bY)),c.setParent(a,b.parent(a))}),e.A(b.edges(),function(a){var d=b1(b.edge(a));c.setEdge(a,ao({},b$,b0(d,bZ),ay(d,b_)))}),c});c(" runLayout",()=>{var a,d;return a=b,void((d=c)(" makeSpaceForEdgeLabels",()=>{var b,c;return c=(b=a).graph(),void(c.ranksep/=2,e.A(b.edges(),function(a){var d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),d(" removeSelfEdges",()=>{var b;return b=a,void e.A(b.edges(),function(a){if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),d(" acyclic",()=>{var b,c,d,f,g,i;return b="greedy"===a.graph().acyclicer?function(a,b){if(1>=a.nodeCount())return[];var c,d,f,g,h,i,j,m=(c=a,d=b||L,f=new H.T,g=0,h=0,e.A(c.nodes(),function(a){f.setNode(a,{v:a,in:0,out:0})}),e.A(c.edges(),function(a){var b=f.edge(a.v,a.w)||0,c=d(a);f.setEdge(a.v,a.w,b+c),h=Math.max(h,f.node(a.v).out+=c),g=Math.max(g,f.node(a.w).in+=c)}),i=G(h+g+3).map(function(){return new I}),j=g+1,e.A(f.nodes(),function(a){N(i,j,f.node(a))}),{graph:f,buckets:i,zeroIdx:j}),n=function(a,b,c){for(var d,e=[],f=b[b.length-1],g=b[0];a.nodeCount();){for(;d=g.dequeue();)M(a,b,c,d);for(;d=f.dequeue();)M(a,b,c,d);if(a.nodeCount()){for(var h=b.length-2;h>0;--h)if(d=b[h].dequeue()){e=e.concat(M(a,b,c,d,!0));break}}}return e}(m.graph,m.buckets,m.zeroIdx);return k(l.A(n,function(b){return a.outEdges(b.v,b.w)}))}(a,(c=a,function(a){return c.edge(a).weight})):(d=a,f=[],g={},i={},e.A(d.nodes(),function a(b){Object.prototype.hasOwnProperty.call(i,b)||(i[b]=!0,g[b]=!0,e.A(d.outEdges(b),function(b){Object.prototype.hasOwnProperty.call(g,b.w)?f.push(b):a(b.w)}),delete g[b])}),f),void e.A(b,function(b){var c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,h("rev"))})}),d(" nestingGraph.run",()=>{var b,c,d,f,g,h,i,j;return b=aT(a,"root",{},"_root"),h=a,i={},e.A(h.children(),function(a){!function a(b,c){var d=h.children(b);d&&d.length&&e.A(d,function(b){a(b,c+1)}),i[b]=c}(a,1)}),c=i,f=2*(d=aF(bC.A(c))-1)+1,a.graph().nestingRoot=b,e.A(a.edges(),function(b){a.edge(b).minlen*=f}),g=(j=a,bD.A(j.edges(),function(a,b){return a+j.edge(b).weight},0)+1),void(e.A(a.children(),function(h){!function a(b,c,d,f,g,h,i){var j=b.children(i);if(!j.length){i!==c&&b.setEdge(c,i,{weight:0,minlen:d});return}var k=aX(b,"_bt"),l=aX(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,e.A(j,function(e){a(b,c,d,f,g,h,e);var j=b.node(e),m=j.borderTop?j.borderTop:e,n=j.borderBottom?j.borderBottom:e,o=j.borderTop?f:2*f,p=m!==n?1:g-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(c,k,{weight:0,minlen:g+h[i]})}(a,b,f,g,d,c,h)}),a.graph().nodeRankFactor=f)}),d(" rank",()=>(function(a){switch(a.graph().ranker){case"network-simplex":default:bu(a);break;case"tight-tree":var b;a5(b=a),a7(b);break;case"longest-path":a5(a)}})(aU(a))),d(" injectEdgeLabelProxies",()=>{var b;return b=a,void e.A(b.edges(),function(a){var c=b.edge(a);if(c.width&&c.height){var d=b.node(a.v),e={rank:(b.node(a.w).rank-d.rank)/2+d.rank,e:a};aT(b,"edge-proxy",e,"_ep")}})}),d(" removeEmptyRanks",()=>{var b,c,d,f;return b=aM(l.A(a.nodes(),function(b){return a.node(b).rank})),c=[],e.A(a.nodes(),function(d){var e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)}),d=0,f=a.graph().nodeRankFactor,void e.A(c,function(b,c){aK.A(b)&&c%f!=0?--d:d&&e.A(b,function(b){a.node(b).rank+=d})})}),d(" nestingGraph.cleanup",()=>{var b;return b=a.graph(),void(a.removeNode(b.nestingRoot),delete b.nestingRoot,e.A(a.edges(),function(b){a.edge(b).nestingEdge&&a.removeEdge(b)}))}),d(" normalizeRanks",()=>{var b;return b=aM(l.A(a.nodes(),function(b){return a.node(b).rank})),void e.A(a.nodes(),function(c){var d=a.node(c);aQ(d,"rank")&&(d.rank-=b)})}),d(" assignRankMinMax",()=>{var b,c;return b=a,c=0,void(e.A(b.nodes(),function(a){var d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=aF(c,d.maxRank))}),b.graph().maxRank=c)}),d(" removeEdgeLabelProxies",()=>{var b;return b=a,void e.A(b.nodes(),function(a){var c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),d(" normalize.run",()=>{a.graph().dummyChains=[],e.A(a.edges(),function(b){!function(a,b){var c,d,e=b.v,f=a.node(e).rank,g=b.w,h=a.node(g).rank,i=b.name,j=a.edge(b),k=j.labelRank;if(h!==f+1){a.removeEdge(b);var l=void 0;for(d=0,++f;f<h;++d,++f)j.points=[],c=aT(a,"edge",l={width:0,height:0,edgeLabel:j,edgeObj:b,rank:f},"_d"),f===k&&(l.width=j.width,l.height=j.height,l.dummy="edge-label",l.labelpos=j.labelpos),a.setEdge(e,c,{weight:j.weight},i),0===d&&a.graph().dummyChains.push(c),e=c;a.setEdge(e,g,{weight:j.weight},i)}}(a,b)})}),d(" parentDummyChains",()=>{var b,c,d,f;return c=a,d={},f=0,e.A(c.children(),function a(b){var g=f;e.A(c.children(b),a),d[b]={low:g,lim:f++}}),b=d,void e.A(a.graph().dummyChains,function(c){for(var d=a.node(c),e=d.edgeObj,f=function(a,b,c,d){var e,f,g=[],h=[],i=Math.min(b[c].low,b[d].low),j=Math.max(b[c].lim,b[d].lim);e=c;do g.push(e=a.parent(e));while(e&&(b[e].low>i||j>b[e].lim));for(f=e,e=d;(e=a.parent(e))!==f;)h.push(e);return{path:g.concat(h.reverse()),lca:f}}(a,b,e.v,e.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;c!==e.w;){if(d=a.node(c),k){for(;(j=g[i])!==h&&a.node(j).maxRank<d.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=d.rank;)i++;j=g[i]}a.setParent(c,j),c=a.successors(c)[0]}})}),d(" addBorderSegments",()=>{e.A(a.children(),function b(c){var d=a.children(c),f=a.node(c);if(d.length&&e.A(d,b),Object.prototype.hasOwnProperty.call(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(var g=f.minRank,h=f.maxRank+1;g<h;++g)a_(a,"borderLeft","_bl",c,f,g),a_(a,"borderRight","_br",c,f,g)}})}),d(" order",()=>(function(a){var b=aY(a),c=bP(a,G(1,b+1),"inEdges"),d=bP(a,G(b-1,-1,-1),"outEdges"),f=(g={},h=bd.A(a.nodes(),function(b){return!a.children(b).length}),i=aF(l.A(h,function(b){return a.node(b).rank})),j=l.A(G(i+1),function(){return[]}),m=bN(h,function(b){return a.node(b).rank}),e.A(m,function b(c){aQ(g,c)||(g[c]=!0,j[a.node(c).rank].push(c),e.A(a.successors(c),b))}),j);bQ(a,f);for(var g,h,i,j,m,n,o=1/0,p=0,q=0;q<4;++p,++q){(function(a,b){var c=new H.T;e.A(a,function(a){var d,f,g,h=a.graph().root,i=function a(b,c,d,f){var g,h,i,j,m,n,o,p,q,r,s,t,u=b.children(c),v=b.node(c),w=v?v.borderLeft:void 0,x=v?v.borderRight:void 0,y={};w&&(u=bd.A(u,function(a){return a!==w&&a!==x}));var z=(g=u,l.A(g,function(a){var c=b.inEdges(a);if(!c.length)return{v:a};var d=bD.A(c,function(a,c){var d=b.edge(c),e=b.node(c.v);return{sum:a.sum+d.weight*e.order,weight:a.weight+d.weight}},{sum:0,weight:0});return{v:a,barycenter:d.sum/d.weight,weight:d.weight}}));e.A(z,function(c){if(b.children(c.v).length){var e,g,h=a(b,c.v,d,f);y[c.v]=h,Object.prototype.hasOwnProperty.call(h,"barycenter")&&(e=c,g=h,aK.A(e.barycenter)?(e.barycenter=g.barycenter,e.weight=g.weight):(e.barycenter=(e.barycenter*e.weight+g.barycenter*g.weight)/(e.weight+g.weight),e.weight+=g.weight))}});var A=(h={},e.A(z,function(a,b){var c=h[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};aK.A(a.barycenter)||(c.barycenter=a.barycenter,c.weight=a.weight)}),e.A(d.edges(),function(a){var b=h[a.v],c=h[a.w];aK.A(b)||aK.A(c)||(c.indegree++,b.out.push(h[a.w]))}),function(a){for(var b=[];a.length;){var c=a.pop();b.push(c),e.A(c.in.reverse(),function(a){return function(b){!b.merged&&(aK.A(b.barycenter)||aK.A(a.barycenter)||b.barycenter>=a.barycenter)&&function(a,b){var c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),e.A(c.out,function(b){return function(c){c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return l.A(bd.A(b,function(a){return!a.merged}),function(a){return ay(a,["vs","i","barycenter","weight"])})}(bd.A(h,function(a){return!a.indegree})));!function(a,b){e.A(a,function(a){a.vs=k(a.vs.map(function(a){return b[a]?b[a].vs:a}))})}(A,y);var B=(n=(i=function(a){return Object.prototype.hasOwnProperty.call(a,"barycenter")},j={lhs:[],rhs:[]},e.A(A,function(a){i(a)?j.lhs.push(a):j.rhs.push(a)}),m=j).lhs,o=bN(m.rhs,function(a){return-a.i}),p=[],q=0,r=0,s=0,n.sort(function(a){return function(b,c){return b.barycenter<c.barycenter?-1:b.barycenter>c.barycenter?1:a?c.i-b.i:b.i-c.i}}(!!f)),s=bO(p,o,s),e.A(n,function(a){s+=a.vs.length,p.push(a.vs),q+=a.barycenter*a.weight,r+=a.weight,s=bO(p,o,s)}),t={vs:k(p)},r&&(t.barycenter=q/r,t.weight=r),t);if(w&&(B.vs=k([w,B.vs,x]),b.predecessors(w).length)){var C=b.node(b.predecessors(w)[0]),D=b.node(b.predecessors(x)[0]);Object.prototype.hasOwnProperty.call(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+C.order+D.order)/(B.weight+2),B.weight+=2}return B}(a,h,c,b);e.A(i.vs,function(b,c){a.node(b).order=c}),d=i.vs,g={},e.A(d,function(b){for(var d,e,h=a.parent(b);h;){if((d=a.parent(h))?(e=g[d],g[d]=h):(e=f,f=h),e&&e!==h)return void c.setEdge(e,h);h=d}})})})(p%2?c:d,p%4>=2),f=aW(a);var r,s=function(a,b){for(var c=0,d=1;d<b.length;++d)c+=function(a,b,c){for(var d=bF(c||[],l.A(c,function(a,b){return b})||[],aq.A),f=k(l.A(b,function(b){return bN(l.A(a.outEdges(b),function(b){return{pos:d[b.w],weight:a.edge(b).weight}}),"pos")})),g=1;g<c.length;)g<<=1;var h=2*g-1;g-=1;var i=l.A(Array(h),function(){return 0}),j=0;return e.A(f.forEach(function(a){var b=a.pos+g;i[b]+=a.weight;for(var c=0;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c})),j}(a,b[d-1],b[d]);return c}(a,f);s<o&&(q=0,r=f,n=(0,bE.A)(r,5),o=s)}bQ(a,n)})(a)),d(" insertSelfEdges",()=>{var b,c;return c=aW(b=a),void e.A(c,function(a){var c=0;e.A(a,function(a,d){var f=b.node(a);f.order=d+c,e.A(f.selfEdges,function(a){aT(b,"selfedge",{width:a.label.width,height:a.label.height,rank:f.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete f.selfEdges})})}),d(" adjustCoordinateSystem",()=>{var b;("lr"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&a0(a)}),d(" position",()=>{var b,c,d,f,g,h,i,j,k,m,n,o,p,q,r,s,t;r=aW(q=b=aU(b=a)),s=q.graph().ranksep,t=0,e.A(r,function(a){var b=aF(l.A(a,function(a){return q.node(a).height}));e.A(a,function(a){q.node(a).y=t+b/2}),t+=b+s}),f=aW(c=b),h=ao((g={},bD.A(f,function(a,b){var d=0,f=0,h=a.length,i=aG(b);return e.A(b,function(a,j){var k=function(a,b){if(a.node(b).dummy)return bc(a.predecessors(b),function(b){return a.node(b).dummy})}(c,a),l=k?c.node(k).order:h;(k||a===i)&&(e.A(b.slice(f,j+1),function(a){e.A(c.predecessors(a),function(b){var e=c.node(b),f=e.order;(f<d||l<f)&&!(e.dummy&&c.node(a).dummy)&&bS(g,b,a)})}),f=j+1,d=l)}),b}),g),function(a,b){var c={};function d(b,d,f,g,h){var i;e.A(G(d,f),function(d){i=b[d],a.node(i).dummy&&e.A(a.predecessors(i),function(b){var d=a.node(b);d.dummy&&(d.order<g||d.order>h)&&bS(c,b,i)})})}return bD.A(b,function(b,c){var f,g=-1,h=0;return e.A(c,function(e,i){if("border"===a.node(e).dummy){var j=a.predecessors(e);j.length&&(f=a.node(j[0]).order,d(c,h,i,g,f),h=i,g=f)}d(c,h,c.length,f,b.length)}),c}),c}(c,f)),i={},e.A(["u","d"],function(a){d="u"===a?f:bC.A(f).reverse(),e.A(["l","r"],function(b){"r"===b&&(d=l.A(d,function(a){return bC.A(a).reverse()}));var f,g,j,k,m=("u"===a?c.predecessors:c.successors).bind(c),n=(f=d,g={},j={},k={},e.A(f,function(a){e.A(a,function(a,b){g[a]=a,j[a]=a,k[a]=b})}),e.A(f,function(a){var b=-1;e.A(a,function(a){var c=m(a);if(c.length)for(var d=((c=bN(c,function(a){return k[a]})).length-1)/2,e=Math.floor(d),f=Math.ceil(d);e<=f;++e){var i=c[e];j[a]===a&&b<k[i]&&!function(a,b,c){if(b>c){var d=b;b=c,c=d}return!!a[b]&&Object.prototype.hasOwnProperty.call(a[b],c)}(h,a,i)&&(j[i]=a,j[a]=g[a]=g[i],b=k[i])}})}),{root:g,align:j}),o=function(a,b,c,d,f){var g,h,i,j,k,l,m,n,o,p,q={},r=(g=a,h=b,i=c,j=f,n=new H.T,p=(k=(o=g.graph()).nodesep,l=o.edgesep,m=j,function(a,b,c){var d,e,f=a.node(b),g=a.node(c);if(d=0+f.width/2,Object.prototype.hasOwnProperty.call(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":e=-f.width/2;break;case"r":e=f.width/2}if(e&&(d+=m?e:-e),e=0,d+=(f.dummy?l:k)/2,d+=(g.dummy?l:k)/2,d+=g.width/2,Object.prototype.hasOwnProperty.call(g,"labelpos"))switch(g.labelpos.toLowerCase()){case"l":e=g.width/2;break;case"r":e=-g.width/2}return e&&(d+=m?e:-e),e=0,d}),e.A(h,function(a){var b;e.A(a,function(a){var c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(g,a,b),e||0))}b=a})}),n),s=f?"borderLeft":"borderRight";function t(a,b){for(var c=r.nodes(),d=c.pop(),e={};d;)e[d]?a(d):(e[d]=!0,c.push(d),c=c.concat(b(d))),d=c.pop()}return t(function(a){q[a]=r.inEdges(a).reduce(function(a,b){return Math.max(a,q[b.v]+r.edge(b))},0)},r.predecessors.bind(r)),t(function(b){var c=r.outEdges(b).reduce(function(a,b){return Math.min(a,q[b.w]-r.edge(b))},1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),e.A(d,function(a){q[a]=q[c[a]]}),q}(c,d,n.root,n.align,"r"===b);"r"===b&&(o=aJ(o,function(a){return-a})),i[a+b]=o})}),j=a4(bC.A(i),function(a){var b,d=-1/0,e=1/0;return b=function(a,b){var f,g,h=(f=c,g=b,f.node(g).width/2);d=Math.max(a+h,d),e=Math.min(a-h,e)},null==a||(0,R.A)(a,(0,bR.A)(b),ak.A),d-e}),m=aM(k=bC.A(j)),n=aF(k),e.A(["u","d"],function(a){e.A(["l","r"],function(b){var c,d=a+b,e=i[d];if(e!==j){var f=bC.A(e);(c="l"===b?m-aM(f):n-aF(f))&&(i[d]=aJ(e,function(a){return a+c}))}})}),o=c.graph().align,p=aJ(i.ul,function(a,b){if(o)return i[o.toLowerCase()][b];var c=bN(l.A(i,b));return(c[1]+c[2])/2}),p&&(0,aH.A)(p,(0,bR.A)(function(a,c){b.node(c).x=a}))}),d(" positionSelfEdges",()=>{var b;return b=a,void e.A(b.nodes(),function(a){var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),d(" removeBorderNodes",()=>{var b;return b=a,void(e.A(b.nodes(),function(a){if(b.children(a).length){var c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(aG(c.borderLeft)),g=b.node(aG(c.borderRight));c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),e.A(b.nodes(),function(a){"border"===b.node(a).dummy&&b.removeNode(a)}))}),d(" normalize.undo",()=>{e.A(a.graph().dummyChains,function(b){var c,d=a.node(b),e=d.edgeLabel;for(a.setEdge(d.edgeObj,e);d.dummy;)c=a.successors(b)[0],a.removeNode(b),e.points.push({x:d.x,y:d.y}),"edge-label"===d.dummy&&(e.x=d.x,e.y=d.y,e.width=d.width,e.height=d.height),b=c,d=a.node(b)})}),d(" fixupEdgeLabelCoords",()=>{var b;return b=a,void e.A(b.edges(),function(a){var c=b.edge(a);if(Object.prototype.hasOwnProperty.call(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),d(" undoCoordinateSystem",()=>{var b,c,d;("bt"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&(c=a,e.A(c.nodes(),function(a){a2(c.node(a))}),e.A(c.edges(),function(a){var b=c.edge(a);e.A(b.points,a2),Object.prototype.hasOwnProperty.call(b,"y")&&a2(b)})),("lr"===b||"rl"===b)&&(d=a,e.A(d.nodes(),function(a){a3(d.node(a))}),e.A(d.edges(),function(a){var b=d.edge(a);e.A(b.points,a3),Object.prototype.hasOwnProperty.call(b,"x")&&a3(b)}),a0(a))}),d(" translateGraph",()=>(function(a){var b=1/0,c=0,d=1/0,f=0,g=a.graph(),h=g.marginx||0,i=g.marginy||0;function j(a){var e=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,e-h/2),c=Math.max(c,e+h/2),d=Math.min(d,g-i/2),f=Math.max(f,g+i/2)}e.A(a.nodes(),function(b){j(a.node(b))}),e.A(a.edges(),function(b){var c=a.edge(b);Object.prototype.hasOwnProperty.call(c,"x")&&j(c)}),b-=h,d-=i,e.A(a.nodes(),function(c){var e=a.node(c);e.x-=b,e.y-=d}),e.A(a.edges(),function(c){var f=a.edge(c);e.A(f.points,function(a){a.x-=b,a.y-=d}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=b),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=d)}),g.width=c-b+h,g.height=f-d+i})(a)),d(" assignNodeIntersects",()=>{var b;return b=a,void e.A(b.edges(),function(a){var c,d,e=b.edge(a),f=b.node(a.v),g=b.node(a.w);e.points?(c=e.points[0],d=e.points[e.points.length-1]):(e.points=[],c=g,d=f),e.points.unshift(aV(f,c)),e.points.push(aV(g,d))})}),d(" reversePoints",()=>{var b;return b=a,void e.A(b.edges(),function(a){var c=b.edge(a);c.reversed&&c.points.reverse()})}),d(" acyclic.undo",()=>{e.A(a.edges(),function(b){var c=a.edge(b);if(c.reversed){a.removeEdge(b);var d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}))}),c(" updateInputGraph",()=>{var c,d;return c=a,d=b,void(e.A(c.nodes(),function(a){var b=c.node(a),e=d.node(a);b&&(b.x=e.x,b.y=e.y,d.children(a).length&&(b.width=e.width,b.height=e.height))}),e.A(c.edges(),function(a){var b=c.edge(a),e=d.edge(a);b.points=e.points,Object.prototype.hasOwnProperty.call(e,"x")&&(b.x=e.x,b.y=e.y)}),c.graph().width=d.graph().width,c.graph().height=d.graph().height)})})}var bU=["nodesep","edgesep","ranksep","marginx","marginy"],bV={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bW=["acyclicer","ranker","rankdir","align"],bX=["width","height"],bY={width:0,height:0},bZ=["minlen","weight","width","height","labeloffset"],b$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},b_=["labelpos"];function b0(a,b){return aJ(ay(a,b),Number)}function b1(a){var b={};return e.A(a,function(a,c){b[c.toLowerCase()]=a}),b}},74410:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(95696),e=c(8484),f=c(31402),g=c(44952);let h=function(a,b){return((0,g.A)(a)?d.A:f.A)(a,(0,e.A)(b,3))}},74722:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(17505);let e=function(a,b,c){"__proto__"==b&&d.A?(0,d.A)(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c}},87623:(a,b,c)=>{c.d(b,{A:()=>d});let d=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},93373:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(42707),e=c(74722);let f=function(a,b,c,f){var g=!c;c||(c={});for(var h=-1,i=b.length;++h<i;){var j=b[h],k=f?f(c[j],a[j],j,c,a):void 0;void 0===k&&(k=a[j]),g?(0,e.A)(c,j,k):(0,d.A)(c,j,k)}return c}}};
@@ -1,3 +0,0 @@
1
- "use strict";exports.id=3151,exports.ids=[3151],exports.modules={3211:(a,b,c)=>{c.d(b,{InsertImageButton:()=>C});var d=c(64173),e=c(17240),f=c(87671),g=c(29130),h=c(71813),i=c(20583),j=c(66979),k=c(69552),l=c(65943);let m=(0,c(42557).A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var n=c(44052),o=c(47071),p=c(45477),q=c(80281),r=c(71155),s=c(16551),t=c(27456),u=c(12650),v=c(3265);let w=(0,v.createServerReference)("4001cc396f80fee8a1633456687fdb4159eee791bc",v.callServer,void 0,v.findSourceMapURL,"generateAction"),x=(0,v.createServerReference)("40ddba02f49d565ab9fedc19919f1b4148baf1616b",v.callServer,void 0,v.findSourceMapURL,"searchAction"),y=(0,v.createServerReference)("407152c1c68d605b8686020435f5ebe7275c9795e2",v.callServer,void 0,v.findSourceMapURL,"attachAction"),z=(0,v.createServerReference)("40e54a486330f648636f442f71b94d27a8561a563e",v.callServer,void 0,v.findSourceMapURL,"uploadAction"),A=["1:1","16:9","9:16","4:3","3:4","21:9"];function B({rootId:a,open:b,onOpenChange:c,onInsert:f}){let v=(0,h.c)("app"),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)("gemini"),[F,G]=(0,e.useState)("1:1"),[H,I]=(0,e.useState)(!0),[J,K]=(0,e.useState)(null),[L,M]=(0,e.useTransition)(),[N,O]=(0,e.useState)(""),[P,Q]=(0,e.useState)("unsplash"),[R,S]=(0,e.useState)([]),[T,U]=(0,e.useTransition)(),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(!0),[Z,$]=(0,e.useState)(""),[_,aa]=(0,e.useState)(!0),[ab,ac]=(0,e.useTransition)();if(!b)return null;let ad=()=>{N.trim()&&(S([]),U(async()=>{let b=await x({rootId:a,query:N.trim(),provider:P,count:12});if(!b.ok)return void n.oR.error(b.error);S(b.results)}))};return(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:a=>{a.target===a.currentTarget&&c(!1)},children:[(0,d.jsx)("div",{"aria-hidden":!0,className:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:()=>c(!1)}),(0,d.jsxs)("div",{className:"relative bg-card border rounded-lg shadow-xl w-full max-w-3xl max-h-[85vh] flex flex-col",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3 border-b",children:[(0,d.jsx)(g.A,{className:"h-4 w-4 text-violet-600"}),(0,d.jsx)("h2",{className:"text-sm font-medium flex-1",children:v("images.titleHeader")}),(0,d.jsx)(i.$,{type:"button",size:"icon",variant:"ghost",className:"h-7 w-7",onClick:()=>c(!1),children:(0,d.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,d.jsxs)(s.tU,{defaultValue:"generate",className:"flex-1 min-h-0 flex flex-col",children:[(0,d.jsxs)(s.j7,{className:"mx-4 mt-3 self-start",children:[(0,d.jsxs)(s.Xi,{value:"generate",children:[(0,d.jsx)(k.A,{className:"mr-1 h-3.5 w-3.5"})," ",v("images.tabGenerate")]}),(0,d.jsxs)(s.Xi,{value:"search",children:[(0,d.jsx)(l.A,{className:"mr-1 h-3.5 w-3.5"})," ",v("images.tabSearch")]}),(0,d.jsxs)(s.Xi,{value:"upload",children:[(0,d.jsx)(m,{className:"mr-1 h-3.5 w-3.5"})," ",v("images.tabUpload")]})]}),(0,d.jsxs)(t.F,{className:"flex-1 min-h-0",children:[(0,d.jsxs)(s.av,{value:"generate",className:"px-4 py-4 space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"img-prompt",children:v("images.promptLabel")}),(0,d.jsx)(p.T,{id:"img-prompt",value:B,onChange:a=>C(a.target.value),placeholder:v("images.promptPlaceholder"),rows:4})]}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{children:v("images.providerLabel")}),(0,d.jsxs)(r.l6,{value:D,onValueChange:a=>E(a),children:[(0,d.jsx)(r.bq,{children:(0,d.jsx)(r.yv,{})}),(0,d.jsxs)(r.gC,{children:[(0,d.jsx)(r.eb,{value:"gemini",children:"Gemini Nano Banana"}),(0,d.jsx)(r.eb,{value:"codex",children:"Codex $imagegen"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{children:v("images.aspectLabel")}),(0,d.jsxs)(r.l6,{value:F,onValueChange:G,children:[(0,d.jsx)(r.bq,{children:(0,d.jsx)(r.yv,{})}),(0,d.jsx)(r.gC,{children:A.map(a=>(0,d.jsx)(r.eb,{value:a,children:a},a))})]})]})]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("input",{type:"checkbox",checked:H,onChange:a=>I(a.target.checked)}),v("images.saveToKb")]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(i.$,{type:"button",size:"sm",onClick:()=>{B.trim()&&(K(null),M(async()=>{let b=await w({rootId:a,prompt:B.trim(),provider:D,aspectRatio:F,attachToKb:H});if(!b.ok)return void n.oR.error(b.error);K({url:b.url,markdown:b.markdown,...b.kbRelPath?{kbRelPath:b.kbRelPath}:{}})}))},disabled:L||!B.trim(),children:L?v("images.generating"):v("images.generate")}),L&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:v("images.takesAMinute")})]}),L?(0,d.jsx)(u.E,{className:"h-64 w-full"}):J?(0,d.jsxs)("div",{className:"space-y-2 border rounded p-3",children:[(0,d.jsx)("img",{src:J.url,alt:B,className:"max-h-80 mx-auto rounded"}),(0,d.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,d.jsx)(i.$,{type:"button",size:"sm",variant:"outline",onClick:()=>K(null),children:v("images.again")}),(0,d.jsx)(i.$,{type:"button",size:"sm",onClick:()=>{J&&(f?.(J),n.oR.success(J.kbRelPath?v("images.savedToKb",{path:J.kbRelPath}):v("images.ready")),c(!1))},children:v("images.insert")})]})]}):null]}),(0,d.jsxs)(s.av,{value:"search",className:"px-4 py-4 space-y-3",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(o.p,{value:N,onChange:a=>O(a.target.value),placeholder:v("images.searchPlaceholder"),onKeyDown:a=>{"Enter"===a.key&&ad()}}),(0,d.jsxs)(r.l6,{value:P,onValueChange:a=>Q(a),children:[(0,d.jsx)(r.bq,{className:"w-36",children:(0,d.jsx)(r.yv,{})}),(0,d.jsxs)(r.gC,{children:[(0,d.jsx)(r.eb,{value:"unsplash",children:"Unsplash"}),(0,d.jsx)(r.eb,{value:"pexels",children:"Pexels"}),(0,d.jsx)(r.eb,{value:"brave",children:v("images.braveWeb")})]})]}),(0,d.jsx)(i.$,{type:"button",size:"sm",onClick:ad,disabled:T||!N.trim(),children:v("images.find")})]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("input",{type:"checkbox",checked:X,onChange:a=>Y(a.target.checked)}),v("images.saveToKb")]}),T&&0===R.length?(0,d.jsx)("div",{className:"grid grid-cols-3 gap-2",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(u.E,{className:"h-32 w-full"},b))}):R.length>0?(0,d.jsx)("div",{className:"grid grid-cols-3 gap-2",children:R.map(b=>(0,d.jsxs)("button",{type:"button",disabled:null!==V,onClick:()=>{W(b.url),U(async()=>{let d=await y({rootId:a,sourceUrl:b.url,alt:N.trim()||"image",attribution:b.attribution,attachToKb:X});if(W(null),!d.ok)return void n.oR.error(d.error);f?.({url:d.url,markdown:d.markdown,...d.kbRelPath?{kbRelPath:d.kbRelPath}:{}}),n.oR.success(d.kbRelPath?v("images.savedToKb",{path:d.kbRelPath}):v("images.savedToProject")),c(!1)})},className:"group relative overflow-hidden rounded border hover:border-violet-500 disabled:opacity-50",title:`${b.attribution.name} \xb7 ${b.provider}`,children:[(0,d.jsx)("img",{src:b.thumb,alt:"",className:"h-32 w-full object-cover"}),(0,d.jsx)("div",{className:"absolute bottom-0 inset-x-0 px-1.5 py-0.5 text-[10px] bg-black/60 text-white truncate",children:b.attribution.name}),V===b.url&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center text-xs text-white",children:v("images.saving")})]},b.url))}):(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("images.noKeys")})]}),(0,d.jsxs)(s.av,{value:"upload",className:"px-4 py-4 space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"img-alt",children:v("images.altLabel")}),(0,d.jsx)(o.p,{id:"img-alt",value:Z,onChange:a=>$(a.target.value),placeholder:v("images.altPlaceholder")})]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("input",{type:"checkbox",checked:_,onChange:a=>aa(a.target.checked)}),v("images.saveToKb")]}),(0,d.jsx)(o.p,{type:"file",accept:"image/*",disabled:ab,onChange:b=>{let d=b.target.files?.[0];d&&ac(async()=>{let b=function(a){let b=new Uint8Array(a),c="";for(let a=0;a<b.length;a+=32768){let d=b.subarray(a,a+32768);c+=String.fromCharCode.apply(null,Array.from(d))}return btoa(c)}(await d.arrayBuffer()),e=await z({rootId:a,base64:b,mime:d.type,alt:Z||d.name.replace(/\.[^.]+$/,""),attachToKb:_});if(!e.ok)return void n.oR.error(e.error);f?.({url:e.url,markdown:e.markdown,...e.kbRelPath?{kbRelPath:e.kbRelPath}:{}}),n.oR.success(e.kbRelPath?v("images.savedToKb",{path:e.kbRelPath}):v("images.uploaded")),c(!1)})}}),ab&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("images.uploading")})]})]})]})]})]})}function C({rootId:a,redirectToKb:b=!0}){let[c,j]=(0,e.useState)(!1),k=(0,f.useRouter)(),l=(0,h.c)("app");return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>j(!0),children:[(0,d.jsx)(g.A,{className:"mr-1 h-4 w-4"})," ",l("images.button")]}),(0,d.jsx)(B,{rootId:a,open:c,onOpenChange:j,onInsert:({kbRelPath:c})=>{if(b&&c){let b=c.split("/").map(encodeURIComponent).join("/");k.push(`/roots/${a}/kb/${b}`)}}})]})}},12650:(a,b,c)=>{c.d(b,{E:()=>f});var d=c(64173),e=c(91344);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"skeleton",className:(0,e.cn)("animate-pulse rounded-md bg-accent",a),...b})}},14425:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},15620:(a,b,c)=>{c.d(b,{CommandBar:()=>o});var d=c(64173),e=c(17240),f=c(87671),g=c(71813),h=c(73569),i=c(44052),j=c(32826),k=c(42453),l=c(8836),m=c(88724),n=c(59484);function o({rootId:a,focusFile:b}){let c=(0,g.c)("roots"),[,o]=(0,e.useTransition)(),p=(0,f.useRouter)();return(0,d.jsx)(l.E,{label:c("commandBar.label"),children:(0,d.jsx)(n.L,{rootId:a,placeholder:c("commandBar.placeholder"),submitLabel:c("commandBar.submit"),pendingLabel:c("commandBar.submitPending"),SubmitIcon:h.A,onSubmit:async({message:d,attachments:e})=>await new Promise(f=>{o(async()=>{let g=await (0,j.g)(a,d,e,b);if(!g.ok){i.oR.error(g.error??c("commandBar.startFailed")),f(!1);return}(0,m.$d)(m.Zi.topicsChanged(a)),d.trim()&&(0,k.h)(a,g.topicId,d).then(b=>{b.ok&&(0,m.$d)(m.Zi.topicsChanged(a))}),p.push(`/roots/${a}/chat/${g.topicId}`),f(!0)})})})})}},16551:(a,b,c)=>{c.d(b,{Xi:()=>k,av:()=>l,j7:()=>j,tU:()=>h});var d=c(64173);c(17240);var e=c(20483),f=c(61193),g=c(91344);function h({className:a,orientation:b="horizontal",...c}){return(0,d.jsx)(f.Root,{"data-slot":"tabs","data-orientation":b,orientation:b,className:(0,g.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",a),...c})}let i=(0,e.F)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function j({className:a,variant:b="default",...c}){return(0,d.jsx)(f.List,{"data-slot":"tabs-list","data-variant":b,className:(0,g.cn)(i({variant:b}),a),...c})}function k({className:a,...b}){return(0,d.jsx)(f.Trigger,{"data-slot":"tabs-trigger",className:(0,g.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",a),...b})}function l({className:a,...b}){return(0,d.jsx)(f.Content,{"data-slot":"tabs-content",className:(0,g.cn)("flex-1 outline-none",a),...b})}},16805:(a,b,c)=>{c.d(b,{ShareButton:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call ShareButton() from the server but ShareButton 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/app/_components/share-button.tsx","ShareButton")},27129:(a,b,c)=>{c.d(b,{Cz:()=>k,IK:()=>l,hN:()=>j,uA:()=>i});var d=c(73745);c(66493);var e=c(56942),f=c(53905),g=c(84579),h=c(91388);async function i(a){try{let b,c=await (0,g.generateImage)({rootId:a.rootId,prompt:a.prompt,...a.provider?{provider:a.provider}:{},...a.aspectRatio?{aspectRatio:a.aspectRatio}:{},...a.alt?{alt:a.alt}:{}}),d=n(a.alt||a.prompt),e=`![${d}](${c.urlPath})`;return a.attachToKb&&(b=await m(a.rootId,{title:a.alt||a.prompt.slice(0,80),markdown:e,meta:{provider:c.provider,prompt:a.prompt,sha:c.sha,...a.aspectRatio?{aspectRatio:a.aspectRatio}:{}}})),{ok:!0,url:c.urlPath,sha:c.sha,markdown:e,...b?{kbRelPath:b}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function j(a){try{let b=await (0,g.searchImages)({query:a.query,...a.provider?{provider:a.provider}:{},...a.count?{count:a.count}:{}});return{ok:!0,results:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function k(a){try{let b,c=await (0,g.attachRemote)({rootId:a.rootId,sourceUrl:a.sourceUrl}),d=n(a.alt||"image"),e=a.attribution?`
2
-
3
- _Photo: [${a.attribution.name}](${a.attribution.link})_`:"",f=`![${d}](${c.urlPath})${e}`;return a.attachToKb&&(b=await m(a.rootId,{title:a.alt||"Found image",markdown:f,meta:{source:"web",sourceUrl:a.sourceUrl,sha:c.sha,...a.attribution?{author:a.attribution.name,authorUrl:a.attribution.link}:{}}})),{ok:!0,url:c.urlPath,sha:c.sha,markdown:f,...b?{kbRelPath:b}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function l(a){try{let b,c=Buffer.from(a.base64,"base64");if(0===c.byteLength)return{ok:!1,error:"Empty upload"};if(!a.mime.startsWith("image/"))return{ok:!1,error:`Unsupported mime: ${a.mime}`};let d=await (0,h.YN)(a.rootId,c,a.mime),e=n(a.alt||"image"),f=`![${e}](${d.urlPath})`;return a.attachToKb&&(b=await m(a.rootId,{title:a.alt||"Uploaded image",markdown:f,meta:{source:"upload",sha:d.sha,mime:a.mime}})),{ok:!0,url:d.urlPath,sha:d.sha,markdown:f,...b?{kbRelPath:b}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function m(a,b){let c=await (0,f.Zn)(a);if(!c)throw Error(`unknown rootId: ${a}`);return(await (0,e.j)({rootPath:c.path,directive:{kind:"image",title:b.title,body:b.markdown,meta:b.meta}})).relPath}function n(a){return a.replace(/[\[\]\n]/g," ").slice(0,200)}(0,c(63781).D)([i,j,k,l]),(0,d.A)(i,"4001cc396f80fee8a1633456687fdb4159eee791bc",null),(0,d.A)(j,"40ddba02f49d565ab9fedc19919f1b4148baf1616b",null),(0,d.A)(k,"407152c1c68d605b8686020435f5ebe7275c9795e2",null),(0,d.A)(l,"40e54a486330f648636f442f71b94d27a8561a563e",null)},29130:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]])},32826:(a,b,c)=>{c.d(b,{g:()=>e});var d=c(3265);let e=(0,d.createServerReference)("78bdebe77eb51711a3314dec5d445cfaa49c4cbc52",d.callServer,void 0,d.findSourceMapURL,"startTopicAction")},42453:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(3265);let e=(0,d.createServerReference)("7061eb8e0c3f409cb8dc50b4a51cbf72847a5fdc0f",d.callServer,void 0,d.findSourceMapURL,"generateTopicTitleAction")},44045:(a,b,c)=>{c.d(b,{ShareButton:()=>p});var d=c(64173),e=c(17240);let f=(0,c(42557).A)("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);var g=c(12619),h=c(28082),i=c(66979),j=c(42324),k=c(44052),l=c(71813),m=c(3265);let n=(0,m.createServerReference)("407a91f8a88e190fc2c74812213d308d72f22b6dfc",m.callServer,void 0,m.findSourceMapURL,"createShareAction");var o=c(6871);function p(a){let b=(0,l.c)("app"),[c,m]=(0,e.useState)(!1),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(null);return c?t?(0,d.jsxs)("div",{className:"rounded border bg-card p-2 text-xs space-y-1.5 w-full max-w-sm",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-emerald-700",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"font-medium",children:b("share.button.createdTitle")})]}),(0,d.jsx)("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"block font-mono text-[11px] text-violet-700 hover:underline break-all",children:t.url}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(t.url).then(()=>k.oR.success(b("share.button.copied"))),className:"inline-flex items-center gap-1 rounded border px-2 py-0.5 hover:bg-accent",children:[(0,d.jsx)(h.A,{className:"h-3 w-3"}),b("share.button.copy")]}),(0,d.jsx)("button",{type:"button",onClick:()=>{u(null),m(!1),q("")},className:"text-muted-foreground hover:text-foreground",children:b("share.button.done")})]})]}):(0,d.jsxs)("div",{className:"rounded border bg-card p-2 text-xs space-y-1.5 w-full max-w-sm",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(f,{className:"h-3.5 w-3.5 text-violet-600"}),(0,d.jsx)("span",{className:"font-medium",children:b("share.button.newLink")}),(0,d.jsx)("button",{type:"button",onClick:()=>m(!1),className:"ml-auto text-muted-foreground hover:text-foreground",children:(0,d.jsx)(i.A,{className:"h-3 w-3"})})]}),(0,d.jsx)("label",{className:"block text-[10px] text-muted-foreground",children:b("share.button.passwordLabel")}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(j.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground pointer-events-none"}),(0,d.jsx)("input",{type:"password",value:p,onChange:a=>q(a.target.value),autoFocus:!0,placeholder:b("share.button.passwordPlaceholder"),className:"w-full rounded border bg-background pl-6 pr-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>{s(async()=>{let c=await (0,o.N)(),d=await n({kind:a.kind,...a.rootId?{rootId:a.rootId}:{},...a.utilityScope?{utilityScope:a.utilityScope}:{},...a.utilityId?{utilityId:a.utilityId}:{},...a.kbRelPath?{kbRelPath:a.kbRelPath}:{},...a.label?{label:a.label}:{},...p.trim()?{password:p.trim()}:{}});if(!d.ok)return void k.oR.error(d.error);let e=c.status.publicUrl??window.location.origin,f=new URL(`/share/${d.share.id}`,e).toString();u({share:d.share,url:f}),navigator.clipboard.writeText(f).catch(()=>null),k.oR.success(c.status.running?b("share.button.created"):b("share.button.createdNoTunnel"))})},disabled:r,className:"w-full rounded bg-violet-600 text-white px-2 py-1 hover:bg-violet-700 disabled:opacity-50 inline-flex items-center justify-center gap-1",children:r?b("share.button.creating"):b("share.button.create")}),(0,d.jsx)("p",{className:"text-[10px] text-muted-foreground",children:b("share.button.footer")})]}):(0,d.jsxs)("button",{type:"button",onClick:()=>m(!0),className:a.iconOnly?"p-1 rounded hover:bg-accent text-muted-foreground hover:text-violet-700":"inline-flex items-center gap-1 rounded border px-2 py-1 text-xs hover:bg-accent",title:b("share.button.title"),children:[(0,d.jsx)(f,{className:"h-3.5 w-3.5"}),!a.iconOnly&&b("share.button.label")]})}},71155:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(64173);c(17240);var e=c(58405),f=c(12619),g=c(78724),h=c(13976),i=c(91344);function j({...a}){return(0,d.jsx)(h.Root,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(h.Value,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...f}){return(0,d.jsxs)(h.Trigger,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",a),...f,children:[c,(0,d.jsx)(h.Icon,{asChild:!0,children:(0,d.jsx)(e.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="item-aligned",align:e="center",...f}){return(0,d.jsx)(h.Portal,{children:(0,d.jsxs)(h.Content,{"data-slot":"select-content",className:(0,i.cn)("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,align:e,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(h.Viewport,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(h.Item,{"data-slot":"select-item",className:(0,i.cn)("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(h.ItemIndicator,{children:(0,d.jsx)(f.A,{className:"size-4"})})}),(0,d.jsx)(h.ItemText,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(h.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(g.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(h.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(e.A,{className:"size-4"})})}},78724:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},86673:(a,b,c)=>{c.d(b,{InsertImageButton:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call InsertImageButton() from the server but InsertImageButton 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/app/_components/kb/insert-image-button.tsx","InsertImageButton")},88842:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(19963).A)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])}};
@@ -1,4 +0,0 @@
1
- "use strict";exports.id=4197,exports.ids=[4197],exports.modules={6871:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(3265);let e=(0,d.createServerReference)("008404505690ddfc6b51b642c77de510f66a1bba42",d.callServer,void 0,d.findSourceMapURL,"getTunnelStatusAction")},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,"407a91f8a88e190fc2c74812213d308d72f22b6dfc",null),(0,d.A)(h,"00671947863c9ddac4b6ee7cd2a0c47d13a5a77bc3",null),(0,d.A)(i,"40611cdd599e9a472c2f819b21762d7ff50e80809e",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})}},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
- agent:
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,"008404505690ddfc6b51b642c77de510f66a1bba42",null),(0,d.A)(t,"002801b88705a511da37aeec30ed5b2388b698a495",null),(0,d.A)(u,"00bb102975a6547639e8267f1ba135a907277554e3",null),(0,d.A)(v,"40c68650227a567aea826724e7fe6304ba23c99483",null),(0,d.A)(w,"005fc454480197eee81c79f1881ed7184615feeda4",null)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=8872,exports.ids=[8872],exports.modules={8872:(a,b,c)=>{c.d(b,{UtilityIframe:()=>s});var d=c(64173),e=c(17240),f=c(53186),g=c(71813),h=c(65177),i=c(66979),j=c(69552),k=c(62261),l=c(73569),m=c(1056),n=c.n(m),o=c(44052),p=c(3265);function q({scope:a,utilityId:b,utilityName:c,rootId:m,requestSnapshot:p,onClose:q}){let s=(0,g.c)("app"),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useTransition)(),[D,E]=(0,e.useState)(!1),F=(0,e.useRef)(null);(0,e.useRef)(null),(0,e.useRef)("");let[G,H]=(0,e.useState)(""),I=()=>{let a=x.trim();a&&m&&t&&(y(""),w(b=>[...b,{role:"user",text:a,ts:new Date().toISOString()}]),C(async()=>{let b;try{b=await Promise.race([p(),new Promise(a=>setTimeout(()=>a(void 0),600))])}catch{}let c=void 0!==b?function(a,b){let c;try{c="string"==typeof b?b:JSON.stringify(b,null,2)}catch{c=String(b)}return c.length>4e3&&(c=c.slice(0,4e3)+"\n…[truncated]"),["[Mini-app context]",c,"[/context]\n",a].join("\n")}(a,b):a;try{let a=await fetch(`/api/roots/${m}/chat/${t}/send`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:c})});if(!a.ok){let b=await a.json().catch(()=>({}));o.oR.error(b.error??`HTTP ${a.status}`)}}catch(a){o.oR.error(String(a))}}))};return(0,d.jsxs)("aside",{className:"flex h-full flex-col border-l bg-card",children:[(0,d.jsxs)("header",{className:"border-b px-3 py-2 flex items-center gap-2",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 text-violet-600"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:s("utilities.helper.title")}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:s("utilities.helper.hint")}),m&&t&&(0,d.jsx)(n(),{href:`/roots/${m}/chat/${t}`,className:"ml-auto p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground",title:s("utilities.helper.openFull"),children:(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})}),q&&(0,d.jsx)("button",{type:"button",onClick:q,className:"p-1 rounded hover:bg-accent "+(m&&t?"":"ml-auto"),title:s("utilities.helper.hide"),children:(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,d.jsxs)("div",{ref:F,className:"flex-1 overflow-y-auto px-3 py-2 space-y-2 text-sm",children:[z&&(0,d.jsx)("p",{className:"text-xs text-red-600",children:z}),!z&&0===v.length&&!G&&(0,d.jsxs)("div",{className:"text-xs text-muted-foreground flex items-start gap-2",children:[(0,d.jsx)(j.A,{className:"h-3 w-3 mt-0.5 text-violet-600 shrink-0"}),(0,d.jsx)("span",{children:s("utilities.helper.welcome")})]}),v.map((a,b)=>(0,d.jsx)(r,{role:a.role,text:a.text},b)),D&&G&&(0,d.jsx)(r,{role:"assistant",text:G,streaming:!0}),B&&!D&&(0,d.jsxs)("div",{className:"mr-6 rounded-md bg-muted/40 px-2 py-1.5 text-xs text-muted-foreground inline-flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3 w-3 animate-spin"}),s("utilities.helper.thinking")]})]}),(0,d.jsxs)("div",{className:"border-t px-3 py-2 flex items-end gap-1.5",children:[(0,d.jsx)("textarea",{value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),I())},rows:1,placeholder:s("utilities.helper.placeholder"),disabled:B||!!z||!t,className:"flex-1 resize-none rounded border bg-background px-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400 max-h-24"}),(0,d.jsx)("button",{type:"button",onClick:I,disabled:B||!x.trim()||!!z||!t,className:"inline-flex items-center justify-center rounded bg-violet-600 px-2 py-1 text-white hover:bg-violet-700 disabled:opacity-50",children:B?(0,d.jsx)(k.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3 w-3"})})]})]})}function r({role:a,text:b,streaming:c}){let e=(0,g.c)("app"),f=b;return("user"===a&&(f=f.replace(/^\s*\[Mini-app context\][\s\S]*?\[\/context\]\s*/,"").trim()),f.trim())?(0,d.jsxs)("div",{className:"user"===a?"ml-6 rounded-md bg-violet-50 dark:bg-violet-950/30 px-2 py-1.5":"mr-6 rounded-md bg-muted/40 px-2 py-1.5 whitespace-pre-wrap",children:[(0,d.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-0.5",children:[e("user"===a?"utilities.helper.you":"assistant"===a?"utilities.helper.reflex":"utilities.helper.system"),c&&(0,d.jsx)("span",{className:"ml-1 text-violet-600",children:"●"})]}),f]}):null}function s({scope:a,id:b,rootId:c,className:h,title:i,agentChat:j,utilityName:k}){let l=(0,g.c)("app"),m=(0,e.useRef)(null),n=(0,e.useRef)(null),[o,p]=(0,e.useState)(!0),r=c?`?rootId=${encodeURIComponent(c)}`:"",s=`/api/utilities/${a}/${b}/iframe${r}`,t=(0,d.jsx)("iframe",{ref:m,src:s,sandbox:"allow-scripts allow-forms allow-same-origin",className:h??"h-full w-full border-0 bg-white",title:i??`utility-${b}`});return j?(0,d.jsxs)("div",{className:"flex h-full w-full",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0 relative",children:[t,!o&&(0,d.jsxs)("button",{type:"button",onClick:()=>p(!0),className:"absolute right-3 bottom-3 inline-flex items-center gap-1 rounded-full bg-violet-600 px-3 py-1.5 text-xs text-white shadow-lg hover:bg-violet-700",title:l("utilities.iframe.openHelper"),children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),l("utilities.iframe.helper")]})]}),o&&(0,d.jsx)("div",{className:"w-80 shrink-0",children:(0,d.jsx)(q,{scope:a,utilityId:b,...k?{utilityName:k}:{},...c?{rootId:c}:{},requestSnapshot:()=>{let a=m.current?.contentWindow;return a?(n.current&&(clearTimeout(n.current.timer),n.current.resolve(void 0),n.current=null),new Promise(b=>{let c=setTimeout(()=>{n.current?.resolve===b&&(n.current=null,b(void 0))},500);n.current={resolve:b,timer:c};try{a.postMessage({type:"request-snapshot"},"*")}catch{clearTimeout(c),n.current=null,b(void 0)}})):Promise.resolve(void 0)},onClose:()=>p(!1)})})]}):t}p.callServer,p.findSourceMapURL,p.callServer,p.findSourceMapURL},65177:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},66979:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73569:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])}};
@@ -1 +0,0 @@
1
- exports.id=9637,exports.ids=[9637],exports.modules={6993:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(63003),e=c(9310),f=c(24576);async function g({children:a,params:b}){let{id:c}=await b;return await (0,f.Zn)(c)||(0,e.notFound)(),(0,d.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:a})}},26584:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(3265);let e=(0,d.createServerReference)("406250594256b6f47d72096ce95bbe611f11f6f379",d.callServer,void 0,d.findSourceMapURL,"saveGeminiKeyAction")},30515:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(42557).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},34639:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Aq:()=>o,KV:()=>u,Mh:()=>s,cl:()=>v,hL:()=>p,mm:()=>t,ru:()=>r,tT:()=>q});var e=c(73745);c(66493);var f=c(65326),g=c(53905),h=c(69509),i=c(1405),j=c(93554),k=c(51021),l=c(63781),m=a([j,k]);async function n(a,b){let c=await (0,h.listWidgets)(a),d=await (0,h.readLayout)(a),e=b(d),f=(0,h.reconcileLayout)(e,c.map(a=>a.id),i.SYSTEM_WIDGET_IDS);return await (0,h.writeLayout)(a,f),{ok:!0,layout:f}}async function o(a,b){try{let c=await (0,g.Zn)(a);if(!c)return{ok:!1,error:"Root not found"};let d=await n(c.path,a=>({...a,order:b.filter(b=>!a.hidden.includes(b))}));return(0,f.revalidatePath)(`/roots/${a}`),d}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function p(a,b){try{let c=await (0,g.Zn)(a);if(!c)return{ok:!1,error:"Root not found"};let d=await n(c.path,a=>({order:a.order.filter(a=>a!==b),hidden:[...new Set([b,...a.hidden])]}));return(0,f.revalidatePath)(`/roots/${a}`),d}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function q(a,b){try{let c=await (0,g.Zn)(a);if(!c)return{ok:!1,error:"Root not found"};let d=await n(c.path,a=>({order:[b,...a.order.filter(a=>a!==b)],hidden:a.hidden.filter(a=>a!==b)}));return(0,f.revalidatePath)(`/roots/${a}`),d}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function r(a,b,c,d){try{let e=await (0,g.Zn)(a);if(!e)return{ok:!1,error:"Root not found"};let i=await (0,h.readWidget)(e.path,b);if(!i)return{ok:!1,error:"Widget not found"};if(!c||"object"!=typeof c)return{ok:!1,error:"newData must be an object"};let j={...i,data:c,updatedAt:new Date().toISOString(),...void 0!==d?{memory:d}:{}};return await (0,h.writeWidget)(e.path,j),(0,f.revalidatePath)(`/roots/${a}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function s(a,b,c){try{let d=await (0,g.Zn)(a);if(!d)return{ok:!1,error:"Root not found"};let e=await n(d.path,a=>({...a,sizes:{...a.sizes??{},[b]:c}}));return(0,f.revalidatePath)(`/roots/${a}`),e}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function t(a,b,c){try{let d=await (0,g.Zn)(a);if(!d)return{ok:!1,error:"Root not found"};let e=await (0,h.readWidget)(d.path,b);if(!e)return{ok:!1,error:"Widget not found"};let i={...e,refresh:c};return await (0,h.writeWidget)(d.path,i),(0,f.revalidatePath)(`/roots/${a}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function u(a,b){try{let d=await (0,g.Zn)(a);if(!d)return{ok:!1,error:"Root not found"};let e=await (0,h.readWidget)(d.path,b);if(!e)return{ok:!1,error:"Widget not found"};if(!e.sourceTopicId)return{ok:!1,error:"Widget has no source topic — update it from any chat first."};if(j.z.isActive(e.sourceTopicId))return{ok:!1,error:"The source topic is already occupied by an agent — wait for the current turn to finish."};let f={...e,lastRefreshAt:new Date().toISOString()};await (0,h.writeWidget)(d.path,f);let{buildRefreshPromptForWidget:i}=await c.e(4553).then(c.bind(c,94553)),l=await i(d.path,f),m=await (0,k.W)({rootId:a,topicId:e.sourceTopicId,message:l,attachments:[]});if("error"in m)return{ok:!1,error:m.error};return{ok:!0,agentId:m.agentId}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function v(a,b){try{if(i.SYSTEM_WIDGET_IDS.includes(b))return{ok:!1,error:"System widget cannot be deleted — only hidden."};let c=await (0,g.Zn)(a);if(!c)return{ok:!1,error:"Root not found"};await (0,h.uv)(c.path,b);let d=await n(c.path,a=>({order:a.order.filter(a=>a!==b),hidden:a.hidden.filter(a=>a!==b)}));return(0,f.revalidatePath)(`/roots/${a}`),d}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}[j,k]=m.then?(await m)():m,(0,l.D)([o,p,q,r,s,t,u,v]),(0,e.A)(o,"605bce6936d33283ca712f40b0c63890178a19c29a",null),(0,e.A)(p,"60edceb1dd132d1cb24fe649bef82742a1409b5968",null),(0,e.A)(q,"6009534488ec6ad495c652930e10f3444cfe1bf9cc",null),(0,e.A)(r,"7831708867c79c93966e5412f8bdb70c6744a42125",null),(0,e.A)(s,"709c188d297b8301c4b2e6901fa5867d927e381d22",null),(0,e.A)(t,"70d67f33031dd5e502f94279dfc8a819f21cabf03f",null),(0,e.A)(u,"605440d7c93b603e6e1557d174c4952a32cc587b14",null),(0,e.A)(v,"60106cb482223e7533067dbee521cc9fe9f11ce822",null),d()}catch(a){d(a)}})},44509:(a,b,c)=>{"use strict";c.d(b,{v:()=>N});var d=c(64173),e=c(71813),f=c(96185),g=c(17240),h=c(42557);let i=(0,h.A)("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]);var j=c(65177),k=c(12619),l=c(66979);let m=(0,h.A)("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var n=c(97338);let o=(0,h.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),p=(0,h.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var q=c(62481),r=c(25436),s=c(30515),t=c(62261),u=c(20583),v=c(47071);let w=(0,h.A)("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);var x=c(1056),y=c.n(x),z=c(68669);let A=(0,h.A)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var B=c(65943);let C=(0,h.A)("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]),D=(0,h.A)("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);var E=c(28082),F=c(44052),G=c(85548);function H({service:a,size:b=18,className:c}){return(0,d.jsx)("span",{className:"inline-flex items-center justify-center rounded-[5px] font-bold leading-none text-white shrink-0 "+(c??""),style:{background:a.brand,width:b,height:b,fontSize:Math.max(8,Math.floor(.55*b)),letterSpacing:a.glyph.length>1?"-0.05em":"0"},"aria-hidden":!0,children:a.glyph})}var I=c(3265);function J({point:a,services:b,interactive:c,onRemove:f}){let g=(0,e.c)("roots");return(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[b.slice(0,4).map(b=>(0,d.jsx)("a",{href:b.urlFor(a.lat,a.lng),target:"_blank",rel:"noopener noreferrer",className:"rounded p-0.5 hover:ring-1 hover:ring-offset-1 hover:ring-violet-300",title:g("mapWidget.navigationTitle",{service:b.label}),children:(0,d.jsx)(H,{service:b,size:18})},b.id)),(0,d.jsx)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(`${a.lat}, ${a.lng}`).then(()=>F.oR.success(g("mapWidget.coordsCopied"))).catch(()=>F.oR.error(g("mapWidget.clipboardUnavailable")))},className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground",title:g("mapWidget.copyCoords"),children:(0,d.jsx)(E.A,{className:"h-3 w-3"})}),c&&(0,d.jsx)("button",{type:"button",onClick:f,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-destructive",title:g("mapWidget.removePoint"),children:(0,d.jsx)(l.A,{className:"h-3 w-3"})})]})}function K({service:a,stops:b}){let c=(0,e.c)("roots"),f=a.routeUrlFor(b),g=b=>{b.preventDefault(),b.stopPropagation(),navigator.clipboard.writeText(f).then(()=>F.oR.success(c("mapWidget.linkCopied",{service:a.label}))).catch(()=>F.oR.error(c("mapWidget.clipboardUnavailable")))};return(0,d.jsxs)("a",{href:f,target:"_blank",rel:"noopener noreferrer",onContextMenu:g,className:"inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-[11px] hover:bg-accent",title:c("mapWidget.openTitle",{service:a.label}),children:[(0,d.jsx)(H,{service:a,size:16}),(0,d.jsx)("span",{className:"truncate max-w-[80px]",children:a.label}),(0,d.jsx)("button",{type:"button",onClick:g,className:"text-muted-foreground hover:text-foreground",title:c("mapWidget.copyLinkTitle"),children:(0,d.jsx)(E.A,{className:"h-2.5 w-2.5"})})]})}I.callServer,I.findSourceMapURL;var L=c(69552);let M={markdown:function({data:a}){return(0,d.jsx)("div",{className:"text-sm",children:(0,d.jsx)(f.p,{source:a.body??""})})},"news-list":function({data:a,readonly:b,onPatch:c}){let f=(0,e.c)("roots"),h=a.items??[],[m,n]=(0,g.useState)(h),[o,p]=(0,g.useTransition)();(0,g.useRef)("");let q=a=>{n(a),c&&p(async()=>{try{await c({items:a})}catch{}})};return 0===m.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f("newsListWidget.empty")}):(0,d.jsx)("ul",{className:"space-y-2",children:m.map((a,c)=>(0,d.jsxs)("li",{className:`group/row relative border-l-2 pl-2.5 py-0.5 transition ${a.read?"border-muted-foreground/30 opacity-60":"border-violet-200"}`,children:[(0,d.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,d.jsx)(i,{className:`h-3 w-3 mt-1 shrink-0 ${a.read?"text-muted-foreground":"text-violet-600"}`}),(0,d.jsxs)("div",{className:"min-w-0 flex-1 pr-12",children:[a.url?(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[a.title,(0,d.jsx)(j.A,{className:"h-3 w-3 opacity-50"})]}):(0,d.jsx)("span",{className:"text-sm font-medium",children:a.title}),a.summary&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:a.summary}),(a.source||a.date)&&(0,d.jsxs)("div",{className:"text-[10px] text-muted-foreground mt-0.5 flex gap-1.5",children:[a.source&&(0,d.jsx)("span",{children:a.source}),a.source&&a.date&&(0,d.jsx)("span",{children:"\xb7"}),a.date&&(0,d.jsx)("span",{className:"font-mono",children:a.date})]})]})]}),!b&&(0,d.jsxs)("div",{className:"absolute top-0 right-0 flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{!b&&q(m.map((a,b)=>b===c?{...a,read:!a.read}:a))},disabled:o,"aria-label":a.read?f("newsListWidget.markUnreadAria"):f("newsListWidget.markReadAria"),title:a.read?f("newsListWidget.markUnreadTitle"):f("newsListWidget.markReadTitle"),className:"p-1 rounded hover:bg-emerald-100 dark:hover:bg-emerald-950/40 text-muted-foreground hover:text-emerald-600 disabled:opacity-30",children:(0,d.jsx)(k.A,{className:"h-3 w-3"})}),(0,d.jsx)("button",{type:"button",onClick:()=>{!b&&q(m.filter((a,b)=>b!==c))},disabled:o,"aria-label":f("newsListWidget.dismissAria"),title:f("newsListWidget.dismissTitle"),className:"p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,d.jsx)(l.A,{className:"h-3 w-3"})})]})]},c))})},"link-list":function({data:a,readonly:b,onPatch:c}){let f=(0,e.c)("roots"),h=a.items??[],[i,k]=(0,g.useState)(h),[l,o]=(0,g.useTransition)();return((0,g.useRef)(""),0===i.length)?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f("linkListWidget.empty")}):(0,d.jsx)("ul",{className:"space-y-0.5",children:i.map((a,e)=>(0,d.jsxs)("li",{className:"group/row relative",children:[(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-1.5 rounded-md px-2 py-1.5 hover:bg-accent/40 transition",children:[(0,d.jsx)(m,{className:"h-3 w-3 mt-1 shrink-0 text-sky-600"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[a.title,(0,d.jsx)(j.A,{className:"h-3 w-3 opacity-50"})]}),a.hint&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:a.hint}),(0,d.jsx)("div",{className:"text-[10px] text-muted-foreground truncate font-mono mt-0.5",children:a.url})]})]}),!b&&(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{if(!b){var d;k(d=i.filter((b,c)=>c!==a)),c&&o(async()=>{try{await c({items:d})}catch{}})}})(e),disabled:l,"aria-label":f("linkListWidget.removeAria"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,d.jsx)(n.A,{className:"h-3 w-3"})})]},e))})},kpi:function({data:a}){let b=(0,e.c)("roots"),c=a.items??[];if(0===c.length)return(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("kpiWidget.empty")});let f=Math.min(c.length,3);return(0,d.jsx)("div",{className:"grid gap-2",style:{gridTemplateColumns:`repeat(${f}, minmax(0,1fr))`},children:c.map((a,b)=>(0,d.jsxs)("div",{className:"rounded-md border bg-card px-3 py-2 flex flex-col gap-0.5",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:a.label}),(0,d.jsxs)("div",{className:"flex items-baseline gap-1",children:[(0,d.jsx)("span",{className:"text-lg font-semibold tabular-nums",children:a.value}),"up"===a.delta&&(0,d.jsx)(o,{className:"h-3.5 w-3.5 text-emerald-600"}),"down"===a.delta&&(0,d.jsx)(p,{className:"h-3.5 w-3.5 text-rose-600"}),"flat"===a.delta&&(0,d.jsx)(q.A,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),a.hint&&(0,d.jsx)("div",{className:"text-[10px] text-muted-foreground leading-snug",children:a.hint})]},b))})},checklist:function({data:a,readonly:b,onPatch:c}){let f=(0,e.c)("roots"),h=a.items??[],[i,j]=(0,g.useState)(h),[l,m]=(0,g.useTransition)(),[o,p]=(0,g.useState)("");(0,g.useRef)("");let q=a=>{j(a),c&&m(async()=>{try{await c({items:a})}catch{}})},w=a=>{b||q(i.map((b,c)=>c===a?{...b,done:!b.done}:b))};return 0===i.length&&b?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f("checklistWidget.empty")}):(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("ul",{className:"space-y-0.5",children:i.map((a,c)=>(0,d.jsxs)("li",{className:`group/row flex items-start gap-2 text-sm py-0.5 rounded hover:bg-accent/30 px-1 -mx-1 ${a.done?"text-muted-foreground":""}`,children:[(0,d.jsx)("button",{type:"button",onClick:()=>w(c),disabled:b||l,"aria-label":a.done?f("checklistWidget.uncheckAria"):f("checklistWidget.checkAria"),className:"shrink-0 mt-0.5 disabled:opacity-50",children:a.done?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-emerald-600"}):(0,d.jsx)(r.A,{className:"h-3.5 w-3.5 text-muted-foreground/60 hover:text-foreground"})}),(0,d.jsx)("span",{className:`flex-1 min-w-0 break-words ${a.done?"line-through":""}`,onClick:()=>w(c),style:b?{}:{cursor:"pointer"},children:a.text}),!b&&(0,d.jsx)("button",{type:"button",onClick:()=>{!b&&q(i.filter((a,b)=>b!==c))},disabled:l,"aria-label":f("checklistWidget.removeAria"),className:"opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0 p-0.5 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,d.jsx)(n.A,{className:"h-3 w-3"})})]},c))}),!b&&(0,d.jsxs)("form",{className:"flex items-center gap-1 pt-1",onSubmit:a=>{a.preventDefault(),(()=>{if(b)return;let a=o.trim();a&&(q([...i,{text:a,done:!1}]),p(""))})()},children:[(0,d.jsx)(s.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,d.jsx)(v.p,{value:o,onChange:a=>p(a.target.value),placeholder:f("checklistWidget.newItemPlaceholder"),className:"h-7 text-xs flex-1 border-0 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 px-1",disabled:l}),o.trim()&&(0,d.jsx)(u.$,{type:"submit",size:"sm",variant:"ghost",className:"h-6 text-[10px] px-1.5",disabled:l,children:l?(0,d.jsx)(t.A,{className:"h-3 w-3 animate-spin"}):f("checklistWidget.add")})]})]})},quote:function({data:a}){let b=(0,e.c)("roots");return a?.text?(0,d.jsxs)("figure",{className:"relative pl-6",children:[(0,d.jsx)(w,{className:"h-5 w-5 absolute left-0 top-0 text-violet-300"}),(0,d.jsx)("blockquote",{className:"text-sm italic leading-relaxed",children:a.text}),a.attribution&&(0,d.jsxs)("figcaption",{className:"text-xs text-muted-foreground mt-1.5",children:["— ",a.attribution]})]}):(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("quoteWidget.empty")})},"kb-pinned":function({rootId:a,data:b,readonly:c,onPatch:f}){let h=(0,e.c)("roots"),i=b.items??[],[j,k]=(0,g.useState)(i),[m,n]=(0,g.useTransition)();return((0,g.useRef)(""),0===j.length)?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:h("kbPinnedWidget.empty")}):(0,d.jsx)("ul",{className:"space-y-1",children:j.map((b,e)=>{let g=b.rel.split("/").map(encodeURIComponent).join("/");return(0,d.jsxs)("li",{className:"group/row relative",children:[(0,d.jsxs)(y(),{href:`/roots/${a}/kb/${g}`,className:"flex items-start gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40 transition pr-7",children:[(0,d.jsx)(z.A,{className:"h-3 w-3 mt-0.5 shrink-0 text-emerald-700"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"text-sm font-medium truncate",children:b.title??b.rel}),b.snippet&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed mt-0.5",children:b.snippet}),(0,d.jsx)("div",{className:"text-[10px] text-muted-foreground font-mono mt-0.5 truncate",children:b.rel})]})]}),!c&&(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{if(!c){var b;k(b=j.filter((b,c)=>c!==a)),f&&n(async()=>{try{await f({items:b})}catch{}})}})(e),disabled:m,"aria-label":h("kbPinnedWidget.unpinAria"),title:h("kbPinnedWidget.unpinTitle"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,d.jsx)(l.A,{className:"h-3 w-3"})})]},e)})})},progress:function({data:a,readonly:b,onPatch:c}){let f=(0,e.c)("roots"),h=a.items??[],[i,j]=(0,g.useState)(h),[k,l]=(0,g.useTransition)();(0,g.useRef)("");let m=(a,d)=>{if(!b){var e;j(e=i.map((b,c)=>c===a?{...b,current:Math.max(0,b.current+d)}:b)),c&&l(async()=>{try{await c({items:e})}catch{}})}};return 0===i.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f("progressWidget.empty")}):(0,d.jsx)("ul",{className:"space-y-2.5",children:i.map((a,c)=>{let e=a.target>0?Math.max(0,Math.min(100,a.current/a.target*100)):0;return(0,d.jsxs)("li",{className:"space-y-1 group/row",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-2 text-sm",children:[(0,d.jsx)("span",{className:"truncate flex-1 min-w-0",children:a.label}),!b&&(0,d.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0",children:[(0,d.jsx)("button",{type:"button",onClick:()=>m(c,-1),disabled:k||a.current<=0,"aria-label":"−1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,d.jsx)(A,{className:"h-3 w-3"})}),(0,d.jsx)("button",{type:"button",onClick:()=>m(c,1),disabled:k,"aria-label":"+1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,d.jsx)(s.A,{className:"h-3 w-3"})})]}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums shrink-0",children:[a.current," / ",a.target,a.unit?` ${a.unit}`:""]})]}),(0,d.jsx)("div",{className:"h-1.5 rounded-full bg-muted overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-violet-600 transition-all",style:{width:`${e}%`}})})]},c)})})},image:function({data:a}){let b=(0,e.c)("roots");return a?.url?(0,d.jsxs)("figure",{className:"space-y-1",children:[(0,d.jsx)("img",{src:a.url,alt:a.alt??"",className:"rounded-md w-full h-auto border",loading:"lazy"}),a.caption&&(0,d.jsx)("figcaption",{className:"text-xs text-muted-foreground text-center",children:a.caption})]}):(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("imageWidget.empty")})},"stat-table":function({data:a}){let b=(0,e.c)("roots"),c=a.rows??[];return 0===c.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("statTableWidget.empty")}):(0,d.jsx)("div",{className:"overflow-x-auto -mx-1",children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[a.columns&&a.columns.length>0&&(0,d.jsx)("thead",{children:(0,d.jsx)("tr",{className:"border-b",children:a.columns.map((a,b)=>(0,d.jsx)("th",{className:"text-left text-[10px] uppercase tracking-wider text-muted-foreground font-medium px-1.5 py-1.5",children:a},b))})}),(0,d.jsx)("tbody",{children:c.map((a,b)=>(0,d.jsx)("tr",{className:"border-b border-dashed last:border-b-0 hover:bg-accent/30",children:a.map((a,b)=>(0,d.jsx)("td",{className:"px-1.5 py-1.5 align-top",children:a},b))},b))})]})})},map:function({data:a,readonly:b,onPatch:c}){let f=(0,e.c)("roots"),h=(0,g.useRef)(null),i=(0,g.useRef)(null),[j,k]=(0,g.useState)(!1),[m,o]=(0,g.useState)(G.JY),[p,q]=(0,g.useState)(""),[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)([]),[x,y]=(0,g.useState)(!1),[z,A]=(0,g.useState)([]),E=a.points??[],H=a.route?.stops??[],I=x?z:H,L=(0,g.useMemo)(()=>I.map(a=>E[a]).filter(a=>!!a).map(a=>({lat:a.lat,lng:a.lng})),[I,E]),M=(0,g.useMemo)(()=>G.yp.filter(a=>m.includes(a.id)),[m]);(0,g.useEffect)(()=>{if(!j||!h.current)return;let b=window.L;if(!b||(i.current&&(i.current.remove(),i.current=null),0===E.length))return;let c=b.map(h.current,{scrollWheelZoom:!1,zoomControl:!0});i.current=c,b.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',maxZoom:19}).addTo(c);let d=E.map((a,d)=>{let e=I.includes(d),g=function(a,b,c){let d=a=>a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),e=b.map(b=>{let c=b.urlFor(a.lat,a.lng);return`<a href="${d(c)}" target="_blank" rel="noopener noreferrer" title="${d(b.label)}" style="display:inline-flex;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 6px;border-radius:5px;border:1px solid #e5e7eb;text-decoration:none;font-size:11px;color:#111;background:#fff;"><span style="display:inline-block;width:14px;height:14px;border-radius:3px;background:${b.brand};color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;letter-spacing:${b.glyph.length>1?"-0.05em":"0"}">${d(b.glyph)}</span><span>${d(b.label)}</span></a>`}).join("");return['<div style="font-family:inherit;min-width:200px">',`<div style="font-weight:600;font-size:13px;margin-bottom:2px">${d(a.title)}</div>`,a.description?`<div style="font-size:12px;color:#666;margin-bottom:6px">${d(a.description)}</div>`:"",`<div style="font-family:monospace;font-size:10px;color:#888;margin-bottom:6px">${a.lat.toFixed(5)}, ${a.lng.toFixed(5)}</div>`,b.length>0?`<div style="font-size:10px;color:#888;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px">${d(c.openIn)}</div>${e}`:"",`<div style="margin-top:6px"><button type="button" data-reflex-copy="${a.lat}, ${a.lng}" style="font-size:11px;padding:2px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer">📋 ${d(c.copyCoords)}</button></div>`,"</div>"].filter(Boolean).join("")}(a,M,{openIn:f("mapWidget.openIn"),copyCoords:f("mapWidget.copyCoords")}),h=b.marker([a.lat,a.lng],{opacity:x&&!e?.55:1}).addTo(c);return h.bindPopup(g,{maxWidth:280}),h.on("click",()=>{x&&A(a=>a.includes(d)?a.filter(a=>a!==d):[...a,d])}),h});L.length>=2&&b.polyline(L.map(a=>[a.lat,a.lng]),{color:a.route?.color??"#7c3aed",weight:4,opacity:.85,dashArray:x?"6,6":void 0}).addTo(c);let e=a=>{let b=a.target.closest("[data-reflex-copy]");if(b){let c=b.getAttribute("data-reflex-copy");c&&navigator.clipboard.writeText(c).then(()=>F.oR.success(f("mapWidget.copied"))).catch(()=>F.oR.error(f("mapWidget.clipboardUnavailable"))),a.preventDefault()}};if(h.current.addEventListener("click",e),a.center&&"number"==typeof a.zoom)c.setView([a.center.lat,a.center.lng],a.zoom);else if(1===E.length)c.setView([E[0].lat,E[0].lng],a.zoom??12);else{let a=b.featureGroup(d);c.fitBounds(a.getBounds().pad(.2))}return()=>{h.current?.removeEventListener("click",e),c.remove(),i.current=null}},[j,a,m.join("|"),x,z.join(",")]);let N=!b&&!!c,O=async()=>{let a=p.trim();if(a){u(!0),w([]);try{let b=`https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(a)}&format=json&limit=6`,c=await fetch(b,{headers:{Accept:"application/json"}});if(!c.ok)throw Error(`status ${c.status}`);let d=await c.json();w(d),0===d.length&&F.oR.message(f("mapWidget.nothingFound"))}catch(a){F.oR.error(f("mapWidget.searchFailed",{error:a instanceof Error?a.message:String(a)}))}finally{u(!1)}}},P=async b=>{if(!N)return;let d=Number(b.lat),e=Number(b.lon);if(!Number.isFinite(d)||!Number.isFinite(e))return void F.oR.error(f("mapWidget.invalidCoordinates"));let g=b.display_name.split(",")[0]?.trim()||b.display_name.slice(0,60),h={...a,points:[...E,{lat:d,lng:e,title:g,description:b.display_name}]};w([]),q(""),await c?.(h)},Q=async b=>{if(!N)return;let d=E.filter((a,c)=>c!==b),e=a.route;if(a.route?.stops?.length){let c=a.route.stops.filter(a=>a!==b).map(a=>a>b?a-1:a);e=c.length>=2?{...a.route,stops:c}:void 0}let f={...a,points:d,...e?{route:e}:{route:void 0}};await c?.(f)},R=async()=>{if(!N)return;let b={...a,route:void 0};await c?.(b),y(!1),A([])},S=async()=>{if(!N)return;if(z.length<2)return void F.oR.error(f("mapWidget.routeNeedsTwo"));let b={...a,route:{...a.route??{},stops:z}};await c?.(b),y(!1)};return 0!==E.length||N?(0,d.jsxs)("div",{className:"space-y-2",children:[N&&(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("div",{className:"relative flex-1",children:[(0,d.jsx)(B.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground pointer-events-none"}),(0,d.jsx)("input",{type:"search",value:p,onChange:a=>q(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),O())},placeholder:f("mapWidget.searchPlaceholder"),className:"w-full rounded border bg-background pl-7 pr-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>void O(),disabled:r||!p.trim(),className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",children:[r?(0,d.jsx)(t.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(B.A,{className:"h-3 w-3"}),f("mapWidget.search")]}),x?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>void S(),className:"rounded px-2 py-1 text-xs bg-violet-600 text-white hover:bg-violet-700 inline-flex items-center gap-1",title:f("mapWidget.saveRouteTitle"),children:[(0,d.jsx)(C,{className:"h-3 w-3"})," ",f("mapWidget.save")]}),(0,d.jsx)("button",{type:"button",onClick:()=>{y(!1),A([])},className:"rounded border px-2 py-1 text-xs hover:bg-accent inline-flex items-center gap-1",title:f("mapWidget.cancelTitle"),children:(0,d.jsx)(l.A,{className:"h-3 w-3"})})]}):(0,d.jsxs)("button",{type:"button",onClick:()=>{A(H),y(!0)},disabled:E.length<2,className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",title:f("mapWidget.routeButtonTitle"),children:[(0,d.jsx)(C,{className:"h-3 w-3"}),f("mapWidget.route")]})]}),v.length>0&&(0,d.jsx)("ul",{className:"rounded border bg-card divide-y text-xs max-h-44 overflow-y-auto",children:v.map((a,b)=>(0,d.jsx)("li",{children:(0,d.jsxs)("button",{type:"button",onClick:()=>void P(a),className:"w-full text-left flex items-start gap-2 px-2 py-1.5 hover:bg-accent",children:[(0,d.jsx)(s.A,{className:"h-3 w-3 mt-0.5 text-emerald-700 shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block font-medium truncate",children:a.display_name.split(",")[0]}),(0,d.jsx)("span",{className:"block text-[10px] text-muted-foreground truncate",children:a.display_name})]})]})},b))}),x&&(0,d.jsx)("div",{className:"rounded border border-violet-200 bg-violet-50 dark:bg-violet-950/30 dark:border-violet-900/50 px-2 py-1.5 text-[11px] text-violet-900 dark:text-violet-200",children:f.rich("mapWidget.routeModeHint",{count:z.length,strong:a=>(0,d.jsx)("strong",{children:a})})})]}),(0,d.jsx)("div",{ref:h,className:"rounded-md border overflow-hidden bg-muted/30",style:{height:280}}),!x&&L.length>=2&&M.length>0&&(0,d.jsx)("div",{className:"rounded border bg-card px-2 py-1.5",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-medium",children:[(0,d.jsx)(C,{className:"h-3 w-3 text-violet-600"}),f("mapWidget.routeLabel",{count:L.length})]}),M.map(a=>(0,d.jsx)(K,{service:a,stops:L},a.id)),N&&(0,d.jsxs)("button",{type:"button",onClick:()=>void R(),className:"ml-auto text-[10px] text-muted-foreground hover:text-destructive inline-flex items-center gap-0.5",title:f("mapWidget.deleteRouteTitle"),children:[(0,d.jsx)(n.A,{className:"h-3 w-3"}),f("mapWidget.delete")]})]})}),(0,d.jsx)("ul",{className:"space-y-1",children:E.map((a,b)=>{let c=I.indexOf(b);return(0,d.jsxs)("li",{className:"flex items-start gap-2 rounded-md border bg-card px-2 py-1.5 text-xs "+(x&&c>=0?"ring-1 ring-violet-400 border-violet-300":""),children:[x?(0,d.jsx)("button",{type:"button",onClick:()=>A(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b]),className:"h-5 w-5 mt-0.5 shrink-0 rounded-full border text-[10px] font-mono inline-flex items-center justify-center "+(c>=0?"bg-violet-600 text-white border-violet-600":"bg-card text-muted-foreground"),title:c>=0?f("mapWidget.removeFromRoute"):f("mapWidget.addToRoute"),children:c>=0?c+1:"+"}):(0,d.jsx)(D,{className:"h-3 w-3 mt-1 shrink-0 "+(H.includes(b)?"text-violet-600":"text-emerald-700")}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"font-medium truncate",children:a.title}),a.description&&(0,d.jsx)("p",{className:"text-muted-foreground leading-snug mt-0.5 line-clamp-2",children:a.description}),(0,d.jsxs)("div",{className:"text-[10px] text-muted-foreground/80 font-mono mt-0.5",children:[a.lat.toFixed(5),", ",a.lng.toFixed(5)]})]}),(0,d.jsx)(J,{point:a,services:M,interactive:N,onRemove:()=>void Q(b)})]},b)})})]}):(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f("mapWidget.noPointsReadonly")})},"utility-card":function({rootId:a,data:b,readonly:c}){let f=(0,e.c)("roots"),g="project"===b.utilityScope?`/utilities/project/${b.utilityId}?rootId=${encodeURIComponent(a)}`:`/utilities/global/${b.utilityId}`;return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,d.jsx)(L.A,{className:"h-3 w-3 text-violet-600"}),(0,d.jsx)("span",{children:f("utilityCardWidget.miniAppLabel")}),(0,d.jsx)("span",{className:"font-mono normal-case tracking-normal text-muted-foreground/80",children:b.utilityId}),(0,d.jsxs)(y(),{href:g,className:"ml-auto inline-flex items-center gap-0.5 text-[10px] text-violet-700 hover:underline normal-case tracking-normal",title:f("utilityCardWidget.openFullTitle"),children:[f("utilityCardWidget.openLabel"),(0,d.jsx)(j.A,{className:"h-2.5 w-2.5"})]})]}),b.inner.title&&(0,d.jsx)("h4",{className:"text-sm font-medium",children:b.inner.title}),b.inner.description&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground -mt-1",children:b.inner.description}),(0,d.jsx)("div",{children:N(a,b.inner.kind,b.inner.data,{readonly:!0})})]})}};function N(a,b,c,e){let f=M[b];return f?(0,d.jsx)(f,{rootId:a,data:c,readonly:e?.readonly??!1,onPatch:e?.onPatch}):(0,d.jsx)(O,{kind:b})}function O({kind:a}){let b=(0,e.c)("roots");return(0,d.jsx)("p",{className:"text-xs text-destructive",children:b.rich("widgetsCommon.unknownKind",{kind:a,code:a=>(0,d.jsx)("code",{className:"font-mono",children:a})})})}},48272:(a,b,c)=>{"use strict";c.d(b,{w:()=>f});var d=c(73745);c(66493);var e=c(36017);async function f(){return{ok:!0,enabled:(await (0,e.M)()).mapServices.enabled}}(0,c(63781).D)([f]),(0,d.A)(f,"009eb430cfd12fcd58f1c1d78883caa9fedf8fe565",null)},54874:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(42557).A)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},62481:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(42557).A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},80432:()=>{},85548:(a,b,c)=>{"use strict";function d(a){return`${a.lat},${a.lng}`}function e(a){return`${a.lng},${a.lat}`}c.d(b,{JY:()=>g,yp:()=>f});let f=[{id:"google",label:"Google Maps",description:"Global, navigation + street view. Works everywhere except where the RF blocks it.",brand:"#4285F4",glyph:"G",urlFor:(a,b)=>`https://www.google.com/maps/dir/?api=1&destination=${a},${b}`,routeUrlFor:a=>{if(a.length<2)return"";let b=d(a[0]),c=d(a[a.length-1]),e=a.slice(1,-1).map(d).join("|"),f=e?`&waypoints=${encodeURIComponent(e)}`:"";return`https://www.google.com/maps/dir/?api=1&origin=${b}&destination=${c}${f}`}},{id:"yandex",label:"Yandex Maps",description:"CIS region, best RF detail and real-time traffic.",brand:"#FFCC00",glyph:"Y",urlFor:(a,b)=>`https://yandex.ru/maps/?rtext=~${a},${b}&rtt=auto`,routeUrlFor:a=>`https://yandex.ru/maps/?rtext=${a.map(d).join("~")}&rtt=auto`},{id:"2gis",label:"2GIS",description:"CIS region, precise addresses and POI. Uniquely strong on RF cities.",brand:"#1BA049",glyph:"2",urlFor:(a,b)=>`https://2gis.ru/routeSearch/to/${b},${a}`,routeUrlFor:a=>{let b=e(a[0]),c=e(a[a.length-1]),d=a.slice(1,-1).map(a=>`/via/${e(a)}`).join("");return`https://2gis.ru/routeSearch/rsType/car/from/${b}${d}/to/${c}`}},{id:"apple",label:"Apple Maps",description:"Opens in the native app on iOS/macOS, otherwise on the website.",brand:"#1d1d1f",glyph:"A",urlFor:(a,b)=>`https://maps.apple.com/?daddr=${a},${b}`,routeUrlFor:a=>{let b=d(a[0]),c=a.slice(1).map(a=>`+to:${d(a)}`).join("");return`https://maps.apple.com/?saddr=${b}&daddr=${b}${c}`}},{id:"osm",label:"OpenStreetMap",description:"Open data, no account required. Basic navigation.",brand:"#7EB73F",glyph:"OSM",urlFor:(a,b)=>`https://www.openstreetmap.org/directions?to=${a},${b}`,routeUrlFor:a=>{let b=a.map(d).join(";");return`https://www.openstreetmap.org/directions?route=${encodeURIComponent(b)}`}},{id:"waze",label:"Waze",description:"Car navigation with crowd-sourced traffic and alerts.",brand:"#33CCFF",glyph:"W",urlFor:(a,b)=>`https://waze.com/ul?ll=${a},${b}&navigate=yes`,routeUrlFor:a=>{let b=a[a.length-1];return`https://waze.com/ul?ll=${b.lat},${b.lng}&navigate=yes`}},{id:"organic",label:"Organic Maps",description:"Offline maps with open data. Opens in the app.",brand:"#006C35",glyph:"OM",urlFor:(a,b)=>`om://map?ll=${a},${b}`,routeUrlFor:a=>{let b=a[0],c=a[a.length-1];return`om://route?sll=${b.lat},${b.lng}&saddr=&dll=${c.lat},${c.lng}&daddr=&type=vehicle`}}],g=["google","yandex","apple","osm"]},89619:(a,b,c)=>{"use strict";c.d(b,{t:()=>e});var d=c(3265);let e=(0,d.createServerReference)("6009534488ec6ad495c652930e10f3444cfe1bf9cc",d.callServer,void 0,d.findSourceMapURL,"restoreWidgetAction")},90160:()=>{},96185:(a,b,c)=>{"use strict";c.d(b,{p:()=>x});var d=c(64173),e=c(17240),f=c(71813),g=c(90775),h=c(56992),i=c(39755),j=c(66979),k=c(14878),l=c(62261),m=c(69552),n=c(96705),o=c(13530),p=c(12619),q=c(73569),r=c(44052),s=c(20583),t=c(47071),u=c(3265);let v=(0,u.createServerReference)("402d6961ba9a6dec98f86553ad9cee1b4b97ad8ab3",u.callServer,void 0,u.findSourceMapURL,"summarizeYoutubeAction");var w=c(26584);function x({source:a,onSendToChat:b,autoSummarizeYoutube:c}){let[f,j]=(0,e.useState)(null);return(0,d.jsxs)("div",{className:"prose prose-neutral dark:prose-invert max-w-none [&_pre]:bg-muted [&_pre]:rounded-md [&_pre]:p-4 [&_pre]:overflow-x-auto [&_pre]:text-sm [&_pre_code]:bg-transparent [&_pre_code]:p-0 [&_pre_code]:text-foreground [&_:not(pre)>code]:bg-muted [&_:not(pre)>code]:px-1.5 [&_:not(pre)>code]:py-0.5 [&_:not(pre)>code]:rounded [&_:not(pre)>code]:text-[0.9em] [&_code]:font-mono [&_table]:text-sm",children:[(0,d.jsx)(g.oz,{remarkPlugins:[h.A],rehypePlugins:[[i.A,{detect:!0,ignoreMissing:!0}]],components:{a:({href:a,children:e,...f})=>{let g=a?function(a){try{let b=new URL(a),c=b.hostname.replace(/^www\./,"");if("youtu.be"===c){let a=b.pathname.slice(1).split("/")[0];return a&&/^[A-Za-z0-9_-]{6,}$/.test(a)?a:null}if("youtube.com"===c||"m.youtube.com"===c||"youtube-nocookie.com"===c){if("/watch"===b.pathname){let a=b.searchParams.get("v");return a&&/^[A-Za-z0-9_-]{6,}$/.test(a)?a:null}let a=/^\/(shorts|embed|live|v)\/([^/?#]+)/.exec(b.pathname);if(a&&/^[A-Za-z0-9_-]{6,}$/.test(a[2]))return a[2]}}catch{}return null}(a):null;return g&&a?(0,d.jsx)(A,{url:a,videoId:g,autoSummarize:c??!1,...b?{onSendToChat:b}:{}}):(0,d.jsx)("a",{href:a,...f,children:e})},img:({src:a,alt:b,title:c})=>"string"!=typeof a||0===a.length?null:(0,d.jsx)(y,{src:a,alt:"string"==typeof b?b:"",title:"string"==typeof c?c:void 0,onZoom:a=>j(a)})},children:a}),f&&(0,d.jsx)(z,{src:f.src,alt:f.alt,onClose:()=>j(null)})]})}function y({src:a,alt:b,title:c,onZoom:e}){let g=(0,f.c)("roots");return(0,d.jsx)("img",{src:a,alt:b,title:c??b??g("markdown.openFullscreen"),onClick:()=>e({src:a,alt:b}),className:"cursor-zoom-in rounded-md border bg-muted/40 transition hover:opacity-90",loading:"lazy"})}function z({src:a,alt:b,onClose:c}){let g=(0,f.c)("roots");return(0,e.useCallback)(a=>{"Escape"===a.key&&c()},[c]),(0,d.jsxs)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center p-6 bg-background/85 backdrop-blur-sm cursor-zoom-out",onClick:c,role:"dialog","aria-label":b||g("markdown.imagePreview"),children:[(0,d.jsx)(s.$,{type:"button",size:"icon",variant:"ghost",className:"absolute top-4 right-4 h-9 w-9 bg-card/80 hover:bg-card",onClick:a=>{a.stopPropagation(),c()},"aria-label":g("markdown.closeAria"),children:(0,d.jsx)(j.A,{className:"h-5 w-5"})}),(0,d.jsx)("img",{src:a,alt:b,className:"max-h-full max-w-full object-contain rounded-lg shadow-2xl",onClick:a=>a.stopPropagation()}),b&&(0,d.jsx)("div",{className:"absolute bottom-6 inset-x-0 mx-auto max-w-3xl px-6 text-center text-sm text-foreground/80 pointer-events-none",children:b})]})}function A({url:a,videoId:b,onSendToChat:c,autoSummarize:g}){let h=(0,f.c)("roots"),[i,u]=(0,e.useTransition)(),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(!1);(0,e.useRef)(!1);let F=()=>{y(null),u(async()=>{let b=await v({url:a});if(b.ok){y(b.text),A(!1);return}if(b.needsKey)return void A(!0);r.oR.error(b.error)})},G=async()=>{if(!B.trim())return void r.oR.error(h("markdown.enterKey"));E(!0);try{let a=await (0,w.A)(B.trim());if(!a.ok)return void r.oR.error(a.error);r.oR.success(h("markdown.geminiKeySaved")),C(""),A(!1),F()}finally{E(!1)}};return(0,d.jsxs)("span",{className:"not-prose my-4 block rounded-lg border bg-card overflow-hidden",children:[(0,d.jsx)("span",{className:"relative block w-full",style:{paddingTop:"56.25%"},children:(0,d.jsx)("iframe",{src:`https://www.youtube-nocookie.com/embed/${b}`,className:"absolute inset-0 h-full w-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0,title:"YouTube video"})}),(0,d.jsxs)("span",{className:"flex items-center gap-2 p-2 border-t bg-muted/30",children:[(0,d.jsx)(k.A,{className:"h-4 w-4 text-red-600 shrink-0"}),(0,d.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:underline truncate flex-1 min-w-0",children:a}),(0,d.jsxs)(s.$,{type:"button",size:"sm",variant:"outline",onClick:F,disabled:i,className:"gap-1 shrink-0 h-7",children:[i?(0,d.jsx)(l.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3 w-3"}),h("markdown.summarize")]})]}),z&&(0,d.jsxs)("span",{className:"block border-t bg-amber-50/60 p-3 space-y-2",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-xs text-amber-900",children:[(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"font-medium",children:h("markdown.needsGeminiKey")})]}),(0,d.jsx)("span",{className:"block text-[11px] text-amber-900/80",children:h.rich("markdown.geminiKeyHelp",{link:()=>(0,d.jsx)("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"aistudio.google.com/apikey"}),path:()=>(0,d.jsx)("code",{className:"font-mono",children:"~/.reflex/api-keys/gemini.json"}),modelsList:()=>(0,d.jsx)("code",{className:"font-mono",children:"models.list"})})}),(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)(t.p,{type:"password",value:B,onChange:a=>C(a.target.value),placeholder:"AIza…",className:"font-mono text-xs h-8 flex-1",disabled:D}),(0,d.jsxs)(s.$,{type:"button",size:"sm",onClick:()=>void G(),disabled:D||!B.trim(),className:"h-8 gap-1",children:[D?(0,d.jsx)(l.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(o.A,{className:"h-3 w-3"}),h("markdown.saveAndContinue")]}),(0,d.jsx)(s.$,{type:"button",size:"icon",variant:"ghost",onClick:()=>A(!1),className:"h-8 w-8",children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})]})]}),x&&(0,d.jsxs)("span",{className:"block border-t p-3 space-y-2",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-[11px] uppercase tracking-wider text-muted-foreground",children:[(0,d.jsx)(p.A,{className:"h-3 w-3 text-emerald-600"}),"Gemini summary",(0,d.jsxs)(s.$,{type:"button",size:"sm",variant:"ghost",onClick:F,className:"ml-auto h-6 text-[10px] gap-1",disabled:i,children:[i?(0,d.jsx)(l.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3 w-3"}),h("markdown.redo")]}),c&&(0,d.jsxs)(s.$,{type:"button",size:"sm",variant:"outline",onClick:()=>c(x,a),className:"h-6 text-[10px] gap-1",children:[(0,d.jsx)(q.A,{className:"h-3 w-3"}),h("markdown.toChat")]})]}),(0,d.jsx)("span",{className:"block",children:(0,d.jsx)("span",{className:"block text-sm whitespace-pre-wrap leading-relaxed",children:x})})]})]})}}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4108],{4487:(e,c,t)=>{t.d(c,{S:()=>a});var r=t(7911);let a=(0,r.createServerReference)("40547354509541b5c6813c3540852774896010d090",r.callServer,void 0,r.findSourceMapURL,"saveOAuthClientAction")},37926:(e,c,t)=>{t.d(c,{o:()=>a});var r=t(7911);let a=(0,r.createServerReference)("00750c6425a946b742be89aa2cf9ed26f05a186e97",r.callServer,void 0,r.findSourceMapURL,"listOAuthStatusesAction")},54914:(e,c,t)=>{t.d(c,{T:()=>a});var r=t(7911);let a=(0,r.createServerReference)("60f01921d05cfcd7ea1f4bc63941c6270a7d07f30a",r.callServer,void 0,r.findSourceMapURL,"beginOAuthAction")},64233:(e,c,t)=>{t.d(c,{J:()=>a});var r=t(7911);let a=(0,r.createServerReference)("40f807fecb499edc41fa7c6f032289fc00dfea9a13",r.callServer,void 0,r.findSourceMapURL,"getOAuthClientAction")},94108:(e,c,t)=>{t.d(c,{beginOAuthAction:()=>n.T,getOAuthClientAction:()=>i.J,listOAuthStatusesAction:()=>r.o,saveOAuthClientAction:()=>a.S});var r=t(37926),a=t(4487),i=t(64233),n=t(54914)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4138],{4945:(e,t,r)=>{r.d(t,{v:()=>q});var a=r(4624),n=r(49411),s=r(75148),l=r(99356),i=r(87738),o=r(39783),c=r(43153),d=r(13561),u=r(41695),p=r(46972),m=r(84630),x=r(96447),h=r(54207),g=r(84860),f=r(41379),v=r(3239),b=r(85253),y=r(15523),j=r(64681),N=r(54400),w=r.n(N),k=r(49623),W=r(85785),C=r(43863),A=r(57308),S=r(35285),F=r(9598),R=r(56221),T=r(68682);function L(e){let{service:t,size:r=18,className:n}=e;return(0,a.jsx)("span",{className:"inline-flex items-center justify-center rounded-[5px] font-bold leading-none text-white shrink-0 "+(null!=n?n:""),style:{background:t.brand,width:r,height:r,fontSize:Math.max(8,Math.floor(.55*r)),letterSpacing:t.glyph.length>1?"-0.05em":"0"},"aria-hidden":!0,children:t.glyph})}var z=r(7911);let M=(0,z.createServerReference)("009eb430cfd12fcd58f1c1d78883caa9fedf8fe565",z.callServer,void 0,z.findSourceMapURL,"getEnabledMapServicesAction"),U="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",E="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";function I(e){let{point:t,services:r,interactive:s,onRemove:l}=e,i=(0,n.c)("roots");return(0,a.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[r.slice(0,4).map(e=>(0,a.jsx)("a",{href:e.urlFor(t.lat,t.lng),target:"_blank",rel:"noopener noreferrer",className:"rounded p-0.5 hover:ring-1 hover:ring-offset-1 hover:ring-violet-300",title:i("mapWidget.navigationTitle",{service:e.label}),children:(0,a.jsx)(L,{service:e,size:18})},e.id)),(0,a.jsx)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText("".concat(t.lat,", ").concat(t.lng)).then(()=>R.oR.success(i("mapWidget.coordsCopied"))).catch(()=>R.oR.error(i("mapWidget.clipboardUnavailable")))},className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground",title:i("mapWidget.copyCoords"),children:(0,a.jsx)(F.A,{className:"h-3 w-3"})}),s&&(0,a.jsx)("button",{type:"button",onClick:l,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-destructive",title:i("mapWidget.removePoint"),children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]})}function O(e){let{service:t,stops:r}=e,s=(0,n.c)("roots"),l=t.routeUrlFor(r),i=e=>{e.preventDefault(),e.stopPropagation(),navigator.clipboard.writeText(l).then(()=>R.oR.success(s("mapWidget.linkCopied",{service:t.label}))).catch(()=>R.oR.error(s("mapWidget.clipboardUnavailable")))};return(0,a.jsxs)("a",{href:l,target:"_blank",rel:"noopener noreferrer",onContextMenu:i,className:"inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-[11px] hover:bg-accent",title:s("mapWidget.openTitle",{service:t.label}),children:[(0,a.jsx)(L,{service:t,size:16}),(0,a.jsx)("span",{className:"truncate max-w-[80px]",children:t.label}),(0,a.jsx)("button",{type:"button",onClick:i,className:"text-muted-foreground hover:text-foreground",title:s("mapWidget.copyLinkTitle"),children:(0,a.jsx)(F.A,{className:"h-2.5 w-2.5"})})]})}var _=r(8096);let P={markdown:function(e){var t;let{data:r}=e;return(0,a.jsx)("div",{className:"text-sm",children:(0,a.jsx)(s.p,{source:null!=(t=r.body)?t:""})})},"news-list":function(e){var t;let{data:r,readonly:s,onPatch:u}=e,p=(0,n.c)("roots"),m=null!=(t=r.items)?t:[],[x,h]=(0,l.useState)(m),[g,f]=(0,l.useTransition)(),v=(0,l.useRef)("");(0,l.useEffect)(()=>{let e=JSON.stringify(m);e!==v.current&&(v.current=e,h(m))},[r]);let b=e=>{h(e),u&&f(async()=>{try{await u({items:e})}catch(e){}})};return 0===x.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:p("newsListWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-2",children:x.map((e,t)=>(0,a.jsxs)("li",{className:"group/row relative border-l-2 pl-2.5 py-0.5 transition ".concat(e.read?"border-muted-foreground/30 opacity-60":"border-violet-200"),children:[(0,a.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,a.jsx)(i.A,{className:"h-3 w-3 mt-1 shrink-0 ".concat(e.read?"text-muted-foreground":"text-violet-600")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 pr-12",children:[e.url?(0,a.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[e.title,(0,a.jsx)(o.A,{className:"h-3 w-3 opacity-50"})]}):(0,a.jsx)("span",{className:"text-sm font-medium",children:e.title}),e.summary&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:e.summary}),(e.source||e.date)&&(0,a.jsxs)("div",{className:"text-[10px] text-muted-foreground mt-0.5 flex gap-1.5",children:[e.source&&(0,a.jsx)("span",{children:e.source}),e.source&&e.date&&(0,a.jsx)("span",{children:"\xb7"}),e.date&&(0,a.jsx)("span",{className:"font-mono",children:e.date})]})]})]}),!s&&(0,a.jsxs)("div",{className:"absolute top-0 right-0 flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&b(x.map((e,r)=>r===t?{...e,read:!e.read}:e))},disabled:g,"aria-label":e.read?p("newsListWidget.markUnreadAria"):p("newsListWidget.markReadAria"),title:e.read?p("newsListWidget.markUnreadTitle"):p("newsListWidget.markReadTitle"),className:"p-1 rounded hover:bg-emerald-100 dark:hover:bg-emerald-950/40 text-muted-foreground hover:text-emerald-600 disabled:opacity-30",children:(0,a.jsx)(c.A,{className:"h-3 w-3"})}),(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&b(x.filter((e,r)=>r!==t))},disabled:g,"aria-label":p("newsListWidget.dismissAria"),title:p("newsListWidget.dismissTitle"),className:"p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]})]},t))})},"link-list":function(e){var t;let{data:r,readonly:s,onPatch:i}=e,c=(0,n.c)("roots"),d=null!=(t=r.items)?t:[],[m,x]=(0,l.useState)(d),[h,g]=(0,l.useTransition)(),f=(0,l.useRef)("");return((0,l.useEffect)(()=>{let e=JSON.stringify(d);e!==f.current&&(f.current=e,x(d))},[r]),0===m.length)?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:c("linkListWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-0.5",children:m.map((e,t)=>(0,a.jsxs)("li",{className:"group/row relative",children:[(0,a.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-1.5 rounded-md px-2 py-1.5 hover:bg-accent/40 transition",children:[(0,a.jsx)(u.A,{className:"h-3 w-3 mt-1 shrink-0 text-sky-600"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[e.title,(0,a.jsx)(o.A,{className:"h-3 w-3 opacity-50"})]}),e.hint&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:e.hint}),(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground truncate font-mono mt-0.5",children:e.url})]})]}),!s&&(0,a.jsx)("button",{type:"button",onClick:()=>(e=>{if(!s){var t;x(t=m.filter((t,r)=>r!==e)),i&&g(async()=>{try{await i({items:t})}catch(e){}})}})(t),disabled:h,"aria-label":c("linkListWidget.removeAria"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(p.A,{className:"h-3 w-3"})})]},t))})},kpi:function(e){var t;let{data:r}=e,s=(0,n.c)("roots"),l=null!=(t=r.items)?t:[];if(0===l.length)return(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("kpiWidget.empty")});let i=Math.min(l.length,3);return(0,a.jsx)("div",{className:"grid gap-2",style:{gridTemplateColumns:"repeat(".concat(i,", minmax(0,1fr))")},children:l.map((e,t)=>(0,a.jsxs)("div",{className:"rounded-md border bg-card px-3 py-2 flex flex-col gap-0.5",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:e.label}),(0,a.jsxs)("div",{className:"flex items-baseline gap-1",children:[(0,a.jsx)("span",{className:"text-lg font-semibold tabular-nums",children:e.value}),"up"===e.delta&&(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 text-emerald-600"}),"down"===e.delta&&(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-rose-600"}),"flat"===e.delta&&(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),e.hint&&(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground leading-snug",children:e.hint})]},t))})},checklist:function(e){var t;let{data:r,readonly:s,onPatch:i}=e,o=(0,n.c)("roots"),d=null!=(t=r.items)?t:[],[u,m]=(0,l.useState)(d),[x,h]=(0,l.useTransition)(),[j,N]=(0,l.useState)(""),w=(0,l.useRef)("");(0,l.useEffect)(()=>{let e=JSON.stringify(d);e!==w.current&&(w.current=e,m(d))},[r]);let k=e=>{m(e),i&&h(async()=>{try{await i({items:e})}catch(e){}})},W=e=>{s||k(u.map((t,r)=>r===e?{...t,done:!t.done}:t))};return 0===u.length&&s?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:o("checklistWidget.empty")}):(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("ul",{className:"space-y-0.5",children:u.map((e,t)=>(0,a.jsxs)("li",{className:"group/row flex items-start gap-2 text-sm py-0.5 rounded hover:bg-accent/30 px-1 -mx-1 ".concat(e.done?"text-muted-foreground":""),children:[(0,a.jsx)("button",{type:"button",onClick:()=>W(t),disabled:s||x,"aria-label":e.done?o("checklistWidget.uncheckAria"):o("checklistWidget.checkAria"),className:"shrink-0 mt-0.5 disabled:opacity-50",children:e.done?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-emerald-600"}):(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 text-muted-foreground/60 hover:text-foreground"})}),(0,a.jsx)("span",{className:"flex-1 min-w-0 break-words ".concat(e.done?"line-through":""),onClick:()=>W(t),style:s?{}:{cursor:"pointer"},children:e.text}),!s&&(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&k(u.filter((e,r)=>r!==t))},disabled:x,"aria-label":o("checklistWidget.removeAria"),className:"opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0 p-0.5 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(p.A,{className:"h-3 w-3"})})]},t))}),!s&&(0,a.jsxs)("form",{className:"flex items-center gap-1 pt-1",onSubmit:e=>{e.preventDefault(),(()=>{if(s)return;let e=j.trim();e&&(k([...u,{text:e,done:!1}]),N(""))})()},children:[(0,a.jsx)(f.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)(y.p,{value:j,onChange:e=>N(e.target.value),placeholder:o("checklistWidget.newItemPlaceholder"),className:"h-7 text-xs flex-1 border-0 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 px-1",disabled:x}),j.trim()&&(0,a.jsx)(b.$,{type:"submit",size:"sm",variant:"ghost",className:"h-6 text-[10px] px-1.5",disabled:x,children:x?(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"}):o("checklistWidget.add")})]})]})},quote:function(e){let{data:t}=e,r=(0,n.c)("roots");return(null==t?void 0:t.text)?(0,a.jsxs)("figure",{className:"relative pl-6",children:[(0,a.jsx)(j.A,{className:"h-5 w-5 absolute left-0 top-0 text-violet-300"}),(0,a.jsx)("blockquote",{className:"text-sm italic leading-relaxed",children:t.text}),t.attribution&&(0,a.jsxs)("figcaption",{className:"text-xs text-muted-foreground mt-1.5",children:["— ",t.attribution]})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:r("quoteWidget.empty")})},"kb-pinned":function(e){var t;let{rootId:r,data:s,readonly:i,onPatch:o}=e,c=(0,n.c)("roots"),u=null!=(t=s.items)?t:[],[p,m]=(0,l.useState)(u),[x,h]=(0,l.useTransition)(),g=(0,l.useRef)("");return((0,l.useEffect)(()=>{let e=JSON.stringify(u);e!==g.current&&(g.current=e,m(u))},[s]),0===p.length)?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:c("kbPinnedWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-1",children:p.map((e,t)=>{var n;let s=e.rel.split("/").map(encodeURIComponent).join("/");return(0,a.jsxs)("li",{className:"group/row relative",children:[(0,a.jsxs)(w(),{href:"/roots/".concat(r,"/kb/").concat(s),className:"flex items-start gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40 transition pr-7",children:[(0,a.jsx)(k.A,{className:"h-3 w-3 mt-0.5 shrink-0 text-emerald-700"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-sm font-medium truncate",children:null!=(n=e.title)?n:e.rel}),e.snippet&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed mt-0.5",children:e.snippet}),(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground font-mono mt-0.5 truncate",children:e.rel})]})]}),!i&&(0,a.jsx)("button",{type:"button",onClick:()=>(e=>{if(!i){var t;m(t=p.filter((t,r)=>r!==e)),o&&h(async()=>{try{await o({items:t})}catch(e){}})}})(t),disabled:x,"aria-label":c("kbPinnedWidget.unpinAria"),title:c("kbPinnedWidget.unpinTitle"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]},t)})})},progress:function(e){var t;let{data:r,readonly:s,onPatch:i}=e,o=(0,n.c)("roots"),c=null!=(t=r.items)?t:[],[d,u]=(0,l.useState)(c),[p,m]=(0,l.useTransition)(),x=(0,l.useRef)("");(0,l.useEffect)(()=>{let e=JSON.stringify(c);e!==x.current&&(x.current=e,u(c))},[r]);let h=(e,t)=>{if(!s){var r;u(r=d.map((r,a)=>a===e?{...r,current:Math.max(0,r.current+t)}:r)),i&&m(async()=>{try{await i({items:r})}catch(e){}})}};return 0===d.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:o("progressWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-2.5",children:d.map((e,t)=>{let r=e.target>0?Math.max(0,Math.min(100,e.current/e.target*100)):0;return(0,a.jsxs)("li",{className:"space-y-1 group/row",children:[(0,a.jsxs)("div",{className:"flex items-baseline justify-between gap-2 text-sm",children:[(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:e.label}),!s&&(0,a.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0",children:[(0,a.jsx)("button",{type:"button",onClick:()=>h(t,-1),disabled:p||e.current<=0,"aria-label":"−1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,a.jsx)(W.A,{className:"h-3 w-3"})}),(0,a.jsx)("button",{type:"button",onClick:()=>h(t,1),disabled:p,"aria-label":"+1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,a.jsx)(f.A,{className:"h-3 w-3"})})]}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums shrink-0",children:[e.current," / ",e.target,e.unit?" ".concat(e.unit):""]})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full bg-muted overflow-hidden",children:(0,a.jsx)("div",{className:"h-full bg-violet-600 transition-all",style:{width:"".concat(r,"%")}})})]},t)})})},image:function(e){var t;let{data:r}=e,s=(0,n.c)("roots");return(null==r?void 0:r.url)?(0,a.jsxs)("figure",{className:"space-y-1",children:[(0,a.jsx)("img",{src:r.url,alt:null!=(t=r.alt)?t:"",className:"rounded-md w-full h-auto border",loading:"lazy"}),r.caption&&(0,a.jsx)("figcaption",{className:"text-xs text-muted-foreground text-center",children:r.caption})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("imageWidget.empty")})},"stat-table":function(e){var t;let{data:r}=e,s=(0,n.c)("roots"),l=null!=(t=r.rows)?t:[];return 0===l.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("statTableWidget.empty")}):(0,a.jsx)("div",{className:"overflow-x-auto -mx-1",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[r.columns&&r.columns.length>0&&(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b",children:r.columns.map((e,t)=>(0,a.jsx)("th",{className:"text-left text-[10px] uppercase tracking-wider text-muted-foreground font-medium px-1.5 py-1.5",children:e},t))})}),(0,a.jsx)("tbody",{children:l.map((e,t)=>(0,a.jsx)("tr",{className:"border-b border-dashed last:border-b-0 hover:bg-accent/30",children:e.map((e,t)=>(0,a.jsx)("td",{className:"px-1.5 py-1.5 align-top",children:e},t))},t))})]})})},map:function(e){var t,r,s;let{data:i,readonly:o,onPatch:c}=e,u=(0,n.c)("roots"),m=(0,l.useRef)(null),x=(0,l.useRef)(null),[h,g]=(0,l.useState)(!1),[b,y]=(0,l.useState)(T.JY),[j,N]=(0,l.useState)(""),[w,k]=(0,l.useState)(!1),[W,F]=(0,l.useState)([]),[L,z]=(0,l.useState)(!1),[_,P]=(0,l.useState)([]),q=null!=(r=i.points)?r:[],B=null!=(s=null==(t=i.route)?void 0:t.stops)?s:[],D=L?_:B,J=(0,l.useMemo)(()=>D.map(e=>q[e]).filter(e=>!!e).map(e=>({lat:e.lat,lng:e.lng})),[D,q]),G=(0,l.useMemo)(()=>T.yp.filter(e=>b.includes(e.id)),[b]);(0,l.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await M();!e&&t.ok&&y(t.enabled)}catch(e){}})(),()=>{e=!0}},[]),(0,l.useEffect)(()=>{if(window.L)return void g(!0);if(!document.querySelector('link[href="'.concat(U,'"]'))){let e=document.createElement("link");e.rel="stylesheet",e.href=U,document.head.appendChild(e)}let e=document.querySelector('script[src="'.concat(E,'"]'));if(e){e.addEventListener("load",()=>g(!0)),window.L&&g(!0);return}let t=document.createElement("script");t.src=E,t.async=!0,t.onload=()=>g(!0),t.onerror=()=>R.oR.error(u("mapWidget.leafletLoadFailed")),document.head.appendChild(t)},[]),(0,l.useEffect)(()=>{var e,t,r;if(!h||!m.current)return;let a=window.L;if(!a||(x.current&&(x.current.remove(),x.current=null),0===q.length))return;let n=a.map(m.current,{scrollWheelZoom:!1,zoomControl:!0});x.current=n,a.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',maxZoom:19}).addTo(n);let s=q.map((e,t)=>{let r=D.includes(t),s=function(e,t,r){let a=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),n=t.map(t=>{let r=t.urlFor(e.lat,e.lng);return'<a href="'.concat(a(r),'" target="_blank" rel="noopener noreferrer" ')+'title="'.concat(a(t.label),'" ')+'style="display:inline-flex;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 6px;border-radius:5px;border:1px solid #e5e7eb;text-decoration:none;font-size:11px;color:#111;background:#fff;">'+'<span style="display:inline-block;width:14px;height:14px;border-radius:3px;background:'.concat(t.brand,";")+"color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;"+"letter-spacing:".concat(t.glyph.length>1?"-0.05em":"0",'">').concat(a(t.glyph),"</span>")+"<span>".concat(a(t.label),"</span>")+"</a>"}).join("");return['<div style="font-family:inherit;min-width:200px">','<div style="font-weight:600;font-size:13px;margin-bottom:2px">'.concat(a(e.title),"</div>"),e.description?'<div style="font-size:12px;color:#666;margin-bottom:6px">'.concat(a(e.description),"</div>"):"",'<div style="font-family:monospace;font-size:10px;color:#888;margin-bottom:6px">'.concat(e.lat.toFixed(5),", ").concat(e.lng.toFixed(5),"</div>"),t.length>0?'<div style="font-size:10px;color:#888;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px">'.concat(a(r.openIn),"</div>").concat(n):"",'<div style="margin-top:6px"><button type="button" data-reflex-copy="'.concat(e.lat,", ").concat(e.lng,'" style="font-size:11px;padding:2px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer">\uD83D\uDCCB ').concat(a(r.copyCoords),"</button></div>"),"</div>"].filter(Boolean).join("")}(e,G,{openIn:u("mapWidget.openIn"),copyCoords:u("mapWidget.copyCoords")}),l=a.marker([e.lat,e.lng],{opacity:L&&!r?.55:1}).addTo(n);return l.bindPopup(s,{maxWidth:280}),l.on("click",()=>{L&&P(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])}),l});J.length>=2&&a.polyline(J.map(e=>[e.lat,e.lng]),{color:null!=(t=null==(e=i.route)?void 0:e.color)?t:"#7c3aed",weight:4,opacity:.85,dashArray:L?"6,6":void 0}).addTo(n);let l=e=>{let t=e.target.closest("[data-reflex-copy]");if(t){let r=t.getAttribute("data-reflex-copy");r&&navigator.clipboard.writeText(r).then(()=>R.oR.success(u("mapWidget.copied"))).catch(()=>R.oR.error(u("mapWidget.clipboardUnavailable"))),e.preventDefault()}};if(m.current.addEventListener("click",l),i.center&&"number"==typeof i.zoom)n.setView([i.center.lat,i.center.lng],i.zoom);else if(1===q.length)n.setView([q[0].lat,q[0].lng],null!=(r=i.zoom)?r:12);else{let e=a.featureGroup(s);n.fitBounds(e.getBounds().pad(.2))}return()=>{var e;null==(e=m.current)||e.removeEventListener("click",l),n.remove(),x.current=null}},[h,i,b.join("|"),L,_.join(",")]);let Y=!o&&!!c,K=async()=>{let e=j.trim();if(e){k(!0),F([]);try{let t="".concat("https://nominatim.openstreetmap.org/search","?q=").concat(encodeURIComponent(e),"&format=json&limit=6"),r=await fetch(t,{headers:{Accept:"application/json"}});if(!r.ok)throw Error("status ".concat(r.status));let a=await r.json();F(a),0===a.length&&R.oR.message(u("mapWidget.nothingFound"))}catch(e){R.oR.error(u("mapWidget.searchFailed",{error:e instanceof Error?e.message:String(e)}))}finally{k(!1)}}},V=async e=>{var t;if(!Y)return;let r=Number(e.lat),a=Number(e.lon);if(!Number.isFinite(r)||!Number.isFinite(a))return void R.oR.error(u("mapWidget.invalidCoordinates"));let n=(null==(t=e.display_name.split(",")[0])?void 0:t.trim())||e.display_name.slice(0,60),s={...i,points:[...q,{lat:r,lng:a,title:n,description:e.display_name}]};F([]),N(""),await (null==c?void 0:c(s))},Z=async e=>{var t,r;if(!Y)return;let a=q.filter((t,r)=>r!==e),n=i.route;if(null==(r=i.route)||null==(t=r.stops)?void 0:t.length){let t=i.route.stops.filter(t=>t!==e).map(t=>t>e?t-1:t);n=t.length>=2?{...i.route,stops:t}:void 0}let s={...i,points:a,...n?{route:n}:{route:void 0}};await (null==c?void 0:c(s))},H=async()=>{if(!Y)return;let e={...i,route:void 0};await (null==c?void 0:c(e)),z(!1),P([])},$=async()=>{var e;if(!Y)return;if(_.length<2)return void R.oR.error(u("mapWidget.routeNeedsTwo"));let t={...i,route:{...null!=(e=i.route)?e:{},stops:_}};await (null==c?void 0:c(t)),z(!1)};return 0!==q.length||Y?(0,a.jsxs)("div",{className:"space-y-2",children:[Y&&(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsxs)("div",{className:"relative flex-1",children:[(0,a.jsx)(C.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground pointer-events-none"}),(0,a.jsx)("input",{type:"search",value:j,onChange:e=>N(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),K())},placeholder:u("mapWidget.searchPlaceholder"),className:"w-full rounded border bg-background pl-7 pr-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>void K(),disabled:w||!j.trim(),className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",children:[w?(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(C.A,{className:"h-3 w-3"}),u("mapWidget.search")]}),L?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>void $(),className:"rounded px-2 py-1 text-xs bg-violet-600 text-white hover:bg-violet-700 inline-flex items-center gap-1",title:u("mapWidget.saveRouteTitle"),children:[(0,a.jsx)(A.A,{className:"h-3 w-3"})," ",u("mapWidget.save")]}),(0,a.jsx)("button",{type:"button",onClick:()=>{z(!1),P([])},className:"rounded border px-2 py-1 text-xs hover:bg-accent inline-flex items-center gap-1",title:u("mapWidget.cancelTitle"),children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]}):(0,a.jsxs)("button",{type:"button",onClick:()=>{P(B),z(!0)},disabled:q.length<2,className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",title:u("mapWidget.routeButtonTitle"),children:[(0,a.jsx)(A.A,{className:"h-3 w-3"}),u("mapWidget.route")]})]}),W.length>0&&(0,a.jsx)("ul",{className:"rounded border bg-card divide-y text-xs max-h-44 overflow-y-auto",children:W.map((e,t)=>(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onClick:()=>void V(e),className:"w-full text-left flex items-start gap-2 px-2 py-1.5 hover:bg-accent",children:[(0,a.jsx)(f.A,{className:"h-3 w-3 mt-0.5 text-emerald-700 shrink-0"}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block font-medium truncate",children:e.display_name.split(",")[0]}),(0,a.jsx)("span",{className:"block text-[10px] text-muted-foreground truncate",children:e.display_name})]})]})},t))}),L&&(0,a.jsx)("div",{className:"rounded border border-violet-200 bg-violet-50 dark:bg-violet-950/30 dark:border-violet-900/50 px-2 py-1.5 text-[11px] text-violet-900 dark:text-violet-200",children:u.rich("mapWidget.routeModeHint",{count:_.length,strong:e=>(0,a.jsx)("strong",{children:e})})})]}),(0,a.jsx)("div",{ref:m,className:"rounded-md border overflow-hidden bg-muted/30",style:{height:280}}),!L&&J.length>=2&&G.length>0&&(0,a.jsx)("div",{className:"rounded border bg-card px-2 py-1.5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-medium",children:[(0,a.jsx)(A.A,{className:"h-3 w-3 text-violet-600"}),u("mapWidget.routeLabel",{count:J.length})]}),G.map(e=>(0,a.jsx)(O,{service:e,stops:J},e.id)),Y&&(0,a.jsxs)("button",{type:"button",onClick:()=>void H(),className:"ml-auto text-[10px] text-muted-foreground hover:text-destructive inline-flex items-center gap-0.5",title:u("mapWidget.deleteRouteTitle"),children:[(0,a.jsx)(p.A,{className:"h-3 w-3"}),u("mapWidget.delete")]})]})}),(0,a.jsx)("ul",{className:"space-y-1",children:q.map((e,t)=>{let r=D.indexOf(t);return(0,a.jsxs)("li",{className:"flex items-start gap-2 rounded-md border bg-card px-2 py-1.5 text-xs "+(L&&r>=0?"ring-1 ring-violet-400 border-violet-300":""),children:[L?(0,a.jsx)("button",{type:"button",onClick:()=>P(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t]),className:"h-5 w-5 mt-0.5 shrink-0 rounded-full border text-[10px] font-mono inline-flex items-center justify-center "+(r>=0?"bg-violet-600 text-white border-violet-600":"bg-card text-muted-foreground"),title:r>=0?u("mapWidget.removeFromRoute"):u("mapWidget.addToRoute"),children:r>=0?r+1:"+"}):(0,a.jsx)(S.A,{className:"h-3 w-3 mt-1 shrink-0 "+(B.includes(t)?"text-violet-600":"text-emerald-700")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"font-medium truncate",children:e.title}),e.description&&(0,a.jsx)("p",{className:"text-muted-foreground leading-snug mt-0.5 line-clamp-2",children:e.description}),(0,a.jsxs)("div",{className:"text-[10px] text-muted-foreground/80 font-mono mt-0.5",children:[e.lat.toFixed(5),", ",e.lng.toFixed(5)]})]}),(0,a.jsx)(I,{point:e,services:G,interactive:Y,onRemove:()=>void Z(t)})]},t)})})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:u("mapWidget.noPointsReadonly")})},"utility-card":function(e){let{rootId:t,data:r,readonly:s}=e,l=(0,n.c)("roots"),i="project"===r.utilityScope?"/utilities/project/".concat(r.utilityId,"?rootId=").concat(encodeURIComponent(t)):"/utilities/global/".concat(r.utilityId);return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,a.jsx)(_.A,{className:"h-3 w-3 text-violet-600"}),(0,a.jsx)("span",{children:l("utilityCardWidget.miniAppLabel")}),(0,a.jsx)("span",{className:"font-mono normal-case tracking-normal text-muted-foreground/80",children:r.utilityId}),(0,a.jsxs)(w(),{href:i,className:"ml-auto inline-flex items-center gap-0.5 text-[10px] text-violet-700 hover:underline normal-case tracking-normal",title:l("utilityCardWidget.openFullTitle"),children:[l("utilityCardWidget.openLabel"),(0,a.jsx)(o.A,{className:"h-2.5 w-2.5"})]})]}),r.inner.title&&(0,a.jsx)("h4",{className:"text-sm font-medium",children:r.inner.title}),r.inner.description&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground -mt-1",children:r.inner.description}),(0,a.jsx)("div",{children:q(t,r.inner.kind,r.inner.data,{readonly:!0})})]})}};function q(e,t,r,n){var s;let l=P[t];return l?(0,a.jsx)(l,{rootId:e,data:r,readonly:null!=(s=null==n?void 0:n.readonly)&&s,onPatch:null==n?void 0:n.onPatch}):(0,a.jsx)(B,{kind:t})}function B(e){let{kind:t}=e,r=(0,n.c)("roots");return(0,a.jsx)("p",{className:"text-xs text-destructive",children:r.rich("widgetsCommon.unknownKind",{kind:t,code:e=>(0,a.jsx)("code",{className:"font-mono",children:e})})})}},53786:(e,t,r)=>{r.d(t,{t:()=>n});var a=r(7911);let n=(0,a.createServerReference)("6009534488ec6ad495c652930e10f3444cfe1bf9cc",a.callServer,void 0,a.findSourceMapURL,"restoreWidgetAction")},68682:(e,t,r)=>{function a(e){return"".concat(e.lat,",").concat(e.lng)}function n(e){return"".concat(e.lng,",").concat(e.lat)}r.d(t,{JY:()=>l,yp:()=>s});let s=[{id:"google",label:"Google Maps",description:"Global, navigation + street view. Works everywhere except where the RF blocks it.",brand:"#4285F4",glyph:"G",urlFor:(e,t)=>"https://www.google.com/maps/dir/?api=1&destination=".concat(e,",").concat(t),routeUrlFor:e=>{if(e.length<2)return"";let t=a(e[0]),r=a(e[e.length-1]),n=e.slice(1,-1).map(a).join("|"),s=n?"&waypoints=".concat(encodeURIComponent(n)):"";return"https://www.google.com/maps/dir/?api=1&origin=".concat(t,"&destination=").concat(r).concat(s)}},{id:"yandex",label:"Yandex Maps",description:"CIS region, best RF detail and real-time traffic.",brand:"#FFCC00",glyph:"Y",urlFor:(e,t)=>"https://yandex.ru/maps/?rtext=~".concat(e,",").concat(t,"&rtt=auto"),routeUrlFor:e=>"https://yandex.ru/maps/?rtext=".concat(e.map(a).join("~"),"&rtt=auto")},{id:"2gis",label:"2GIS",description:"CIS region, precise addresses and POI. Uniquely strong on RF cities.",brand:"#1BA049",glyph:"2",urlFor:(e,t)=>"https://2gis.ru/routeSearch/to/".concat(t,",").concat(e),routeUrlFor:e=>{let t=n(e[0]),r=n(e[e.length-1]),a=e.slice(1,-1).map(e=>"/via/".concat(n(e))).join("");return"https://2gis.ru/routeSearch/rsType/car/from/".concat(t).concat(a,"/to/").concat(r)}},{id:"apple",label:"Apple Maps",description:"Opens in the native app on iOS/macOS, otherwise on the website.",brand:"#1d1d1f",glyph:"A",urlFor:(e,t)=>"https://maps.apple.com/?daddr=".concat(e,",").concat(t),routeUrlFor:e=>{let t=a(e[0]),r=e.slice(1).map(e=>"+to:".concat(a(e))).join("");return"https://maps.apple.com/?saddr=".concat(t,"&daddr=").concat(t).concat(r)}},{id:"osm",label:"OpenStreetMap",description:"Open data, no account required. Basic navigation.",brand:"#7EB73F",glyph:"OSM",urlFor:(e,t)=>"https://www.openstreetmap.org/directions?to=".concat(e,",").concat(t),routeUrlFor:e=>{let t=e.map(a).join(";");return"https://www.openstreetmap.org/directions?route=".concat(encodeURIComponent(t))}},{id:"waze",label:"Waze",description:"Car navigation with crowd-sourced traffic and alerts.",brand:"#33CCFF",glyph:"W",urlFor:(e,t)=>"https://waze.com/ul?ll=".concat(e,",").concat(t,"&navigate=yes"),routeUrlFor:e=>{let t=e[e.length-1];return"https://waze.com/ul?ll=".concat(t.lat,",").concat(t.lng,"&navigate=yes")}},{id:"organic",label:"Organic Maps",description:"Offline maps with open data. Opens in the app.",brand:"#006C35",glyph:"OM",urlFor:(e,t)=>"om://map?ll=".concat(e,",").concat(t),routeUrlFor:e=>{let t=e[0],r=e[e.length-1];return"om://route?sll=".concat(t.lat,",").concat(t.lng,"&saddr=&dll=").concat(r.lat,",").concat(r.lng,"&daddr=&type=vehicle")}}],l=["google","yandex","apple","osm"]}}]);