local-serverless-stack 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +125 -3
  2. package/README.md +75 -26
  3. package/bin/cli.js +81 -15
  4. package/bin/i18n.js +30 -3
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/namespaces/services.d.ts +46 -0
  8. package/dist/client/namespaces/services.d.ts.map +1 -1
  9. package/dist/client/namespaces/services.js +1 -0
  10. package/dist/client/namespaces/services.js.map +1 -1
  11. package/dist/mcp/tools.d.ts.map +1 -1
  12. package/dist/mcp/tools.js +17 -0
  13. package/dist/mcp/tools.js.map +1 -1
  14. package/dist/server/engine/backends/self-backend.d.ts +26 -1
  15. package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
  16. package/dist/server/engine/backends/self-backend.js +104 -11
  17. package/dist/server/engine/backends/self-backend.js.map +1 -1
  18. package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -1
  19. package/dist/server/engine/emulators/dynamodb/expressions/parser.js +12 -1
  20. package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -1
  21. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts +3 -0
  22. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts.map +1 -0
  23. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js +78 -0
  24. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js.map +1 -0
  25. package/dist/server/engine/emulators/dynamodb/index.d.ts +11 -0
  26. package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
  27. package/dist/server/engine/emulators/dynamodb/index.js +101 -7
  28. package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
  29. package/dist/server/engine/emulators/dynamodb/query.d.ts +1 -0
  30. package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -1
  31. package/dist/server/engine/emulators/dynamodb/query.js +34 -6
  32. package/dist/server/engine/emulators/dynamodb/query.js.map +1 -1
  33. package/dist/server/engine/emulators/s3/index.d.ts +10 -0
  34. package/dist/server/engine/emulators/s3/index.d.ts.map +1 -1
  35. package/dist/server/engine/emulators/s3/index.js +369 -25
  36. package/dist/server/engine/emulators/s3/index.js.map +1 -1
  37. package/dist/server/engine/emulators/sqs/index.d.ts +2 -0
  38. package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
  39. package/dist/server/engine/emulators/sqs/index.js +70 -7
  40. package/dist/server/engine/emulators/sqs/index.js.map +1 -1
  41. package/dist/server/engine/emulators/sqs/queue.d.ts +2 -1
  42. package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
  43. package/dist/server/engine/emulators/sqs/queue.js +68 -35
  44. package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
  45. package/dist/server/engine/emulators/ssm/index.d.ts +31 -0
  46. package/dist/server/engine/emulators/ssm/index.d.ts.map +1 -0
  47. package/dist/server/engine/emulators/ssm/index.js +670 -0
  48. package/dist/server/engine/emulators/ssm/index.js.map +1 -0
  49. package/dist/server/engine/http/errors.d.ts +1 -0
  50. package/dist/server/engine/http/errors.d.ts.map +1 -1
  51. package/dist/server/engine/http/errors.js +13 -5
  52. package/dist/server/engine/http/errors.js.map +1 -1
  53. package/dist/server/engine/http/is-aws-request.d.ts.map +1 -1
  54. package/dist/server/engine/http/is-aws-request.js +13 -3
  55. package/dist/server/engine/http/is-aws-request.js.map +1 -1
  56. package/dist/server/engine/http/protocols/aws-json.d.ts +1 -0
  57. package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -1
  58. package/dist/server/engine/http/protocols/aws-json.js +13 -0
  59. package/dist/server/engine/http/protocols/aws-json.js.map +1 -1
  60. package/dist/server/engine/http/reset.d.ts +4 -0
  61. package/dist/server/engine/http/reset.d.ts.map +1 -0
  62. package/dist/server/engine/http/reset.js +17 -0
  63. package/dist/server/engine/http/reset.js.map +1 -0
  64. package/dist/server/engine/http/router.d.ts +1 -0
  65. package/dist/server/engine/http/router.d.ts.map +1 -1
  66. package/dist/server/engine/http/router.js +185 -34
  67. package/dist/server/engine/http/router.js.map +1 -1
  68. package/dist/server/engine/types.d.ts +2 -1
  69. package/dist/server/engine/types.d.ts.map +1 -1
  70. package/dist/server/routes/apis.d.ts.map +1 -1
  71. package/dist/server/routes/apis.js +6 -0
  72. package/dist/server/routes/apis.js.map +1 -1
  73. package/dist/server/routes/config.d.ts.map +1 -1
  74. package/dist/server/routes/config.js +19 -1
  75. package/dist/server/routes/config.js.map +1 -1
  76. package/dist/server/routes/services.d.ts.map +1 -1
  77. package/dist/server/routes/services.js +49 -1
  78. package/dist/server/routes/services.js.map +1 -1
  79. package/dist/server/runtime/runtime-worker.js +33 -3
  80. package/dist/server/runtime/runtime-worker.js.map +1 -1
  81. package/dist/server/services/api-gateway-events.d.ts +14 -0
  82. package/dist/server/services/api-gateway-events.d.ts.map +1 -1
  83. package/dist/server/services/api-gateway-events.js +114 -8
  84. package/dist/server/services/api-gateway-events.js.map +1 -1
  85. package/dist/server/services/artifact-staleness.d.ts +20 -0
  86. package/dist/server/services/artifact-staleness.d.ts.map +1 -0
  87. package/dist/server/services/artifact-staleness.js +115 -0
  88. package/dist/server/services/artifact-staleness.js.map +1 -0
  89. package/dist/server/services/authorizer-service.d.ts +34 -5
  90. package/dist/server/services/authorizer-service.d.ts.map +1 -1
  91. package/dist/server/services/authorizer-service.js +0 -0
  92. package/dist/server/services/authorizer-service.js.map +1 -1
  93. package/dist/server/services/cfn-intrinsics.d.ts +63 -0
  94. package/dist/server/services/cfn-intrinsics.d.ts.map +1 -0
  95. package/dist/server/services/cfn-intrinsics.js +403 -0
  96. package/dist/server/services/cfn-intrinsics.js.map +1 -0
  97. package/dist/server/services/cfn-physical-values.d.ts +51 -0
  98. package/dist/server/services/cfn-physical-values.d.ts.map +1 -0
  99. package/dist/server/services/cfn-physical-values.js +186 -0
  100. package/dist/server/services/cfn-physical-values.js.map +1 -0
  101. package/dist/server/services/cloudformation-parser.d.ts +26 -3
  102. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  103. package/dist/server/services/cloudformation-parser.js +76 -4
  104. package/dist/server/services/cloudformation-parser.js.map +1 -1
  105. package/dist/server/services/config-manager.d.ts +24 -2
  106. package/dist/server/services/config-manager.d.ts.map +1 -1
  107. package/dist/server/services/config-manager.js +60 -7
  108. package/dist/server/services/config-manager.js.map +1 -1
  109. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  110. package/dist/server/services/gateway-manager.js +52 -20
  111. package/dist/server/services/gateway-manager.js.map +1 -1
  112. package/dist/server/services/lambda-runtime-manager.d.ts +1 -0
  113. package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
  114. package/dist/server/services/lambda-runtime-manager.js +36 -14
  115. package/dist/server/services/lambda-runtime-manager.js.map +1 -1
  116. package/dist/server/services/raw-api-assembler.d.ts +1 -1
  117. package/dist/server/services/raw-api-assembler.d.ts.map +1 -1
  118. package/dist/server/services/raw-api-assembler.js +18 -8
  119. package/dist/server/services/raw-api-assembler.js.map +1 -1
  120. package/dist/server/services/resource-provisioner.d.ts +12 -0
  121. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  122. package/dist/server/services/resource-provisioner.js +128 -13
  123. package/dist/server/services/resource-provisioner.js.map +1 -1
  124. package/dist/server/services/serverless-state-parser.d.ts +45 -2
  125. package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
  126. package/dist/server/services/serverless-state-parser.js +217 -29
  127. package/dist/server/services/serverless-state-parser.js.map +1 -1
  128. package/dist/server/services/service-graph.d.ts +76 -0
  129. package/dist/server/services/service-graph.d.ts.map +1 -0
  130. package/dist/server/services/service-graph.js +914 -0
  131. package/dist/server/services/service-graph.js.map +1 -0
  132. package/dist/server/services/service-registrar.d.ts +4 -0
  133. package/dist/server/services/service-registrar.d.ts.map +1 -1
  134. package/dist/server/services/service-registrar.js +129 -55
  135. package/dist/server/services/service-registrar.js.map +1 -1
  136. package/dist/server/services/source-watcher.d.ts +1 -0
  137. package/dist/server/services/source-watcher.d.ts.map +1 -1
  138. package/dist/server/services/source-watcher.js +19 -1
  139. package/dist/server/services/source-watcher.js.map +1 -1
  140. package/dist/server/services/worker-runtime.d.ts +82 -0
  141. package/dist/server/services/worker-runtime.d.ts.map +1 -0
  142. package/dist/server/services/worker-runtime.js +303 -0
  143. package/dist/server/services/worker-runtime.js.map +1 -0
  144. package/dist/ui/assets/{ApisPage-CTOcNna-.js → ApisPage-BkW-QZ0X.js} +1 -1
  145. package/dist/ui/assets/BucketDetailPage-CJwTQJh7.js +1 -0
  146. package/dist/ui/assets/BucketsPage-B1xPVhZC.js +1 -0
  147. package/dist/ui/assets/{DynamoPage-BnFFKnIU.js → DynamoPage-DvbpwZDc.js} +1 -1
  148. package/dist/ui/assets/DynamoTablePage-xn3Lq3so.js +3 -0
  149. package/dist/ui/assets/LambdaDetailPage-BhUyO77H.js +4 -0
  150. package/dist/ui/assets/{LambdasPage-Bg-MWFBb.js → LambdasPage-CUF_4rOH.js} +1 -1
  151. package/dist/ui/assets/OnboardingPage-U49THUzu.js +1 -0
  152. package/dist/ui/assets/OpenSearchCollectionPage-BJTVNCq4.js +1 -0
  153. package/dist/ui/assets/OpenSearchPage-4s-egkB9.js +1 -0
  154. package/dist/ui/assets/OverviewPage-DJeJQktG.js +1 -0
  155. package/dist/ui/assets/{OverviewPage-CSWY71vZ.css → OverviewPage-DjQETmb_.css} +1 -1
  156. package/dist/ui/assets/QueueDetailPage-DWsy5Yt8.js +1 -0
  157. package/dist/ui/assets/QueuesPage-BZJSqman.js +1 -0
  158. package/dist/ui/assets/SecretsPage-YC9ua54G.js +1 -0
  159. package/dist/ui/assets/ServiceDetailPage-Cum5frP4.js +2 -0
  160. package/dist/ui/assets/ServicesPage-IpaPDuqx.js +2 -0
  161. package/dist/ui/assets/SettingsPage-BiCRU8O6.js +1 -0
  162. package/dist/ui/assets/index-BDlrAJhi.css +1 -0
  163. package/dist/ui/assets/index-BouKSS43.js +38 -0
  164. package/dist/ui/assets/resourceIcons-DZs28nbs.js +1 -0
  165. package/dist/ui/index.html +5 -2
  166. package/package.json +1 -1
  167. package/dist/ui/assets/BucketDetailPage-BXW8-FrE.js +0 -1
  168. package/dist/ui/assets/BucketsPage-DY_ITepb.js +0 -1
  169. package/dist/ui/assets/DynamoTablePage-BLCuyJHU.js +0 -3
  170. package/dist/ui/assets/LambdaDetailPage-D4rZNLRT.js +0 -4
  171. package/dist/ui/assets/OnboardingPage-nnl313Fm.js +0 -1
  172. package/dist/ui/assets/OpenSearchCollectionPage-Dn15lH_F.js +0 -1
  173. package/dist/ui/assets/OpenSearchPage-CgD5isok.js +0 -1
  174. package/dist/ui/assets/OverviewPage-m5sUr8IN.js +0 -1
  175. package/dist/ui/assets/QueueDetailPage-Ch_FDDoN.js +0 -1
  176. package/dist/ui/assets/QueuesPage-C_yDuGDu.js +0 -1
  177. package/dist/ui/assets/SecretsPage-BSGMSoqy.js +0 -1
  178. package/dist/ui/assets/ServiceDetailPage-6KyohyjI.js +0 -2
  179. package/dist/ui/assets/ServicesPage-BbSetOMo.js +0 -2
  180. package/dist/ui/assets/SettingsPage-BgF1jFr6.js +0 -1
  181. package/dist/ui/assets/index-D627ZyYU.css +0 -1
  182. package/dist/ui/assets/index-DuSPnI19.js +0 -37
  183. package/dist/ui/assets/resourceIcons-baecADXA.js +0 -1
@@ -1 +1 @@
1
- import{k as D,m as B,o as F,n as i,e as u,a7 as e,v as c,ac as a,j as l,y as E,z as _,L as R,i as r,a6 as o,f as k,t as U,w as V,P as A,x as h,Q as P,u as f,D as $,g as O,F as Q,s as q,A as x,h as G,R as S,a8 as H,p as L,b as z,a as J}from"./index-DuSPnI19.js";import{t as K}from"./triggerIcons-DIPWQkJ3.js";const W=D({__name:"LambdasList",setup(I){const{t:n}=H(),d=L([]),v=L(!0),b=L(null);let y=null;const N=z(()=>[{key:"name",label:n("lambdas.function")},{key:"service",label:n("common.service")},{key:"runtime",label:n("lambdas.runtime")},{key:"handler",label:n("lambdas.handler")},{key:"triggers",label:n("lambdas.triggers")},{key:"status",label:n("common.status")},{key:"invocations",label:n("lambdas.invocations"),align:"right"},{key:"last",label:n("lambdas.last")}]),T=z(()=>d.value.map(s=>({...s,triggerMarks:K(s.triggers)}))),g=z(()=>({total:d.value.length,online:d.value.filter(s=>s.status==="online").length,invocations:d.value.reduce((s,m)=>s+m.invocations,0),errors:d.value.reduce((s,m)=>s+m.errors,0)}));async function w(){try{d.value=await J.listLambdas(),b.value=null}catch(s){b.value=s.message||n("lambdas.loadFailed")}finally{v.value=!1}}function M(s){switch(s){case"online":return"success";case"starting":return"info";case"stopped":return"neutral";default:return"danger"}}function C(s){switch(s){case"online":return n("common.online");case"starting":return n("lambdas.statusStarting");case"stopped":return n("common.stopped");case"error":return n("lambdas.statusError");default:return s}}function j(s){return s?new Date(s).toLocaleString():"—"}return B(()=>{w(),y=window.setInterval(w,1e4)}),F(()=>{y&&window.clearInterval(y)}),(s,m)=>(i(),u(e(c),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[l(e(E),{columns:4,gap:"1rem"},{default:a(()=>[l(e(_),{label:e(n)("lambdas.statFunctions"),value:g.value.total,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statOnline"),value:g.value.online,tone:"success",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statInvocations"),value:g.value.invocations,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statErrors"),value:g.value.errors,tone:g.value.errors>0?"warning":"neutral",loading:v.value},null,8,["label","value","tone","loading"])]),_:1}),b.value?(i(),u(e(R),{key:0,variant:"danger",dismissible:"",onDismiss:m[0]||(m[0]=t=>b.value=null)},{default:a(()=>[r(o(b.value),1)]),_:1})):k("",!0),l(e(U),{variant:"outline"},{header:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(h),{name:"aws-lambda"}),l(e(f),{weight:"semibold"},{default:a(()=>[r(o(e(n)("lambdas.listTitle")),1)]),_:1})]),_:1}),l(e(f),{tone:"muted"},{default:a(()=>[r(o(e(n)("lambdas.listLive")),1)]),_:1})]),_:1})]),default:a(()=>[v.value?(i(),u(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(V),{label:e(n)("lambdas.loadingList")},null,8,["label"])]),_:1})):d.value.length?(i(),u(e(P),{key:2,columns:N.value,rows:T.value,"aria-label":e(n)("lambdas.listTitle")},{"cell-name":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(S),{to:`/lambdas/${encodeURIComponent(String(t.name))}`,weight:"semibold"},{default:a(()=>[r(o(t.name),1)]),_:2},1032,["to"]),l(e(f),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.fullName),1)]),_:2},1024)]),_:2},1024)]),"cell-service":a(({row:t})=>[l(e(S),{to:`/services/${encodeURIComponent(String(t.service))}`,underline:"none"},{default:a(()=>[l(e(x),{size:"sm",variant:"soft"},{default:a(()=>[r(o(t.service),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-runtime":a(({row:t})=>[r(o(t.runtime),1)]),"cell-handler":a(({row:t})=>[l(e(f),{family:"mono"},{default:a(()=>[r(o(t.handler),1)]),_:2},1024)]),"cell-triggers":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[t.triggerMarks.length?(i(!0),O(Q,{key:0},q(t.triggerMarks,p=>(i(),u(e(x),{key:p.name,size:"sm",variant:"soft"},G({default:a(()=>[r(" "+o(p.name),1)]),_:2},[p.icon?{name:"icon",fn:a(()=>[l(e(h),{name:p.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)):(i(),u(e(f),{key:1,tone:"muted"},{default:a(()=>[...m[1]||(m[1]=[r("—",-1)])]),_:1}))]),_:2},1024)]),"cell-status":a(({row:t})=>[l(e($),{tone:M(String(t.status)),variant:"soft"},{default:a(()=>[r(o(C(String(t.status))),1)]),_:2},1032,["tone"])]),"cell-invocations":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[l(e($),{tone:Number(t.invocations)>0?"info":"neutral",variant:"soft"},{default:a(()=>[r(o(t.invocations),1)]),_:2},1032,["tone"]),Number(t.errors)>0?(i(),u(e($),{key:0,tone:"danger",variant:"soft"},{default:a(()=>[r(o(e(n)("lambdas.errShort",{count:Number(t.errors)})),1)]),_:2},1024)):k("",!0)]),_:2},1024)]),"cell-last":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(f),{size:"sm"},{default:a(()=>[r(o(j(t.lastInvokedAt)),1)]),_:2},1024),t.lastDurationMs!==void 0?(i(),u(e(f),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.lastDurationMs)+"ms ",1)]),_:2},1024)):k("",!0)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(i(),u(e(A),{key:1,title:e(n)("lambdas.emptyTitle"),description:e(n)("lambdas.emptyDescription")},{icon:a(()=>[l(e(h),{name:"aws-lambda"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),Z=D({__name:"LambdasPage",setup(I){return(n,d)=>(i(),u(W))}});export{Z as default};
1
+ import{l as N,n as j,o as F,p as i,f as u,a9 as e,x as c,ae as a,k as l,A as E,B as _,N as R,j as r,a8 as o,g as k,v as U,y as V,R as A,z as h,S as q,w as f,G as $,h as G,F as O,t as P,C as S,i as H,T as x,aa as J,q as z,d as L,a as K}from"./index-BouKSS43.js";import{t as Q}from"./triggerIcons-DIPWQkJ3.js";const W=N({__name:"LambdasList",setup(T){const{t:n}=J(),d=z([]),v=z(!0),b=z(null);let y=null;const D=L(()=>[{key:"name",label:n("lambdas.function")},{key:"service",label:n("common.service")},{key:"runtime",label:n("lambdas.runtime")},{key:"handler",label:n("lambdas.handler")},{key:"triggers",label:n("lambdas.triggers")},{key:"status",label:n("common.status")},{key:"invocations",label:n("lambdas.invocations"),align:"right"},{key:"last",label:n("lambdas.last")}]),I=L(()=>d.value.map(s=>({...s,triggerMarks:Q(s.triggers)}))),g=L(()=>({total:d.value.length,online:d.value.filter(s=>s.status==="online").length,invocations:d.value.reduce((s,m)=>s+m.invocations,0),errors:d.value.reduce((s,m)=>s+m.errors,0)}));async function w(){try{d.value=await K.listLambdas(),b.value=null}catch(s){b.value=s.message||n("lambdas.loadFailed")}finally{v.value=!1}}function C(s){switch(s){case"online":return"success";case"starting":return"info";case"stopped":return"neutral";default:return"danger"}}function M(s){switch(s){case"online":return n("common.online");case"starting":return n("lambdas.statusStarting");case"stopped":return n("common.stopped");case"error":return n("lambdas.statusError");default:return s}}function B(s){return s?new Date(s).toLocaleString():"—"}return j(()=>{w(),y=window.setInterval(w,1e4)}),F(()=>{y&&window.clearInterval(y)}),(s,m)=>(i(),u(e(c),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[l(e(E),{columns:4,gap:"1rem"},{default:a(()=>[l(e(_),{label:e(n)("lambdas.statFunctions"),value:g.value.total,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statOnline"),value:g.value.online,tone:"success",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statInvocations"),value:g.value.invocations,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statErrors"),value:g.value.errors,tone:g.value.errors>0?"warning":"neutral",loading:v.value},null,8,["label","value","tone","loading"])]),_:1}),b.value?(i(),u(e(R),{key:0,variant:"danger",dismissible:"",onDismiss:m[0]||(m[0]=t=>b.value=null)},{default:a(()=>[r(o(b.value),1)]),_:1})):k("",!0),l(e(U),{variant:"outline"},{header:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(h),{name:"aws-lambda"}),l(e(f),{weight:"semibold"},{default:a(()=>[r(o(e(n)("lambdas.listTitle")),1)]),_:1})]),_:1}),l(e(f),{tone:"muted"},{default:a(()=>[r(o(e(n)("lambdas.listLive")),1)]),_:1})]),_:1})]),default:a(()=>[v.value?(i(),u(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(V),{label:e(n)("lambdas.loadingList")},null,8,["label"])]),_:1})):d.value.length?(i(),u(e(q),{key:2,columns:D.value,rows:I.value,"aria-label":e(n)("lambdas.listTitle")},{"cell-name":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(x),{to:`/lambdas/${encodeURIComponent(String(t.name))}`,weight:"semibold"},{default:a(()=>[r(o(t.name),1)]),_:2},1032,["to"]),l(e(f),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.fullName),1)]),_:2},1024)]),_:2},1024)]),"cell-service":a(({row:t})=>[l(e(x),{to:`/services/${encodeURIComponent(String(t.service))}`,underline:"none"},{default:a(()=>[l(e(S),{size:"sm",variant:"soft"},{default:a(()=>[r(o(t.service),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-runtime":a(({row:t})=>[r(o(t.runtime),1)]),"cell-handler":a(({row:t})=>[l(e(f),{family:"mono"},{default:a(()=>[r(o(t.handler),1)]),_:2},1024)]),"cell-triggers":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[t.triggerMarks.length?(i(!0),G(O,{key:0},P(t.triggerMarks,p=>(i(),u(e(S),{key:p.name,size:"sm",variant:"soft"},H({default:a(()=>[r(" "+o(p.name),1)]),_:2},[p.icon?{name:"icon",fn:a(()=>[l(e(h),{name:p.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)):(i(),u(e(f),{key:1,tone:"muted"},{default:a(()=>[...m[1]||(m[1]=[r("—",-1)])]),_:1}))]),_:2},1024)]),"cell-status":a(({row:t})=>[l(e($),{tone:C(String(t.status)),variant:"soft"},{default:a(()=>[r(o(M(String(t.status))),1)]),_:2},1032,["tone"])]),"cell-invocations":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[l(e($),{tone:Number(t.invocations)>0?"info":"neutral",variant:"soft"},{default:a(()=>[r(o(t.invocations),1)]),_:2},1032,["tone"]),Number(t.errors)>0?(i(),u(e($),{key:0,tone:"danger",variant:"soft"},{default:a(()=>[r(o(e(n)("lambdas.errShort",{count:Number(t.errors)})),1)]),_:2},1024)):k("",!0)]),_:2},1024)]),"cell-last":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(f),{size:"sm"},{default:a(()=>[r(o(B(t.lastInvokedAt)),1)]),_:2},1024),t.lastDurationMs!==void 0?(i(),u(e(f),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.lastDurationMs)+"ms ",1)]),_:2},1024)):k("",!0)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(i(),u(e(A),{key:1,title:e(n)("lambdas.emptyTitle"),description:e(n)("lambdas.emptyDescription")},{icon:a(()=>[l(e(h),{name:"aws-lambda"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),Z=N({__name:"LambdasPage",setup(T){return(n,d)=>(i(),u(W))}});export{Z as default};
@@ -0,0 +1 @@
1
+ import{l as Ve,n as Se,a as C,f,ae as l,a9 as e,x as c,aa as ze,q as V,r as ee,p as g,k as i,w as d,j as s,a8 as u,G as j,M as Ie,v as U,N as D,g as y,A as H,O as S,P as I,C as te,L as h,H as $e,y as Ee,h as A,Q as ae,K as Le,F as K,t as ne,z as je,d as z,m as Oe,ac as Me}from"./index-BouKSS43.js";import{m as xe}from"./onboarding-DQmlvyWU.js";const Ae=Ve({__name:"OnboardingPage",setup(Fe){const le=Me(),{t:o}=ze(),W=[{value:"ports",labelKey:"onboarding.stepPorts",descriptionKey:"onboarding.stepPortsDescription"},{value:"brand",labelKey:"onboarding.stepBrand",descriptionKey:"onboarding.stepBrandDescription"},{value:"services",labelKey:"onboarding.stepServices",descriptionKey:"onboarding.stepServicesDescription"}],P=V("ports"),ie=z(()=>W.map((t,a)=>({value:t.value,label:o(t.labelKey),description:o(t.descriptionKey),status:t.value===P.value?"current":a<W.findIndex(n=>n.value===P.value)?"complete":"upcoming"}))),_=V(null),v=V(null),q=V([]),p=ee({serverPort:14566,enginePort:14566,saving:!1}),G=z(()=>p.serverPort===p.enginePort);async function oe(){p.saving=!0,v.value=null;try{const t={};if(_.value&&p.serverPort!==_.value.serverPort&&(t.serverPort=p.serverPort),_.value&&p.enginePort!==_.value.selfEngine.port&&(t.selfEngine={port:p.enginePort}),Object.keys(t).length>0){const a=await C.updateConfig(t);_.value=a.config,q.value=a.restartRequired}P.value="brand"}catch(t){v.value=t instanceof Error?t.message:o("onboarding.portsSaveFailed")}finally{p.saving=!1}}const m=ee({title:"",subtitle:"",theme:"dark",primary:"",saving:!1}),re=z(()=>[{value:"dark",label:o("onboarding.themeDark")},{value:"light",label:o("onboarding.themeLight")}]);async function se(){var t;m.saving=!0,v.value=null;try{const a={title:m.title.trim()||null,subtitle:m.subtitle.trim()||null,defaultTheme:m.theme};m.primary.trim()&&(a.colors={...((t=_.value)==null?void 0:t.branding.colors)??{},"brand-primary":m.primary.trim()});const n=await C.updateConfig({branding:a});_.value=n.config,await Oe(),P.value="services",J()}catch(a){v.value=a instanceof Error?a.message:o("onboarding.brandSaveFailed")}finally{m.saving=!1}}const ue=z(()=>{var t;return((t=_.value)==null?void 0:t.packageCommand)??""}),O=V(!1),b=V(null),Q=V(""),k=V([]),M=z(()=>k.value.filter(t=>t.selected).length),Y=z({get:()=>k.value.length>0&&k.value.every(t=>t.selected),set:t=>k.value.forEach(a=>{a.selected=t})}),de=()=>k.value.filter(t=>t.selected);async function J(){O.value=!0,v.value=null;try{const t=await C.scanServices();Q.value=t.projectRoot,k.value=t.services.map(a=>({...a,selected:!a.registered,status:"idle",editApiPort:a.apiPort?String(a.apiPort):"",editInvokePort:a.invokePort?String(a.invokePort):"",editPackageCommand:a.packageCommand,resultWarnings:[]}))}catch(t){v.value=t instanceof Error?t.message:o("onboarding.scanFailed")}finally{O.value=!1}}function ge(t){return t.warnings.filter(a=>!(t.installed&&a.code==="not-installed")&&!(t.packaged&&a.code==="not-packaged")).map(a=>{const n=`onboarding.warning.${a.code}`,r=o(n,a.params);return r===n?a.message:r})}function N(t){return t.relPath==="."?t.root.split("/").pop()??t.name:t.relPath}function x(t){const a=t.trim();if(!a)return null;const n=Number.parseInt(a,10);return Number.isInteger(n)&&String(n)===a&&n>=1024&&n<=65535?n:"invalid"}function E(t){return t.hasFunctions!==!1}function ce(t,a){if(!t||a===null)return null;const n=String(t),r=String(a);return r.length===n.length+1&&r.startsWith(n)?`${n} → ${r}`:null}const L=z(()=>k.value.flatMap(t=>E(t)?[[t.apiPort,x(t.editApiPort)],[t.invokePort,x(t.editInvokePort)]].map(([a,n])=>n==="invalid"?null:ce(a,n)).filter(a=>a!==null).map(a=>`${t.name}: ${a}`):[])),X=V(""),Z=z(()=>L.value.length>0&&X.value!==L.value.join("|"));function me(){X.value=L.value.join("|"),v.value=null}async function w(){if(Z.value)return v.value=o("onboarding.portTypoConfirm",{changes:L.value.join(", ")}),!1;const t={},a={};for(const r of k.value){const $=E(r)?x(r.editApiPort):null,B=E(r)?x(r.editInvokePort):null;if($==="invalid"||B==="invalid")return v.value=o("onboarding.portRangeError",{name:r.name}),!1;const F={};$!==(r.apiPort??null)&&(F.apiPort=$),B!==(r.invokePort??null)&&(F.invokePort=B),Object.keys(F).length>0&&(t[N(r)]=F);const R=r.editPackageCommand.trim();R&&R!==r.packageCommand?a[N(r)]={packageCommand:R}:!R&&r.packageCommand!==ue.value&&(a[N(r)]={packageCommand:null})}const n={};if(Object.keys(t).length>0&&(n.serviceRuntime=t),Object.keys(a).length>0&&(n.servicePackaging=a),Object.keys(n).length===0)return!0;try{return await C.updateConfig(n),await fe(),!0}catch(r){return v.value=r instanceof Error?r.message:o("onboarding.serviceSettingsSaveFailed"),!1}}async function fe(){const t=await C.scanServices(),a=new Map(t.services.map(n=>[n.root,n]));for(const n of k.value){const r=a.get(n.root);r&&Object.assign(n,{installed:r.installed,packaged:r.packaged,registered:r.registered,region:r.region,apiPort:r.apiPort,invokePort:r.invokePort,packageCommand:r.packageCommand,warnings:r.warnings,editApiPort:r.apiPort?String(r.apiPort):"",editInvokePort:r.invokePort?String(r.invokePort):"",editPackageCommand:r.packageCommand})}}const pe={install:"onboarding.installFailed",package:"onboarding.packageFailed",register:"onboarding.registerFailed"};async function T(t,a,n){if(b.value=t,v.value=null,t!=="install"&&!await w()){b.value=null;return}for(const r of de()){r.status=a,r.resultMessage=void 0,r.resultOutput=void 0;try{await n(r)}catch($){r.status="failed",r.resultMessage=$ instanceof Error?$.message:o(pe[t]),r.resultOutput=ve($)}}b.value=null}function ve(t){var n;const a=(n=t==null?void 0:t.body)==null?void 0:n.output;return typeof a=="string"&&a?a.slice(-600):void 0}const be=()=>T("install","installing",async t=>{const a=await C.installService(t.root);t.installed=!0,t.status="idle",t.resultMessage=o("onboarding.installedIn",{seconds:(a.durationMs/1e3).toFixed(1)})}),ke=()=>T("package","packaging",async t=>{const a=await C.packageService(t.root);t.packaged=!0,t.status="idle",t.resultMessage=o("onboarding.packagedIn",{seconds:(a.durationMs/1e3).toFixed(1)})}),ye=()=>T("register","registering",async t=>{const a=await C.registerService(t.root);t.status="done",t.resultMessage=o("onboarding.registerSummary",{resources:a.resourcesCount,functions:a.functionsCount,routes:a.routesCount}),t.resultWarnings=a.warnings});async function Pe(){await w()&&(xe(),le.push("/"))}const he=z(()=>{const t=k.value.filter(n=>n.selected),a=t.filter(n=>!n.registered).length;return t.length===0?o("onboarding.register"):a===0?o("onboarding.reRegisterCount",{count:t.length}):o("onboarding.registerCount",{count:t.length})});function _e(t){return t.status==="done"||t.registered?"success":t.status==="failed"?"danger":t.status==="installing"||t.status==="packaging"||t.status==="registering"?"info":"neutral"}function Ce(t){return t.registered||t.status==="done"?o("onboarding.statusRegistered"):t.status==="failed"?o("onboarding.statusFailed"):t.status==="installing"?o("onboarding.statusInstalling"):t.status==="packaging"?o("onboarding.statusPackaging"):t.status==="registering"?o("onboarding.statusRegistering"):t.installed?t.packaged?o("onboarding.statusPackaged"):o("onboarding.statusNotPackaged"):o("onboarding.statusNotInstalled")}return Se(async()=>{try{const t=await C.getConfig();_.value=t,p.serverPort=t.serverPort,p.enginePort=t.selfEngine.port,m.title=t.branding.title,m.subtitle=t.branding.subtitle,m.theme=t.branding.defaultTheme,m.primary=t.branding.colors["brand-primary"]??""}catch(t){v.value=t instanceof Error?t.message:o("onboarding.configLoadFailed")}}),(t,a)=>(g(),f(e(c),{direction:"vertical",gap:"1.5rem"},{default:l(()=>[i(e(U),{variant:"outline"},{default:l(()=>[i(e(c),{direction:"vertical",gap:"1rem"},{default:l(()=>[i(e(c),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:l(()=>[i(e(d),{size:"xl",weight:"semibold"},{default:l(()=>[s(u(e(o)("onboarding.welcome")),1)]),_:1}),i(e(j),{tone:"info",variant:"soft"},{default:l(()=>[s(u(e(o)("onboarding.guidedSetup")),1)]),_:1})]),_:1}),i(e(d),{tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.intro")),1)]),_:1}),i(e(Ie),{items:ie.value,"model-value":P.value,size:"sm"},null,8,["items","model-value"])]),_:1})]),_:1}),v.value?(g(),f(e(D),{key:0,variant:"danger"},{default:l(()=>[s(u(v.value),1)]),_:1})):y("",!0),P.value==="ports"?(g(),f(e(U),{key:1,variant:"outline"},{header:l(()=>[i(e(d),{weight:"semibold"},{default:l(()=>[s(u(e(o)("onboarding.stepPorts")),1)]),_:1})]),default:l(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:l(()=>[i(e(d),{tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.portsIntroBefore"))+" ",1),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[...a[9]||(a[9]=[s("AWS_ENDPOINT",-1)])]),_:1}),s(" "+u(e(o)("onboarding.portsIntroAfter")),1)]),_:1}),i(e(H),{columns:2,gap:"0.75rem"},{default:l(()=>[i(e(S),{label:e(o)("onboarding.serverPortLabel"),hint:e(o)("onboarding.serverPortHint")},{default:l(()=>[i(e(I),{modelValue:p.serverPort,"onUpdate:modelValue":a[0]||(a[0]=n=>p.serverPort=n),modelModifiers:{number:!0},type:"number",min:"1024",max:"65535"},null,8,["modelValue"])]),_:1},8,["label","hint"]),i(e(S),{label:e(o)("onboarding.enginePortLabel"),hint:e(o)("onboarding.enginePortHint")},{default:l(()=>[i(e(I),{modelValue:p.enginePort,"onUpdate:modelValue":a[1]||(a[1]=n=>p.enginePort=n),modelModifiers:{number:!0},type:"number",min:"1024",max:"65535"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:l(()=>[i(e(j),{tone:G.value?"success":"info",variant:"soft"},{default:l(()=>[s(u(G.value?e(o)("onboarding.singleListener"):e(o)("onboarding.twoListeners")),1)]),_:1},8,["tone"]),q.value.length?(g(),f(e(te),{key:0,size:"sm",variant:"soft"},{default:l(()=>[s(u(e(o)("onboarding.restartRequired"))+" lss stop && lss start ",1)]),_:1})):y("",!0)]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"flex-end"},{default:l(()=>[i(e(h),{variant:"solid",loading:p.saving,onClick:oe},{default:l(()=>[s(u(e(o)("common.continue")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):y("",!0),P.value==="brand"?(g(),f(e(U),{key:2,variant:"outline"},{header:l(()=>[i(e(d),{weight:"semibold"},{default:l(()=>[s(u(e(o)("onboarding.stepBrand")),1)]),_:1})]),default:l(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:l(()=>[i(e(d),{tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.brandIntro")),1)]),_:1}),i(e(H),{columns:2,gap:"0.75rem"},{default:l(()=>[i(e(S),{label:e(o)("onboarding.titleLabel"),hint:e(o)("onboarding.titleHint")},{default:l(()=>[i(e(I),{modelValue:m.title,"onUpdate:modelValue":a[2]||(a[2]=n=>m.title=n),placeholder:"Local Serverless Stack"},null,8,["modelValue"])]),_:1},8,["label","hint"]),i(e(S),{label:e(o)("onboarding.subtitleLabel")},{default:l(()=>[i(e(I),{modelValue:m.subtitle,"onUpdate:modelValue":a[3]||(a[3]=n=>m.subtitle=n),placeholder:e(o)("onboarding.subtitlePlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(e(S),{label:e(o)("onboarding.themeLabel")},{default:l(()=>[i(e($e),{modelValue:m.theme,"onUpdate:modelValue":a[4]||(a[4]=n=>m.theme=n),options:re.value,size:"md"},null,8,["modelValue","options"])]),_:1},8,["label"]),i(e(S),{label:e(o)("onboarding.brandColorLabel"),hint:e(o)("onboarding.brandColorHint")},{default:l(()=>[i(e(I),{modelValue:m.primary,"onUpdate:modelValue":a[5]||(a[5]=n=>m.primary=n),placeholder:"#0d9488"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"space-between"},{default:l(()=>[i(e(h),{variant:"ghost",onClick:a[6]||(a[6]=n=>P.value="ports")},{default:l(()=>[s(u(e(o)("common.back")),1)]),_:1}),i(e(h),{variant:"solid",loading:m.saving,onClick:se},{default:l(()=>[s(u(e(o)("common.continue")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):y("",!0),P.value==="services"?(g(),f(e(U),{key:3,variant:"outline"},{header:l(()=>[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between",wrap:""},{default:l(()=>[i(e(d),{weight:"semibold"},{default:l(()=>[s(u(e(o)("onboarding.stepServices")),1)]),_:1}),i(e(h),{size:"sm",variant:"ghost",loading:O.value,onClick:J},{default:l(()=>[s(u(e(o)("onboarding.rescan")),1)]),_:1},8,["loading"])]),_:1})]),default:l(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:l(()=>[i(e(d),{tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.servicesIntro")),1)]),_:1}),i(e(d),{tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.scanIntroBefore"))+" ",1),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[s(u(Q.value||"…"),1)]),_:1}),s(". "+u(e(o)("onboarding.scanIntroAfter"))+" ",1),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[...a[10]||(a[10]=[s("lss.config.json",-1)])]),_:1}),a[13]||(a[13]=s(" (",-1)),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[...a[11]||(a[11]=[s("serviceRuntime",-1)])]),_:1}),a[14]||(a[14]=s(" / ",-1)),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[...a[12]||(a[12]=[s("servicePackaging",-1)])]),_:1}),a[15]||(a[15]=s("). ",-1))]),_:1}),O.value?(g(),f(e(c),{key:0,direction:"horizontal",justify:"center"},{default:l(()=>[i(e(Ee),{label:e(o)("onboarding.scanning")},null,8,["label"])]),_:1})):k.value.length===0?(g(),f(e(D),{key:1,variant:"info"},{default:l(()=>[s(u(e(o)("onboarding.emptyScan"))+" ",1),i(e(d),{family:"mono",size:"sm"},{default:l(()=>[...a[16]||(a[16]=[s("npx lss register <dir>",-1)])]),_:1}),a[17]||(a[17]=s(". ",-1))]),_:1})):(g(),A(K,{key:2},[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:l(()=>[i(e(ae),{modelValue:Y.value,"onUpdate:modelValue":a[7]||(a[7]=n=>Y.value=n)},{default:l(()=>[s(u(e(o)("onboarding.selectAll")),1)]),_:1},8,["modelValue"]),i(e(d),{tone:"muted",size:"sm"},{default:l(()=>[s(u(e(o)("onboarding.selectedCount",{count:M.value})),1)]),_:1})]),_:1}),i(e(Le)),i(e(c),{direction:"vertical",gap:"0.75rem"},{default:l(()=>[(g(!0),A(K,null,ne(k.value,n=>(g(),f(e(c),{key:n.root,direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:l(()=>[i(e(ae),{modelValue:n.selected,"onUpdate:modelValue":r=>n.selected=r,disabled:b.value!==null},null,8,["modelValue","onUpdate:modelValue","disabled"]),i(e(c),{direction:"vertical",gap:"0.375rem"},{default:l(()=>[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:l(()=>[i(e(d),{weight:"semibold"},{default:l(()=>[s(u(n.name),1)]),_:2},1024),i(e(j),{tone:_e(n),variant:"soft"},{default:l(()=>[s(u(Ce(n)),1)]),_:2},1032,["tone"]),n.region?(g(),f(e(te),{key:0,size:"sm",variant:"soft"},{default:l(()=>[s(u(n.region),1)]),_:2},1024)):y("",!0)]),_:2},1024),i(e(d),{tone:"muted",size:"sm",family:"mono"},{default:l(()=>[s(u(n.relPath)+"/"+u(n.configFile),1)]),_:2},1024),i(e(H),{columns:E(n)?3:1,gap:"0.5rem"},{default:l(()=>[E(n)?(g(),A(K,{key:0},[i(e(S),{label:e(o)("onboarding.apiPortLabel"),hint:e(o)("onboarding.apiPortHint")},{default:l(()=>[i(e(I),{modelValue:n.editApiPort,"onUpdate:modelValue":r=>n.editApiPort=r,type:"number",min:"1024",max:"65535",placeholder:"3000"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"]),i(e(S),{label:e(o)("onboarding.invokePortLabel"),hint:e(o)("onboarding.invokePortHint")},{default:l(()=>[i(e(I),{modelValue:n.editInvokePort,"onUpdate:modelValue":r=>n.editInvokePort=r,type:"number",min:"1024",max:"65535",placeholder:"13000"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"])],64)):y("",!0),i(e(S),{label:e(o)("onboarding.packageCommandLabel"),hint:e(o)("onboarding.packageCommandHint")},{default:l(()=>[i(e(I),{modelValue:n.editPackageCommand,"onUpdate:modelValue":r=>n.editPackageCommand=r,placeholder:"npx serverless package"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"])]),_:2},1032,["columns"]),E(n)?y("",!0):(g(),f(e(d),{key:0,size:"sm",tone:"muted"},{default:l(()=>[s(u(e(o)("onboarding.resourcesOnly")),1)]),_:1})),n.resultMessage&&n.status!=="failed"?(g(),f(e(d),{key:1,size:"sm",tone:"muted"},{default:l(()=>[s(u(n.resultMessage),1)]),_:2},1024)):y("",!0),n.resultMessage&&n.status==="failed"?(g(),f(e(j),{key:2,tone:"danger",variant:"soft"},{default:l(()=>[s(u(n.resultMessage),1)]),_:2},1024)):y("",!0),n.resultOutput?(g(),f(e(d),{key:3,size:"sm",tone:"muted",family:"mono"},{default:l(()=>[s(u(n.resultOutput),1)]),_:2},1024)):y("",!0),(g(!0),A(K,null,ne([...ge(n),...n.resultWarnings],r=>(g(),f(e(c),{key:r,direction:"horizontal",gap:"0.375rem",align:"flex-start"},{default:l(()=>[i(e(je),{name:"triangle-alert"}),i(e(d),{size:"sm",tone:"muted"},{default:l(()=>[s(u(r),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)),L.value.length>0?(g(),f(e(D),{key:3,variant:"warning"},{default:l(()=>[i(e(c),{direction:"vertical",gap:"0.5rem"},{default:l(()=>[i(e(d),{size:"sm"},{default:l(()=>[s(u(e(o)("onboarding.portTypoConfirm",{changes:L.value.join(", ")})),1)]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:l(()=>[Z.value?(g(),f(e(h),{key:0,size:"sm",variant:"outline",onClick:me},{default:l(()=>[s(u(e(o)("onboarding.portTypoConfirmAction")),1)]),_:1})):(g(),f(e(j),{key:1,tone:"success",variant:"soft"},{default:l(()=>[s(u(e(o)("onboarding.portTypoConfirmed")),1)]),_:1}))]),_:1})]),_:1})]),_:1})):y("",!0),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"space-between",wrap:""},{default:l(()=>[i(e(h),{variant:"ghost",disabled:b.value!==null,onClick:a[8]||(a[8]=n=>P.value="brand")},{default:l(()=>[s(u(e(o)("common.back")),1)]),_:1},8,["disabled"]),i(e(c),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:l(()=>[i(e(h),{variant:"outline",disabled:M.value===0||b.value!==null,loading:b.value==="install",onClick:be},{default:l(()=>[s(u(e(o)("onboarding.installSelected")),1)]),_:1},8,["disabled","loading"]),i(e(h),{variant:"outline",disabled:M.value===0||b.value!==null,loading:b.value==="package",onClick:ke},{default:l(()=>[s(u(e(o)("onboarding.packageSelected")),1)]),_:1},8,["disabled","loading"]),i(e(h),{variant:"solid",disabled:M.value===0||b.value!==null,loading:b.value==="register",onClick:ye},{default:l(()=>[s(u(he.value),1)]),_:1},8,["disabled","loading"]),i(e(h),{variant:"outline",disabled:b.value!==null,onClick:Pe},{default:l(()=>[s(u(e(o)("common.finish")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})):y("",!0)]),_:1}))}});export{Ae as default};
@@ -0,0 +1 @@
1
+ import{l as K,n as W,ad as X,f as c,a9 as e,x as v,ae as a,a as B,p as d,k as l,L as I,z as E,j as i,a8 as u,w as p,G as w,N as P,g as T,y as Y,R,S as U,v as D,a3 as N,O as q,a0 as A,P as Z,af as ee,V as ae,aa as le,q as r,d as y,ac as ne}from"./index-BouKSS43.js";const te=K({__name:"OpenSearchCollectionView",props:{name:{}},emits:["back"],setup(_,{emit:$}){const f=_,j=$,{t:n}=le(),h=r([]),x=r(!0),g=r(null),k=r(""),z=r(""),S=r("25"),C=r(!1),b=r(null),m=r(null),V=r(!1),M=y(()=>[{key:"index",label:n("opensearch.index")},{key:"docsCount",label:n("opensearch.docs"),align:"right"},{key:"health",label:n("opensearch.health")},{key:"status",label:n("common.status")}]),F=y(()=>[{key:"index",label:n("opensearch.index")},{key:"id",label:"ID"},{key:"source",label:"Source"}]),G=y(()=>[{value:"",label:n("opensearch.allIndices")},...h.value.map(s=>({value:s.index,label:s.index}))]),J=y(()=>[{value:"10",label:n("opensearch.resultsSize",{count:10})},{value:"25",label:n("opensearch.resultsSize",{count:25})},{value:"50",label:n("opensearch.resultsSize",{count:50})}]),H=y(()=>{var s;return(((s=m.value)==null?void 0:s.hits.hits)||[]).map(o=>({index:o._index,id:o._id,source:JSON.stringify(o._source,null,2)}))});function Q(s){return s==="green"?"success":s==="yellow"?"warning":s==="red"?"danger":"neutral"}async function O(){x.value=!0;try{const s=await B.listOpenSearchIndices(f.name);h.value=s.indices,g.value=null}catch(s){g.value=s.message||n("opensearch.loadIndicesError"),h.value=[]}finally{x.value=!1}}async function L(){C.value=!0,b.value=null,V.value=!1;try{const s={size:Number(S.value)};k.value&&(s.index=k.value);const o=z.value.trim();o&&(s.q=o),m.value=await B.searchOpenSearch(f.name,s)}catch(s){/not[_ ]?found|no such index|does not exist|404/i.test(String((s==null?void 0:s.message)||""))?(m.value={took:0,hits:{total:{value:0},hits:[]}},V.value=!0):(m.value=null,b.value=s.message||n("opensearch.searchError"))}finally{C.value=!1}}return W(O),X(()=>f.name,O),(s,o)=>(d(),c(e(v),{direction:"vertical",gap:"1rem"},{default:a(()=>[l(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(v),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(I),{size:"sm",variant:"ghost",onClick:o[0]||(o[0]=t=>j("back"))},{default:a(()=>[l(e(E),{name:"arrow-left"}),i(" "+u(e(n)("opensearch.backToCollections")),1)]),_:1}),l(e(E),{name:"aws-opensearch"}),l(e(p),{size:"lg",weight:"semibold"},{default:a(()=>[i(u(_.name),1)]),_:1}),l(e(w),{tone:"info",variant:"soft"},{default:a(()=>[i(u(e(n)(h.value.length===1?"opensearch.indexCountOne":"opensearch.indexCountOther",{count:h.value.length})),1)]),_:1})]),_:1}),l(e(I),{size:"sm",variant:"ghost",loading:x.value,onClick:O},{default:a(()=>[i(u(e(n)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),g.value?(d(),c(e(P),{key:0,variant:"danger",dismissible:"",onDismiss:o[1]||(o[1]=t=>g.value=null)},{default:a(()=>[i(u(g.value),1)]),_:1})):T("",!0),l(e(D),{variant:"outline"},{header:a(()=>[l(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(n)("opensearch.indicesTitle")),1)]),_:1})]),default:a(()=>[x.value&&!h.value.length?(d(),c(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(Y),{label:e(n)("opensearch.loadingIndices")},null,8,["label"])]),_:1})):h.value.length?(d(),c(e(U),{key:2,columns:M.value,rows:h.value,"aria-label":e(n)("opensearch.indicesAriaLabel")},{"cell-index":a(({row:t})=>[l(e(p),{weight:"semibold"},{default:a(()=>[i(u(t.index),1)]),_:2},1024)]),"cell-docsCount":a(({row:t})=>[l(e(w),{tone:"info",variant:"soft"},{default:a(()=>[i(u(t.docsCount??0),1)]),_:2},1024)]),"cell-health":a(({row:t})=>[l(e(w),{tone:Q(String(t.health)),variant:"soft"},{default:a(()=>[i(u(t.health||"—"),1)]),_:2},1032,["tone"])]),"cell-status":a(({row:t})=>[l(e(w),{tone:t.status==="open"?"success":"neutral",variant:"soft"},{default:a(()=>[i(u(t.status||"—"),1)]),_:2},1032,["tone"])]),_:1},8,["columns","rows","aria-label"])):(d(),c(e(R),{key:1,title:e(n)("opensearch.noIndicesTitle"),description:e(n)("opensearch.noIndicesDescription")},null,8,["title","description"]))]),_:1}),l(e(D),{variant:"outline"},{header:a(()=>[l(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(n)("opensearch.searchTitle")),1)]),_:1})]),default:a(()=>[l(e(v),{direction:"horizontal",gap:"1rem",align:"end"},{default:a(()=>[l(e(N),{grow:1,basis:"0"},{default:a(()=>[l(e(q),{label:e(n)("opensearch.index")},{default:a(()=>[l(e(A),{modelValue:k.value,"onUpdate:modelValue":o[2]||(o[2]=t=>k.value=t),options:G.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),l(e(N),{grow:2,basis:"0"},{default:a(()=>[l(e(q),{label:e(n)("opensearch.query")},{default:a(()=>[l(e(Z),{modelValue:z.value,"onUpdate:modelValue":o[3]||(o[3]=t=>z.value=t),placeholder:e(n)("opensearch.queryPlaceholder"),onKeyup:ee(L,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(e(N),{grow:.8,basis:"0","min-width":"8rem"},{default:a(()=>[l(e(q),{label:e(n)("common.size")},{default:a(()=>[l(e(A),{modelValue:S.value,"onUpdate:modelValue":o[4]||(o[4]=t=>S.value=t),options:J.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),l(e(I),{variant:"solid",loading:C.value,onClick:L},{default:a(()=>[i(u(e(n)("common.search")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),b.value?(d(),c(e(P),{key:1,variant:"danger",dismissible:"",onDismiss:o[5]||(o[5]=t=>b.value=null)},{default:a(()=>[i(u(b.value),1)]),_:1})):T("",!0),m.value?(d(),c(e(D),{key:2,variant:"outline"},{header:a(()=>[l(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(n)("opensearch.resultsTitle")),1)]),_:1}),l(e(p),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(n)(m.value.hits.total.value===1?"opensearch.hitsSummaryOne":"opensearch.hitsSummaryOther",{count:m.value.hits.total.value,took:m.value.took})),1)]),_:1})]),_:1})]),default:a(()=>[H.value.length?(d(),c(e(U),{key:1,columns:F.value,rows:H.value,"aria-label":e(n)("opensearch.hitsAriaLabel")},{"cell-index":a(({row:t})=>[l(e(p),{family:"mono"},{default:a(()=>[i(u(t.index),1)]),_:2},1024)]),"cell-id":a(({row:t})=>[l(e(p),{family:"mono"},{default:a(()=>[i(u(t.id),1)]),_:2},1024)]),"cell-source":a(({row:t})=>[l(e(ae),{code:String(t.source??""),label:e(n)("opensearch.documentLabel"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])]),_:1},8,["columns","rows","aria-label"])):(d(),c(e(R),{key:0,title:e(n)("opensearch.noHitsTitle"),description:V.value?e(n)("opensearch.noHitsIndexMissing"):e(n)("opensearch.noHitsDescription")},null,8,["title","description"]))]),_:1})):T("",!0)]),_:1}))}}),oe=K({__name:"OpenSearchCollectionPage",props:{name:{}},setup(_){const $=ne();function f(){$.push("/opensearch")}return(j,n)=>(d(),c(te,{name:_.name,onBack:f},null,8,["name"]))}});export{oe as default};
@@ -0,0 +1 @@
1
+ import{l as I,n as D,o as N,p as i,f as r,a9 as e,x as m,ae as a,k as l,A as P,B as R,N as j,j as c,a8 as u,g as M,v as A,y as E,R as T,z,S as H,L as F,w as v,T as G,C as J,a3 as K,P as Q,aa as W,q as f,d as _,a as B,ac as X}from"./index-BouKSS43.js";const Y=I({__name:"OpenSearchCollectionsList",emits:["open"],setup(V,{emit:w}){const b=w,{t:n}=W(),p=f([]),y=f({}),h=f(!0),d=f(null),g=f("");let $=null;const O=_(()=>[{key:"name",label:n("opensearch.collection")},{key:"service",label:n("common.service")},{key:"endpoint",label:n("opensearch.endpoint")},{key:"actions",label:"",align:"right"}]),C=_(()=>p.value.map(t=>({...t,service:y.value[t.name]||""})).sort((t,s)=>t.name.localeCompare(s.name))),S=_(()=>{const t=g.value.trim().toLowerCase();return t?C.value.filter(s=>s.name.toLowerCase().includes(t)||(s.service||"").toLowerCase().includes(t)):C.value}),x=_(()=>({collections:p.value.length,services:new Set(p.value.map(t=>y.value[t.name]).filter(Boolean)).size}));function U(t){return`/opensearch/${encodeURIComponent(String(t.name))}`}function q(t){return n("opensearch.openCollectionLabel",{name:String(t.name)})}async function L(){try{const[t,s]=await Promise.all([B.listOpenSearchCollections(),B.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[],collections:[]}))]);p.value=t.collections;const o={};for(const k of s.collections||[])o[k.name]=k.service;y.value=o,d.value=null}catch(t){d.value=t.message||n("opensearch.loadCollectionsError")}finally{h.value=!1}}return D(()=>{L(),$=window.setInterval(L,15e3)}),N(()=>{$&&window.clearInterval($)}),(t,s)=>(i(),r(e(m),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[l(e(P),{columns:2,gap:"1rem"},{default:a(()=>[l(e(R),{label:e(n)("opensearch.collections"),value:x.value.collections,tone:"info",loading:h.value},null,8,["label","value","loading"]),l(e(R),{label:e(n)("opensearch.owningServices"),value:x.value.services,tone:"success",loading:h.value},null,8,["label","value","loading"])]),_:1}),d.value?(i(),r(e(j),{key:0,variant:"danger",dismissible:"",onDismiss:s[0]||(s[0]=o=>d.value=null)},{default:a(()=>[c(u(d.value),1)]),_:1})):M("",!0),l(e(A),{variant:"outline"},{header:a(()=>[l(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:a(()=>[l(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(z),{name:"aws-opensearch"}),l(e(v),{weight:"semibold"},{default:a(()=>[c(u(e(n)("opensearch.listTitle")),1)]),_:1})]),_:1}),l(e(m),{direction:"horizontal",align:"center",gap:"1rem"},{default:a(()=>[l(e(K),{"min-width":"16rem"},{default:a(()=>[l(e(Q),{modelValue:g.value,"onUpdate:modelValue":s[1]||(s[1]=o=>g.value=o),placeholder:e(n)("opensearch.filterPlaceholder"),"aria-label":e(n)("opensearch.filterLabel")},null,8,["modelValue","placeholder","aria-label"])]),_:1}),l(e(v),{tone:"muted",size:"xs"},{default:a(()=>[c(u(e(n)("opensearch.refreshHint")),1)]),_:1})]),_:1})]),_:1})]),default:a(()=>[h.value?(i(),r(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(E),{label:e(n)("opensearch.loadingCollections")},null,8,["label"])]),_:1})):C.value.length?S.value.length?(i(),r(e(H),{key:3,columns:O.value,rows:S.value,"row-key":"name","row-to":U,"row-label":q,"aria-label":e(n)("opensearch.listTitle")},{"cell-name":a(({row:o})=>[l(e(v),{weight:"semibold"},{default:a(()=>[c(u(o.name),1)]),_:2},1024)]),"cell-service":a(({row:o})=>[o.service?(i(),r(e(G),{key:0,to:`/services/${encodeURIComponent(String(o.service))}`,underline:"none"},{default:a(()=>[l(e(J),{size:"sm",variant:"soft"},{default:a(()=>[c(u(o.service),1)]),_:2},1024)]),_:2},1032,["to"])):(i(),r(e(v),{key:1,tone:"muted",size:"xs"},{default:a(()=>[c(u(e(n)("opensearch.unmanaged")),1)]),_:1}))]),"cell-endpoint":a(({row:o})=>[l(e(v),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[c(u(o.endpoint),1)]),_:2},1024)]),"cell-actions":a(({row:o})=>[l(e(F),{size:"sm",variant:"soft",onClick:k=>b("open",String(o.name))},{default:a(()=>[c(u(e(n)("opensearch.browse")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(i(),r(e(T),{key:2,title:e(n)("opensearch.noMatchTitle"),description:e(n)("opensearch.noMatchDescription",{query:g.value})},{icon:a(()=>[l(e(z),{name:"search-x"})]),_:1},8,["title","description"])):(i(),r(e(T),{key:1,title:e(n)("opensearch.emptyTitle"),description:e(n)("opensearch.emptyDescription")},{icon:a(()=>[l(e(z),{name:"aws-opensearch"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),ee=I({__name:"OpenSearchPage",setup(V){const w=X();function b(n){w.push(`/opensearch/${encodeURIComponent(n)}`)}return(n,p)=>(i(),r(Y,{onOpen:b}))}});export{ee as default};
@@ -0,0 +1 @@
1
+ import{l as de,n as fe,o as me,p as v,f as w,a9 as e,v as j,ae as t,k as a,w as c,j as s,a8 as r,x as p,y as pe,h as E,z as _,g as N,A as ae,B as z,C as A,F as D,D as ge,E as ye,t as V,G as k,H as _e,aa as we,q as M,d as f,a as T,ac as be,I as te,J as h,K as he,i as ke,L as ce}from"./index-BouKSS43.js";import{i as ze}from"./onboarding-DQmlvyWU.js";import{e as xe}from"./resourceIcons-DZs28nbs.js";const Se=14,$e=10,Me=12,Be=64,Pe=de({__name:"ActivityPanel",setup(W){const{t:l}=we(),g=M(null),x=M(!0),y=M(null),H=M(12e4);let R=null;const F=f(()=>[{value:"60000",label:l("activity.window1m")},{value:"120000",label:l("activity.window2m")},{value:"600000",label:l("activity.window10m")}]),q=f({get:()=>String(H.value),set:o=>{H.value=Number(o),B()}});async function B(){try{g.value=await T.getActivity(H.value),y.value=null}catch(o){y.value=o instanceof Error?o.message:l("activity.loadFailed")}finally{x.value=!1}}const b=f(()=>{var o;return(o=g.value)==null?void 0:o.totals}),C=f(()=>{var o;return(o=g.value)==null?void 0:o.residency}),P=f(()=>{var o;return(o=g.value)==null?void 0:o.host}),le=f(()=>{const o=P.value;return!o||!o.totalMemBytes?0:Math.round((o.totalMemBytes-o.freeMemBytes)/o.totalMemBytes*100)}),ne=f(()=>{const o=P.value;return!o||!o.cpuCount?0:Math.round(o.loadAvg1m/o.cpuCount*100)}),oe=f(()=>{var o;return(((o=g.value)==null?void 0:o.workers)??[]).filter(m=>m.warm)}),U=f(()=>oe.value.map(o=>({...o,resident:[...o.loadedFunctions].reverse()}))),G=f(()=>{var m;const o=((m=g.value)==null?void 0:m.buckets)??[];return o.length>0?o[0].at:0}),J=f(()=>{var o;return G.value+(((o=g.value)==null?void 0:o.windowMs)??0)}),K=f(()=>{var S;const o=new Map;for(const n of((S=g.value)==null?void 0:S.spans)??[]){const u=`${n.service}::${n.functionName}`,i=o.get(u)??[];i.push(n),o.set(u,i)}const m=new Map;for(const[,n]of o){const u=m.get(n[0].functionName)??new Set;u.add(n[0].service),m.set(n[0].functionName,u)}return[...o.values()].map(n=>({list:n,lastAt:Math.max(...n.map(u=>u.startedAt+u.durationMs))})).sort((n,u)=>u.lastAt-n.lastAt).map(({list:n})=>{var $;const{service:u,functionName:i}=n[0];return{label:((($=m.get(i))==null?void 0:$.size)??0)>1?`${u}/${i}`:i,description:l("activity.laneAria",{function:i,service:u,count:n.length}),spans:n.map(Q)}})});function Q(o){return{start:o.startedAt,end:o.startedAt+o.durationMs,tone:o.ok?"default":"danger",title:re(o)}}function ie(o){return l("activity.lanesOverflow",{hidden:String(o)})}const X=f(()=>{var o;return[{name:l("activity.parallelism"),data:(((o=g.value)==null?void 0:o.buckets)??[]).map(m=>m.peak)}]}),Z=f(()=>{var o;return(((o=g.value)==null?void 0:o.buckets)??[]).map(m=>l("activity.axisStart",{value:L(J.value-m.at)}))}),I=f(()=>{var o;return Math.max(1,...(((o=g.value)==null?void 0:o.buckets)??[]).map(m=>m.peak))});function O(o){if(!o)return"—";const m=o/1024/1024;return m>=1024?`${(m/1024).toFixed(1)} GB`:`${Math.round(m)} MB`}function L(o){return o===void 0?"—":o>=1e3?`${(o/1e3).toFixed(1)} s`:`${Math.round(o)} ms`}function re(o){const m=[o.functionName,L(o.durationMs)];return o.ok||m.push(l("activity.failed")),o.coldStart&&m.push(l("activity.coldStart")),m.join(" · ")}return fe(()=>{B(),R=window.setInterval(B,5e3)}),me(()=>{R&&window.clearInterval(R)}),(o,m)=>(v(),w(e(j),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",justify:"space-between",wrap:""},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:t(()=>{var S;return[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("activity.title")),1)]),_:1}),a(e(k),{tone:(((S=b.value)==null?void 0:S.activeNow)??0)>0?"success":"neutral",variant:"soft"},{default:t(()=>{var n;return[s(r(e(l)("activity.inFlight",{count:((n=b.value)==null?void 0:n.activeNow)??0})),1)]}),_:1},8,["tone"])]}),_:1}),a(e(_e),{modelValue:q.value,"onUpdate:modelValue":m[0]||(m[0]=S=>q.value=S),options:F.value,size:"sm"},null,8,["modelValue","options"])]),_:1})]),default:t(()=>[a(e(p),{direction:"vertical",gap:"1rem"},{default:t(()=>{var S;return[a(e(c),{tone:"muted",size:"sm"},{default:t(()=>[s(r(e(l)("activity.description")),1)]),_:1}),x.value?(v(),w(e(p),{key:0,direction:"horizontal",justify:"center"},{default:t(()=>[a(e(pe),{label:e(l)("common.loading")},null,8,["label"])]),_:1})):(v(),E(D,{key:1},[y.value?(v(),w(e(p),{key:0,direction:"horizontal",gap:"0.375rem",align:"center"},{default:t(()=>[a(e(_),{name:"triangle-alert"}),a(e(c),{tone:"muted",size:"sm"},{default:t(()=>[s(r(y.value),1)]),_:1})]),_:1})):N("",!0),a(e(ae),{columns:5,"min-item-width":"12rem",gap:"0.75rem"},{default:t(()=>{var n,u,i,d,$,Y,ee,se,ue,ve;return[a(e(z),{label:e(l)("activity.workersWarm"),value:`${((n=C.value)==null?void 0:n.warm)??0} / ${((u=C.value)==null?void 0:u.maxWarmWorkers)??0}`,meta:e(l)("activity.workersWarmHint")},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.functionsLoaded"),value:`${((i=C.value)==null?void 0:i.loadedFunctions)??0} / ${((d=C.value)==null?void 0:d.registeredFunctions)??0}`,meta:e(l)("activity.functionsLoadedHint")},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.peakConcurrency"),value:String((($=b.value)==null?void 0:$.peakConcurrency)??0),meta:e(l)("activity.peakConcurrencyHint")},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.hostMemory"),value:`${le.value}%`,meta:e(l)("activity.hostMemoryHint",{used:O((((Y=P.value)==null?void 0:Y.totalMemBytes)??0)-(((ee=P.value)==null?void 0:ee.freeMemBytes)??0)),total:O((se=P.value)==null?void 0:se.totalMemBytes)})},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.hostLoad"),value:`${ne.value}%`,meta:e(l)("activity.hostLoadHint",{load:(((ue=P.value)==null?void 0:ue.loadAvg1m)??0).toFixed(2),cpus:((ve=P.value)==null?void 0:ve.cpuCount)??0})},null,8,["label","value","meta"])]}),_:1}),a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:t(()=>{var n,u;return[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(l)("activity.stackRss",{value:O((i=P.value)==null?void 0:i.rssBytes)})),1)]}),_:1}),a(e(A),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(l)("activity.invocations",{count:((i=b.value)==null?void 0:i.invocations)??0})),1)]}),_:1}),a(e(A),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(l)("activity.avgDuration",{value:L((i=b.value)==null?void 0:i.avgDurationMs)})),1)]}),_:1}),(((n=b.value)==null?void 0:n.coldStarts)??0)>0?(v(),w(e(A),{key:0,size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(l)("activity.coldStarts",{count:((i=b.value)==null?void 0:i.coldStarts)??0})),1)]}),_:1})):N("",!0),(((u=b.value)==null?void 0:u.errors)??0)>0?(v(),w(e(A),{key:1,size:"sm",variant:"soft",tone:"danger"},{icon:t(()=>[a(e(_),{name:"x"})]),default:t(()=>{var i;return[s(" "+r(e(l)("activity.errors",{count:((i=b.value)==null?void 0:i.errors)??0})),1)]}),_:1})):N("",!0)]}),_:1}),(((S=b.value)==null?void 0:S.invocations)??0)===0?(v(),w(e(c),{key:1,tone:"muted",size:"sm"},{default:t(()=>[s(r(e(l)("activity.empty")),1)]),_:1})):(v(),E(D,{key:2},[a(e(p),{direction:"vertical",gap:"0.25rem"},{default:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",wrap:""},{default:t(()=>[a(e(c),{size:"sm",weight:"semibold"},{default:t(()=>[s(r(e(l)("activity.parallelism")),1)]),_:1}),a(e(c),{size:"sm",tone:"muted"},{default:t(()=>[s(r(e(l)("activity.peakLabel",{peak:I.value})),1)]),_:1})]),_:1}),a(e(ge),{type:"area",interpolation:"step",series:X.value,labels:Z.value,height:Be,"show-grid":!1,"show-x-axis":!1,"show-y-axis":!1,"series-label":e(l)("activity.chartSeriesLabel"),"aria-label":e(l)("activity.parallelismAria",{peak:I.value})},null,8,["series","labels","series-label","aria-label"])]),_:1}),a(e(p),{direction:"vertical",gap:"0.25rem"},{default:t(()=>[a(e(c),{size:"sm",weight:"semibold"},{default:t(()=>[s(r(e(l)("activity.timeline")),1)]),_:1}),a(e(ye),{rows:K.value,from:G.value,to:J.value,"lane-height":Se,"max-rows":Me,"overflow-label":ie,label:e(l)("activity.timeline")},{label:t(({row:n})=>[a(e(c),{family:"mono"},{default:t(()=>[s(r(n.label),1)]),_:2},1024)]),marker:t(({span:n})=>[n.tone==="danger"?(v(),w(e(_),{key:0,name:"x",size:$e})):N("",!0)]),_:1},8,["rows","from","to","label"]),a(e(p),{direction:"horizontal",justify:"space-between"},{default:t(()=>[a(e(c),{size:"sm",tone:"muted"},{default:t(()=>{var n;return[s(r(e(l)("activity.axisStart",{value:L((n=g.value)==null?void 0:n.windowMs)})),1)]}),_:1}),a(e(c),{size:"sm",tone:"muted"},{default:t(()=>[s(r(e(l)("activity.axisNow")),1)]),_:1})]),_:1})]),_:1}),U.value.length?(v(),w(e(p),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(c),{size:"sm",weight:"semibold"},{default:t(()=>[s(r(e(l)("activity.resident")),1)]),_:1}),(v(!0),E(D,null,V(U.value,n=>(v(),w(e(p),{key:n.service,direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:t(()=>[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>[s(r(n.service)+" · "+r(e(l)("activity.workerPid",{pid:n.pid??0})),1)]),_:2},1024),(v(!0),E(D,null,V(n.resident,u=>(v(),w(e(A),{key:u,size:"sm",variant:"soft",tone:"success"},{default:t(()=>[s(r(u),1)]),_:2},1024))),128)),n.resident.length===0?(v(),w(e(c),{key:0,size:"sm",tone:"muted"},{default:t(()=>[s(r(e(l)("activity.residentNone")),1)]),_:1})):N("",!0)]),_:2},1024))),128))]),_:1})):N("",!0)],64))],64))]}),_:1})]),_:1}))}}),Ae=de({__name:"OverviewPage",setup(W){const{t:l}=we(),g=be(),x=M(null),y=M(null),H=M([]),R=M([]),F=M([]),q=M([]),B=M({tables:[],queues:[],topics:[],buckets:[],collections:[]}),b=M(!0);let C=null;async function P(){try{const[n,u,i,d,$,Y,ee]=await Promise.all([T.checkHealth(),T.getConfig(),T.listServices(),T.listResources(),T.listLambdas().catch(()=>[]),T.listApis().catch(()=>[]),T.getPorts().catch(()=>({ports:[]}))]);x.value=n,y.value=u,R.value=i,B.value=d,F.value=$,q.value=Y,H.value=ee.ports}catch(n){console.error("Overview load failed:",n)}finally{b.value=!1}}const le=f(()=>{var i,d;const n=B.value;return[n.tables,n.queues,n.topics,n.buckets,n.collections??[]].some($=>$.length>0)||((d=(i=y.value)==null?void 0:i.lambdaRuntime)==null?void 0:d.enabled)===!1}),ne=f(()=>R.value.filter(n=>n.status==="running").length),oe=f(()=>R.value.length),U=f(()=>F.value.filter(n=>n.status==="online").length),G=f(()=>F.value.length),J=f(()=>q.value.reduce((n,u)=>n+u.routes.length,0)),K=f(()=>{var n;return((n=x.value)==null?void 0:n.engineRunning)??!1}),Q=f(()=>K.value?"success":"danger"),ie=f(()=>{var n,u;return((u=(n=x.value)==null?void 0:n.engine)==null?void 0:u.services)??[]}),X=f(()=>ie.value.map(n=>({id:n,icon:xe(n)}))),Z=f(()=>{var n,u;return!!((u=(n=x.value)==null?void 0:n.dynamoProxy)!=null&&u.enabled)}),I=f(()=>{var n,u;return!!((u=(n=x.value)==null?void 0:n.dynamoProxy)!=null&&u.running)}),O=f(()=>{var n;return!!((n=y.value)!=null&&n.autoPackage)}),L=f(()=>{var n;return!!((n=y.value)!=null&&n.persistence)}),re={orchestrator:"info",engine:"success",proxy:"warning","service-api":"info","service-invoke":"neutral"},o={orchestrator:"overview.portKindOrchestrator",engine:"overview.portKindEngine",proxy:"overview.portKindProxy","service-api":"overview.portKindServiceApi","service-invoke":"overview.portKindServiceInvoke"};function m(n){return l(o[n])}const S=f(()=>[{type:l("overview.coveredSnsTitle"),description:l("overview.coveredSnsDescription"),status:"covered",to:null,icon:"aws-sns"},{type:l("overview.coveredSqsTitle"),description:l("overview.coveredSqsDescription"),status:"covered",to:"/queues",icon:"aws-sqs"},{type:l("overview.coveredDynamoTitle"),description:l("overview.coveredDynamoDescription"),status:"covered",to:"/dynamo",icon:"aws-dynamodb"},{type:l("overview.coveredS3Title"),description:l("overview.coveredS3Description"),status:"covered",to:"/buckets",icon:"aws-s3"}]);return fe(async()=>{await P();const n=g.currentRoute.value.query.region!==void 0;if(R.value.length===0&&!ze()&&!le.value&&!n){g.push("/onboarding");return}C=window.setInterval(P,15e3)}),me(()=>{C&&window.clearInterval(C)}),(n,u)=>(v(),w(e(p),{direction:"vertical",gap:"1.5rem"},{default:t(()=>[a(e(j),{variant:"outline",class:"overview-hero"},{default:t(()=>[a(e(p),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:t(()=>[a(e(_),{name:"zap"}),a(e(p),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(c),{size:"xl",weight:"semibold"},{default:t(()=>[...u[0]||(u[0]=[s("Local Serverless Stack",-1)])]),_:1}),a(e(c),{tone:"muted"},{default:t(()=>[s(r(e(l)("overview.heroTagline")),1)]),_:1})]),_:1})]),_:1}),a(e(c),{as:"p",measure:"prose"},{default:t(()=>[s(r(e(l)("overview.heroParagraph")),1)]),_:1}),a(e(p),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[a(e(k),{tone:Q.value,variant:"soft"},{default:t(()=>[s(r(K.value?e(l)("overview.engineBadgeRunning"):e(l)("overview.engineBadgeOffline")),1)]),_:1},8,["tone"]),Z.value?(v(),w(e(k),{key:0,tone:I.value?"success":"warning",variant:"soft"},{default:t(()=>[s(r(I.value?e(l)("overview.proxyBadgeOn"):e(l)("overview.proxyBadgeNotListening")),1)]),_:1},8,["tone"])):(v(),w(e(k),{key:1,tone:"neutral",variant:"soft"},{default:t(()=>[s(r(e(l)("overview.proxyBadgeOff")),1)]),_:1})),a(e(k),{tone:O.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(e(l)("overview.autoPackage"))+" "+r(O.value?e(l)("overview.on"):e(l)("overview.off")),1)]),_:1},8,["tone"]),a(e(k),{tone:L.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(e(l)("overview.persistence"))+" "+r(L.value?e(l)("overview.on"):e(l)("overview.off")),1)]),_:1},8,["tone"])]),_:1})]),_:1})]),_:1}),a(Pe),b.value&&!x.value?(v(),w(e(p),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(pe),{label:e(l)("overview.loading")},null,8,["label"])]),_:1})):(v(),E(D,{key:1},[a(e(ae),{columns:2,gap:"1rem"},{default:t(()=>[a(e(j),{variant:"outline"},{header:t(()=>[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("overview.serverStatus")),1)]),_:1})]),default:t(()=>[a(e(te),null,{default:t(()=>[a(e(h),{label:e(l)("overview.selfEngine")},{default:t(()=>[a(e(k),{tone:Q.value,variant:"soft"},{default:t(()=>[s(r(K.value?e(l)("overview.running"):e(l)("overview.offline")),1)]),_:1},8,["tone"])]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.endpoint")},{default:t(()=>[a(e(c),{family:"mono"},{default:t(()=>{var i,d;return[s(r(((d=(i=y.value)==null?void 0:i.engine)==null?void 0:d.endpoint)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.runsIn")},{default:t(()=>[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>[s(r(e(l)("overview.runsInValue")),1)]),_:1})]),_:1},8,["label"])]),_:1}),a(e(he)),a(e(te),null,{default:t(()=>[a(e(h),{label:e(l)("overview.dynamoProxy")},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.375rem",align:"center"},{default:t(()=>[Z.value?(v(),w(e(k),{key:0,tone:I.value?"success":"warning",variant:"soft"},{default:t(()=>{var i,d;return[s(r(I.value?e(l)("overview.proxyListening",{port:((d=(i=x.value)==null?void 0:i.dynamoProxy)==null?void 0:d.port)??""}):e(l)("overview.proxyEnabledNotListening")),1)]}),_:1},8,["tone"])):(v(),w(e(k),{key:1,tone:"neutral",variant:"soft"},{default:t(()=>[s(r(e(l)("common.disabled")),1)]),_:1}))]),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.autoPackage")},{default:t(()=>[a(e(k),{tone:O.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(O.value?e(l)("overview.on"):e(l)("overview.off")),1)]),_:1},8,["tone"])]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.persistence")},{default:t(()=>[a(e(k),{tone:L.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(L.value?e(l)("overview.on"):e(l)("overview.off")),1)]),_:1},8,["tone"])]),_:1},8,["label"])]),_:1})]),_:1}),a(e(j),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("overview.lssConfiguration")),1)]),_:1}),a(e(ce),{size:"sm",variant:"ghost",to:"/settings"},{default:t(()=>[s(r(e(l)("overview.edit"))+" ",1),a(e(_),{name:"arrow-right"})]),_:1})]),_:1})]),default:t(()=>[a(e(te),null,{default:t(()=>{var i;return[a(e(h),{label:e(l)("overview.engine")},{default:t(()=>[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>{var d,$;return[s(r((($=(d=y.value)==null?void 0:d.engine)==null?void 0:$.kind)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.defaultRegion")},{default:t(()=>[a(e(c),{family:"mono"},{default:t(()=>{var d;return[s(r(((d=y.value)==null?void 0:d.region)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.serverPort")},{default:t(()=>[a(e(c),{family:"mono"},{default:t(()=>{var d;return[s(r(((d=y.value)==null?void 0:d.serverPort)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.emulatedServices")},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.25rem",wrap:"",justify:"flex-end"},{default:t(()=>[(v(!0),E(D,null,V(X.value,d=>(v(),w(e(A),{key:d.id,size:"sm",variant:"soft"},ke({default:t(()=>[s(" "+r(d.id),1)]),_:2},[d.icon?{name:"icon",fn:t(()=>[a(e(_),{name:d.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)),X.value.length?N("",!0):(v(),w(e(c),{key:0,tone:"muted"},{default:t(()=>[...u[1]||(u[1]=[s("—",-1)])]),_:1}))]),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.seedsDir")},{default:t(()=>[a(e(c),{family:"mono",size:"xs"},{default:t(()=>{var d;return[s(r(((d=y.value)==null?void 0:d.seedsDir)||"—"),1)]}),_:1})]),_:1},8,["label"]),(i=y.value)!=null&&i.configPath?(v(),w(e(h),{key:0,label:e(l)("overview.configFile")},{default:t(()=>[a(e(c),{family:"mono",size:"xs"},{default:t(()=>[s(r(y.value.configPath),1)]),_:1})]),_:1},8,["label"])):N("",!0)]}),_:1})]),_:1})]),_:1}),a(e(j),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("overview.exposedPorts")),1)]),_:1}),a(e(c),{tone:"muted",size:"xs"},{default:t(()=>[s(r(e(l)("overview.exposedPortsHint")),1)]),_:1})]),_:1})]),default:t(()=>[H.value.length?(v(),w(e(te),{key:0},{default:t(()=>[(v(!0),E(D,null,V(H.value,i=>(v(),w(e(h),{key:`${i.kind}-${i.name}-${i.port}`,label:i.name},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:"",justify:"flex-end"},{default:t(()=>[a(e(c),{tone:"muted",size:"xs"},{default:t(()=>[s(r(i.description),1)]),_:2},1024),a(e(k),{tone:re[i.kind],variant:"soft"},{default:t(()=>[s(r(m(i.kind)),1)]),_:2},1032,["tone"]),a(e(c),{family:"mono",size:"sm"},{default:t(()=>[s(r(i.url),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})):(v(),w(e(c),{key:1,tone:"muted",size:"sm"},{default:t(()=>[s(r(e(l)("overview.noPorts")),1)]),_:1}))]),_:1}),a(e(ae),{columns:5,gap:"1rem"},{default:t(()=>{var i;return[a(e(z),{label:e(l)("overview.statServicesRunning"),value:`${ne.value} / ${oe.value}`,tone:"success"},{icon:t(()=>[a(e(_),{name:"boxes"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statLambdasOnline"),value:`${U.value} / ${G.value}`,tone:"success"},{icon:t(()=>[a(e(_),{name:"aws-lambda"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statApiRoutes"),value:J.value,tone:"info"},{icon:t(()=>[a(e(_),{name:"aws-api-gateway"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statDynamoTables"),value:B.value.tables.length,tone:"info"},{icon:t(()=>[a(e(_),{name:"aws-dynamodb"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statSqsQueues"),value:B.value.queues.length,tone:"warning"},{icon:t(()=>[a(e(_),{name:"aws-sqs"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statSnsTopics"),value:B.value.topics.length,tone:"info"},{icon:t(()=>[a(e(_),{name:"aws-sns"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statS3Buckets"),value:B.value.buckets.length,tone:"neutral"},{icon:t(()=>[a(e(_),{name:"aws-s3"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statOpenSearchCollections"),value:((i=B.value.collections)==null?void 0:i.length)??0,tone:"info"},{icon:t(()=>[a(e(_),{name:"aws-opensearch"})]),_:1},8,["label","value"])]}),_:1}),a(e(j),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("overview.whatsCovered")),1)]),_:1}),a(e(c),{tone:"muted",size:"xs"},{default:t(()=>[s(r(e(l)("overview.whatsCoveredHint")),1)]),_:1})]),_:1})]),default:t(()=>[a(e(ae),{columns:2,gap:"0.75rem"},{default:t(()=>[(v(!0),E(D,null,V(S.value,i=>(v(),w(e(j),{key:i.type,variant:"soft"},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(p),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(_),{name:i.icon},null,8,["name"]),a(e(c),{weight:"semibold"},{default:t(()=>[s(r(i.type),1)]),_:2},1024),a(e(k),{tone:i.status==="covered"?"success":"neutral",variant:"soft"},{icon:t(()=>[a(e(_),{name:i.status==="covered"?"check":"clock"},null,8,["name"])]),default:t(()=>[s(" "+r(i.status==="covered"?e(l)("overview.supported"):e(l)("overview.planned")),1)]),_:2},1032,["tone"])]),_:2},1024),a(e(c),{tone:"muted",size:"sm"},{default:t(()=>[s(r(i.description),1)]),_:2},1024)]),_:2},1024),i.to?(v(),w(e(ce),{key:0,size:"sm",variant:"ghost",to:i.to},{default:t(()=>[s(r(e(l)("overview.open"))+" ",1),a(e(_),{name:"arrow-right"})]),_:1},8,["to"])):N("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})],64))]),_:1}))}}),Le=(W,l)=>{const g=W.__vccOpts||W;for(const[x,y]of l)g[x]=y;return g},Oe=Le(Ae,[["__scopeId","data-v-42cdd792"]]);export{Oe as default};
@@ -1 +1 @@
1
- .overview-hero[data-v-8acf8384]{background:linear-gradient(135deg,var(--tree-color-bg-surface, rgba(255, 255, 255, .02)),transparent)}
1
+ .overview-hero[data-v-42cdd792]{background:linear-gradient(135deg,var(--tree-color-bg-surface, rgba(255, 255, 255, .02)),transparent)}
@@ -0,0 +1 @@
1
+ import{l as ne,p as d,f as c,a9 as e,x as m,ae as a,k as t,v as D,O as I,$ as Ve,a3 as C,P as x,g as q,w as v,j as i,a8 as u,L as w,h as L,F as H,t as Z,a0 as Ie,G as A,N as ue,y as ie,R as oe,S as Se,K as Ce,V as Ae,T as Me,ag as Ne,z as ee,W as Te,aa as re,q as b,d as W,a as E,c as de,n as xe,o as De,ad as je,B as X,A as Fe,Y as Ue,Z as ae,_ as te,I as se,J as le,C as Y,a4 as Be,X as Pe,ab as Oe,ac as me}from"./index-BouKSS43.js";const Re=ne({__name:"QueueSendReceivePanel",props:{queue:{}},emits:["refresh"],setup(P,{emit:G}){const{t:l}=re(),k=P,j=G,$=de(),F=b(""),O=b(0),f=b("default"),S=b(""),z=b([]),M=b(!1),N=b(null),T=b(null),R=b(10),V=b(0),J=b(0),y=b([]),U=b(!1),r=b(null),g=b({}),p=b(!1),K=b(!1),Q=b(null),fe=[{value:"String",label:"String"},{value:"Number",label:"Number"},{value:"Binary",label:"Binary"}],B=W(()=>k.queue.fifo),ce=W(()=>[{key:"preview",label:l("queues.colBodyPreview")},{key:"messageId",label:l("queues.colMessageId")},{key:"sentAt",label:l("queues.colSentAt")},{key:"attrs",label:l("queues.colAttrs"),align:"right"},{key:"actions",label:"",align:"right"}]),ve=W(()=>y.value.map((o,n)=>{var s;return{__id:n,__key:o.messageId||`row-${n}`,__raw:o,messageId:o.messageId||"—",preview:ge(o.body),sentAt:pe((s=o.attributes)==null?void 0:s.SentTimestamp),attrs:o.messageAttributes?Object.keys(o.messageAttributes).length:0}}));function ge(o){if(!o)return"—";const n=o.replace(/\s+/g," ").trim();return n.length>80?`${n.slice(0,80)}…`:n}function pe(o){if(!o)return"—";const n=Number(o);return n?new Date(n).toLocaleString():"—"}function be(){z.value.push({name:"",type:"String",value:""})}function _e(o){z.value.splice(o,1)}function ye(o){if(!o)return"";const n=o.trim();if(!(n.startsWith("{")||n.startsWith("[")))return o;try{return JSON.stringify(JSON.parse(n),null,2)}catch{return o}}function qe(o){Q.value=Q.value===o?null:o}async function he(){if(!F.value.trim()){N.value=l("queues.bodyRequired");return}M.value=!0,N.value=null;try{const o=z.value.filter(s=>s.name.trim()),n=await E.sendQueueMessage(k.queue.name,{body:F.value,delaySeconds:B.value?void 0:O.value||void 0,messageAttributes:o.length?o:void 0,messageGroupId:B.value?f.value||"default":void 0,messageDeduplicationId:B.value&&S.value?S.value:void 0});T.value={messageId:n.messageId,sequenceNumber:n.sequenceNumber},$.add({title:l("queues.messageSent"),description:n.messageId,variant:"success"}),j("refresh")}catch(o){N.value=o.message||l("queues.sendFailed")}finally{M.value=!1}}async function we(){U.value=!0,r.value=null;try{const o=await E.receiveQueueMessages(k.queue.name,{maxNumberOfMessages:R.value,visibilityTimeout:J.value,waitTimeSeconds:V.value});y.value=o.messages,Q.value=null,o.messages.length||$.add({title:l("queues.noMessagesAvailable"),description:l("queues.noMessagesAvailableDescription"),variant:"info"}),j("refresh")}catch(o){r.value=o.message||l("queues.pollFailed")}finally{U.value=!1}}async function ke(o){if(!(!o.receiptHandle||!o.messageId)){g.value[o.messageId]=!0;try{await E.deleteQueueMessage(k.queue.name,o.receiptHandle),y.value=y.value.filter(n=>n.messageId!==o.messageId),Q.value===o.messageId&&(Q.value=null),$.add({title:l("queues.messageDeleted"),variant:"success"}),j("refresh")}catch(n){$.add({title:l("queues.deleteFailed"),description:n.message,variant:"danger"})}finally{delete g.value[o.messageId]}}}async function $e(){K.value=!0;try{await E.purgeQueue(k.queue.name),y.value=[],$.add({title:l("queues.queuePurged"),description:l("queues.queuePurgedDescription"),variant:"warning"}),j("refresh")}catch(o){$.add({title:l("queues.purgeFailed"),description:o.message,variant:"danger"})}finally{K.value=!1,p.value=!1}}function ze(o){var n;(n=navigator.clipboard)==null||n.writeText(o).then(()=>{$.add({title:l("queues.copiedToClipboard"),variant:"info"})})}return(o,n)=>(d(),c(e(m),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(D),{variant:"outline"},{header:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.sendMessageTitle")),1)]),_:1}),B.value?(d(),c(e(A),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...n[13]||(n[13]=[i("FIFO",-1)])]),_:1})):q("",!0)]),_:1})]),footer:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(w),{variant:"solid",loading:M.value,onClick:he},{default:a(()=>[i(u(e(l)("queues.sendMessage")),1)]),_:1},8,["loading"]),t(e(w),{variant:"ghost",disabled:M.value,onClick:n[4]||(n[4]=s=>F.value="")},{default:a(()=>[i(u(e(l)("queues.clear")),1)]),_:1},8,["disabled"])]),_:1}),T.value?(d(),c(e(v),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[i(u(e(l)("queues.lastSent"))+" "+u(T.value.messageId)+" ",1),T.value.sequenceNumber?(d(),L(H,{key:0},[i(" · seq "+u(T.value.sequenceNumber),1)],64)):q("",!0)]),_:1})):q("",!0)]),_:1})]),default:a(()=>[t(e(m),{direction:"vertical",gap:"0.75rem"},{default:a(()=>[t(e(I),{label:e(l)("queues.messageBody"),hint:e(l)("queues.messageBodyHint")},{default:a(()=>[t(e(Ve),{modelValue:F.value,"onUpdate:modelValue":n[0]||(n[0]=s=>F.value=s),rows:6,placeholder:'{"event": "order.created", "orderId": "abc-123"}'},null,8,["modelValue"])]),_:1},8,["label","hint"]),t(e(m),{direction:"horizontal",gap:"1rem"},{default:a(()=>[B.value?q("",!0):(d(),c(e(C),{key:0,grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("queues.delayLabel"),hint:"0–900"},{default:a(()=>[t(e(x),{modelValue:O.value,"onUpdate:modelValue":n[1]||(n[1]=s=>O.value=s),modelModifiers:{number:!0},type:"number",min:"0",max:"900"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})),B.value?(d(),c(e(C),{key:1,grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:"MessageGroupId",hint:e(l)("queues.groupIdHint")},{default:a(()=>[t(e(x),{modelValue:f.value,"onUpdate:modelValue":n[2]||(n[2]=s=>f.value=s),placeholder:"default"},null,8,["modelValue"])]),_:1},8,["hint"])]),_:1})):q("",!0),B.value?(d(),c(e(C),{key:2,grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:"MessageDeduplicationId",hint:e(l)("queues.dedupIdHint")},{default:a(()=>[t(e(x),{modelValue:S.value,"onUpdate:modelValue":n[3]||(n[3]=s=>S.value=s),placeholder:"auto"},null,8,["modelValue"])]),_:1},8,["hint"])]),_:1})):q("",!0)]),_:1}),t(e(m),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(m),{direction:"horizontal",justify:"space-between",align:"center"},{default:a(()=>[t(e(v),{weight:"semibold",size:"sm"},{default:a(()=>[i(u(e(l)("queues.messageAttributesOptional")),1)]),_:1}),t(e(w),{size:"sm",variant:"outline",onClick:be},{default:a(()=>[i(u(e(l)("queues.addAttribute")),1)]),_:1})]),_:1}),(d(!0),L(H,null,Z(z.value,(s,h)=>(d(),c(e(m),{key:`a-${h}`,direction:"horizontal",gap:"0.5rem",align:"end"},{default:a(()=>[t(e(C),{grow:1.4,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("common.name")},{default:a(()=>[t(e(x),{modelValue:s.name,"onUpdate:modelValue":_=>s.name=_,placeholder:"contentType"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:2},1024),t(e(C),{grow:.9,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("common.type")},{default:a(()=>[t(e(Ie),{modelValue:s.type,"onUpdate:modelValue":_=>s.type=_,options:fe},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:2},1024),t(e(C),{grow:2,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("queues.value")},{default:a(()=>[t(e(x),{modelValue:s.value,"onUpdate:modelValue":_=>s.value=_,placeholder:"application/json"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:2},1024),t(e(w),{size:"sm",variant:"outline",onClick:_=>_e(h)},{default:a(()=>[i(u(e(l)("queues.remove")),1)]),_:1},8,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),N.value?(d(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:n[5]||(n[5]=s=>N.value=null)},{default:a(()=>[i(u(N.value),1)]),_:1})):q("",!0),t(e(D),{variant:"outline"},{header:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.pollTitle")),1)]),_:1}),t(e(A),{tone:"warning",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.visibilityNotice")),1)]),_:1})]),_:1})]),footer:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem"},{default:a(()=>[t(e(w),{variant:"solid",loading:U.value,onClick:we},{default:a(()=>[i(u(e(l)("queues.pollMessages")),1)]),_:1},8,["loading"]),t(e(w),{variant:"ghost",disabled:!y.value.length,onClick:n[9]||(n[9]=s=>y.value=[])},{default:a(()=>[i(u(e(l)("queues.clearResults")),1)]),_:1},8,["disabled"])]),_:1}),t(e(w),{size:"sm",variant:"solid",tone:"danger",onClick:n[10]||(n[10]=s=>p.value=!0)},{default:a(()=>[i(u(e(l)("queues.purgeQueue")),1)]),_:1})]),_:1})]),default:a(()=>[t(e(m),{direction:"horizontal",gap:"1rem"},{default:a(()=>[t(e(C),{grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("queues.maxMessages"),hint:"1–10"},{default:a(()=>[t(e(x),{modelValue:R.value,"onUpdate:modelValue":n[6]||(n[6]=s=>R.value=s),modelModifiers:{number:!0},type:"number",min:"1",max:"10"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1}),t(e(C),{grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("queues.visibilityTimeoutSeconds"),hint:e(l)("queues.visibilityTimeoutHint")},{default:a(()=>[t(e(x),{modelValue:J.value,"onUpdate:modelValue":n[7]||(n[7]=s=>J.value=s),modelModifiers:{number:!0},type:"number",min:"0"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1}),t(e(C),{grow:1,basis:"0"},{default:a(()=>[t(e(I),{label:e(l)("queues.waitTime"),hint:e(l)("queues.waitTimeHint")},{default:a(()=>[t(e(x),{modelValue:V.value,"onUpdate:modelValue":n[8]||(n[8]=s=>V.value=s),modelModifiers:{number:!0},type:"number",min:"0",max:"20"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1})]),_:1})]),_:1}),r.value?(d(),c(e(ue),{key:1,variant:"danger",dismissible:"",onDismiss:n[11]||(n[11]=s=>r.value=null)},{default:a(()=>[i(u(r.value),1)]),_:1})):q("",!0),t(e(D),{variant:"outline"},{header:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.receivedMessages",{count:y.value.length})),1)]),_:1}),t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(l)("queues.clickRowHint")),1)]),_:1})]),_:1})]),default:a(()=>[U.value&&!y.value.length?(d(),c(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(ie),{label:e(l)("queues.polling")},null,8,["label"])]),_:1})):y.value.length?(d(),c(e(Se),{key:2,columns:ce.value,rows:ve.value,"row-key":"__key","expanded-row":Q.value,"aria-label":e(l)("queues.receivedMessagesAria")},{"cell-preview":a(({row:s,expanded:h,detailId:_})=>[t(e(Me),{href:"#",underline:"none","aria-expanded":h?"true":"false","aria-controls":_,onClick:Ne(Le=>qe(String(s.__key)),["prevent"])},{default:a(()=>[t(e(v),{family:"mono",size:"sm"},{default:a(()=>[t(e(ee),{name:h?"chevron-down":"chevron-right"},null,8,["name"]),i(" "+u(s.preview),1)]),_:2},1024)]),_:2},1032,["aria-expanded","aria-controls","onClick"])]),"cell-messageId":a(({row:s})=>[t(e(v),{family:"mono",size:"xs"},{default:a(()=>[i(u(s.messageId),1)]),_:2},1024)]),"cell-sentAt":a(({row:s})=>[t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(s.sentAt),1)]),_:2},1024)]),"cell-attrs":a(({row:s})=>[Number(s.attrs)>0?(d(),c(e(A),{key:0,tone:"info",variant:"soft"},{default:a(()=>[i(u(s.attrs),1)]),_:2},1024)):(d(),c(e(v),{key:1,tone:"muted",size:"xs"},{default:a(()=>[...n[14]||(n[14]=[i("—",-1)])]),_:1}))]),"cell-actions":a(({row:s})=>[t(e(m),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:a(()=>[t(e(w),{size:"sm",variant:"ghost",onClick:h=>ze(String(s.__raw.body||""))},{default:a(()=>[i(u(e(l)("common.copy")),1)]),_:1},8,["onClick"]),t(e(w),{size:"sm",variant:"solid",tone:"danger",loading:g.value[String(s.messageId)],onClick:h=>ke(s.__raw)},{default:a(()=>[i(u(e(l)("common.delete")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)]),detail:a(({row:s})=>[t(e(m),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:a(()=>[t(e(A),{tone:"neutral",variant:"soft"},{default:a(()=>[i("id: "+u(s.__raw.messageId),1)]),_:2},1024),s.__raw.md5OfBody?(d(),c(e(A),{key:0,tone:"neutral",variant:"soft"},{default:a(()=>[i(" md5: "+u(s.__raw.md5OfBody.slice(0,12))+"… ",1)]),_:2},1024)):q("",!0),(d(!0),L(H,null,Z(s.__raw.attributes||{},(h,_)=>(d(),c(e(A),{key:_,tone:"info",variant:"soft"},{default:a(()=>[i(u(_)+": "+u(h),1)]),_:2},1024))),128))]),_:2},1024),s.__raw.messageAttributes&&Object.keys(s.__raw.messageAttributes).length?(d(),c(e(m),{key:0,direction:"vertical",gap:"0.375rem"},{default:a(()=>[t(e(v),{weight:"semibold",size:"sm"},{default:a(()=>[i(u(e(l)("queues.messageAttributes")),1)]),_:1}),t(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(d(!0),L(H,null,Z(s.__raw.messageAttributes,(h,_)=>(d(),c(e(A),{key:`ma-${_}`,tone:"success",variant:"soft"},{default:a(()=>[i(u(_)+" ("+u(h.type||"String")+"): "+u(h.value),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)):q("",!0),t(e(Ce)),t(e(Ae),{code:ye(s.__raw.body),label:e(l)("queues.messageBody"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])]),_:2},1024)]),_:1},8,["columns","rows","expanded-row","aria-label"])):(d(),c(e(oe),{key:1,title:e(l)("queues.noMessagesLoaded"),description:e(l)("queues.noMessagesLoadedDescription")},null,8,["title","description"]))]),_:1}),t(e(Te),{open:p.value,"onUpdate:open":n[12]||(n[12]=s=>p.value=s),title:e(l)("queues.purgeQueue"),description:e(l)("queues.purgeConfirmDescription",{queue:k.queue.name}),"confirm-label":e(l)("queues.purgeConfirmLabel"),"cancel-label":e(l)("common.cancel"),loading:K.value,onConfirm:$e},null,8,["open","title","description","confirm-label","cancel-label","loading"])]),_:1}))}}),Qe=ne({__name:"QueueDetail",props:{queueName:{}},emits:["back"],setup(P,{emit:G}){const{t:l}=re(),k=P,j=G,$=Oe(),F=me(),O=de(),f=b(null),S=b(!0),z=b(null);let M=null;const N=["send-receive","consumers","attributes"],T=W({get(){const r=String($.query.tab||"");return N.includes(r)?r:"send-receive"},set(r){F.replace({query:{...$.query,tab:r==="send-receive"?void 0:r}})}}),R=W(()=>{const r=f.value;if(!r)return 0;const g=r.available+r.inFlight+r.processed;return g?Math.round(r.processed/g*100):0});async function V(r=!0){r&&(S.value=!0);try{f.value=await E.getQueue(k.queueName),z.value=null}catch(g){z.value=g.message||l("queues.loadDetailError"),f.value=null}finally{S.value=!1}}async function J(){if(f.value)try{await E.resetQueueProcessed(f.value.name),O.add({title:l("queues.processedCounterReset"),variant:"info"}),await V(!1)}catch(r){O.add({title:l("queues.resetCounterFailed"),description:r.message,variant:"danger"})}}function y(r){return r===void 0?"—":r<60?`${r}s`:r<3600?`${Math.round(r/60)}m`:r<86400?`${Math.round(r/3600)}h`:`${Math.round(r/86400)}d`}function U(r){return r?new Date(r).toLocaleString():"—"}return xe(()=>{V(),M=window.setInterval(()=>V(!1),4e3)}),De(()=>{M&&window.clearInterval(M)}),je(()=>k.queueName,()=>V()),(r,g)=>(d(),c(e(m),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>{var p;return[t(e(w),{size:"sm",variant:"ghost",onClick:g[0]||(g[0]=K=>j("back"))},{default:a(()=>[t(e(ee),{name:"arrow-left"}),i(" "+u(e(l)("queues.backToQueues")),1)]),_:1}),t(e(ee),{name:"aws-sqs"}),t(e(v),{weight:"semibold",size:"lg"},{default:a(()=>[i(u(P.queueName),1)]),_:1}),(p=f.value)!=null&&p.fifo?(d(),c(e(A),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...g[5]||(g[5]=[i("FIFO",-1)])]),_:1})):q("",!0)]}),_:1}),t(e(w),{size:"sm",variant:"ghost",loading:S.value,onClick:g[1]||(g[1]=p=>V())},{default:a(()=>[i(u(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),z.value?(d(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:g[2]||(g[2]=p=>z.value=null)},{default:a(()=>[i(u(z.value),1)]),_:1})):q("",!0),S.value&&!f.value?(d(),c(e(m),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(ie),{label:e(l)("queues.loadingDetail")},null,8,["label"])]),_:1})):f.value?(d(),L(H,{key:2},[t(e(Fe),{columns:4,gap:"0.75rem"},{default:a(()=>[t(e(X),{label:e(l)("queues.colAvailable"),value:f.value.available,tone:"warning"},null,8,["label","value"]),t(e(X),{label:e(l)("queues.colInFlight"),value:f.value.inFlight,tone:"info"},null,8,["label","value"]),t(e(X),{label:e(l)("queues.statDelayed"),value:f.value.delayed,tone:"neutral"},null,8,["label","value"]),t(e(X),{label:e(l)("queues.statProcessedSession"),value:f.value.processed,tone:"success"},null,8,["label","value"])]),_:1}),t(e(Pe),{modelValue:T.value,"onUpdate:modelValue":g[4]||(g[4]=p=>T.value=p)},{default:a(()=>[t(e(Ue),null,{default:a(()=>[t(e(ae),{value:"send-receive"},{default:a(()=>[i(u(e(l)("queues.tabSendReceive")),1)]),_:1}),t(e(ae),{value:"consumers"},{default:a(()=>[i(u(e(l)("queues.tabConsumers")),1)]),_:1}),t(e(ae),{value:"attributes"},{default:a(()=>[i(u(e(l)("queues.tabAttributes")),1)]),_:1})]),_:1}),t(e(te),{value:"send-receive"},{default:a(()=>[t(Re,{queue:f.value,onRefresh:g[3]||(g[3]=p=>V(!1))},null,8,["queue"])]),_:1}),t(e(te),{value:"consumers"},{default:a(()=>[t(e(D),{variant:"outline"},{header:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(ee),{name:"aws-lambda"}),t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.eventSourceMappings")),1)]),_:1})]),_:1})]),default:a(()=>[f.value.consumers.length?(d(),c(e(m),{key:0,direction:"vertical",gap:"0.5rem"},{default:a(()=>[(d(!0),L(H,null,Z(f.value.consumers,p=>(d(),c(e(D),{key:p.uuid||p.functionName,variant:"soft"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[t(e(v),{family:"mono"},{default:a(()=>[i(u(p.functionName),1)]),_:2},1024),t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(l)("queues.consumerMeta",{uuid:p.uuid||"—",batchSize:p.batchSize??"—"})),1)]),_:2},1024)]),_:2},1024),t(e(A),{tone:p.enabled?"success":"neutral",variant:"soft"},{default:a(()=>[i(u(p.state||(p.enabled?e(l)("queues.enabled"):e(l)("queues.disabled"))),1)]),_:2},1032,["tone"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),c(e(oe),{key:1,title:e(l)("queues.noConsumersTitle"),description:e(l)("queues.noConsumersDescription")},null,8,["title","description"]))]),_:1})]),_:1}),t(e(te),{value:"attributes"},{default:a(()=>[t(e(m),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(D),{variant:"outline"},{header:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.identity")),1)]),_:1})]),default:a(()=>[t(e(se),null,{default:a(()=>[t(e(le),{label:e(l)("queues.queueUrl")},{default:a(()=>[t(e(v),{family:"mono",size:"sm"},{default:a(()=>[i(u(f.value.url),1)]),_:1})]),_:1},8,["label"]),t(e(le),{label:"ARN"},{default:a(()=>[t(e(v),{family:"mono",size:"sm"},{default:a(()=>[i(u(f.value.arn||"—"),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(e(D),{variant:"outline"},{header:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.configuration")),1)]),_:1})]),footer:a(()=>[t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(l)("queues.createdPolled",{created:U(f.value.createdAt),polled:U(f.value.lastPolledAt)})),1)]),_:1})]),default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:a(()=>[t(e(Y),{size:"sm",variant:"soft"},{default:a(()=>[i(" FIFO: "+u(f.value.fifo?e(l)("common.yes"):e(l)("common.no")),1)]),_:1}),t(e(Y),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.visibilityTimeout"))+": "+u(y(f.value.visibilityTimeout)),1)]),_:1}),t(e(Y),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.retention"))+": "+u(y(f.value.messageRetentionPeriod)),1)]),_:1}),t(e(Y),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.delayed"))+": "+u(f.value.delayed),1)]),_:1})]),_:1})]),_:1}),t(e(D),{variant:"outline"},{header:a(()=>[t(e(v),{weight:"semibold"},{default:a(()=>[i(u(e(l)("queues.throughput")),1)]),_:1})]),footer:a(()=>[t(e(m),{direction:"horizontal",justify:"flex-end"},{default:a(()=>[t(e(w),{size:"sm",variant:"ghost",onClick:J},{default:a(()=>[i(u(e(l)("queues.resetProcessed")),1)]),_:1})]),_:1})]),default:a(()=>[t(e(m),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(se),null,{default:a(()=>[t(e(le),{label:e(l)("queues.processedShare")},{default:a(()=>[t(e(v),{family:"mono"},{default:a(()=>[i(u(R.value)+"%",1)]),_:1})]),_:1},8,["label"])]),_:1}),t(e(Be),{value:R.value},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)):q("",!0)]),_:1}))}}),Ee=ne({__name:"QueueDetailPage",props:{queueName:{}},setup(P){const G=me();function l(){G.push("/queues")}return(k,j)=>(d(),c(Qe,{"queue-name":P.queueName,onBack:l},null,8,["queue-name"]))}});export{Ee as default};
@@ -0,0 +1 @@
1
+ import{l as N,n as R,o as S,p as r,f as c,a9 as e,x as v,ae as a,k as n,A as T,B as _,N as A,j as u,a8 as i,g as P,v as j,y as U,R as V,z as k,S as D,G as b,L as G,h as M,F as O,t as H,C as z,T as C,w as h,aa as J,q as y,d as $,a as I}from"./index-BouKSS43.js";import{E as K}from"./engine-D0mFFNbL.js";const W=N({__name:"QueuesView",setup(x){const{t:l}=J(),d=y([]),w=y({}),f=y(!0),g=y(null);let q=null;const B=$(()=>[{key:"name",label:l("queues.colQueue")},{key:"service",label:l("common.service")},{key:"available",label:l("queues.colAvailable"),align:"right"},{key:"inFlight",label:l("queues.colInFlight"),align:"right"},{key:"processed",label:l("queues.colProcessed"),align:"right"},{key:"consumers",label:l("queues.colConsumers")},{key:"actions",label:"",align:"right"}]),L=$(()=>d.value.map(s=>({...s,consumersCount:s.consumers.length,service:w.value[s.name]||""}))),p=$(()=>({queues:d.value.length,available:d.value.reduce((s,o)=>s+o.available,0),inFlight:d.value.reduce((s,o)=>s+o.inFlight,0),processed:d.value.reduce((s,o)=>s+o.processed,0)}));async function F(){try{const[s,o]=await Promise.all([I.listQueues(),I.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);d.value=s;const t={};for(const m of o.queues)t[m.name]=m.service;w.value=t,g.value=null}catch(s){g.value=s.message||l("queues.loadListError")}finally{f.value=!1}}function Q(s){return s.available>0?"warning":s.inFlight>0?"info":s.consumers.some(o=>o.enabled)?"success":"neutral"}function E(s){return s.available>0?l("queues.activityBacklog"):s.inFlight>0?l("queues.activityProcessing"):s.consumers.length?l("queues.activityIdle"):l("queues.noConsumers")}return R(()=>{F(),q=window.setInterval(F,4e3)}),S(()=>{q&&window.clearInterval(q)}),(s,o)=>(r(),c(e(v),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[n(e(T),{columns:4,gap:"1rem"},{default:a(()=>[n(e(_),{label:e(l)("queues.statQueues"),value:p.value.queues,tone:"info",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statAvailable"),value:p.value.available,tone:"warning",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statInFlight"),value:p.value.inFlight,tone:"info",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statProcessed"),value:p.value.processed,tone:"success",loading:f.value},null,8,["label","value","loading"])]),_:1}),g.value?(r(),c(e(A),{key:0,variant:"danger",dismissible:"",onDismiss:o[0]||(o[0]=t=>g.value=null)},{default:a(()=>[u(i(g.value),1)]),_:1})):P("",!0),n(e(j),{variant:"outline"},{header:a(()=>[n(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[n(e(v),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[n(e(k),{name:"aws-sqs"}),n(e(h),{weight:"semibold"},{default:a(()=>[u(i(e(l)("queues.cardTitle")),1)]),_:1})]),_:1}),n(e(h),{tone:"muted"},{default:a(()=>[u(i(e(l)("queues.liveRefresh")),1)]),_:1})]),_:1})]),default:a(()=>[f.value?(r(),c(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[n(e(U),{label:e(l)("queues.loadingList")},null,8,["label"])]),_:1})):d.value.length?(r(),c(e(D),{key:2,columns:B.value,rows:L.value,"aria-label":e(l)("queues.tableAria")},{"cell-name":a(({row:t})=>[n(e(v),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[n(e(C),{to:`/queues/${encodeURIComponent(String(t.name))}`,weight:"semibold"},{default:a(()=>[u(i(t.name),1)]),_:2},1032,["to"]),n(e(h),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[u(i(String(t.arn||t.url||"")),1)]),_:2},1024)]),_:2},1024)]),"cell-service":a(({row:t})=>[t.service?(r(),c(e(C),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,underline:"none"},{default:a(()=>[n(e(z),{size:"sm",variant:"soft"},{default:a(()=>[u(i(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(r(),c(e(h),{key:1,tone:"muted",size:"xs"},{default:a(()=>[u(i(e(l)("queues.unmanaged")),1)]),_:1}))]),"cell-available":a(({row:t})=>[n(e(b),{tone:Number(t.available)>0?"warning":"neutral",variant:"soft"},{default:a(()=>[u(i(t.available),1)]),_:2},1032,["tone"])]),"cell-inFlight":a(({row:t})=>[n(e(b),{tone:Number(t.inFlight)>0?"info":"neutral",variant:"soft"},{default:a(()=>[u(i(t.inFlight),1)]),_:2},1032,["tone"])]),"cell-processed":a(({row:t})=>[n(e(b),{tone:"success",variant:"soft"},{default:a(()=>[u(i(t.processed),1)]),_:2},1024)]),"cell-consumers":a(({row:t})=>[n(e(v),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[t.consumers.length?(r(!0),M(O,{key:0},H(t.consumers,m=>(r(),c(e(z),{key:m.uuid||m.functionName,size:"sm",variant:m.enabled?"solid":"outline"},{icon:a(()=>[n(e(k),{name:"aws-lambda"})]),default:a(()=>[u(" "+i(m.functionName),1)]),_:2},1032,["variant"]))),128)):(r(),c(e(b),{key:1,tone:"neutral",variant:"soft"},{default:a(()=>[u(i(e(l)("queues.noConsumers")),1)]),_:1}))]),_:2},1024)]),"cell-actions":a(({row:t})=>[n(e(v),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[n(e(b),{tone:Q(t),variant:"solid"},{default:a(()=>[u(i(E(t)),1)]),_:2},1032,["tone"]),n(e(G),{size:"sm",variant:"ghost",to:`/queues/${encodeURIComponent(String(t.name))}`},{default:a(()=>[u(i(e(l)("queues.open")),1)]),_:1},8,["to"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(r(),c(e(V),{key:1,title:e(l)("queues.emptyTitle"),description:e(l)("queues.emptyDescription",{engine:e(K)})},{icon:a(()=>[n(e(k),{name:"aws-sqs"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),Z=N({__name:"QueuesPage",setup(x){return(l,d)=>(r(),c(W))}});export{Z as default};
@@ -0,0 +1 @@
1
+ import{l as E,n as X,o as Y,p as c,f as u,a9 as e,x as d,ae as a,k as s,A as Z,B as j,N as ee,j as i,a8 as o,g as p,v as ae,y as I,R as U,z as x,S as M,L as B,w as f,C as q,G as A,a3 as te,P as le,U as se,e as P,h as ne,F as re,t as ie,V as oe,aa as ce,q as v,d as h,a as D,c as ue}from"./index-BouKSS43.js";const de=E({__name:"SecretsList",setup(O){const y=ue(),{t}=ce(),w=v([]),k=v(!0),b=v(null),C=v("");let z=null;const S=v(!1),_=v(null),m=v(null),$=v(!1),g=v(null),L=v(!1),G=h(()=>[{key:"name",label:t("secrets.columnSecret")},{key:"description",label:t("secrets.columnDescription")},{key:"versions",label:t("secrets.columnVersions"),align:"right"},{key:"lastChanged",label:t("secrets.columnLastChanged")},{key:"actions",label:"",align:"right"}]),V=h(()=>w.value.map(l=>({...l,versions:l.versionCount,lastChanged:l.lastChangedDate?new Date(l.lastChangedDate).toLocaleString():"—",scheduledDeletion:!!l.deletedDate})).sort((l,r)=>l.name.localeCompare(r.name))),T=h(()=>{const l=C.value.trim().toLowerCase();return l?V.value.filter(r=>r.name.toLowerCase().includes(l)||(r.description||"").toLowerCase().includes(l)):V.value}),F=h(()=>({secrets:w.value.length,versions:w.value.reduce((l,r)=>l+r.versionCount,0)})),H=h(()=>{var l;return Object.entries(((l=m.value)==null?void 0:l.versionStages)??{}).map(([r,n])=>({versionId:r,stages:n.join(", "),current:n.includes("AWSCURRENT")}))});async function N(){try{const l=await D.listSecrets();w.value=l.secrets,b.value=null}catch(l){b.value=l.message||t("secrets.loadFailed")}finally{k.value=!1}}async function R(l){_.value=l,S.value=!0,m.value=null,g.value=null,$.value=!0;try{m.value=await D.describeSecret(l)}catch(r){y.add({title:t("secrets.detailFailed"),description:r.message,variant:"danger"})}finally{$.value=!1}}function W(l){R(String(l.name))}function J(l){return t("secrets.openSecretLabel",{name:String(l.name)})}async function K(){if(_.value){L.value=!0;try{g.value=await D.getSecretValue(_.value)}catch(l){y.add({title:t("secrets.revealFailed"),description:l.message,variant:"danger"})}finally{L.value=!1}}}async function Q(){var r,n;const l=((r=g.value)==null?void 0:r.secretString)??((n=g.value)==null?void 0:n.secretBinary);if(l)try{await navigator.clipboard.writeText(l),y.add({title:t("secrets.copiedToClipboard"),variant:"success"})}catch{y.add({title:t("secrets.copyFailed"),variant:"danger"})}}return X(()=>{N(),z=window.setInterval(N,15e3)}),Y(()=>{z&&window.clearInterval(z)}),(l,r)=>(c(),u(e(d),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[s(e(Z),{columns:2,gap:"1rem"},{default:a(()=>[s(e(j),{label:e(t)("secrets.statSecrets"),value:F.value.secrets,tone:"info",loading:k.value},null,8,["label","value","loading"]),s(e(j),{label:e(t)("secrets.statVersions"),value:F.value.versions,tone:"success",loading:k.value},null,8,["label","value","loading"])]),_:1}),b.value?(c(),u(e(ee),{key:0,variant:"danger",dismissible:"",onDismiss:r[0]||(r[0]=n=>b.value=null)},{default:a(()=>[i(o(b.value),1)]),_:1})):p("",!0),s(e(ae),{variant:"outline"},{header:a(()=>[s(e(d),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:a(()=>[s(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(x),{name:"aws-secrets-manager"}),s(e(f),{weight:"semibold"},{default:a(()=>[...r[3]||(r[3]=[i("Secrets Manager",-1)])]),_:1})]),_:1}),s(e(d),{direction:"horizontal",align:"center",gap:"1rem"},{default:a(()=>[s(e(te),{"min-width":"16rem"},{default:a(()=>[s(e(le),{modelValue:C.value,"onUpdate:modelValue":r[1]||(r[1]=n=>C.value=n),placeholder:e(t)("secrets.filterPlaceholder"),"aria-label":e(t)("secrets.filterLabel")},null,8,["modelValue","placeholder","aria-label"])]),_:1}),s(e(f),{tone:"muted",size:"xs"},{default:a(()=>[i(o(e(t)("secrets.autoRefresh")),1)]),_:1})]),_:1})]),_:1})]),default:a(()=>[k.value?(c(),u(e(d),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[s(e(I),{label:e(t)("secrets.loadingList")},null,8,["label"])]),_:1})):V.value.length?T.value.length?(c(),u(e(M),{key:3,columns:G.value,rows:T.value,"row-key":"name","row-activatable":"","row-label":J,"aria-label":e(t)("secrets.tableLabel"),onRowActivate:W},{"cell-name":a(({row:n})=>[s(e(d),{direction:"horizontal",align:"center",gap:"0.5rem"},{default:a(()=>[s(e(f),{weight:"semibold"},{default:a(()=>[i(o(n.name),1)]),_:2},1024),n.scheduledDeletion?(c(),u(e(A),{key:0,tone:"warning",variant:"soft"},{default:a(()=>[i(o(e(t)("secrets.deletionScheduled")),1)]),_:1})):p("",!0)]),_:2},1024)]),"cell-description":a(({row:n})=>[s(e(f),{tone:"muted",size:"sm"},{default:a(()=>[i(o(n.description||"—"),1)]),_:2},1024)]),"cell-versions":a(({row:n})=>[s(e(q),{size:"sm",variant:"soft"},{default:a(()=>[i(o(n.versions),1)]),_:2},1024)]),"cell-lastChanged":a(({row:n})=>[s(e(f),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[i(o(n.lastChanged),1)]),_:2},1024)]),"cell-actions":a(({row:n})=>[s(e(B),{size:"sm",variant:"soft",onClick:ve=>R(String(n.name))},{default:a(()=>[i(o(e(t)("secrets.inspect")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(c(),u(e(U),{key:2,title:e(t)("secrets.noMatchTitle"),description:e(t)("secrets.noMatchBody",{query:C.value})},{icon:a(()=>[s(e(x),{name:"search-x"})]),_:1},8,["title","description"])):(c(),u(e(U),{key:1,title:e(t)("secrets.emptyTitle"),description:e(t)("secrets.emptyBody")},{icon:a(()=>[s(e(x),{name:"aws-secrets-manager"})]),_:1},8,["title","description"]))]),_:1}),s(e(se),{open:S.value,"onUpdate:open":r[2]||(r[2]=n=>S.value=n),title:_.value?e(t)("secrets.detailTitle",{name:_.value}):e(t)("secrets.detailTitleFallback"),size:"lg"},{default:a(()=>[$.value?(c(),u(e(d),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[s(e(I),{label:e(t)("secrets.loadingDetail")},null,8,["label"])]),_:1})):m.value?(c(),u(e(d),{key:1,direction:"vertical",gap:"1rem"},{default:a(()=>[s(e(d),{direction:"vertical",gap:"0.35rem"},{default:a(()=>[s(e(f),{tone:"muted",family:"mono",size:"xs",wrap:"anywhere"},{default:a(()=>[i(o(m.value.arn),1)]),_:1}),m.value.description?(c(),u(e(f),{key:0},{default:a(()=>[i(o(m.value.description),1)]),_:1})):p("",!0)]),_:1}),P("div",null,[s(e(f),{weight:"semibold",size:"sm"},{default:a(()=>[i(o(e(t)("secrets.versionsHeading")),1)]),_:1}),s(e(M),{columns:[{key:"versionId",label:e(t)("secrets.columnVersion")},{key:"stages",label:e(t)("secrets.columnStagingLabels")}],rows:H.value,"aria-label":e(t)("secrets.versionsTableLabel")},{"cell-versionId":a(({row:n})=>[s(e(f),{family:"mono",size:"xs"},{default:a(()=>[i(o(n.versionId),1)]),_:2},1024)]),"cell-stages":a(({row:n})=>[s(e(A),{tone:n.current?"success":"neutral",variant:"soft"},{default:a(()=>[i(o(n.stages),1)]),_:2},1032,["tone"])]),_:1},8,["columns","rows","aria-label"])]),m.value.tags.length?(c(),u(e(d),{key:0,direction:"horizontal",gap:"0.5rem",wrap:""},{default:a(()=>[(c(!0),ne(re,null,ie(m.value.tags,n=>(c(),u(e(q),{key:n.key,size:"sm",variant:"soft"},{default:a(()=>[i(o(n.key)+"="+o(n.value),1)]),_:2},1024))),128))]),_:1})):p("",!0),P("div",null,[s(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(B),{size:"sm",variant:"solid",loading:L.value,"loading-label":e(t)("common.loading"),onClick:K},{default:a(()=>[i(o(g.value?e(t)("secrets.refreshValue"):e(t)("secrets.revealValue")),1)]),_:1},8,["loading","loading-label"]),g.value?(c(),u(e(B),{key:0,size:"sm",variant:"ghost",onClick:Q},{default:a(()=>[i(o(e(t)("common.copy")),1)]),_:1})):p("",!0)]),_:1}),g.value?(c(),u(e(oe),{key:0,code:g.value.secretString??e(t)("secrets.binaryValue",{value:g.value.secretBinary??""}),label:e(t)("secrets.valueLabel"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])):p("",!0)])]),_:1})):p("",!0)]),_:1},8,["open","title"])]),_:1}))}}),ge=E({__name:"SecretsPage",setup(O){return(y,t)=>(c(),u(de))}});export{ge as default};
@@ -0,0 +1,2 @@
1
+ import{b as Ye,l as Re,ad as me,o as De,p as f,f as _,a9 as e,v as ge,ae as t,k as n,x as m,w as N,j as u,a8 as i,N as he,g as R,h as O,F as B,t as V,y as Me,R as Ie,Q as Fe,X as Oe,Y as Be,Z as ze,_ as $e,e as pe,C as j,z as I,G as U,S as We,ac as Ae,aa as Pe,q as K,u as qe,d as J,a as ee,n as Ge,L as Z,B as ne,A as Ve,I as je,J as re,T as ue,V as He,U as Qe,W as xe,c as Ze}from"./index-BouKSS43.js";import{g as se,r as F}from"./resourceIcons-DZs28nbs.js";import{E as Je}from"./engine-D0mFFNbL.js";const de=208,le=48,Te=96,ce=18,fe=24,Se=["route","eventbus","event-rule","sqs","sns","s3","lambda","iam-role","dynamodb","opensearch","secret","external"];function Ee(r){const l=Se.indexOf(r);return l===-1?Se.length:l}function et(r,l){const d=new Set(r.map(s=>s.id)),c=l.filter(s=>d.has(s.from)&&d.has(s.to)),a=c.filter(s=>s.kind!=="iam"),o=new Map;for(const s of r)o.set(s.id,[]);for(const s of a)o.get(s.to).push(s.from);const v=new Map,y=new Set,h=s=>{const b=v.get(s);if(b!==void 0)return b;if(y.has(s))return 0;y.add(s);let T=0;for(const $ of o.get(s)??[])T=Math.max(T,h($)+1);return y.delete(s),v.set(s,T),T};for(const s of r)h(s.id);const p=new Set(a.map(s=>s.from));for(const s of r.filter(b=>b.kind==="iam-role")){const b=c.filter($=>$.to===s.id).map($=>v.get($.from)??0),T=b.length?Math.max(...b)+1:0;v.set(s.id,T);for(const $ of c)$.from!==s.id||p.has($.to)||v.set($.to,Math.max(v.get($.to)??0,T+1))}return v}function tt(r){const l=et(r.nodes,r.edges),d=new Map;for(const p of r.nodes){const s=l.get(p.id)??0,b=d.get(s)??[];b.push(p),d.set(s,b)}const c=[...d.keys()].sort((p,s)=>p-s),a=Math.max(1,...c.map(p=>d.get(p).length)),o=fe*2+a*le+(a-1)*ce,v=fe*2+c.length*de+Math.max(0,c.length-1)*Te,y=new Map;c.forEach((p,s)=>{const b=d.get(p).slice().sort((A,Y)=>{const g=Ee(A.kind)-Ee(Y.kind);return g!==0?g:A.label.localeCompare(Y.label)}),T=b.length*le+(b.length-1)*ce,$=(o-T)/2;b.forEach((A,Y)=>{y.set(A.id,{node:A,x:fe+s*(de+Te),y:$+Y*(le+ce),width:de,height:le,layer:p})})});const h=[];for(const p of r.edges){const s=y.get(p.from),b=y.get(p.to);if(!s||!b)continue;const T=b.layer<=s.layer;h.push({edge:p,fromX:T?s.x:s.x+s.width,fromY:s.y+s.height/2,toX:T?b.x+b.width:b.x,toY:b.y+b.height/2,backwards:T})}return{nodes:[...y.values()],edges:h,width:v,height:o}}function Ne(r,l,d){for(let c=r.nodes.length-1;c>=0;c-=1){const a=r.nodes[c];if(l>=a.x&&l<=a.x+a.width&&d>=a.y&&d<=a.y+a.height)return a}return null}const Ke={"http-route":{token:"--tree-color-chart-1",dashed:!1},authorizer:{token:"--tree-color-chart-5",dashed:!1},"event-source":{token:"--tree-color-chart-2",dashed:!1},"s3-notification":{token:"--tree-color-chart-3",dashed:!1},"event-rule-target":{token:"--tree-color-chart-4",dashed:!1},"event-bus-rule":{token:"--tree-color-chart-4",dashed:!1},"sns-subscription":{token:"--tree-color-chart-6",dashed:!1},redrive:{token:"--tree-color-status-warning",dashed:!1},iam:{token:"--tree-color-chart-7",dashed:!0},env:{token:"--tree-color-text-muted",dashed:!0}},at={surface:["--tree-color-bg-surface","#ffffff"],subtle:["--tree-color-bg-subtle","#f3f4f6"],border:["--tree-color-border-default","#e5e7eb"],borderStrong:["--tree-color-border-strong","#9ca3af"],text:["--tree-color-text-primary","#111827"],muted:["--tree-color-text-muted","#6b7280"],brand:["--tree-color-brand-primary","#0d9488"],focus:["--tree-color-focus-ring","#2563eb"],fontSans:["--tree-font-family-sans","system-ui, sans-serif"],fontMono:["--tree-font-family-mono","ui-monospace, monospace"]};function ve(){const r=window.getComputedStyle(document.documentElement),l=(c,a)=>r.getPropertyValue(c).trim()||a,d={};for(const[c,[a,o]]of Object.entries(at))d[c]=l(a,o);d.edge={};for(const[c,a]of Object.entries(Ke))d.edge[c]=l(a.token,d.muted);return d}function Xe(r,l,d,c){const a=[];for(const o of r){const v=o.attrs.fill??l;let y=d,h=c;const p=o.attrs.transform;if(p){const s=/translate\(\s*(-?[\d.]+)[,\s]+(-?[\d.]+)\s*\)/.exec(p);s&&(y+=Number(s[1]),h+=Number(s[2]))}if(o.tag==="rect"){const s=new Path2D;s.rect(Number(o.attrs.x??0)+y,Number(o.attrs.y??0)+h,Number(o.attrs.width??0),Number(o.attrs.height??0)),a.push({path:s,fill:v})}else if(o.tag==="path"&&o.attrs.d){const s=new Path2D;s.addPath(new Path2D(o.attrs.d),new DOMMatrix().translate(y,h)),a.push({path:s,fill:v})}o.children&&a.push(...Xe(o.children,v,y,h))}return a}const Ce=new Map;function nt(r){const l=se[r];if(!l.startsWith("aws-"))return null;const d=Ce.get(l);if(d)return d;const c=Ye[l];if(!c)return null;const a=Xe(c.nodes,"#000000",0,0);return Ce.set(l,a),a}const oe=22,rt=8,lt=.6;function ot(r,l,d,c,a,o){r.beginPath(),r.moveTo(l+o,d),r.arcTo(l+c,d,l+c,d+a,o),r.arcTo(l+c,d+a,l,d+a,o),r.arcTo(l,d+a,l,d,o),r.arcTo(l,d,l+c,d,o),r.closePath()}function Le(r,l,d){if(r.measureText(l).width<=d)return l;let c=0,a=l.length;for(;c<a;){const o=Math.ceil((c+a)/2);r.measureText(`${l.slice(0,o)}…`).width<=d?c=o:a=o-1}return`${l.slice(0,c)}…`}function st(r,l,d,c){const a=Ke[l.edge.kind],o=d.edge[l.edge.kind]??d.muted;r.save(),r.globalAlpha=c?.18:1,r.strokeStyle=o,r.lineWidth=l.edge.confidence==="inferred"?1:1.75,r.setLineDash(a.dashed?[5,4]:[]);const v=Math.max(36,Math.abs(l.toX-l.fromX)*.45);r.beginPath(),r.moveTo(l.fromX,l.fromY),l.backwards?r.bezierCurveTo(l.fromX-40,l.fromY,l.toX+40,l.toY,l.toX,l.toY):r.bezierCurveTo(l.fromX+v,l.fromY,l.toX-v,l.toY,l.toX,l.toY),r.stroke();const y=l.backwards?-1:1;r.setLineDash([]),r.fillStyle=o,r.beginPath(),r.moveTo(l.toX,l.toY),r.lineTo(l.toX-8*y,l.toY-4),r.lineTo(l.toX-8*y,l.toY+4),r.closePath(),r.fill(),r.restore()}function it(r,l,d,c){const{x:a,y:o,width:v,height:y,node:h}=l;r.save(),r.globalAlpha=c.dimmed?.3:1,ot(r,a,o,v,y,rt),r.fillStyle=h.kind==="external"?d.subtle:d.surface,r.fill(),r.lineWidth=c.hovered?2:1,r.strokeStyle=c.hovered?d.brand:d.border,r.setLineDash(h.kind==="external"?[4,3]:[]),r.stroke(),r.setLineDash([]);const p=nt(h.kind),s=a+12+(p?oe+10:0);if(p){r.save(),r.translate(a+12,o+(y-oe)/2),r.scale(oe/24,oe/24);for(const $ of p)r.fillStyle=$.fill,r.fill($.path,"evenodd");r.restore()}const b=a+v-12-s;r.textBaseline="alphabetic",r.fillStyle=d.text,r.font=`600 12px ${h.kind==="route"?d.fontMono:d.fontSans}`,r.fillText(Le(r,h.label,b),s,o+(h.handler||h.arn?21:29));const T=h.handler??h.arn??"";T&&(r.fillStyle=d.muted,r.font=`11px ${d.fontMono}`,r.fillText(Le(r,T,b),s,o+35)),r.restore()}function ut(r,l){let d=null,c=new Set,a=null,o=ve(),v=null,y=0,h=1;const p=()=>{const D=r.getContext("2d");if(!D||!a)return;const X=r.parentElement,W=(X==null?void 0:X.clientWidth)??0;if(W===0)return;h=Math.min(1,Math.max(lt,W/a.width));const P=a.width*h,w=Math.max(W,P),k=a.height*h,M=Math.min(2,window.devicePixelRatio||1);r.width=Math.round(w*M),r.height=Math.round(k*M),r.style.width=`${w}px`,r.style.height=`${k}px`,D.setTransform(M*h,0,0,M*h,0,0),D.clearRect(0,0,w/h,k/h);const z=new Set;if(v){z.add(v.node.id);for(const L of a.edges)L.edge.from===v.node.id&&z.add(L.edge.to),L.edge.to===v.node.id&&z.add(L.edge.from)}for(const L of a.edges){if(c.has(L.edge.kind))continue;const Q=!v||L.edge.from===v.node.id||L.edge.to===v.node.id;st(D,L,o,!Q)}for(const L of a.nodes)it(D,L,o,{hovered:(v==null?void 0:v.node.id)===L.node.id,dimmed:!!v&&!z.has(L.node.id)})},s=()=>{y||(y=window.requestAnimationFrame(()=>{y=0,p()}))},b=D=>{const X=r.getBoundingClientRect();return{x:(D.clientX-X.left)/h,y:(D.clientY-X.top)/h}},T=D=>{if(!a)return;const{x:X,y:W}=b(D),P=Ne(a,X,W);(P==null?void 0:P.node.id)!==(v==null?void 0:v.node.id)&&(v=P,r.style.cursor=P?"pointer":"default",l.onHover(P?P.node:null),s())},$=()=>{v&&(v=null,r.style.cursor="default",l.onHover(null),s())},A=D=>{if(!a)return;const{x:X,y:W}=b(D),P=Ne(a,X,W);P&&l.onActivate(P.node)};r.addEventListener("pointermove",T),r.addEventListener("pointerleave",$),r.addEventListener("click",A);const Y=new ResizeObserver(s),g=r.parentElement;g&&(Y.observe(g),g.style.overflowX="auto",g.style.maxWidth="100%",g.style.minWidth="0",g.style.width="100%");const G=new MutationObserver(()=>{o=ve(),s()});return G.observe(document.documentElement,{attributes:!0,attributeFilter:["data-tree-theme"]}),{render(D,X){d=D,c=X,a=d?tt(d):null,v=v&&a?a.nodes.find(W=>W.node.id===v.node.id)??null:null,o=ve(),s()},destroy(){y&&window.cancelAnimationFrame(y),r.removeEventListener("pointermove",T),r.removeEventListener("pointerleave",$),r.removeEventListener("click",A),Y.disconnect(),G.disconnect()}}}const dt=["aria-label"],ct=Re({__name:"ServiceGraphCard",props:{serviceName:{}},setup(r,{expose:l}){const d=r,c=Ae(),{t:a}=Pe(),o=K(null),v=K(!0),y=K(null),h=K("diagram"),p=K(null),s=K(null),b=qe(null),T=K(new Set),$=J(()=>({"http-route":a("services.graphKindHttpRoute"),authorizer:a("services.graphKindAuthorizer"),"event-source":a("services.graphKindEventSource"),"s3-notification":a("services.graphKindS3Notification"),"event-rule-target":a("services.graphKindEventRuleTarget"),"event-bus-rule":a("services.graphKindEventBusRule"),"sns-subscription":a("services.graphKindSnsSubscription"),redrive:a("services.graphKindRedrive"),iam:a("services.graphKindIam"),env:a("services.graphKindEnv")})),A=J(()=>{var w;return new Map((((w=o.value)==null?void 0:w.nodes)??[]).map(k=>[k.id,k]))}),Y=J(()=>[{key:"source",label:a("services.graphColSource")},{key:"link",label:a("services.graphColLink")},{key:"target",label:a("services.graphColTarget")},{key:"evidence",label:a("services.graphColEvidence")}]),g=J(()=>{var w;return(((w=o.value)==null?void 0:w.edges)??[]).filter(k=>!T.value.has(k.kind)).map(k=>{var M,z,L,Q;return{id:k.id,source:((M=A.value.get(k.from))==null?void 0:M.label)??k.from,sourceKind:((z=A.value.get(k.from))==null?void 0:z.kind)??"external",target:((L=A.value.get(k.to))==null?void 0:L.label)??k.to,targetKind:((Q=A.value.get(k.to))==null?void 0:Q.kind)??"external",link:$.value[k.kind],detail:k.detail??"",confidence:k.confidence,serviceWide:k.serviceWide===!0}})}),G=J(()=>g.value.length);function D(w){switch(w.kind){case"lambda":return`/lambdas/${encodeURIComponent(w.label)}`;case"dynamodb":return`/dynamo/${encodeURIComponent(w.label)}`;case"sqs":return`/queues/${encodeURIComponent(w.label)}`;case"s3":return`/buckets/${encodeURIComponent(w.label)}`;case"opensearch":return`/opensearch/${encodeURIComponent(w.label)}`;case"secret":return"/secrets";case"route":return"/apis";default:return null}}function X(w){const k=D(w);k&&c.push(k)}function W(w,k){const M=new Set(T.value);k?M.delete(w):M.add(w),T.value=M}async function P(){v.value=!0;try{o.value=await ee.getServiceGraph(d.serviceName),y.value=null}catch(w){y.value=w instanceof Error?w.message:a("services.graphFailed"),o.value=null}finally{v.value=!1}}return me([s,o,T],()=>{var k;const w=s.value;if(!w){(k=b.value)==null||k.destroy(),b.value=null;return}b.value||(b.value=ut(w,{onActivate:X,onHover:M=>{p.value=M}})),b.value.render(o.value,T.value)},{flush:"post"}),me(()=>d.serviceName,P,{immediate:!0}),De(()=>{var w;(w=b.value)==null||w.destroy(),b.value=null}),l({reload:P}),(w,k)=>(f(),_(e(ge),{variant:"outline"},{header:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(N),{weight:"semibold"},{default:t(()=>[u(i(e(a)("services.graphTitle")),1)]),_:1}),o.value?(f(),_(e(U),{key:0,tone:"neutral",variant:"soft"},{default:t(()=>[u(i(e(a)("services.graphCounts",{nodes:o.value.nodes.length,edges:G.value})),1)]),_:1})):R("",!0)]),_:1})]),_:1})]),default:t(()=>[n(e(m),{direction:"vertical",gap:"0.75rem"},{default:t(()=>{var M;return[n(e(N),{tone:"muted",size:"sm"},{default:t(()=>[u(i(e(a)("services.graphDescription")),1)]),_:1}),y.value?(f(),_(e(he),{key:0,variant:"danger",dismissible:"",onDismiss:k[0]||(k[0]=z=>y.value=null)},{default:t(()=>[u(i(y.value),1)]),_:1})):R("",!0),(M=o.value)!=null&&M.warnings.length?(f(),_(e(he),{key:1,variant:"warning"},{default:t(()=>[n(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[n(e(N),{size:"sm",weight:"semibold"},{default:t(()=>[u(i(e(a)("services.graphWarnings")),1)]),_:1}),(f(!0),O(B,null,V(o.value.warnings,z=>(f(),_(e(N),{key:z,size:"sm",family:"mono"},{default:t(()=>[u(i(z),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),v.value&&!o.value?(f(),_(e(m),{key:2,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[n(e(Me),{label:e(a)("services.graphLoading")},null,8,["label"])]),_:1})):o.value&&!o.value.edges.length?(f(),_(e(Ie),{key:3,title:e(a)("services.graphEmptyTitle"),description:e(a)("services.graphEmptyDescription")},null,8,["title","description"])):o.value?(f(),O(B,{key:4},[n(e(m),{direction:"horizontal",gap:"0.75rem",wrap:"",align:"center"},{default:t(()=>[n(e(N),{size:"sm",tone:"muted"},{default:t(()=>[u(i(e(a)("services.graphFilterLabel")),1)]),_:1}),(f(!0),O(B,null,V(o.value.edgeKinds,z=>(f(),_(e(Fe),{key:z,size:"sm",label:$.value[z],"model-value":!T.value.has(z),"onUpdate:modelValue":L=>W(z,L)},null,8,["label","model-value","onUpdate:modelValue"]))),128))]),_:1}),n(e(Oe),{modelValue:h.value,"onUpdate:modelValue":k[1]||(k[1]=z=>h.value=z)},{default:t(()=>[n(e(Be),null,{default:t(()=>[n(e(ze),{value:"diagram"},{default:t(()=>[u(i(e(a)("services.graphTabDiagram")),1)]),_:1}),n(e(ze),{value:"table"},{default:t(()=>[u(i(e(a)("services.graphTabTable")),1)]),_:1})]),_:1}),n(e($e),{value:"diagram"},{default:t(()=>[n(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[pe("div",null,[pe("canvas",{ref_key:"canvasRef",ref:s,role:"img","aria-label":e(a)("services.graphAriaLabel",{name:r.serviceName,nodes:o.value.nodes.length,edges:G.value})},null,8,dt)]),n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:t(()=>[p.value?(f(),O(B,{key:0},[n(e(j),{size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(se)[p.value.kind]},null,8,["name"])]),default:t(()=>[u(" "+i(p.value.label),1)]),_:1}),p.value.handler||p.value.arn?(f(),_(e(N),{key:0,size:"sm",tone:"muted",family:"mono"},{default:t(()=>[u(i(p.value.handler||p.value.arn),1)]),_:1})):R("",!0),p.value.kind==="external"?(f(),_(e(U),{key:1,tone:"warning",variant:"soft"},{default:t(()=>[u(i(e(a)("services.graphExternal")),1)]),_:1})):R("",!0)],64)):(f(),_(e(N),{key:1,size:"sm",tone:"muted"},{default:t(()=>[u(i(e(a)("services.graphHint")),1)]),_:1}))]),_:1})]),_:1})]),_:1}),n(e($e),{value:"table"},{default:t(()=>[n(e(We),{columns:Y.value,rows:g.value,"row-key":"id",size:"sm","aria-label":e(a)("services.graphTableLabel",{name:r.serviceName})},{"cell-source":t(({row:z})=>[n(e(m),{direction:"horizontal",gap:"0.375rem",align:"center"},{default:t(()=>[n(e(I),{name:e(se)[z.sourceKind]},null,8,["name"]),n(e(N),{size:"sm"},{default:t(()=>[u(i(z.source),1)]),_:2},1024)]),_:2},1024)]),"cell-target":t(({row:z})=>[n(e(m),{direction:"horizontal",gap:"0.375rem",align:"center"},{default:t(()=>[n(e(I),{name:e(se)[z.targetKind]},null,8,["name"]),n(e(N),{size:"sm"},{default:t(()=>[u(i(z.target),1)]),_:2},1024)]),_:2},1024)]),"cell-link":t(({row:z})=>[n(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[n(e(N),{size:"sm"},{default:t(()=>[u(i(z.link),1)]),_:2},1024),z.detail?(f(),_(e(N),{key:0,size:"xs",tone:"muted",family:"mono"},{default:t(()=>[u(i(z.detail),1)]),_:2},1024)):R("",!0)]),_:2},1024)]),"cell-evidence":t(({row:z})=>[n(e(m),{direction:"horizontal",gap:"0.25rem",align:"center",wrap:""},{default:t(()=>[n(e(U),{tone:z.confidence==="declared"?"success":"neutral",variant:"soft"},{default:t(()=>[u(i(z.confidence==="declared"?e(a)("services.graphEvidenceDeclared"):e(a)("services.graphEvidenceInferred")),1)]),_:2},1032,["tone"]),z.serviceWide?(f(),_(e(U),{key:0,tone:"warning",variant:"soft"},{default:t(()=>[u(i(e(a)("services.graphServiceWide")),1)]),_:1})):R("",!0)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])]),_:1})]),_:1},8,["modelValue"])],64)):R("",!0)]}),_:1})]),_:1}))}}),gt=Re({__name:"ServiceDetailPage",props:{serviceName:{}},setup(r){const l=r,d=Ae(),c=Ze(),{t:a}=Pe(),o=K(null),v=K(!0),y=K(null),h=K(!1),p=K(!1),s=K(!1),b=K([]),T=K("stopped");let $=null,A=null;const Y=K(!1),g=J(()=>{var q;const S={lambda:[],dynamodb:[],sqs:[],sns:[],s3:[],eventbus:[],"event-rule":[],opensearch:[],"event-source":[]};for(const C of((q=o.value)==null?void 0:q.resources)||[])S[C.type]||(S[C.type]=[]),S[C.type].push(C);return S});async function G(){v.value=!0;try{o.value=await ee.getService(l.serviceName),y.value=null}catch(S){y.value=S.message||a("services.notFound"),o.value=null}finally{v.value=!1}}const D=K(null);async function X(){var S;await G(),await((S=D.value)==null?void 0:S.reload())}async function W(){if(!h.value){h.value=!0;try{await ee.startService(l.serviceName),c.add({title:a("services.startedToast"),description:l.serviceName,variant:"success"}),await G()}catch(S){c.add({title:a("services.startFailedToast"),description:S.message,variant:"danger"})}finally{h.value=!1}}}async function P(){if(!p.value){p.value=!0;try{await ee.stopService(l.serviceName),c.add({title:a("services.stoppedToast"),description:l.serviceName,variant:"info"}),await G()}catch(S){c.add({title:a("services.stopFailedToast"),description:S.message,variant:"danger"})}finally{p.value=!1}}}async function w(){try{const S=await ee.getServiceLogs(l.serviceName);b.value=S.logs||[],T.value=S.status||"stopped"}catch(S){console.error("Failed to fetch logs:",S)}}function k(){s.value=!0,w(),$&&window.clearInterval($),$=window.setInterval(w,2e3)}function M(){s.value=!1,$&&window.clearInterval($),$=null}async function z(){try{await ee.deleteService(l.serviceName),c.add({title:a("services.deletedToast"),description:l.serviceName,variant:"info"}),d.push("/services")}catch(S){c.add({title:a("services.deleteFailedToast"),description:S.message,variant:"danger"})}finally{Y.value=!1}}function L(S){switch(S){case"running":return"success";case"registered":return"warning";case"stopped":return"neutral";default:return"danger"}}function Q(S){switch(S){case"running":return a("services.statusRunning");case"registered":return a("services.statusRegistered");case"stopped":return a("common.stopped");case"failed":return a("services.statusFailed");case"error":return a("services.statusError");default:return S}}function Ue(S){return S?new Date(S).toLocaleString():"—"}return Ge(()=>{G(),A=window.setInterval(G,1e4)}),De(()=>{A&&window.clearInterval(A),$&&window.clearInterval($)}),me(()=>l.serviceName,G),(S,q)=>(f(),_(e(m),{direction:"vertical",gap:"1.25rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>{var C;return[n(e(Z),{size:"sm",variant:"ghost",to:"/services"},{default:t(()=>[n(e(I),{name:"arrow-left"}),u(" "+i(e(a)("nav.services")),1)]),_:1}),n(e(N),{weight:"semibold",size:"lg"},{default:t(()=>[u(i(r.serviceName),1)]),_:1}),(C=o.value)!=null&&C.status?(f(),_(e(U),{key:0,tone:L(o.value.status),variant:"soft"},{default:t(()=>[u(i(Q(o.value.status)),1)]),_:1},8,["tone"])):R("",!0)]}),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem"},{default:t(()=>{var C,H;return[n(e(Z),{size:"sm",variant:"soft",disabled:((C=o.value)==null?void 0:C.status)==="running",loading:h.value,onClick:W},{default:t(()=>[u(i(e(a)("services.start")),1)]),_:1},8,["disabled","loading"]),n(e(Z),{size:"sm",variant:"soft",disabled:((H=o.value)==null?void 0:H.status)!=="running",loading:p.value,onClick:P},{default:t(()=>[u(i(e(a)("services.stop")),1)]),_:1},8,["disabled","loading"]),n(e(Z),{size:"sm",variant:"ghost",onClick:k},{default:t(()=>[u(i(e(a)("services.logs")),1)]),_:1}),n(e(Z),{size:"sm",variant:"ghost",loading:v.value,onClick:X},{default:t(()=>[u(i(e(a)("common.refresh")),1)]),_:1},8,["loading"]),n(e(Z),{size:"sm",variant:"solid",tone:"danger",onClick:q[0]||(q[0]=x=>Y.value=!0)},{default:t(()=>[u(i(e(a)("common.delete")),1)]),_:1})]}),_:1})]),_:1}),y.value?(f(),_(e(he),{key:0,variant:"danger",dismissible:"",onDismiss:q[1]||(q[1]=C=>y.value=null)},{default:t(()=>[u(i(y.value),1)]),_:1})):R("",!0),v.value&&!o.value?(f(),_(e(m),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[n(e(Me),{label:e(a)("services.loadingOne")},null,8,["label"])]),_:1})):o.value?(f(),O(B,{key:2},[n(e(Ve),{columns:5,gap:"1rem"},{default:t(()=>{var C,H,x,te,ae;return[n(e(ne),{label:e(a)("services.statLambdas"),value:((C=g.value.lambda)==null?void 0:C.length)||0,tone:"info"},{icon:t(()=>[n(e(I),{name:e(F).lambda},null,8,["name"])]),_:1},8,["label","value"]),n(e(ne),{label:e(a)("services.statTables"),value:((H=g.value.dynamodb)==null?void 0:H.length)||0,tone:"info"},{icon:t(()=>[n(e(I),{name:e(F).dynamodb},null,8,["name"])]),_:1},8,["label","value"]),n(e(ne),{label:e(a)("services.statQueues"),value:((x=g.value.sqs)==null?void 0:x.length)||0,tone:"warning"},{icon:t(()=>[n(e(I),{name:e(F).sqs},null,8,["name"])]),_:1},8,["label","value"]),n(e(ne),{label:e(a)("services.statTopics"),value:((te=g.value.sns)==null?void 0:te.length)||0,tone:"info"},{icon:t(()=>[n(e(I),{name:e(F).sns},null,8,["name"])]),_:1},8,["label","value"]),n(e(ne),{label:e(a)("services.statBuckets"),value:((ae=g.value.s3)==null?void 0:ae.length)||0,tone:"neutral"},{icon:t(()=>[n(e(I),{name:e(F).s3},null,8,["name"])]),_:1},8,["label","value"])]}),_:1}),n(e(ge),{variant:"outline"},{header:t(()=>[n(e(N),{weight:"semibold"},{default:t(()=>[u(i(e(a)("services.metadata")),1)]),_:1})]),default:t(()=>[n(e(je),null,{default:t(()=>[n(e(re),{label:e(a)("services.path")},{default:t(()=>[n(e(N),{family:"mono"},{default:t(()=>[u(i(o.value.root),1)]),_:1})]),_:1},8,["label"]),n(e(re),{label:e(a)("common.region")},{default:t(()=>[n(e(N),{family:"mono"},{default:t(()=>[u(i(o.value.region||"—"),1)]),_:1})]),_:1},8,["label"]),n(e(re),{label:e(a)("services.invokePort")},{default:t(()=>[n(e(N),{family:"mono"},{default:t(()=>[u(i(o.value.invokePort??"—"),1)]),_:1})]),_:1},8,["label"]),n(e(re),{label:"PID"},{default:t(()=>[n(e(N),{family:"mono"},{default:t(()=>[u(i(o.value.pid??"—"),1)]),_:1})]),_:1}),n(e(re),{label:e(a)("services.lastUpdated")},{default:t(()=>[pe("span",null,i(Ue(o.value.lastUpdated)),1)]),_:1},8,["label"])]),_:1})]),_:1}),n(ct,{ref_key:"graphCard",ref:D,"service-name":r.serviceName},null,8,["service-name"]),n(e(ge),{variant:"outline"},{header:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[n(e(N),{weight:"semibold"},{default:t(()=>[u(i(e(a)("services.declaredResources")),1)]),_:1}),n(e(U),{tone:"neutral",variant:"soft"},{default:t(()=>{var C;return[u(i(e(a)("services.resourcesTotal",{count:((C=o.value.resources)==null?void 0:C.length)||0})),1)]}),_:1})]),_:1})]),default:t(()=>{var C;return[(C=o.value.resources)!=null&&C.length?(f(),_(e(m),{key:1,direction:"vertical",gap:"1rem"},{default:t(()=>{var H,x,te,ae,be,ye,_e,ke,we;return[(H=g.value.dynamodb)!=null&&H.length?(f(),_(e(m),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"info",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupTables")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.dynamodb.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.dynamodb,E=>(f(),_(e(ue),{key:`db-${E.name}`,to:`/dynamo/${encodeURIComponent(E.name)}`,underline:"none"},{default:t(()=>[n(e(j),{size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).dynamodb},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})):R("",!0),(x=g.value.sqs)!=null&&x.length?(f(),_(e(m),{key:1,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"warning",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupQueues")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.sqs.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.sqs,E=>(f(),_(e(ue),{key:`q-${E.name}`,to:"/queues",underline:"none"},{default:t(()=>[n(e(j),{size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).sqs},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(te=g.value.sns)!=null&&te.length?(f(),_(e(m),{key:2,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"info",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupTopics")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.sns.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.sns,E=>(f(),_(e(j),{key:`t-${E.name}`,size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).sns},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(ae=g.value.s3)!=null&&ae.length?(f(),_(e(m),{key:3,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"neutral",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupBuckets")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.s3.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.s3,E=>(f(),_(e(ue),{key:`b-${E.name}`,to:`/buckets/${encodeURIComponent(E.name)}`,underline:"none"},{default:t(()=>[n(e(j),{size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).s3},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})):R("",!0),(be=g.value.lambda)!=null&&be.length?(f(),_(e(m),{key:4,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"neutral",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupLambdas")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.lambda.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.lambda,E=>(f(),_(e(j),{key:`l-${E.name}`,size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).lambda},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(ye=g.value.eventbus)!=null&&ye.length?(f(),_(e(m),{key:5,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"info",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupBuses")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.eventbus.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.eventbus,E=>(f(),_(e(j),{key:`eb-${E.name}`,size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).eventbus},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(_e=g.value["event-rule"])!=null&&_e.length?(f(),_(e(m),{key:6,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"info",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupRules")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value["event-rule"].length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value["event-rule"],(E,ie)=>(f(),_(e(j),{key:`er-${ie}-${E.name}`,size:"sm",variant:"outline"},{icon:t(()=>[n(e(I),{name:e(F)["event-rule"]},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(ke=g.value.opensearch)!=null&&ke.length?(f(),_(e(m),{key:7,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"info",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupCollections")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value.opensearch.length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value.opensearch,E=>(f(),_(e(j),{key:`os-${E.name}`,size:"sm",variant:"soft"},{icon:t(()=>[n(e(I),{name:e(F).opensearch},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0),(we=g.value["event-source"])!=null&&we.length?(f(),_(e(m),{key:8,direction:"vertical",gap:"0.5rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(U),{tone:"neutral",variant:"soft"},{default:t(()=>[u(i(e(a)("services.groupEventSources")),1)]),_:1}),n(e(N),{tone:"muted"},{default:t(()=>[u(i(g.value["event-source"].length),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(f(!0),O(B,null,V(g.value["event-source"],(E,ie)=>(f(),_(e(j),{key:`es-${ie}-${E.name}`,size:"sm",variant:"outline"},{icon:t(()=>[n(e(I),{name:e(F)["event-source"]},null,8,["name"])]),default:t(()=>[u(" "+i(E.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):R("",!0)]}),_:1})):(f(),_(e(Ie),{key:0,title:e(a)("services.noResourcesTitle"),description:e(a)("services.noResourcesDescription")},null,8,["title","description"]))]}),_:1})],64)):R("",!0),n(e(Qe),{open:s.value,"onUpdate:open":[q[2]||(q[2]=C=>s.value=C),q[3]||(q[3]=C=>{C||M()})],title:e(a)("services.logsTitleFor",{name:r.serviceName}),description:e(a)("services.logsStatus",{status:Q(T.value)}),size:"lg"},{default:t(()=>[n(e(He),{code:b.value.join(`
2
+ `)||e(a)("services.logsEmpty"),label:e(a)("services.logsLabel"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])]),_:1},8,["open","title","description"]),n(e(xe),{open:Y.value,"onUpdate:open":q[4]||(q[4]=C=>Y.value=C),title:e(a)("services.deleteTitleNamed",{name:r.serviceName}),description:e(a)("services.deleteDescription",{engine:e(Je)}),"confirm-label":e(a)("common.delete"),"cancel-label":e(a)("common.cancel"),onConfirm:z},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}});export{gt as default};
@@ -0,0 +1,2 @@
1
+ import{l as V,n as Q,o as X,p as g,f as b,a9 as e,v as Y,ae as l,x as k,k as n,y as Z,R as ee,S as te,L as S,j as i,a8 as o,h as ae,F as se,t as le,C as ne,z as re,w as C,g as ie,G as oe,T as ce,U as ue,V as de,W as ve,O as ge,P as fe,af as pe,aa as me,q as c,d as U,a as h,c as be}from"./index-BouKSS43.js";import{E as ye}from"./engine-D0mFFNbL.js";import{a as we,b as _e}from"./resourceIcons-DZs28nbs.js";const he=V({__name:"ServicesList",setup(j){const{t}=me(),u=be(),z=c([]),x=c(!0),$=c(!1),f=c(""),y=c(null),L=c([]),I=c("stopped"),d=c(null),p=c({}),m=c({}),w=c(null),T=c(!1);let F=null;const O=U(()=>[{key:"name",label:t("common.name")},{key:"status",label:t("common.status")},{key:"root",label:t("services.path")},{key:"resourceBreakdown",label:t("services.resources")},{key:"lastUpdated",label:t("services.lastUpdated")},{key:"actions",label:t("common.actions"),align:"right"}]),P=U(()=>z.value.map(a=>({...a}))),B=U({get:()=>y.value!==null,set:a=>{a||G()}});async function _(){try{z.value=await h.listServices()}catch(a){console.error("Failed to load services:",a)}finally{x.value=!1}}async function R(a){if(!p.value[a]){p.value={...p.value,[a]:!0};try{await h.startService(a),u.add({title:t("services.startedToast"),description:a,variant:"success"}),await _()}catch(r){u.add({title:t("services.startFailedToast"),description:r.message,variant:"danger"})}finally{p.value={...p.value,[a]:!1}}}}async function K(a){if(!m.value[a]){m.value={...m.value,[a]:!0};try{await h.stopService(a),u.add({title:t("services.stoppedToast"),description:a,variant:"info"}),await _()}catch(r){u.add({title:t("services.stopFailedToast"),description:r.message,variant:"danger"})}finally{m.value={...m.value,[a]:!1}}}}async function D(a){try{const r=await h.getServiceLogs(a);L.value=r.logs||[],I.value=r.status||"stopped"}catch(r){console.error("Failed to fetch logs:",r)}}function q(a){y.value=a,D(a),d.value&&window.clearInterval(d.value),d.value=window.setInterval(()=>D(a),2e3)}function G(){y.value=null,L.value=[],d.value&&window.clearInterval(d.value),d.value=null}async function E(){if(f.value.trim()){$.value=!0;try{await h.registerService(f.value),u.add({title:t("services.registeredToast"),description:f.value,variant:"success"}),f.value="",await _()}catch(a){u.add({title:t("services.registerFailedToast"),description:a.message,variant:"danger"})}finally{$.value=!1}}}function M(a){w.value=a,T.value=!0}async function A(){if(!w.value)return;const a=w.value;try{await h.deleteService(a),u.add({title:t("services.deletedToast"),description:a,variant:"info"}),await _()}catch(r){u.add({title:t("services.deleteFailedToast"),description:r.message,variant:"danger"})}finally{w.value=null,T.value=!1}}function H(a){return new Date(a).toLocaleString()}function W(a){const r=a.resourceBreakdown;return r?we.map(s=>({key:s,count:r[s]??0,..._e[s]})).filter(s=>s.count>0):[]}function J(a){switch(a){case"running":return"success";case"registered":return"warning";case"stopped":return"neutral";default:return"danger"}}function N(a){switch(a){case"running":return t("services.statusRunning");case"registered":return t("services.statusRegistered");case"stopped":return t("common.stopped");case"failed":return t("services.statusFailed");case"error":return t("services.statusError");default:return a}}return Q(()=>{_(),F=window.setInterval(_,1e4)}),X(()=>{F&&window.clearInterval(F),d.value&&window.clearInterval(d.value)}),(a,r)=>(g(),b(e(Y),{variant:"outline"},{header:l(()=>[n(e(k),{direction:"horizontal",gap:"0.75rem",align:"center",justify:"space-between"},{default:l(()=>[n(e(C),{weight:"semibold"},{default:l(()=>[i(o(e(t)("services.title")),1)]),_:1}),n(e(k),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:l(()=>[n(e(ge),{hint:e(t)("services.registerHint"),htmlFor:"register-path"},{default:l(()=>[n(e(fe),{modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=s=>f.value=s),placeholder:e(t)("services.registerPlaceholder"),disabled:$.value,onKeyup:pe(E,["enter"])},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["hint"]),n(e(S),{variant:"solid",loading:$.value,disabled:!f.value.trim(),onClick:E},{default:l(()=>[i(o(e(t)("services.register")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),default:l(()=>[x.value?(g(),b(e(k),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:l(()=>[n(e(Z),{label:e(t)("services.loadingList")},null,8,["label"])]),_:1})):z.value.length?(g(),b(e(te),{key:2,columns:O.value,rows:P.value,"aria-label":e(t)("services.tableLabel")},{"cell-name":l(({row:s})=>[n(e(ce),{to:`/services/${encodeURIComponent(String(s.name))}`},{default:l(()=>[n(e(C),{weight:"semibold"},{default:l(()=>[i(o(s.name),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-status":l(({row:s})=>[n(e(oe),{tone:J(String(s.status)),variant:"soft"},{default:l(()=>[i(o(N(String(s.status))),1)]),_:2},1032,["tone"])]),"cell-root":l(({row:s})=>[n(e(C),{family:"mono"},{default:l(()=>[i(o(s.root),1)]),_:2},1024)]),"cell-resourceBreakdown":l(({row:s})=>[n(e(k),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:l(()=>[(g(!0),ae(se,null,le(W(s),v=>(g(),b(e(ne),{key:v.key,size:"sm",variant:"soft"},{default:l(()=>[n(e(re),{name:v.icon,label:e(t)(v.labelKey)},null,8,["name","label"]),i(" "+o(v.count),1)]),_:2},1024))),128)),s.resourcesCount?ie("",!0):(g(),b(e(C),{key:0,tone:"muted",size:"xs"},{default:l(()=>[i(o(e(t)("common.none")),1)]),_:1}))]),_:2},1024)]),"cell-lastUpdated":l(({row:s})=>[i(o(H(Number(s.lastUpdated))),1)]),"cell-actions":l(({row:s})=>[n(e(k),{direction:"horizontal",gap:"0.375rem",justify:"flex-end",wrap:""},{default:l(()=>[n(e(S),{size:"sm",variant:"soft",disabled:s.status==="running"||p.value[String(s.name)],loading:p.value[String(s.name)],onClick:v=>R(String(s.name))},{default:l(()=>[i(o(e(t)("services.start")),1)]),_:1},8,["disabled","loading","onClick"]),n(e(S),{size:"sm",variant:"soft",disabled:s.status!=="running"||m.value[String(s.name)],loading:m.value[String(s.name)],onClick:v=>K(String(s.name))},{default:l(()=>[i(o(e(t)("services.stop")),1)]),_:1},8,["disabled","loading","onClick"]),n(e(S),{size:"sm",variant:"ghost",onClick:v=>q(String(s.name))},{default:l(()=>[i(o(e(t)("services.logs")),1)]),_:1},8,["onClick"]),n(e(S),{size:"sm",variant:"danger",onClick:v=>M(String(s.name))},{default:l(()=>[i(o(e(t)("common.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(g(),b(e(ee),{key:1,title:e(t)("services.emptyTitle"),description:e(t)("services.emptyDescription")},null,8,["title","description"])),n(e(ue),{open:B.value,"onUpdate:open":r[1]||(r[1]=s=>B.value=s),title:y.value?e(t)("services.logsTitleFor",{name:y.value}):e(t)("services.logsTitle"),description:y.value?e(t)("services.logsStatus",{status:N(I.value)}):"",size:"lg"},{default:l(()=>[n(e(de),{code:L.value.join(`
2
+ `)||e(t)("services.logsEmpty"),label:e(t)("services.logsLabel"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])]),_:1},8,["open","title","description"]),n(e(ve),{open:T.value,"onUpdate:open":r[2]||(r[2]=s=>T.value=s),title:w.value?e(t)("services.deleteTitleNamed",{name:w.value}):e(t)("services.deleteTitle"),description:e(t)("services.deleteDescription",{engine:e(ye)}),"confirm-label":e(t)("common.delete"),"cancel-label":e(t)("common.cancel"),onConfirm:A},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}}),Te=V({__name:"ServicesPage",setup(j){return(t,u)=>(g(),b(he))}});export{Te as default};
@@ -0,0 +1 @@
1
+ import{l as Me,n as Oe,f as C,ae as o,a9 as e,x as g,a as q,aa as De,q as E,p as x,k as s,z as le,w as b,j as u,a8 as d,G as se,g as w,L as F,v as D,N as G,y as Ue,A as Y,O as r,P as m,a0 as ie,s as He,a5 as A,H as oe,a6 as we,a7 as $,d as P,r as re,m as Ae,c as Se}from"./index-BouKSS43.js";const Re=Me({__name:"SettingsPage",setup(Ie){const{t:n}=De(),Q=Se(),k=E(null),X=E(!0),j=E(!1),z=E(!1),V=E(null),S=E([]),I=E([]),ue=P(()=>[{value:"auto",label:n("settings.executionAuto")},{value:"artifact",label:n("settings.executionArtifact")},{value:"source",label:n("settings.executionSource")}]),de=P(()=>[{value:"default",label:n("settings.watchDefault")},{value:"on",label:n("settings.watchOn")},{value:"off",label:n("settings.watchOff")}]),ge=P(()=>[{value:"dark",label:n("settings.themeDark")},{value:"light",label:n("settings.themeLight")}]),t=re({serverPort:3100,region:"us-east-1",persistence:!0,debug:!1,sePort:14566,seAccount:"000000000000",seMemoryBudgetMb:128,seIdleUnloadMs:3e5,seFsync:!1,seFallback:"",proxyEnabled:!1,proxyPort:8e3,lrEnabled:!0,lrExecution:"auto",lrWatch:"default",lrInvokePortOffset:1e4,lrInvokeHost:"",autoPackage:!1,packageCommand:"",packageArgs:[],packageEnv:{keys:{},pending:{}},packageTimeoutMs:3e5,seedsDir:"",brTitle:"",brSubtitle:"",brTheme:"dark",brColors:{},brThemeDark:{},brThemeLight:{}});let N=null;const me=["packageArgs","brColors","brThemeDark","brThemeLight"];function be(l){return me.includes(l)}function R(){const l={...t};return l.packageArgs=[...t.packageArgs],l.packageEnv=JSON.parse(JSON.stringify(t.packageEnv)),l.brColors={...t.brColors},l.brThemeDark={...t.brThemeDark},l.brThemeLight={...t.brThemeLight},l}function Z(l){const a=l;return JSON.stringify({set:Object.keys(a.keys).filter(i=>a.keys[i].set).sort(),pending:a.pending})}function ee(l,a,i){return l==="packageEnv"?Z(a[l])!==Z(i[l]):be(l)?JSON.stringify(a[l])!==JSON.stringify(i[l]):a[l]!==i[l]}function L(l){k.value=l,t.serverPort=l.serverPort,t.region=l.region,t.persistence=l.persistence,t.debug=l.debug,t.sePort=l.selfEngine.port,t.seAccount=l.selfEngine.account,t.seMemoryBudgetMb=l.selfEngine.memoryBudgetMb,t.seIdleUnloadMs=l.selfEngine.idleUnloadMs,t.seFsync=l.selfEngine.fsync,t.seFallback=l.selfEngine.fallbackEndpoint||"",t.proxyEnabled=l.dynamoProxy.enabled,t.proxyPort=l.dynamoProxy.port,t.lrEnabled=l.lambdaRuntime.enabled,t.lrExecution=l.lambdaRuntime.execution,t.lrWatch=l.lambdaRuntime.watch===null?"default":l.lambdaRuntime.watch?"on":"off",t.lrInvokePortOffset=l.lambdaRuntime.invokePortOffset,t.lrInvokeHost=l.lambdaRuntime.invokeHost,t.autoPackage=l.autoPackage,t.packageCommand=l.packageCommand,t.packageArgs=[...l.packageArgs],t.packageEnv={keys:Object.fromEntries(l.packageEnvKeys.map(a=>[a,{set:!0}])),pending:{}},t.packageTimeoutMs=l.packageTimeoutMs,t.seedsDir=l.seedsDir,t.brTitle=l.branding.title,t.brSubtitle=l.branding.subtitle,t.brTheme=l.branding.defaultTheme,t.brColors={...l.branding.colors},t.brThemeDark={...l.branding.themeColors.dark},t.brThemeLight={...l.branding.themeColors.light},N=R()}const te=P(()=>{if(!N)return[];const l=R();return Object.keys(l).filter(a=>ee(a,l,N))}),ae=E(""),_=E(null),U=P(()=>te.value.length+(ae.value.trim()?1:0)),ne=["brColors","brThemeDark","brThemeLight"],B=re({brColors:[],brThemeDark:[],brThemeLight:[]});function K(l,a){B[l]=a.valid?[]:a.errors}const H=P(()=>{const l={};for(const a of ne)l[a]=B[a].length?n("settings.colorTokensInvalid",{errors:B[a].join(" · ")}):"";return l}),fe=P(()=>ne.some(l=>B[l].length>0)),W=P(()=>({key:n("settings.tokenKey"),value:n("settings.tokenValue"),add:n("settings.tokenAdd"),remove:n("settings.tokenRemove"),emptyKey:n("settings.tokenEmptyKey"),duplicateKey:n("settings.tokenDuplicateKey")})),ce=P(()=>({key:n("settings.packageEnvKey"),add:n("settings.packageEnvAdd"),remove:n("settings.packageEnvRemove"),hidden:n("settings.packageEnvSet"),replace:n("settings.packageEnvReplace"),clear:n("settings.packageEnvClear"),newValue:n("settings.packageEnvNewValue"),save:n("settings.packageEnvSave"),cancel:n("settings.packageEnvCancel")}));function pe(l,a){if(a===""){delete t.packageEnv.pending[l],t.packageEnv.keys={...t.packageEnv.keys,[l]:{set:!1}};return}t.packageEnv.pending[l]=a,t.packageEnv.keys={...t.packageEnv.keys,[l]:{set:!0}}}function ve(l){delete t.packageEnv.pending[l]}function ke(l){t.packageEnv.keys=l;for(const a of Object.keys(t.packageEnv.pending))a in l||delete t.packageEnv.pending[a]}function he(){var a,i;const l={};for(const c of((a=k.value)==null?void 0:a.packageEnvKeys)??[])(i=t.packageEnv.keys[c])!=null&&i.set||(l[c]=null);return Object.assign(l,t.packageEnv.pending),l}function ye(l){var a;return!!((a=k.value)!=null&&a.envOverrides.includes(l))}function f(l,a){return ye(l)?n("settings.maskedByEnv"):a}function Ve(){const l=[],a=new Set(te.value),i={},c=(h,J)=>{const T=Number(h);return(!Number.isInteger(T)||T<1||T>65535)&&l.push(n("settings.errorPort",{label:J})),T},p=(h,J)=>{const T=Number(h);return(!Number.isInteger(T)||T<=0)&&l.push(n("settings.errorPositive",{label:J})),T},y=h=>h.trim()||null;if(a.has("serverPort")&&(i.serverPort=c(t.serverPort,n("settings.serverPort"))),a.has("region")&&(i.region=t.region),a.has("persistence")&&(i.persistence=t.persistence),a.has("debug")&&(i.debug=t.debug),a.has("proxyEnabled")&&(i.enableDynamoProxy=t.proxyEnabled),a.has("proxyPort")&&(i.dynamoProxyPort=c(t.proxyPort,n("settings.proxyPort"))),a.has("autoPackage")&&(i.autoPackage=t.autoPackage),a.has("packageCommand")&&(i.packageCommand=y(t.packageCommand)),a.has("packageArgs")&&(i.packageArgs=t.packageArgs.length?[...t.packageArgs]:null),a.has("packageEnv")){const h=he();Object.keys(h).length&&(i.packageEnv=h)}a.has("packageTimeoutMs")&&(i.packageTimeoutMs=p(t.packageTimeoutMs,n("settings.packageTimeout"))),a.has("seedsDir")&&(i.seedsDir=y(t.seedsDir));const v={};a.has("sePort")&&(v.port=c(t.sePort,n("settings.selfEnginePort"))),a.has("seAccount")&&(t.seAccount.trim()||l.push(n("settings.errorAccountEmpty")),v.account=t.seAccount.trim()),a.has("seMemoryBudgetMb")&&(v.memoryBudgetMb=p(t.seMemoryBudgetMb,n("settings.memoryBudget"))),a.has("seIdleUnloadMs")&&(v.idleUnloadMs=p(t.seIdleUnloadMs,n("settings.idleUnload"))),a.has("seFsync")&&(v.fsync=t.seFsync),a.has("seFallback")&&(v.fallbackEndpoint=y(t.seFallback)),Object.keys(v).length&&(i.selfEngine=v);const M={};a.has("lrEnabled")&&(M.enabled=t.lrEnabled),a.has("lrExecution")&&(M.execution=t.lrExecution),a.has("lrWatch")&&(M.watch=t.lrWatch==="default"?null:t.lrWatch==="on"),a.has("lrInvokePortOffset")&&(M.invokePortOffset=p(t.lrInvokePortOffset,n("settings.invokePortOffset"))),a.has("lrInvokeHost")&&(M.invokeHost=y(t.lrInvokeHost)),Object.keys(M).length&&(i.lambdaRuntime=M);const O={};a.has("brTitle")&&(O.title=y(t.brTitle)),a.has("brSubtitle")&&(O.subtitle=y(t.brSubtitle)),a.has("brTheme")&&(O.defaultTheme=t.brTheme);const xe=h=>Object.keys(h).length?{...h}:null;return a.has("brColors")&&(O.colors=xe(t.brColors)),(a.has("brThemeDark")||a.has("brThemeLight"))&&(O.themeColors=Object.keys(t.brThemeDark).length||Object.keys(t.brThemeLight).length?{dark:{...t.brThemeDark},light:{...t.brThemeLight}}:null),Object.keys(O).length&&(i.branding=O),{patch:i,errors:l}}async function Ee(){try{L(await q.getConfig())}catch(l){V.value=l instanceof Error?l.message:n("settings.loadFailed")}finally{X.value=!1}}async function Pe(){var c;(c=_.value)==null||c.commit();const{patch:l,errors:a}=Ve();if(a.length){V.value=a.join("; ");return}j.value=!0,V.value=null;const i=R();try{const p=await q.updateConfig(l),y=R();L(p.config),Object.keys(y).forEach(v=>{ee(v,y,i)&&(t[v]=y[v])}),S.value=p.restartRequired,I.value=p.envOverridden,l.branding&&await Ae(),Q.add({title:n("settings.savedTitle"),description:n("settings.savedDescription",{path:p.configPath}),variant:"success"})}catch(p){V.value=p instanceof Error?p.message:n("settings.saveFailed")}finally{j.value=!1}}async function Te(){z.value=!0,V.value=null;try{const l=await q.reloadConfig();L(l.config),S.value=l.restartRequired,I.value=[],Q.add({title:n("settings.reloadedTitle"),description:l.configPath||n("settings.reloadedNoFile"),variant:"success"})}catch(l){V.value=l instanceof Error?l.message:n("settings.reloadFailed")}finally{z.value=!1}}function Ce(){var l;k.value&&((l=_.value)==null||l.commit(),L(k.value))}return Oe(Ee),(l,a)=>(x(),C(e(g),{direction:"vertical",gap:"1.5rem"},{default:o(()=>[s(e(D),{variant:"outline"},{default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(g),{direction:"horizontal",justify:"space-between",align:"center",wrap:"",gap:"0.75rem"},{default:o(()=>[s(e(g),{direction:"horizontal",gap:"0.75rem",align:"center"},{default:o(()=>[s(e(le),{name:"settings"}),s(e(g),{direction:"vertical",gap:"0.125rem"},{default:o(()=>[s(e(b),{size:"xl",weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.title")),1)]),_:1}),s(e(b),{tone:"muted",size:"sm"},{default:o(()=>[u(d(e(n)("settings.subtitle")),1)]),_:1})]),_:1})]),_:1}),s(e(g),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:o(()=>[U.value?(x(),C(e(se),{key:0,tone:"warning",variant:"soft"},{default:o(()=>[u(d(U.value>1?e(n)("settings.unsavedChanges",{count:U.value}):e(n)("settings.unsavedChange",{count:U.value})),1)]),_:1})):w("",!0),s(e(F),{size:"sm",variant:"ghost",to:"/onboarding"},{default:o(()=>[u(d(e(n)("settings.reopenOnboarding")),1)]),_:1}),s(e(F),{size:"sm",variant:"outline",loading:z.value,onClick:Te},{icon:o(()=>[s(e(le),{name:"refresh-cw"})]),default:o(()=>[u(" "+d(e(n)("settings.reloadFromDisk")),1)]),_:1},8,["loading"]),s(e(F),{size:"sm",variant:"ghost",disabled:!U.value||j.value,onClick:Ce},{default:o(()=>[u(d(e(n)("settings.discard")),1)]),_:1},8,["disabled"]),s(e(F),{size:"sm",variant:"solid",loading:j.value,disabled:!U.value||fe.value,onClick:Pe},{default:o(()=>[u(d(e(n)("settings.saveChanges")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),s(e(b),{tone:"muted",size:"xs",family:"mono"},{default:o(()=>{var i,c;return[u(d(((i=k.value)==null?void 0:i.configPath)||e(n)("settings.noConfigFile",{root:((c=k.value)==null?void 0:c.projectRoot)||e(n)("settings.projectRoot")})),1)]}),_:1})]),_:1})]),_:1}),V.value?(x(),C(e(G),{key:0,variant:"danger",dismissible:"",onDismiss:a[0]||(a[0]=i=>V.value=null)},{default:o(()=>[u(d(V.value),1)]),_:1})):w("",!0),S.value.length?(x(),C(e(G),{key:1,variant:"warning",dismissible:"",onDismiss:a[1]||(a[1]=i=>S.value=[])},{default:o(()=>[u(d(e(n)("settings.restartRequired",{keys:S.value.join(", ")}))+" "+d(e(n)("settings.restartRun"))+" ",1),s(e(b),{family:"mono"},{default:o(()=>[...a[35]||(a[35]=[u("lss stop && lss start",-1)])]),_:1}),u(" "+d(e(n)("settings.restartTask")),1)]),_:1})):w("",!0),I.value.length?(x(),C(e(G),{key:2,variant:"info",dismissible:"",onDismiss:a[2]||(a[2]=i=>I.value=[])},{default:o(()=>[u(d(e(n)("settings.envMaskedAlert",{keys:I.value.join(", ")})),1)]),_:1})):w("",!0),X.value?(x(),C(e(g),{key:3,direction:"horizontal",justify:"center",align:"center"},{default:o(()=>[s(e(Ue),{label:e(n)("settings.loadingConfig")},null,8,["label"])]),_:1})):k.value?(x(),C(e(Y),{key:4,columns:2,gap:"1rem"},{default:o(()=>[s(e(D),{variant:"outline"},{header:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.serverCard")),1)]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.serverPort"),hint:f("serverPort",e(n)("settings.serverPortHint"))},{default:o(()=>[s(e(m),{modelValue:t.serverPort,"onUpdate:modelValue":a[3]||(a[3]=i=>t.serverPort=i),modelModifiers:{number:!0},type:"number",min:"1",max:"65535"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.defaultRegion"),hint:f("region",e(n)("settings.defaultRegionHint"))},{default:o(()=>[s(e(ie),{modelValue:t.region,"onUpdate:modelValue":a[4]||(a[4]=i=>t.region=i),options:e(He)},null,8,["modelValue","options"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.persistence"),hint:f("persistence",e(n)("settings.persistenceHint"))},{default:o(()=>[s(e(A),{modelValue:t.persistence,"onUpdate:modelValue":a[5]||(a[5]=i=>t.persistence=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.debug"),hint:f("debug",e(n)("settings.debugHint"))},{default:o(()=>[s(e(A),{modelValue:t.debug,"onUpdate:modelValue":a[6]||(a[6]=i=>t.debug=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.seedsDir"),hint:f("seedsDir",e(n)("settings.seedsDirHint"))},{default:o(()=>[s(e(m),{modelValue:t.seedsDir,"onUpdate:modelValue":a[7]||(a[7]=i=>t.seedsDir=i),placeholder:"./seeds"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1})]),_:1}),s(e(D),{variant:"outline"},{header:o(()=>[s(e(g),{direction:"horizontal",justify:"space-between",align:"center"},{default:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.engineCard")),1)]),_:1}),s(e(se),{tone:"info",variant:"soft"},{default:o(()=>[u(d(e(n)("settings.engineBadge")),1)]),_:1})]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(Y),{columns:2,gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("common.port"),hint:f("selfEngine",e(n)("settings.enginePortHint"))},{default:o(()=>[s(e(m),{modelValue:t.sePort,"onUpdate:modelValue":a[8]||(a[8]=i=>t.sePort=i),modelModifiers:{number:!0},type:"number",min:"1",max:"65535"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.accountId"),hint:e(n)("settings.accountIdHint")},{default:o(()=>[s(e(m),{modelValue:t.seAccount,"onUpdate:modelValue":a[9]||(a[9]=i=>t.seAccount=i),placeholder:"000000000000"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.memoryBudget"),hint:e(n)("settings.memoryBudgetHint")},{default:o(()=>[s(e(m),{modelValue:t.seMemoryBudgetMb,"onUpdate:modelValue":a[10]||(a[10]=i=>t.seMemoryBudgetMb=i),modelModifiers:{number:!0},type:"number",min:"1"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.idleUnload"),hint:e(n)("settings.idleUnloadHint")},{default:o(()=>[s(e(m),{modelValue:t.seIdleUnloadMs,"onUpdate:modelValue":a[11]||(a[11]=i=>t.seIdleUnloadMs=i),modelModifiers:{number:!0},type:"number",min:"1"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1}),s(e(r),{label:e(n)("settings.fsync"),hint:e(n)("settings.fsyncHint")},{default:o(()=>[s(e(A),{modelValue:t.seFsync,"onUpdate:modelValue":a[12]||(a[12]=i=>t.seFsync=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.fallbackEndpoint"),hint:e(n)("settings.fallbackEndpointHint")},{default:o(()=>[s(e(m),{modelValue:t.seFallback,"onUpdate:modelValue":a[13]||(a[13]=i=>t.seFallback=i),placeholder:""},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(b),{tone:"muted",size:"xs",family:"mono"},{default:o(()=>[u(d(e(n)("settings.dataDir",{path:k.value.selfEngine.dataDir})),1)]),_:1})]),_:1})]),_:1}),s(e(D),{variant:"outline"},{header:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.lambdaRuntimeCard")),1)]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.lambdaRuntimeEnabled"),hint:f("lambdaRuntime",e(n)("settings.lambdaRuntimeEnabledHint"))},{default:o(()=>[s(e(A),{modelValue:t.lrEnabled,"onUpdate:modelValue":a[14]||(a[14]=i=>t.lrEnabled=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.execution"),hint:e(n)("settings.executionHint")},{default:o(()=>[s(e(oe),{modelValue:t.lrExecution,"onUpdate:modelValue":a[15]||(a[15]=i=>t.lrExecution=i),options:ue.value,size:"md"},null,8,["modelValue","options"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.watch"),hint:e(n)("settings.watchHint")},{default:o(()=>[s(e(ie),{modelValue:t.lrWatch,"onUpdate:modelValue":a[16]||(a[16]=i=>t.lrWatch=i),options:de.value},null,8,["modelValue","options"])]),_:1},8,["label","hint"]),s(e(Y),{columns:2,gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.invokePortOffset"),hint:e(n)("settings.invokePortOffsetHint")},{default:o(()=>[s(e(m),{modelValue:t.lrInvokePortOffset,"onUpdate:modelValue":a[17]||(a[17]=i=>t.lrInvokePortOffset=i),modelModifiers:{number:!0},type:"number",min:"1"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.invokeHost"),hint:e(n)("settings.invokeHostHint")},{default:o(()=>[s(e(m),{modelValue:t.lrInvokeHost,"onUpdate:modelValue":a[18]||(a[18]=i=>t.lrInvokeHost=i),placeholder:"host.docker.internal"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1})]),_:1})]),_:1}),s(e(D),{variant:"outline"},{header:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.dynamoProxy")),1)]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.dynamoProxy"),hint:f("enableDynamoProxy",e(n)("settings.dynamoProxyHint"))},{default:o(()=>[s(e(A),{modelValue:t.proxyEnabled,"onUpdate:modelValue":a[19]||(a[19]=i=>t.proxyEnabled=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.proxyPort"),hint:f("dynamoProxyPort",e(n)("settings.proxyPortHint"))},{default:o(()=>[s(e(m),{modelValue:t.proxyPort,"onUpdate:modelValue":a[20]||(a[20]=i=>t.proxyPort=i),modelModifiers:{number:!0},type:"number",min:"1",max:"65535",disabled:!t.proxyEnabled},null,8,["modelValue","disabled"])]),_:1},8,["label","hint"])]),_:1})]),_:1}),s(e(D),{variant:"outline"},{header:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.packagingCard")),1)]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.autoPackage"),hint:f("autoPackage",e(n)("settings.autoPackageHint"))},{default:o(()=>[s(e(A),{modelValue:t.autoPackage,"onUpdate:modelValue":a[21]||(a[21]=i=>t.autoPackage=i)},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.packageCommand"),hint:f("packageCommand",e(n)("settings.packageCommandHint"))},{default:o(()=>[s(e(m),{modelValue:t.packageCommand,"onUpdate:modelValue":a[22]||(a[22]=i=>t.packageCommand=i),placeholder:"npx serverless package"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.packageArgs"),hint:e(n)("settings.packageArgsHint")},{default:o(()=>[s(e(we),{ref_key:"argsInput",ref:_,modelValue:t.packageArgs,"onUpdate:modelValue":a[23]||(a[23]=i=>t.packageArgs=i),"allow-duplicates":!0,separator:null,placeholder:e(n)("settings.packageArgsPlaceholder"),"remove-label":e(n)("settings.packageArgsRemove"),"onUpdate:draft":a[24]||(a[24]=i=>ae.value=i)},null,8,["modelValue","placeholder","remove-label"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.packageEnv"),hint:e(n)("settings.packageEnvHint")},{default:o(()=>[s(e($),{mode:"secret",secrets:t.packageEnv.keys,labels:ce.value,"onUpdate:secrets":ke,onSetValue:pe,onClearValue:ve},null,8,["secrets","labels"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.packageTimeout"),hint:f("packageTimeoutMs",e(n)("settings.packageTimeoutHint"))},{default:o(()=>[s(e(m),{modelValue:t.packageTimeoutMs,"onUpdate:modelValue":a[25]||(a[25]=i=>t.packageTimeoutMs=i),modelModifiers:{number:!0},type:"number",min:"1"},null,8,["modelValue"])]),_:1},8,["label","hint"]),Object.keys(k.value.servicePackaging).length?(x(),C(e(b),{key:0,tone:"muted",size:"xs"},{default:o(()=>[u(d(e(n)("settings.packagingOverrides",{services:Object.keys(k.value.servicePackaging).join(", ")})),1)]),_:1})):w("",!0)]),_:1})]),_:1}),s(e(D),{variant:"outline"},{header:o(()=>[s(e(b),{weight:"semibold"},{default:o(()=>[u(d(e(n)("settings.brandingCard")),1)]),_:1})]),default:o(()=>[s(e(g),{direction:"vertical",gap:"0.75rem"},{default:o(()=>[s(e(r),{label:e(n)("settings.brandingTitle"),hint:e(n)("settings.brandingTitleHint")},{default:o(()=>[s(e(m),{modelValue:t.brTitle,"onUpdate:modelValue":a[26]||(a[26]=i=>t.brTitle=i),placeholder:"Local Serverless Stack"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.brandingSubtitle"),hint:e(n)("settings.brandingSubtitleHint")},{default:o(()=>[s(e(m),{modelValue:t.brSubtitle,"onUpdate:modelValue":a[27]||(a[27]=i=>t.brSubtitle=i),placeholder:"Local development control plane"},null,8,["modelValue"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.defaultTheme"),hint:e(n)("settings.defaultThemeHint")},{default:o(()=>[s(e(oe),{modelValue:t.brTheme,"onUpdate:modelValue":a[28]||(a[28]=i=>t.brTheme=i),options:ge.value,size:"md"},null,8,["modelValue","options"])]),_:1},8,["label","hint"]),s(e(r),{label:e(n)("settings.brandingColors"),hint:e(n)("settings.brandingColorsHint"),error:H.value.brColors},{default:o(()=>[s(e($),{modelValue:t.brColors,"onUpdate:modelValue":a[29]||(a[29]=i=>t.brColors=i),labels:W.value,invalid:!!H.value.brColors,onValidityChange:a[30]||(a[30]=i=>K("brColors",i))},null,8,["modelValue","labels","invalid"])]),_:1},8,["label","hint","error"]),s(e(r),{label:e(n)("settings.brandingColorsDark"),hint:e(n)("settings.brandingColorsDarkHint"),error:H.value.brThemeDark},{default:o(()=>[s(e($),{modelValue:t.brThemeDark,"onUpdate:modelValue":a[31]||(a[31]=i=>t.brThemeDark=i),labels:W.value,invalid:!!H.value.brThemeDark,onValidityChange:a[32]||(a[32]=i=>K("brThemeDark",i))},null,8,["modelValue","labels","invalid"])]),_:1},8,["label","hint","error"]),s(e(r),{label:e(n)("settings.brandingColorsLight"),hint:e(n)("settings.brandingColorsLightHint"),error:H.value.brThemeLight},{default:o(()=>[s(e($),{modelValue:t.brThemeLight,"onUpdate:modelValue":a[33]||(a[33]=i=>t.brThemeLight=i),labels:W.value,invalid:!!H.value.brThemeLight,onValidityChange:a[34]||(a[34]=i=>K("brThemeLight",i))},null,8,["modelValue","labels","invalid"])]),_:1},8,["label","hint","error"]),s(e(b),{tone:"muted",size:"xs"},{default:o(()=>[u(d(e(n)("settings.brandingFileOnly")),1)]),_:1})]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1}))}});export{Re as default};