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
@@ -0,0 +1 @@
1
+ const s={lambda:"aws-lambda",dynamodb:"aws-dynamodb",sqs:"aws-sqs",sns:"aws-sns",s3:"aws-s3",eventbus:"aws-eventbridge","event-rule":"aws-eventbridge",opensearch:"aws-opensearch","event-source":"aws-lambda"},n={lambda:"aws-lambda",dynamodb:"aws-dynamodb",sqs:"aws-sqs",sns:"aws-sns",s3:"aws-s3",eventbus:"aws-eventbridge","event-rule":"aws-eventbridge",opensearch:"aws-opensearch",secret:"aws-secrets-manager",route:"aws-api-gateway","iam-role":"aws-iam",external:"external-link"},o={lambdas:{icon:s.lambda,labelKey:"services.groupLambdas"},tables:{icon:s.dynamodb,labelKey:"services.groupTables"},queues:{icon:s.sqs,labelKey:"services.groupQueues"},topics:{icon:s.sns,labelKey:"services.groupTopics"},buckets:{icon:s.s3,labelKey:"services.groupBuckets"},buses:{icon:s.eventbus,labelKey:"services.groupBuses"},eventRules:{icon:s["event-rule"],labelKey:"services.groupRules"},collections:{icon:s.opensearch,labelKey:"services.groupCollections"}},r=["lambdas","tables","queues","topics","buckets","buses","eventRules","collections"],a={dynamodb:"aws-dynamodb",sqs:"aws-sqs",sns:"aws-sns",s3:"aws-s3",events:"aws-eventbridge",lambda:"aws-lambda",sts:"aws-iam",secretsmanager:"aws-secrets-manager",aoss:"aws-opensearch"};function c(e){return a[e]??null}export{r as a,o as b,c as e,n as g,s as r};
@@ -1,4 +1,7 @@
1
1
  <!DOCTYPE html>
2
+ <!-- Static default only: src/ui/src/i18n resolves the real locale at boot
3
+ (stored choice, else the browser's languages) and rewrites this attribute
4
+ before the app mounts. -->
2
5
  <html lang="en">
3
6
 
4
7
  <head>
@@ -7,8 +10,8 @@
7
10
  <!-- Default mark; a project's `branding.favicon` replaces it at runtime. -->
8
11
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
9
12
  <title>LSS Self Engine</title>
10
- <script type="module" crossorigin src="/assets/index-DuSPnI19.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-D627ZyYU.css">
13
+ <script type="module" crossorigin src="/assets/index-BouKSS43.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-BDlrAJhi.css">
12
15
  </head>
13
16
 
14
17
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "local-serverless-stack",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Local control plane for serverless development — an in-process AWS emulator, no Docker required",
5
5
  "author": "LSS Contributors",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{k as R,m as W,ab as X,e as k,a7 as e,v as c,ac as l,a as g,n as f,j as a,J as p,x as U,i,a6 as s,u as L,D as Z,f as O,L as ee,w as K,g as te,z as _,y as ae,M as S,N as T,Y as le,t as P,P as ne,Q as oe,R as ue,ad as ie,F as se,a8 as re,c as ce,p as d,b as E,aa as de}from"./index-DuSPnI19.js";const be=R({__name:"BucketDetail",props:{bucketName:{}},emits:["back"],setup(w,{emit:B}){const b=w,D=B,{t}=re(),v=ce(),r=d(null),y=d([]),x=d(""),F=d(!0),$=d(!1),h=d(null),j=d(""),z=d(""),N=d("text/plain"),C=d(!1),G=E(()=>[{key:"key",label:t("buckets.colKey")},{key:"size",label:t("common.size"),align:"right"},{key:"lastModified",label:t("buckets.colModified")},{key:"actions",label:"",align:"right"}]),H=E(()=>y.value.reduce((o,u)=>o+(u.size||0),0));function V(o){if(o==null)return"—";if(o===0)return"0 B";const u=["B","KB","MB","GB","TB"],n=Math.floor(Math.log(o)/Math.log(1024));return`${(o/Math.pow(1024,n)).toFixed(n===0?0:1)} ${u[n]}`}function I(o){return o?new Date(o).toLocaleString():"—"}async function M(){try{r.value=await g.getBucket(b.bucketName),h.value=null}catch(o){h.value=o.message||t("buckets.detailLoadFailed"),r.value=null}finally{F.value=!1}}async function m(){$.value=!0;try{const o=await g.listBucketObjects(b.bucketName,{prefix:x.value||void 0,maxKeys:200});y.value=o.objects}catch(o){v.add({title:t("buckets.objectsLoadFailed"),description:o.message,variant:"danger"})}finally{$.value=!1}}function J(o){return g.bucketObjectContentUrl(b.bucketName,o,!1)}function Q(o){return g.bucketObjectContentUrl(b.bucketName,o,!0)}async function Y(o){if(confirm(t("buckets.deleteConfirm",{key:o})))try{await g.deleteBucketObject(b.bucketName,o),v.add({title:t("buckets.deleteSuccess"),variant:"info"}),await m()}catch(u){v.add({title:t("buckets.deleteFailed"),description:u.message,variant:"danger"})}}async function q(){if(!j.value||!z.value){v.add({title:t("buckets.uploadMissingFields"),variant:"warning"});return}C.value=!0;try{await g.putBucketObject(b.bucketName,{key:j.value,body:z.value,contentType:N.value||void 0}),v.add({title:t("buckets.uploadSuccess"),variant:"info"}),j.value="",z.value="",await m(),await M()}catch(o){v.add({title:t("buckets.uploadFailed"),description:o.message,variant:"danger"})}finally{C.value=!1}}return W(()=>{M(),m()}),X(()=>b.bucketName,()=>{M(),m()}),(o,u)=>(f(),k(e(c),{direction:"vertical",gap:"1rem"},{default:l(()=>[a(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:l(()=>[a(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:l(()=>{var n;return[a(e(p),{size:"sm",variant:"ghost",onClick:u[0]||(u[0]=A=>D("back"))},{default:l(()=>[a(e(U),{name:"arrow-left"}),i(" "+s(e(t)("buckets.backToBuckets")),1)]),_:1}),a(e(U),{name:"aws-s3"}),a(e(L),{size:"lg",weight:"semibold"},{default:l(()=>[i(s(w.bucketName),1)]),_:1}),(n=r.value)!=null&&n.versioning?(f(),k(e(Z),{key:0,tone:"info",variant:"soft"},{default:l(()=>[i(s(e(t)("buckets.versioning")),1)]),_:1})):O("",!0)]}),_:1}),a(e(p),{size:"sm",variant:"ghost",loading:$.value,"loading-label":e(t)("common.loading"),onClick:u[1]||(u[1]=n=>m())},{default:l(()=>[i(s(e(t)("common.refresh")),1)]),_:1},8,["loading","loading-label"])]),_:1}),h.value?(f(),k(e(ee),{key:0,variant:"danger",dismissible:"",onDismiss:u[2]||(u[2]=n=>h.value=null)},{default:l(()=>[i(s(h.value),1)]),_:1})):O("",!0),F.value&&!r.value?(f(),k(e(c),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:l(()=>[a(e(K),{label:e(t)("buckets.detailLoading")},null,8,["label"])]),_:1})):r.value?(f(),te(se,{key:2},[a(e(ae),{columns:4,gap:"0.75rem"},{default:l(()=>[a(e(_),{label:e(t)("buckets.statObjects"),value:r.value.objectCount??0,tone:"info"},null,8,["label","value"]),a(e(_),{label:e(t)("common.size"),value:V(r.value.totalSize),tone:"neutral"},null,8,["label","value"]),a(e(_),{label:e(t)("buckets.versioning"),value:r.value.versioning?e(t)("buckets.enabled"):e(t)("buckets.disabled"),tone:r.value.versioning?"success":"neutral"},null,8,["label","value","tone"]),a(e(_),{label:e(t)("buckets.statNotifications"),value:r.value.notifications??0,tone:(r.value.notifications??0)>0?"info":"neutral"},null,8,["label","value","tone"])]),_:1}),a(e(P),{variant:"outline"},{header:l(()=>[a(e(L),{weight:"semibold"},{default:l(()=>[i(s(e(t)("buckets.uploadTitle")),1)]),_:1})]),default:l(()=>[a(e(c),{direction:"vertical",gap:"0.5rem"},{default:l(()=>[a(e(S),{label:e(t)("buckets.keyLabel")},{default:l(()=>[a(e(T),{modelValue:j.value,"onUpdate:modelValue":u[3]||(u[3]=n=>j.value=n),placeholder:"object/key.txt"},null,8,["modelValue"])]),_:1},8,["label"]),a(e(S),{label:e(t)("buckets.contentTypeLabel")},{default:l(()=>[a(e(T),{modelValue:N.value,"onUpdate:modelValue":u[4]||(u[4]=n=>N.value=n),placeholder:"text/plain"},null,8,["modelValue"])]),_:1},8,["label"]),a(e(S),{label:e(t)("buckets.bodyLabel")},{default:l(()=>[a(e(le),{modelValue:z.value,"onUpdate:modelValue":u[5]||(u[5]=n=>z.value=n),family:"mono",rows:4,placeholder:e(t)("buckets.bodyPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),a(e(c),{direction:"horizontal",justify:"flex-end"},{default:l(()=>[a(e(p),{size:"sm",loading:C.value,"loading-label":e(t)("common.loading"),onClick:q},{default:l(()=>[i(s(e(t)("buckets.upload")),1)]),_:1},8,["loading","loading-label"])]),_:1})]),_:1})]),_:1}),a(e(P),{variant:"outline"},{header:l(()=>[a(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:l(()=>[a(e(L),{weight:"semibold"},{default:l(()=>[i(s(e(t)("buckets.objectsHeader",{count:y.value.length,size:V(H.value)})),1)]),_:1}),a(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:l(()=>[a(e(T),{modelValue:x.value,"onUpdate:modelValue":u[6]||(u[6]=n=>x.value=n),placeholder:e(t)("buckets.prefixPlaceholder"),"aria-label":e(t)("buckets.prefixLabel"),size:"sm",onKeyup:u[7]||(u[7]=ie(n=>m(),["enter"]))},null,8,["modelValue","placeholder","aria-label"]),a(e(p),{size:"sm",variant:"ghost",onClick:u[8]||(u[8]=n=>m())},{default:l(()=>[i(s(e(t)("buckets.apply")),1)]),_:1})]),_:1})]),_:1})]),default:l(()=>[$.value?(f(),k(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:l(()=>[a(e(K),{label:e(t)("buckets.objectsLoading")},null,8,["label"])]),_:1})):y.value.length?(f(),k(e(oe),{key:2,columns:G.value,rows:y.value,"aria-label":e(t)("buckets.objectsTableLabel")},{"cell-key":l(({row:n})=>[a(e(ue),{href:J(String(n.key)),external:""},{default:l(()=>[i(s(n.key),1)]),_:2},1032,["href"])]),"cell-size":l(({row:n})=>[i(s(V(Number(n.size))),1)]),"cell-lastModified":l(({row:n})=>[i(s(I(n.lastModified)),1)]),"cell-actions":l(({row:n})=>[a(e(c),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:l(()=>[a(e(p),{as:"a",href:Q(String(n.key)),target:"_blank",rel:"noopener noreferrer",size:"sm",variant:"ghost"},{default:l(()=>[i(s(e(t)("buckets.download")),1)]),_:1},8,["href"]),a(e(p),{size:"sm",variant:"ghost",tone:"danger",onClick:A=>Y(String(n.key))},{default:l(()=>[i(s(e(t)("common.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(f(),k(e(ne),{key:1,title:e(t)("buckets.objectsEmptyTitle"),description:e(t)("buckets.objectsEmptyDescription")},null,8,["title","description"]))]),_:1})],64)):O("",!0)]),_:1}))}}),ke=R({__name:"BucketDetailPage",props:{bucketName:{}},setup(w){const B=de();function b(){B.push("/buckets")}return(D,t)=>(f(),k(be,{"bucket-name":w.bucketName,onBack:b},null,8,["bucket-name"]))}});export{ke as default};
@@ -1 +0,0 @@
1
- import{k as I,aa as T,m as V,o as E,n as c,e as r,a7 as e,v,ac as a,j as s,y as L,z as _,L as U,i as o,a6 as i,f as O,t as P,w as A,P as F,x as j,Q as G,J as q,D as h,R as S,A as H,u as $,a8 as J,p as f,b as y,a as x}from"./index-DuSPnI19.js";import{E as K}from"./engine-D0mFFNbL.js";const Q=I({__name:"BucketsView",setup(N){const{t:n}=J(),B=T(),d=f([]),w=f({}),b=f(!0),m=f(null);let k=null;const M=y(()=>[{key:"name",label:n("buckets.colBucket")},{key:"service",label:n("common.service")},{key:"objectCount",label:n("buckets.colObjects"),align:"right"},{key:"totalSize",label:n("common.size"),align:"right"},{key:"versioning",label:n("buckets.colVersioning")},{key:"notifications",label:n("buckets.colNotifications"),align:"right"},{key:"actions",label:"",align:"right"}]),R=y(()=>d.value.map(l=>({...l,service:w.value[l.name]||""}))),g=y(()=>({buckets:d.value.length,objects:d.value.reduce((l,u)=>l+(u.objectCount||0),0),size:d.value.reduce((l,u)=>l+(u.totalSize||0),0)}));function z(l){if(l==null)return"—";if(l===0)return"0 B";const u=["B","KB","MB","GB","TB"],t=Math.floor(Math.log(l)/Math.log(1024));return`${(l/Math.pow(1024,t)).toFixed(t===0?0:1)} ${u[t]}`}async function C(){try{const[l,u]=await Promise.all([x.listBuckets(),x.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);d.value=l;const t={};for(const p of u.buckets||[])t[p.name]=p.service;w.value=t,m.value=null}catch(l){m.value=l.message||n("buckets.loadFailed")}finally{b.value=!1}}function D(l){B.push(`/buckets/${encodeURIComponent(l)}`)}return V(()=>{C(),k=window.setInterval(C,1e4)}),E(()=>{k&&window.clearInterval(k)}),(l,u)=>(c(),r(e(v),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[s(e(L),{columns:3,gap:"1rem"},{default:a(()=>[s(e(_),{label:e(n)("buckets.statBuckets"),value:g.value.buckets,tone:"info",loading:b.value},null,8,["label","value","loading"]),s(e(_),{label:e(n)("buckets.statObjects"),value:g.value.objects,tone:"success",loading:b.value},null,8,["label","value","loading"]),s(e(_),{label:e(n)("buckets.statTotalSize"),value:z(g.value.size),tone:"neutral",loading:b.value},null,8,["label","value","loading"])]),_:1}),m.value?(c(),r(e(U),{key:0,variant:"danger",dismissible:"",onDismiss:u[0]||(u[0]=t=>m.value=null)},{default:a(()=>[o(i(m.value),1)]),_:1})):O("",!0),s(e(P),{variant:"outline"},{header:a(()=>[s(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[s(e(v),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(j),{name:"aws-s3"}),s(e($),{weight:"semibold"},{default:a(()=>[o(i(e(n)("buckets.title")),1)]),_:1})]),_:1}),s(e($),{tone:"muted"},{default:a(()=>[o(i(e(n)("buckets.refreshHint")),1)]),_:1})]),_:1})]),default:a(()=>[b.value?(c(),r(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[s(e(A),{label:e(n)("buckets.loading")},null,8,["label"])]),_:1})):d.value.length?(c(),r(e(G),{key:2,columns:M.value,rows:R.value,"aria-label":e(n)("buckets.tableLabel")},{"cell-name":a(({row:t})=>[s(e(S),{to:`/buckets/${encodeURIComponent(String(t.name))}`,weight:"semibold"},{default:a(()=>[o(i(t.name),1)]),_:2},1032,["to"])]),"cell-service":a(({row:t})=>[t.service?(c(),r(e(S),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,underline:"none"},{default:a(()=>[s(e(H),{size:"sm",variant:"soft"},{default:a(()=>[o(i(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(c(),r(e($),{key:1,tone:"muted",size:"xs"},{default:a(()=>[o(i(e(n)("buckets.unmanaged")),1)]),_:1}))]),"cell-objectCount":a(({row:t})=>[s(e(h),{tone:"info",variant:"soft"},{default:a(()=>[o(i(t.objectCount??0),1)]),_:2},1024)]),"cell-totalSize":a(({row:t})=>[o(i(z(t.totalSize)),1)]),"cell-versioning":a(({row:t})=>[s(e(h),{tone:t.versioning?"success":"neutral",variant:"soft"},{default:a(()=>[o(i(t.versioning?e(n)("buckets.enabled"):e(n)("buckets.disabled")),1)]),_:2},1032,["tone"])]),"cell-notifications":a(({row:t})=>[s(e(h),{tone:Number(t.notifications)>0?"info":"neutral",variant:"soft"},{default:a(()=>[o(i(t.notifications??0),1)]),_:2},1032,["tone"])]),"cell-actions":a(({row:t})=>[s(e(q),{size:"sm",variant:"ghost",onClick:p=>D(String(t.name))},{default:a(()=>[o(i(e(n)("buckets.open")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(c(),r(e(F),{key:1,title:e(n)("buckets.emptyTitle"),description:e(n)("buckets.emptyDescription",{engine:e(K)})},{icon:a(()=>[s(e(j),{name:"aws-s3"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),Y=I({__name:"BucketsPage",setup(N){return(n,B)=>(c(),r(Q))}});export{Y as default};
@@ -1,3 +0,0 @@
1
- import{k as Z,ab as ye,n as v,e as y,a7 as e,S as at,ac as t,j as a,v as m,L as ie,i as r,a6 as u,f as T,u as _,D as M,Y as lt,J as O,g as H,F as W,a8 as ue,p,b as q,a as U,c as pe,t as J,a1 as K,E as nt,M as B,Z as oe,I as ze,N as P,O as ot,x as be,s as Q,d as it,w as xe,P as Ce,Q as ut,h as rt,U as ke,y as Ne,z as ve,a3 as st,A as we,G as dt,H as Ae,m as mt,a0 as vt,W as ce,V as ct,X as fe,a9 as ft,aa as De}from"./index-DuSPnI19.js";const bt=Z({__name:"DynamoItemEditor",props:{open:{type:Boolean},tableName:{},mode:{},item:{},originalKey:{}},emits:["update:open","saved","request-edit","request-clone","request-delete"],setup(D,{emit:N}){const{t:l}=ue(),k=D,s=N,A=pe(),C=p(""),b=p(null),V=p(!1),h=q({get:()=>k.open,set:d=>s("update:open",d)}),I=q(()=>k.mode==="create"?l("dynamo.editorCreateTitle",{table:k.tableName}):k.mode==="view"?l("dynamo.editorViewTitle",{table:k.tableName}):l("dynamo.editorEditTitle",{table:k.tableName})),E=q(()=>k.mode==="view");ye(()=>[k.open,k.item,k.mode],([d])=>{d&&(C.value=k.item&&Object.keys(k.item).length?JSON.stringify(k.item,null,2):`{
2
-
3
- }`,b.value=null)},{immediate:!0});function x(){try{const d=JSON.parse(C.value);return d===null||typeof d!="object"||Array.isArray(d)?(b.value=l("dynamo.errItemNotObject"),null):(b.value=null,d)}catch(d){return b.value=d.message,null}}async function $(){const d=x();if(d){V.value=!0;try{k.mode==="edit"&&k.originalKey&&Object.entries(k.originalKey).some(([w,g])=>JSON.stringify(d[w])!==JSON.stringify(g))&&await U.deleteDynamoItem(k.tableName,k.originalKey),await U.putDynamoItem(k.tableName,d),A.add({title:k.mode==="create"?l("dynamo.itemCreated"):l("dynamo.itemSaved"),variant:"success"}),s("saved"),h.value=!1}catch(c){A.add({title:l("dynamo.saveFailed"),description:c.message,variant:"danger"})}finally{V.value=!1}}}function S(){const d=x();d&&(C.value=JSON.stringify(d,null,2))}return(d,c)=>(v(),y(e(at),{open:h.value,"onUpdate:open":c[5]||(c[5]=w=>h.value=w),title:I.value,size:"lg"},{footer:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",justify:"space-between"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[E.value?T("",!0):(v(),y(e(O),{key:0,size:"sm",variant:"ghost",onClick:S},{default:t(()=>[r(u(e(l)("dynamo.formatJson")),1)]),_:1})),E.value?(v(),H(W,{key:1},[a(e(O),{size:"sm",variant:"soft",onClick:c[1]||(c[1]=w=>s("request-edit"))},{default:t(()=>[r(u(e(l)("dynamo.edit")),1)]),_:1}),a(e(O),{size:"sm",variant:"ghost",onClick:c[2]||(c[2]=w=>s("request-clone"))},{default:t(()=>[r(u(e(l)("dynamo.clone")),1)]),_:1}),a(e(O),{size:"sm",variant:"ghost",tone:"danger",onClick:c[3]||(c[3]=w=>s("request-delete"))},{default:t(()=>[r(u(e(l)("common.delete")),1)]),_:1})],64)):T("",!0)]),_:1}),a(e(m),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[a(e(O),{size:"sm",variant:"ghost",onClick:c[4]||(c[4]=w=>h.value=!1)},{default:t(()=>[r(u(E.value?e(l)("common.close"):e(l)("common.cancel")),1)]),_:1}),E.value?T("",!0):(v(),y(e(O),{key:0,size:"sm",variant:"solid",loading:V.value,disabled:!!b.value,onClick:$},{default:t(()=>[r(u(D.mode==="create"?e(l)("dynamo.create"):e(l)("common.save")),1)]),_:1},8,["loading","disabled"]))]),_:1})]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[b.value?(v(),y(e(ie),{key:0,variant:"danger"},{default:t(()=>[r(u(b.value),1)]),_:1})):T("",!0),a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(_),{tone:"muted",size:"xs"},{default:t(()=>[r(u(e(l)("dynamo.editorHint")),1)]),_:1}),E.value?(v(),y(e(M),{key:0,tone:"neutral",variant:"soft"},{default:t(()=>[r(u(e(l)("dynamo.readOnly")),1)]),_:1})):T("",!0)]),_:1}),a(e(lt),{modelValue:C.value,"onUpdate:modelValue":c[0]||(c[0]=w=>C.value=w),rows:18,readonly:E.value,spellcheck:"false",family:"mono",onBlur:x},null,8,["modelValue","readonly"])]),_:1})]),_:1},8,["open","title"]))}}),yt=Z({__name:"DynamoItemsExplorer",props:{table:{}},setup(D){const N=D,{t:l}=ue(),k=pe(),s=p("scan"),A=p(""),C=p(50),b=p(""),V=p("="),h=p(""),I=p(""),E=p(!1),x=p([]),$=p(!1),S=p([]),d=p(void 0),c=p(void 0),w=p(null),g=p(!1),z=p(null),L=p(!1),ee=p(!1),te=p("view"),F=p(null),ae=p(null),re=p(!1),se=p(null),Te=[{value:"scan",label:"Scan"},{value:"query",label:"Query"}],Se=q(()=>[{value:"=",label:l("dynamo.opEq")},{value:"<=",label:l("dynamo.opLte")},{value:"<",label:l("dynamo.opLt")},{value:">=",label:l("dynamo.opGte")},{value:">",label:l("dynamo.opGt")},{value:"between",label:l("dynamo.opBetween")},{value:"begins_with",label:l("dynamo.opBeginsWith")}]),Ie=q(()=>[{value:"=",label:l("dynamo.opEq")},{value:"<>",label:l("dynamo.opNeq")},{value:"<",label:l("dynamo.opLt")},{value:"<=",label:l("dynamo.opLte")},{value:">",label:l("dynamo.opGt")},{value:">=",label:l("dynamo.opGte")},{value:"begins_with",label:l("dynamo.opBeginsWith")},{value:"contains",label:l("dynamo.opContains")},{value:"attribute_exists",label:l("dynamo.opExists")},{value:"attribute_not_exists",label:l("dynamo.opNotExists")}]),Ee=[{value:"String",label:"String"},{value:"Number",label:"Number"},{value:"Boolean",label:"Boolean"},{value:"Null",label:"Null"}],Oe=q(()=>{const i=[{value:"",label:l("dynamo.optionTable",{name:N.table.name})}];for(const o of N.table.gsis||[])o.IndexName&&i.push({value:o.IndexName,label:l("dynamo.optionIndex",{name:o.IndexName})});for(const o of N.table.lsis||[])o.IndexName&&i.push({value:o.IndexName,label:l("dynamo.optionIndex",{name:o.IndexName})});return i}),ge=q(()=>{if(!A.value)return N.table.keySchema;const i=N.table.gsis.find(o=>o.IndexName===A.value)||N.table.lsis.find(o=>o.IndexName===A.value);return(i==null?void 0:i.KeySchema)||N.table.keySchema}),le=q(()=>{var i,o;return((o=(i=ge.value)==null?void 0:i.find(n=>n.KeyType==="HASH"))==null?void 0:o.AttributeName)||""}),G=q(()=>{var i,o;return((o=(i=ge.value)==null?void 0:i.find(n=>n.KeyType==="RANGE"))==null?void 0:o.AttributeName)||""}),de=q(()=>(ge.value||[]).map(i=>i.AttributeName).filter(i=>!!i)),_e=q(()=>{const i=new Set;for(const o of S.value)Object.keys(o).forEach(n=>{de.value.includes(n)||i.add(n)});return Array.from(i).sort()});function je(i){const o=N.table.attributeDefinitions.find(n=>n.AttributeName===i);return o!=null&&o.AttributeType?o.AttributeType==="S"?"String":o.AttributeType==="N"?"Number":o.AttributeType==="B"?"Binary":o.AttributeType:null}function he(i,o,n){const f=je(i);return o?f?`${i} (${f}, PK)`:`${i} (PK)`:n?f?`${i} (${f}, SK)`:`${i} (SK)`:f?`${i} (${f})`:i}const Ke=q(()=>{const i=de.value.map((n,f)=>({key:`__attr__${n}`,label:he(n,f===0,f===1)})),o=_e.value.map(n=>({key:`__attr__${n}`,label:he(n)}));return[...i,...o]}),qe=q(()=>S.value.map((i,o)=>{const n={__id:o,__raw:i};for(const f of de.value)n[`__attr__${f}`]=i[f];for(const f of _e.value)n[`__attr__${f}`]=i[f];return n}));function $e(i){return i===void 0?"—":i===null?"null":typeof i=="boolean"?i?"true":"false":typeof i=="object"?JSON.stringify(i).slice(0,80):String(i).slice(0,80)}function Be(i,o){switch(o){case"Number":{const n=Number(i);if(Number.isNaN(n))throw new Error(l("dynamo.errNotNumber",{value:i}));return n}case"Boolean":return i==="true"||i==="1";case"Null":return null;case"String":default:return i}}function ne(i,o){const n=N.table.attributeDefinitions.find(f=>f.AttributeName===o);if((n==null?void 0:n.AttributeType)==="N"){const f=Number(i);if(Number.isNaN(f))throw new Error(l("dynamo.errNotNumberFor",{value:i,attr:o}));return f}return i}function Ue(){const i={},o={};if(!le.value)throw new Error(l("dynamo.errNoPartitionKey"));if(!b.value)throw new Error(l("dynamo.errPkRequired",{attr:le.value}));i["#pk"]=le.value,o[":pkv"]=ne(b.value,le.value);let n="#pk = :pkv";if(G.value&&h.value)if(i["#sk"]=G.value,V.value==="between"){if(!I.value)throw new Error(l("dynamo.errBetweenTwoValues"));o[":skv1"]=ne(h.value,G.value),o[":skv2"]=ne(I.value,G.value),n+=" AND #sk BETWEEN :skv1 AND :skv2"}else V.value==="begins_with"?(o[":skv"]=ne(h.value,G.value),n+=" AND begins_with(#sk, :skv)"):(o[":skv"]=ne(h.value,G.value),n+=` AND #sk ${V.value} :skv`);return{keyExpr:n,names:i,values:o}}function Fe(){const i={},o={},n=[];return x.value.forEach((f,j)=>{if(!f.attr)return;const R=`#fn${j}`,me=`:fv${j}`;if(i[R]=f.attr,f.op==="attribute_exists"){n.push(`attribute_exists(${R})`);return}if(f.op==="attribute_not_exists"){n.push(`attribute_not_exists(${R})`);return}o[me]=Be(f.value,f.type),f.op==="begins_with"?n.push(`begins_with(${R}, ${me})`):f.op==="contains"?n.push(`contains(${R}, ${me})`):n.push(`${R} ${f.op} ${me}`)}),{expr:n.join(" AND "),names:i,values:o}}function Re(i){const o=Fe(),n={indexName:A.value||void 0,limit:C.value>0?C.value:void 0,exclusiveStartKey:i};let f=o.names,j=o.values;if(o.expr&&(n.filterExpression=o.expr),s.value==="query"){const R=Ue();n.keyConditionExpression=R.keyExpr,f={...f,...R.names},j={...j,...R.values},E.value&&(n.scanIndexForward=!1)}return Object.keys(f).length&&(n.expressionAttributeNames=f),Object.keys(j).length&&(n.expressionAttributeValues=j),n}async function X(i){g.value=!0,z.value=null;try{const o=Re(i),n=s.value==="scan"?await U.scanDynamoTable(N.table.name,o):await U.queryDynamoTable(N.table.name,o);i?S.value=[...S.value,...n.items]:(S.value=n.items,w.value=new Date),d.value=n.lastEvaluatedKey,c.value=n.scannedCount,L.value=!0}catch(o){z.value=o.message||l("dynamo.requestFailed")}finally{g.value=!1}}function Le(){b.value="",V.value="=",h.value="",I.value="",E.value=!1,x.value=[],S.value=[],d.value=void 0,c.value=void 0,L.value=!1,z.value=null}function Pe(){d.value&&X(d.value)}function Je(){x.value.push({attr:"",op:"=",type:"String",value:""}),$.value=!0}function Ge(i){x.value.splice(i,1)}function Ve(i){const o={};for(const n of N.table.keySchema)n.AttributeName&&(o[n.AttributeName]=i[n.AttributeName]);return o}function Me(){const i={};for(const o of N.table.keySchema){if(!o.AttributeName)continue;const n=N.table.attributeDefinitions.find(f=>f.AttributeName===o.AttributeName);i[o.AttributeName]=(n==null?void 0:n.AttributeType)==="N"?0:""}return i}function He(){te.value="create",F.value=Me(),ae.value=null,ee.value=!0}function We(i){te.value="view",F.value=i,ae.value=null,ee.value=!0}function Qe(i){We(i.__raw)}function Xe(){F.value&&(ae.value=Ve(F.value),te.value="edit")}function Ye(){if(!F.value)return;const i={...F.value};for(const o of N.table.keySchema){if(!o.AttributeName)continue;const n=N.table.attributeDefinitions.find(f=>f.AttributeName===o.AttributeName);i[o.AttributeName]=(n==null?void 0:n.AttributeType)==="N"?0:""}F.value=i,ae.value=null,te.value="create"}function Ze(){F.value&&(se.value=Ve(F.value),re.value=!0)}async function et(){if(se.value)try{await U.deleteDynamoItem(N.table.name,se.value),k.add({title:l("dynamo.itemDeleted"),variant:"info"}),ee.value=!1,await X()}catch(i){k.add({title:l("dynamo.deleteFailed"),description:i.message,variant:"danger"})}finally{re.value=!1,se.value=null}}function tt(){X()}const Y=q(()=>{const i=S.value.length,o=c.value??i,n=o>0?Math.round(i/o*100):100;return{returned:i,scanned:o,efficiency:n,finished:!d.value}});return X(),ye(()=>[s.value,A.value],()=>{S.value=[],d.value=void 0,c.value=void 0,L.value=!1}),(i,o)=>(v(),y(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(J),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(l)("dynamo.explorerTitle")),1)]),_:1})]),footer:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(O),{variant:"solid",loading:g.value,onClick:o[8]||(o[8]=n=>X())},{default:t(()=>[r(u(e(l)("dynamo.run")),1)]),_:1},8,["loading"]),a(e(O),{variant:"ghost",onClick:Le},{default:t(()=>[r(u(e(l)("dynamo.reset")),1)]),_:1})]),_:1}),a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(_),{tone:"muted"},{default:t(()=>[r(u(e(l)("dynamo.limit")),1)]),_:1}),a(e(P),{modelValue:C.value,"onUpdate:modelValue":o[9]||(o[9]=n=>C.value=n),modelModifiers:{number:!0},type:"number",size:"sm",width:"xs"},null,8,["modelValue"])]),_:1})]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(K),{align:"start"},{default:t(()=>[a(e(nt),{modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=n=>s.value=n),options:Te,size:"md"},null,8,["modelValue"])]),_:1}),a(e(m),{direction:"horizontal",gap:"1rem"},{default:t(()=>[a(e(K),{grow:1,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.selectTableOrIndex")},{default:t(()=>[a(e(oe),{modelValue:A.value,"onUpdate:modelValue":o[1]||(o[1]=n=>A.value=n),options:Oe.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),a(e(K),{grow:1,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.selectProjection")},{default:t(()=>[a(e(oe),{"model-value":"All attributes",options:[{value:"All attributes",label:e(l)("dynamo.allAttributes")}],disabled:""},null,8,["options"])]),_:1},8,["label"])]),_:1})]),_:1}),s.value==="query"?(v(),H(W,{key:0},[a(e(ze)),a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(_),{weight:"semibold",size:"md"},{default:t(()=>[r(u(e(l)("dynamo.partitionKey")),1)]),_:1}),a(e(m),{direction:"horizontal",gap:"1rem"},{default:t(()=>[a(e(K),{grow:1,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.attribute")},{default:t(()=>[a(e(P),{"model-value":le.value||"—",disabled:""},null,8,["model-value"])]),_:1},8,["label"])]),_:1}),a(e(K),{grow:2,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.value")},{default:t(()=>[a(e(P),{modelValue:b.value,"onUpdate:modelValue":o[2]||(o[2]=n=>b.value=n),placeholder:e(l)("dynamo.enterAttributeValue")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1}),G.value?(v(),y(e(m),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(_),{weight:"semibold",size:"md"},{default:t(()=>[r(u(e(l)("dynamo.sortKeyOptional")),1)]),_:1}),a(e(m),{direction:"horizontal",gap:"0.75rem",align:"end"},{default:t(()=>[a(e(K),{grow:1.4,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.attribute")},{default:t(()=>[a(e(P),{"model-value":G.value,disabled:""},null,8,["model-value"])]),_:1},8,["label"])]),_:1}),a(e(K),{grow:1.2,basis:"0","min-width":"11rem"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.value")},{default:t(()=>[a(e(oe),{modelValue:V.value,"onUpdate:modelValue":o[3]||(o[3]=n=>V.value=n),options:Se.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),a(e(K),{grow:2,basis:"0"},{default:t(()=>[a(e(P),{modelValue:h.value,"onUpdate:modelValue":o[4]||(o[4]=n=>h.value=n),placeholder:e(l)("dynamo.enterAttributeValue")},null,8,["modelValue","placeholder"])]),_:1}),V.value==="between"?(v(),y(e(K),{key:0,grow:2,basis:"0"},{default:t(()=>[a(e(P),{modelValue:I.value,"onUpdate:modelValue":o[5]||(o[5]=n=>I.value=n),placeholder:e(l)("dynamo.andValue")},null,8,["modelValue","placeholder"])]),_:1})):T("",!0),a(e(ot),{modelValue:E.value,"onUpdate:modelValue":o[6]||(o[6]=n=>E.value=n),label:e(l)("dynamo.sortDescending")},null,8,["modelValue","label"])]),_:1})]),_:1})):T("",!0)],64)):T("",!0),a(e(ze)),a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(K),{align:"start"},{default:t(()=>[a(e(O),{variant:"ghost",size:"sm","aria-expanded":$.value,onClick:o[7]||(o[7]=n=>$.value=!$.value)},{icon:t(()=>[a(e(be),{name:$.value?"chevron-down":"chevron-right"},null,8,["name"])]),default:t(()=>[r(" "+u(e(l)("dynamo.filtersOptional")),1)]),_:1},8,["aria-expanded"])]),_:1}),$.value?(v(),y(e(m),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[(v(!0),H(W,null,Q(x.value,(n,f)=>(v(),y(e(m),{key:`f-${f}`,direction:"horizontal",gap:"0.5rem",align:"end"},{default:t(()=>[a(e(K),{grow:1.4,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.attributeName")},{default:t(()=>[a(e(P),{modelValue:n.attr,"onUpdate:modelValue":j=>n.attr=j,placeholder:e(l)("dynamo.enterAttributeName")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),_:2},1032,["label"])]),_:2},1024),a(e(K),{grow:1.4,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.condition")},{default:t(()=>[a(e(oe),{modelValue:n.op,"onUpdate:modelValue":j=>n.op=j,options:Ie.value},null,8,["modelValue","onUpdate:modelValue","options"])]),_:2},1032,["label"])]),_:2},1024),a(e(K),{grow:.9,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("common.type")},{default:t(()=>[a(e(oe),{modelValue:n.type,"onUpdate:modelValue":j=>n.type=j,options:Ee},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:2},1024),a(e(K),{grow:1.7,basis:"0"},{default:t(()=>[a(e(B),{label:e(l)("dynamo.value")},{default:t(()=>[a(e(P),{modelValue:n.value,"onUpdate:modelValue":j=>n.value=j,disabled:n.op==="attribute_exists"||n.op==="attribute_not_exists",placeholder:e(l)("dynamo.enterAttributeValue")},null,8,["modelValue","onUpdate:modelValue","disabled","placeholder"])]),_:2},1032,["label"])]),_:2},1024),a(e(O),{size:"sm",variant:"outline",onClick:j=>Ge(f)},{default:t(()=>[r(u(e(l)("dynamo.remove")),1)]),_:1},8,["onClick"])]),_:2},1024))),128)),a(e(K),{align:"start"},{default:t(()=>[a(e(O),{size:"sm",variant:"outline",onClick:Je},{default:t(()=>[r(u(e(l)("dynamo.addFilter")),1)]),_:1})]),_:1})]),_:1})):T("",!0)]),_:1})]),_:1})]),_:1}),z.value?(v(),y(e(ie),{key:0,variant:"danger",dismissible:"",onDismiss:o[10]||(o[10]=n=>z.value=null)},{default:t(()=>[r(u(z.value),1)]),_:1})):T("",!0),L.value&&!z.value?(v(),y(e(ie),{key:1,variant:Y.value.finished?"success":"warning",dismissible:"",onDismiss:o[11]||(o[11]=n=>L.value=!1)},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[it("span",null,[a(e(_),{as:"strong",weight:"semibold"},{default:t(()=>[r(u(Y.value.finished?e(l)("dynamo.completed"):e(l)("dynamo.stopped")),1)]),_:1}),r(" · "+u(e(l)("dynamo.itemsReturned"))+": ",1),a(e(_),{as:"strong",weight:"semibold"},{default:t(()=>[r(u(Y.value.returned),1)]),_:1}),r(" · "+u(e(l)("dynamo.itemsScanned"))+": ",1),a(e(_),{as:"strong",weight:"semibold"},{default:t(()=>[r(u(Y.value.scanned),1)]),_:1}),r(" · "+u(e(l)("dynamo.efficiency"))+": ",1),a(e(_),{as:"strong",weight:"semibold"},{default:t(()=>[r(u(Y.value.efficiency)+"%",1)]),_:1})]),Y.value.finished?T("",!0):(v(),y(e(O),{key:0,size:"sm",variant:"outline",loading:g.value,onClick:Pe},{default:t(()=>[r(u(e(l)("dynamo.retrieveNextPage")),1)]),_:1},8,["loading"]))]),_:1})]),_:1},8,["variant"])):T("",!0),a(e(J),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(A.value?e(l)("dynamo.resultsIndex",{index:A.value,table:N.table.name}):e(l)("dynamo.resultsTable",{table:N.table.name}))+" – "+u(e(l)("dynamo.itemsReturnedCount",{count:S.value.length})),1)]),_:1}),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>[r(u(e(l)("dynamo.startedOn",{mode:s.value==="scan"?"Scan":"Query",time:w.value?w.value.toLocaleString():"—"})),1)]),_:1})]),_:1}),a(e(m),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[a(e(O),{size:"sm",variant:"ghost",loading:g.value,onClick:o[12]||(o[12]=n=>X())},{default:t(()=>[r(u(e(l)("common.refresh")),1)]),_:1},8,["loading"]),a(e(O),{size:"sm",variant:"outline",onClick:He},{default:t(()=>[r(u(e(l)("dynamo.createItem")),1)]),_:1})]),_:1})]),_:1})]),default:t(()=>[g.value&&!S.value.length?(v(),y(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(xe),{label:e(l)("dynamo.running")},null,8,["label"])]),_:1})):S.value.length?(v(),y(e(ut),{key:2,columns:Ke.value,rows:qe.value,"row-key":"__id","row-activatable":"","aria-label":e(l)("dynamo.resultsAriaLabel"),onRowActivate:Qe},rt({_:2},[Q(de.value,n=>({name:`cell-__attr__${n}`,fn:t(({row:f})=>[a(e(_),{family:"mono"},{default:t(()=>[r(u($e(f[`__attr__${n}`])),1)]),_:2},1024)])})),Q(_e.value,n=>({name:`cell-__attr__${n}`,fn:t(({row:f})=>[a(e(_),{family:"mono",size:"sm"},{default:t(()=>[r(u($e(f[`__attr__${n}`])),1)]),_:2},1024)])}))]),1032,["columns","rows","aria-label"])):(v(),y(e(Ce),{key:1,title:e(l)("dynamo.noItemsTitle"),description:e(l)("dynamo.noItemsDesc")},null,8,["title","description"]))]),_:1}),a(bt,{open:ee.value,"onUpdate:open":o[13]||(o[13]=n=>ee.value=n),"table-name":N.table.name,mode:te.value,item:F.value,"original-key":ae.value,onSaved:tt,onRequestEdit:Xe,onRequestClone:Ye,onRequestDelete:Ze},null,8,["open","table-name","mode","item","original-key"]),a(e(ke),{open:re.value,"onUpdate:open":o[14]||(o[14]=n=>re.value=n),title:e(l)("dynamo.deleteItemTitle"),description:e(l)("dynamo.deleteItemDesc",{table:N.table.name}),"confirm-label":e(l)("common.delete"),"cancel-label":e(l)("common.cancel"),"confirm-variant":"danger",onConfirm:et},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}}),pt=Z({__name:"DynamoTableSettings",props:{table:{}},emits:["refresh"],setup(D,{emit:N}){const l=D,k=N,{t:s}=ue(),A=pe(),C=p(l.table.ttl.enabled),b=p(l.table.ttl.attributeName||""),V=p(!1),h=p(null);ye(()=>[l.table.ttl.enabled,l.table.ttl.attributeName],([x,$])=>{C.value=x,b.value=$||""});async function I(){if(C.value&&!b.value.trim()){h.value=s("dynamo.ttlAttrRequired");return}V.value=!0,h.value=null;try{await U.setDynamoTtl(l.table.name,C.value,b.value.trim()||void 0),A.add({title:C.value?s("dynamo.ttlEnabledToast"):s("dynamo.ttlDisabledToast"),description:C.value?s("dynamo.attributeLabel",{name:b.value}):void 0,variant:"success"}),k("refresh")}catch(x){h.value=x.message||s("dynamo.ttlUpdateFailed")}finally{V.value=!1}}function E(x){return x<1024?`${x} B`:x<1024*1024?`${(x/1024).toFixed(1)} KB`:`${(x/(1024*1024)).toFixed(1)} MB`}return(x,$)=>(v(),y(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(Ne),{columns:4,gap:"0.75rem"},{default:t(()=>[a(e(ve),{label:e(s)("dynamo.items"),value:l.table.itemCount,tone:"info"},null,8,["label","value"]),a(e(ve),{label:e(s)("common.size"),value:E(l.table.sizeBytes),tone:"neutral"},null,8,["label","value"]),a(e(ve),{label:e(s)("common.status"),value:l.table.status||"UNKNOWN",tone:l.table.status==="ACTIVE"?"success":"warning"},null,8,["label","value","tone"]),a(e(ve),{label:e(s)("dynamo.billing"),value:l.table.billingMode||"—",tone:"neutral"},null,8,["label","value"])]),_:1}),a(e(J),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[...$[3]||($[3]=[r("Time to Live (TTL)",-1)])]),_:1})]),default:t(()=>[h.value?(v(),y(e(ie),{key:0,variant:"danger",dismissible:"",onDismiss:$[0]||($[0]=S=>h.value=null)},{default:t(()=>[r(u(h.value),1)]),_:1})):T("",!0),a(e(m),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[a(e(_),{tone:"muted",size:"sm"},{default:t(()=>[r(u(e(s)("dynamo.ttlDescription")),1)]),_:1}),a(e(B),{label:e(s)("dynamo.enableTtl")},{default:t(()=>[a(e(st),{modelValue:C.value,"onUpdate:modelValue":$[1]||($[1]=S=>C.value=S)},null,8,["modelValue"])]),_:1},8,["label"]),a(e(B),{label:e(s)("dynamo.attributeName"),hint:C.value?e(s)("dynamo.ttlHintRequired"):e(s)("dynamo.ttlHintDisabled")},{default:t(()=>[a(e(P),{modelValue:b.value,"onUpdate:modelValue":$[2]||($[2]=S=>b.value=S),placeholder:e(s)("dynamo.ttlAttrPlaceholder"),disabled:!C.value},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint"]),a(e(m),{direction:"horizontal",justify:"flex-end"},{default:t(()=>[a(e(O),{size:"sm",variant:"solid",loading:V.value,onClick:I},{default:t(()=>[r(u(e(s)("dynamo.apply")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),a(e(J),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[...$[4]||($[4]=[r("Streams",-1)])]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(M),{tone:l.table.streamEnabled?"success":"neutral",variant:"soft"},{default:t(()=>[r(u(l.table.streamEnabled?e(s)("dynamo.enabled"):e(s)("dynamo.disabled")),1)]),_:1},8,["tone"]),l.table.streamViewType?(v(),y(e(we),{key:0,size:"sm",variant:"soft"},{default:t(()=>[r(u(l.table.streamViewType),1)]),_:1})):T("",!0)]),_:1}),l.table.streamArn?(v(),y(e(_),{key:0,tone:"muted",family:"mono",size:"xs"},{default:t(()=>[r(u(l.table.streamArn),1)]),_:1})):(v(),y(e(_),{key:1,tone:"muted",size:"xs"},{default:t(()=>[r(u(e(s)("dynamo.streamsNote")),1)]),_:1}))]),_:1})]),_:1}),a(e(J),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.identifier")),1)]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.25rem"},{default:t(()=>[a(e(_),{tone:"muted",family:"mono",size:"xs"},{default:t(()=>[r(" ARN: "+u(l.table.arn||"—"),1)]),_:1}),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>[r(u(e(s)("common.created"))+": "+u(l.table.createdAt?new Date(l.table.createdAt).toLocaleString():"—"),1)]),_:1})]),_:1})]),_:1})]),_:1}))}}),gt=Z({__name:"DynamoSeedPanel",props:{tableName:{},seedFile:{},seedItemCount:{},tableItemCount:{}},emits:["refresh"],setup(D,{emit:N}){const l=D,k=N,{t:s}=ue(),A=pe();function C(d){return d===1?s("dynamo.itemOne",{count:d}):s("dynamo.itemOther",{count:d})}const b=p(!1),V=p(!1),h=p(!1),I=p(!1),E=p(!1);async function x(){if(!b.value){b.value=!0;try{const d=await U.runSeed(l.tableName),c=d.results.reduce((g,z)=>g+(z.inserted||0),0),w=d.results.find(g=>g.skipped);w?A.add({title:s("dynamo.seedSkipped"),description:`${l.tableName}: ${w.reason||s("dynamo.unknownReason")}`,variant:"warning"}):A.add({title:s("dynamo.seedApplied"),description:s("dynamo.seedAppliedDesc",{count:c,table:l.tableName}),variant:"success"}),k("refresh")}catch(d){A.add({title:s("dynamo.seedFailed"),description:d.message,variant:"danger"})}finally{b.value=!1}}}async function $(){if(!h.value){h.value=!0;try{const c=(await U.clearSeed(l.tableName)).results.reduce((w,g)=>w+(g.deleted||0),0);A.add({title:s("dynamo.tablePurged"),description:s("dynamo.purgedDesc",{count:c,table:l.tableName}),variant:"info"}),k("refresh")}catch(d){A.add({title:s("dynamo.purgeFailed"),description:d.message,variant:"danger"})}finally{h.value=!1,I.value=!1}}}async function S(){if(!V.value){V.value=!0;try{const c=(await U.clearSeed(l.tableName)).results.reduce((z,L)=>z+(L.deleted||0),0),g=(await U.runSeed(l.tableName)).results.reduce((z,L)=>z+(L.inserted||0),0);A.add({title:s("dynamo.seedRedone"),description:s("dynamo.redoneDesc",{deleted:c,inserted:g,table:l.tableName}),variant:"success"}),k("refresh")}catch(d){A.add({title:s("dynamo.redoFailed"),description:d.message,variant:"danger"})}finally{V.value=!1,E.value=!1}}}return(d,c)=>(v(),y(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(J),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.seedFile")),1)]),_:1}),a(e(M),{tone:"info",variant:"soft"},{default:t(()=>[r(u(C(D.seedItemCount)),1)]),_:1})]),_:1})]),default:t(()=>[a(e(dt),null,{default:t(()=>[a(e(Ae),{label:e(s)("dynamo.path")},{default:t(()=>[a(e(_),{family:"mono",size:"sm"},{default:t(()=>[r(u(D.seedFile),1)]),_:1})]),_:1},8,["label"]),a(e(Ae),{label:e(s)("dynamo.currentRows")},{default:t(()=>[a(e(_),{family:"mono"},{default:t(()=>[r(u(D.tableItemCount),1)]),_:1})]),_:1},8,["label"])]),_:1})]),_:1}),a(e(J),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("common.actions")),1)]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[a(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.applySeed")),1)]),_:1}),a(e(_),{tone:"muted",size:"sm"},{default:t(()=>[r(u(e(s)("dynamo.applySeedDesc")),1)]),_:1})]),_:1}),a(e(O),{variant:"solid",loading:b.value,disabled:D.seedItemCount<=0,onClick:x},{default:t(()=>[r(u(e(s)("dynamo.apply")),1)]),_:1},8,["loading","disabled"])]),_:1}),a(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.redoSeed")),1)]),_:1}),a(e(_),{tone:"muted",size:"sm"},{default:t(()=>[r(u(e(s)("dynamo.redoSeedDesc")),1)]),_:1})]),_:1}),a(e(O),{variant:"soft",loading:V.value,disabled:D.seedItemCount<=0,onClick:c[0]||(c[0]=w=>E.value=!0)},{default:t(()=>[r(u(e(s)("dynamo.redo")),1)]),_:1},8,["loading","disabled"])]),_:1}),a(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(m),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.purgeTable")),1)]),_:1}),a(e(_),{tone:"muted",size:"sm"},{default:t(()=>[r(u(e(s)("dynamo.purgeTableDesc")),1)]),_:1})]),_:1}),a(e(O),{variant:"danger",loading:h.value,onClick:c[1]||(c[1]=w=>I.value=!0)},{default:t(()=>[r(u(e(s)("dynamo.purge")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),a(e(ke),{open:I.value,"onUpdate:open":c[2]||(c[2]=w=>I.value=w),title:e(s)("dynamo.purgeConfirmTitle",{table:D.tableName}),description:e(s)("dynamo.purgeConfirmDesc",{count:D.tableItemCount}),"confirm-label":e(s)("dynamo.purge"),"cancel-label":e(s)("common.cancel"),"confirm-variant":"danger",onConfirm:$},null,8,["open","title","description","confirm-label","cancel-label"]),a(e(ke),{open:E.value,"onUpdate:open":c[3]||(c[3]=w=>E.value=w),title:e(s)("dynamo.redoConfirmTitle",{table:D.tableName}),description:e(s)("dynamo.redoConfirmDesc",{current:D.tableItemCount,seeded:D.seedItemCount}),"confirm-label":e(s)("dynamo.redo"),"cancel-label":e(s)("common.cancel"),"confirm-variant":"danger",onConfirm:S},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}}),_t=Z({__name:"DynamoTableDetail",props:{tableName:{}},emits:["back"],setup(D,{emit:N}){const{t:l}=ue(),k=D,s=N,A=ft(),C=De(),b=p(null),V=p(null),h=p(!0),I=p(null),E=["items","indexes","settings","seed"],x=q({get(){const d=String(A.query.tab||"");return E.includes(d)?d:"items"},set(d){C.replace({query:{...A.query,tab:d==="items"?void 0:d}})}});async function $(){h.value=!0;try{const[d,c]=await Promise.all([U.describeDynamoTable(k.tableName),U.listSeeds().catch(()=>({seedsDir:"",entries:[]}))]);b.value=d,V.value=c.entries.find(w=>w.tableName===k.tableName)||null,I.value=null}catch(d){I.value=d.message||l("dynamo.loadTableFailed"),b.value=null}finally{h.value=!1}}function S(d){return d===1?l("dynamo.seedBadgeOne",{count:d}):l("dynamo.seedBadgeOther",{count:d})}return mt($),ye(()=>k.tableName,$),(d,c)=>(v(),y(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>{var w;return[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>{var g;return[a(e(O),{size:"sm",variant:"ghost",onClick:c[0]||(c[0]=z=>s("back"))},{default:t(()=>[a(e(be),{name:"arrow-left"}),r(" "+u(e(l)("dynamo.backTables")),1)]),_:1}),a(e(be),{name:"aws-dynamodb"}),a(e(_),{size:"lg",weight:"semibold"},{default:t(()=>[r(u(D.tableName),1)]),_:1}),(g=b.value)!=null&&g.status?(v(),y(e(M),{key:0,tone:b.value.status==="ACTIVE"?"success":"warning",variant:"soft"},{default:t(()=>[r(u(b.value.status),1)]),_:1},8,["tone"])):T("",!0),V.value?(v(),y(e(M),{key:1,tone:"info",variant:"soft"},{default:t(()=>[r(u(S(V.value.itemCount)),1)]),_:1})):T("",!0)]}),_:1}),a(e(O),{size:"sm",variant:"ghost",loading:h.value,onClick:$},{default:t(()=>[r(u(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),(w=b.value)!=null&&w.warnings.length?(v(),y(e(m),{key:0,direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(v(!0),H(W,null,Q(b.value.warnings,g=>(v(),y(e(M),{key:g,tone:"warning",variant:"soft"},{default:t(()=>[a(e(be),{name:"triangle-alert"}),r(" "+u(g),1)]),_:2},1024))),128))]),_:1})):T("",!0),I.value?(v(),y(e(ie),{key:1,variant:"danger",dismissible:"",onDismiss:c[1]||(c[1]=g=>I.value=null)},{default:t(()=>[r(u(I.value),1)]),_:1})):T("",!0),h.value&&!b.value?(v(),y(e(m),{key:2,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(xe),{label:e(l)("dynamo.loadingTable")},null,8,["label"])]),_:1})):b.value?(v(),y(e(vt),{key:3,modelValue:x.value,"onUpdate:modelValue":c[2]||(c[2]=g=>x.value=g)},{default:t(()=>[a(e(ct),null,{default:t(()=>[a(e(ce),{value:"items"},{default:t(()=>[r(u(e(l)("dynamo.items")),1)]),_:1}),a(e(ce),{value:"indexes"},{default:t(()=>[r(u(e(l)("dynamo.indexes")),1)]),_:1}),a(e(ce),{value:"settings"},{default:t(()=>[r(u(e(l)("dynamo.settings")),1)]),_:1}),V.value?(v(),y(e(ce),{key:0,value:"seed"},{default:t(()=>[r(u(e(l)("dynamo.seed")),1)]),_:1})):T("",!0)]),_:1}),a(e(fe),{value:"items"},{default:t(()=>[a(yt,{table:b.value},null,8,["table"])]),_:1}),a(e(fe),{value:"indexes"},{default:t(()=>[!b.value.gsis.length&&!b.value.lsis.length?(v(),y(e(Ce),{key:0,title:e(l)("dynamo.noIndexesTitle"),description:e(l)("dynamo.noIndexesDesc")},null,8,["title","description"])):(v(),y(e(m),{key:1,direction:"vertical",gap:"1rem"},{default:t(()=>[b.value.gsis.length?(v(),y(e(Ne),{key:0,columns:2,gap:"0.75rem"},{default:t(()=>[(v(!0),H(W,null,Q(b.value.gsis,g=>(v(),y(e(J),{key:g.IndexName,variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(g.IndexName),1)]),_:2},1024),a(e(M),{tone:"info",variant:"soft"},{default:t(()=>[...c[3]||(c[3]=[r("GSI",-1)])]),_:1})]),_:2},1024)]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[(v(!0),H(W,null,Q(g.KeySchema||[],z=>(v(),y(e(we),{key:z.AttributeName,size:"sm",variant:"soft"},{default:t(()=>[r(u(z.AttributeName)+" ("+u(z.KeyType)+") ",1)]),_:2},1024))),128))]),_:2},1024),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>{var z;return[r(u(e(l)("dynamo.projection"))+": "+u(((z=g.Projection)==null?void 0:z.ProjectionType)||"—")+" · "+u(e(l)("dynamo.items"))+": "+u(g.ItemCount??"—")+" · "+u(e(l)("common.status"))+": "+u(g.IndexStatus||"—"),1)]}),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):T("",!0),b.value.lsis.length?(v(),y(e(Ne),{key:1,columns:2,gap:"0.75rem"},{default:t(()=>[(v(!0),H(W,null,Q(b.value.lsis,g=>(v(),y(e(J),{key:g.IndexName,variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(g.IndexName),1)]),_:2},1024),a(e(M),{tone:"neutral",variant:"soft"},{default:t(()=>[...c[4]||(c[4]=[r("LSI",-1)])]),_:1})]),_:2},1024)]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[(v(!0),H(W,null,Q(g.KeySchema||[],z=>(v(),y(e(we),{key:z.AttributeName,size:"sm",variant:"soft"},{default:t(()=>[r(u(z.AttributeName)+" ("+u(z.KeyType)+") ",1)]),_:2},1024))),128))]),_:2},1024),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>{var z;return[r(u(e(l)("dynamo.projection"))+": "+u(((z=g.Projection)==null?void 0:z.ProjectionType)||"—"),1)]}),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):T("",!0)]),_:1}))]),_:1}),a(e(fe),{value:"settings"},{default:t(()=>[a(pt,{table:b.value,onRefresh:$},null,8,["table"])]),_:1}),V.value?(v(),y(e(fe),{key:0,value:"seed"},{default:t(()=>[a(gt,{"table-name":b.value.name,"seed-file":V.value.file,"seed-item-count":V.value.itemCount,"table-item-count":b.value.itemCount,onRefresh:$},null,8,["table-name","seed-file","seed-item-count","table-item-count"])]),_:1})):T("",!0)]),_:1},8,["modelValue"])):T("",!0)]}),_:1}))}}),Nt=Z({__name:"DynamoTablePage",props:{tableName:{}},setup(D){const N=De();function l(){N.push("/dynamo")}return(k,s)=>(v(),y(_t,{"table-name":D.tableName,onBack:l},null,8,["table-name"]))}});export{Nt as default};
@@ -1,4 +0,0 @@
1
- import{k as le,m as pe,o as ye,ab as ke,e as m,a7 as e,v as c,ac as a,a as J,n as r,j as t,J as T,i as s,a6 as i,x as S,u as d,f as k,L as _e,w as G,g as L,z as N,y as he,V as we,W as I,X as B,t as _,M as ee,Y as ze,Z as $e,F as x,T as M,I as Te,D as O,s as ae,A as U,h as Le,Q as te,P as H,_ as Ne,$ as xe,a0 as Ee,a8 as Ve,c as je,p as g,b as p,a9 as Ce,aa as ne}from"./index-DuSPnI19.js";import{t as De}from"./triggerIcons-DIPWQkJ3.js";const Re=le({__name:"LambdaDetail",props:{functionName:{}},emits:["back"],setup(E,{emit:P}){const y=E,K=P,{t:l}=Ve(),Y=Ce(),oe=ne(),h=je(),v=g(null),V=g(!0),w=g(null);let A=null;const se=["invoke","triggers","environment","logs"],Q=p({get(){const o=String(Y.query.tab||"");return se.includes(o)?o:"invoke"},set(o){oe.replace({query:{...Y.query,tab:o==="invoke"?void 0:o}})}}),j=g("{}"),C=g("RequestResponse"),D=g(!1),f=g(null),q=g(!1),ie=p(()=>[{value:"RequestResponse",label:l("lambdas.invocationTypeSync")},{value:"Event",label:l("lambdas.invocationTypeAsync")}]),z=g([]),R=g(!1),ue=p(()=>[{key:"key",label:l("lambdas.key")},{key:"value",label:l("lambdas.value")}]),W=p(()=>{var o;return Object.entries(((o=v.value)==null?void 0:o.environment)||{}).map(([u,n])=>({key:u,value:n}))}),re=p(()=>[{key:"method",label:l("lambdas.method")},{key:"path",label:l("lambdas.path")},{key:"eventType",label:l("common.type")},{key:"authorizerName",label:l("lambdas.authorizer")}]),de=p(()=>{var o;return(((o=v.value)==null?void 0:o.routes)||[]).map(u=>({...u}))}),X=p(()=>{var o;return De(((o=v.value)==null?void 0:o.triggers)||[])}),me=p(()=>{if(!f.value)return"";const o=f.value.payload;if(o===void 0)return"—";try{return JSON.stringify(o,null,2)}catch{return String(o)}});async function $(o=!0){o&&(V.value=!0);try{v.value=await J.getLambda(y.functionName),w.value=null}catch(u){w.value=u.message||l("lambdas.detailLoadFailed"),v.value=null}finally{V.value=!1}}async function F(){R.value=!0;try{const o=await J.getLambdaLogs(y.functionName);z.value=[...o.invocations].reverse()}catch(o){h.add({title:l("lambdas.logsLoadFailed"),description:o.message,variant:"danger"})}finally{R.value=!1}}async function ce(){var n;let o;const u=j.value.trim();if(u)try{o=JSON.parse(u)}catch{h.add({title:l("lambdas.invalidJsonTitle"),description:l("lambdas.invalidJsonDescription"),variant:"danger"});return}D.value=!0;try{const b=await J.invokeLambda(y.functionName,{payload:o,invocationType:C.value});C.value==="Event"?(f.value=null,q.value=!0,h.add({title:l("lambdas.acceptedTitle"),description:l("lambdas.acceptedDescription"),variant:"success"})):(q.value=!1,f.value=b,b.ok||h.add({title:l("lambdas.functionErrorTitle"),description:(n=b.functionError)==null?void 0:n.errorMessage,variant:"danger"})),await $(!1)}catch(b){h.add({title:l("lambdas.invokeFailed"),description:b.message,variant:"danger"})}finally{D.value=!1}}function ve(o){switch(o){case"online":return"success";case"starting":return"info";case"stopped":return"neutral";default:return"danger"}}function fe(o){switch(o){case"online":return l("common.online");case"starting":return l("lambdas.statusStarting");case"stopped":return l("common.stopped");case"error":return l("lambdas.statusError");default:return o??l("common.unknown")}}function be(o){return o==="ANY"?"info":"neutral"}function ge(o){return o?new Date(o).toLocaleString():"—"}return pe(()=>{$(),F(),A=window.setInterval(()=>$(!1),1e4)}),ye(()=>{A&&window.clearInterval(A)}),ke(()=>y.functionName,()=>{$(),F()}),(o,u)=>(r(),m(e(c),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(T),{size:"sm",variant:"ghost",onClick:u[0]||(u[0]=n=>K("back"))},{icon:a(()=>[t(e(S),{name:"arrow-left"})]),default:a(()=>[s(" "+i(e(l)("nav.lambdas")),1)]),_:1}),t(e(S),{name:"aws-lambda"}),t(e(d),{weight:"semibold",size:"lg"},{default:a(()=>[s(i(E.functionName),1)]),_:1}),v.value?(r(),m(e(d),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(v.value.fullName),1)]),_:1})):k("",!0)]),_:1}),t(e(T),{size:"sm",variant:"ghost",loading:V.value,onClick:u[1]||(u[1]=n=>$())},{default:a(()=>[s(i(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),w.value?(r(),m(e(_e),{key:0,variant:"danger",dismissible:"",onDismiss:u[2]||(u[2]=n=>w.value=null)},{default:a(()=>[s(i(w.value),1)]),_:1})):k("",!0),V.value&&!v.value?(r(),m(e(c),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(G),{label:e(l)("lambdas.loadingDetail")},null,8,["label"])]),_:1})):v.value?(r(),L(x,{key:2},[t(e(he),{columns:5,gap:"0.75rem"},{default:a(()=>[t(e(N),{label:e(l)("common.status"),value:fe(v.value.status),tone:ve(v.value.status)},null,8,["label","value","tone"]),t(e(N),{label:e(l)("lambdas.runtime"),value:v.value.runtime,tone:"info"},null,8,["label","value"]),t(e(N),{label:e(l)("lambdas.memory"),value:`${v.value.memorySize} MB`,tone:"neutral"},null,8,["label","value"]),t(e(N),{label:e(l)("lambdas.timeout"),value:`${v.value.timeout}s`,tone:"neutral"},null,8,["label","value"]),t(e(N),{label:e(l)("lambdas.mode"),value:v.value.executionMode||"—",tone:"neutral"},null,8,["label","value"])]),_:1}),t(e(Ee),{modelValue:Q.value,"onUpdate:modelValue":u[6]||(u[6]=n=>Q.value=n)},{default:a(()=>[t(e(we),null,{default:a(()=>[t(e(I),{value:"invoke"},{default:a(()=>[s(i(e(l)("lambdas.tabInvoke")),1)]),_:1}),t(e(I),{value:"triggers"},{default:a(()=>[s(i(e(l)("lambdas.triggers")),1)]),_:1}),t(e(I),{value:"environment"},{default:a(()=>[s(i(e(l)("lambdas.tabEnvironment")),1)]),_:1}),t(e(I),{value:"logs"},{default:a(()=>[s(i(e(l)("lambdas.tabLogs")),1)]),_:1})]),_:1}),t(e(B),{value:"invoke"},{default:a(()=>[t(e(c),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.invokeTitle")),1)]),_:1}),t(e(d),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(v.value.handler),1)]),_:1})]),_:1})]),footer:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(T),{variant:"solid",loading:D.value,onClick:ce},{default:a(()=>[s(i(e(l)("lambdas.invokeAction")),1)]),_:1},8,["loading"]),t(e(T),{variant:"ghost",disabled:D.value,onClick:u[5]||(u[5]=n=>j.value="{}")},{default:a(()=>[s(i(e(l)("lambdas.resetPayload")),1)]),_:1},8,["disabled"])]),_:1}),q.value?(r(),m(e(d),{key:0,tone:"muted",size:"xs"},{default:a(()=>[s(i(e(l)("lambdas.acceptedHint")),1)]),_:1})):k("",!0)]),_:1})]),default:a(()=>[t(e(c),{direction:"vertical",gap:"0.75rem"},{default:a(()=>[t(e(ee),{label:e(l)("lambdas.payloadLabel"),hint:e(l)("lambdas.payloadHint")},{default:a(()=>[t(e(ze),{modelValue:j.value,"onUpdate:modelValue":u[3]||(u[3]=n=>j.value=n),family:"mono",rows:8,placeholder:"{}"},null,8,["modelValue"])]),_:1},8,["label","hint"]),t(e(ee),{label:e(l)("lambdas.invocationTypeLabel")},{default:a(()=>[t(e($e),{modelValue:C.value,"onUpdate:modelValue":u[4]||(u[4]=n=>C.value=n),options:ie.value,width:"md"},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1})]),_:1}),f.value?(r(),m(e(_),{key:0,variant:"outline"},{header:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.resultTitle")),1)]),_:1}),t(e(O),{tone:f.value.ok?"success":"danger",variant:"soft"},{default:a(()=>{var n;return[s(i(f.value.ok?"OK":((n=f.value.functionError)==null?void 0:n.errorType)||e(l)("lambdas.errorBadge")),1)]}),_:1},8,["tone"])]),_:1}),t(e(d),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(f.value.durationMs)+"ms ",1)]),_:1})]),_:1})]),default:a(()=>[t(e(c),{direction:"vertical",gap:"0.75rem"},{default:a(()=>{var n,b,Z;return[f.value.ok?(r(),L(x,{key:0},[t(e(d),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.responsePayload")),1)]),_:1}),t(e(M),{code:me.value,label:e(l)("lambdas.responsePayload"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])],64)):(r(),L(x,{key:1},[t(e(d),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.functionError")),1)]),_:1}),t(e(M),{code:[`${((n=f.value.functionError)==null?void 0:n.errorType)||"Error"}: ${((b=f.value.functionError)==null?void 0:b.errorMessage)||""}`,...((Z=f.value.functionError)==null?void 0:Z.trace)||[]].join(`
2
- `),label:e(l)("lambdas.functionError"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])],64)),t(e(Te)),t(e(d),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.capturedLogs")),1)]),_:1}),t(e(M),{code:f.value.logs.join(`
3
- `)||e(l)("lambdas.noOutput"),label:e(l)("lambdas.capturedLogs"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])]}),_:1})]),_:1})):k("",!0)]),_:1})]),_:1}),t(e(B),{value:"triggers"},{default:a(()=>[t(e(c),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.triggerSources")),1)]),_:1})]),default:a(()=>[t(e(c),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[X.value.length?(r(!0),L(x,{key:0},ae(X.value,n=>(r(),m(e(U),{key:n.name,size:"sm",variant:"soft"},Le({default:a(()=>[s(" "+i(n.name),1)]),_:2},[n.icon?{name:"icon",fn:a(()=>[t(e(S),{name:n.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)):(r(),m(e(d),{key:1,tone:"muted"},{default:a(()=>[...u[7]||(u[7]=[s("—",-1)])]),_:1}))]),_:1})]),_:1}),t(e(_),{variant:"outline"},{header:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(S),{name:"aws-api-gateway"}),t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.httpRoutes")),1)]),_:1})]),_:1})]),default:a(()=>[v.value.routes.length?(r(),m(e(te),{key:0,columns:re.value,rows:de.value,"aria-label":e(l)("lambdas.httpRoutes")},{"cell-method":a(({row:n})=>[t(e(O),{tone:be(String(n.method)),variant:"soft"},{default:a(()=>[s(i(n.method),1)]),_:2},1032,["tone"])]),"cell-path":a(({row:n})=>[t(e(d),{family:"mono"},{default:a(()=>[s(i(n.path),1)]),_:2},1024)]),"cell-eventType":a(({row:n})=>[t(e(U),{size:"sm",variant:"soft"},{default:a(()=>[s(i(n.eventType),1)]),_:2},1024)]),"cell-authorizerName":a(({row:n})=>[n.authorizerName?(r(),m(e(U),{key:0,size:"sm",variant:"soft"},{default:a(()=>[s(i(n.authorizerName),1)]),_:2},1024)):(r(),m(e(d),{key:1,tone:"muted"},{default:a(()=>[...u[8]||(u[8]=[s("—",-1)])]),_:1}))]),_:1},8,["columns","rows","aria-label"])):(r(),m(e(H),{key:1,title:e(l)("lambdas.noRoutesTitle"),description:e(l)("lambdas.noRoutesDescription")},null,8,["title","description"]))]),_:1})]),_:1})]),_:1}),t(e(B),{value:"environment"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.environmentVariables")),1)]),_:1})]),default:a(()=>[W.value.length?(r(),m(e(te),{key:0,columns:ue.value,rows:W.value,"aria-label":e(l)("lambdas.environmentVariables")},{"cell-key":a(({row:n})=>[t(e(d),{family:"mono"},{default:a(()=>[s(i(n.key),1)]),_:2},1024)]),"cell-value":a(({row:n})=>[t(e(d),{family:"mono"},{default:a(()=>[s(i(n.value),1)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(r(),m(e(H),{key:1,title:e(l)("lambdas.noEnvTitle"),description:e(l)("lambdas.noEnvDescription")},null,8,["title","description"]))]),_:1})]),_:1}),t(e(B),{value:"logs"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.recentInvocations",{count:z.value.length})),1)]),_:1}),t(e(T),{size:"sm",variant:"ghost",loading:R.value,onClick:F},{default:a(()=>[s(i(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1})]),default:a(()=>[R.value&&!z.value.length?(r(),m(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(G),{label:e(l)("lambdas.loadingInvocations")},null,8,["label"])]),_:1})):z.value.length?(r(),m(e(Ne),{key:2,type:"multiple"},{default:a(()=>[(r(!0),L(x,null,ae(z.value,(n,b)=>(r(),m(e(xe),{key:`inv-${b}`,value:`inv-${b}`},{trigger:a(()=>[t(e(c),{as:"span",grow:"",direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(c),{as:"span",direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(d),{size:"sm"},{default:a(()=>[s(i(ge(n.at)),1)]),_:2},1024),t(e(O),{tone:n.ok?"success":"danger",variant:"soft"},{default:a(()=>[s(i(n.ok?"OK":e(l)("lambdas.errorBadge")),1)]),_:2},1032,["tone"]),n.statusCode&&n.statusCode>=400?(r(),m(e(O),{key:0,tone:n.statusCode>=500?"danger":"warning",variant:"soft"},{default:a(()=>[s(" HTTP "+i(n.statusCode),1)]),_:2},1032,["tone"])):k("",!0)]),_:2},1024),t(e(d),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(n.durationMs)+"ms · "+i(n.logs.length===1?e(l)("lambdas.logLine",{count:n.logs.length}):e(l)("lambdas.logLines",{count:n.logs.length})),1)]),_:2},1024)]),_:2},1024)]),default:a(()=>[t(e(M),{code:n.logs.join(`
4
- `)||e(l)("lambdas.noOutput"),label:e(l)("lambdas.invocationLog"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])]),_:2},1032,["value"]))),128))]),_:1})):(r(),m(e(H),{key:1,title:e(l)("lambdas.noInvocationsTitle"),description:e(l)("lambdas.noInvocationsDescription")},null,8,["title","description"]))]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)):k("",!0)]),_:1}))}}),Be=le({__name:"LambdaDetailPage",props:{functionName:{}},setup(E){const P=ne();function y(){P.push("/lambdas")}return(K,l)=>(r(),m(Re,{"function-name":E.functionName,onBack:y},null,8,["function-name"]))}});export{Be as default};
@@ -1 +0,0 @@
1
- import{k as Ve,m as Se,a as C,e as f,ac as l,a7 as e,v as c,a8 as ze,p as V,r as ee,n as g,j as i,u as d,i as s,a6 as u,D as j,K as Ie,t as U,L as D,f as y,y as H,M as S,N as I,A as te,J as h,E as $e,w as Ee,g as A,O as ae,I as Le,F as K,s as ne,x as je,b as z,l as Oe,aa as Me}from"./index-DuSPnI19.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}),J=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",Q()}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),Y=V(""),k=V([]),M=z(()=>k.value.filter(t=>t.selected).length),G=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 Q(){O.value=!0,v.value=null;try{const t=await C.scanServices();Y.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:J.value?"success":"info",variant:"soft"},{default:l(()=>[s(u(J.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:Q},{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(Y.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:G.value,"onUpdate:modelValue":a[7]||(a[7]=n=>G.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};
@@ -1 +0,0 @@
1
- import{k as J,m as G,ab as W,e as c,a7 as e,v,ac as a,a as B,n as d,j as l,J as I,x as E,i,a6 as u,u as p,D as w,L as M,f as T,w as X,P,Q as U,t as D,a1 as N,M as j,Z as A,N as Y,ad as ee,T as ae,a8 as le,p as r,b as y,aa as ne}from"./index-DuSPnI19.js";const te=J({__name:"OpenSearchCollectionView",props:{name:{}},emits:["back"],setup(_,{emit:$}){const f=_,q=$,{t:n}=le(),h=r([]),x=r(!0),b=r(null),k=r(""),z=r(""),S=r("25"),C=r(!1),g=r(null),m=r(null),V=r(!1),K=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")}]),R=y(()=>[{key:"index",label:n("opensearch.index")},{key:"id",label:"ID"},{key:"source",label:"Source"}]),F=y(()=>[{value:"",label:n("opensearch.allIndices")},...h.value.map(s=>({value:s.index,label:s.index}))]),Q=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 Z(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,b.value=null}catch(s){b.value=s.message||n("opensearch.loadIndicesError"),h.value=[]}finally{x.value=!1}}async function L(){C.value=!0,g.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,g.value=s.message||n("opensearch.searchError"))}finally{C.value=!1}}return G(O),W(()=>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=>q("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}),b.value?(d(),c(e(M),{key:0,variant:"danger",dismissible:"",onDismiss:o[1]||(o[1]=t=>b.value=null)},{default:a(()=>[i(u(b.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(X),{label:e(n)("opensearch.loadingIndices")},null,8,["label"])]),_:1})):h.value.length?(d(),c(e(U),{key:2,columns:K.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:Z(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(P),{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(j),{label:e(n)("opensearch.index")},{default:a(()=>[l(e(A),{modelValue:k.value,"onUpdate:modelValue":o[2]||(o[2]=t=>k.value=t),options:F.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),l(e(N),{grow:2,basis:"0"},{default:a(()=>[l(e(j),{label:e(n)("opensearch.query")},{default:a(()=>[l(e(Y),{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(j),{label:e(n)("common.size")},{default:a(()=>[l(e(A),{modelValue:S.value,"onUpdate:modelValue":o[4]||(o[4]=t=>S.value=t),options:Q.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}),g.value?(d(),c(e(M),{key:1,variant:"danger",dismissible:"",onDismiss:o[5]||(o[5]=t=>g.value=null)},{default:a(()=>[i(u(g.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:R.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(P),{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=J({__name:"OpenSearchCollectionPage",props:{name:{}},setup(_){const $=ne();function f(){$.push("/opensearch")}return(q,n)=>(d(),c(te,{name:_.name,onBack:f},null,8,["name"]))}});export{oe as default};
@@ -1 +0,0 @@
1
- import{k as V,m as N,o as P,n as i,e as r,a7 as e,v as d,ac as a,j as l,y as j,z as R,L as q,i as c,a6 as u,f as M,t as A,w as E,P as I,x as z,Q as H,J,u as v,R as Q,A as F,a1 as G,N as K,a8 as W,p as f,b as _,a as T,aa as X}from"./index-DuSPnI19.js";const Y=V({__name:"OpenSearchCollectionsList",emits:["open"],setup(B,{emit:w}){const b=w,{t:n}=W(),p=f([]),y=f({}),h=f(!0),m=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"}]),k=_(()=>p.value.map(t=>({...t,service:y.value[t.name]||""})).sort((t,s)=>t.name.localeCompare(s.name))),x=_(()=>{const t=g.value.trim().toLowerCase();return t?k.value.filter(s=>s.name.toLowerCase().includes(t)||(s.service||"").toLowerCase().includes(t)):k.value}),S=_(()=>({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 D(t){return n("opensearch.openCollectionLabel",{name:String(t.name)})}async function L(){try{const[t,s]=await Promise.all([T.listOpenSearchCollections(),T.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[],collections:[]}))]);p.value=t.collections;const o={};for(const C of s.collections||[])o[C.name]=C.service;y.value=o,m.value=null}catch(t){m.value=t.message||n("opensearch.loadCollectionsError")}finally{h.value=!1}}return N(()=>{L(),$=window.setInterval(L,15e3)}),P(()=>{$&&window.clearInterval($)}),(t,s)=>(i(),r(e(d),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[l(e(j),{columns:2,gap:"1rem"},{default:a(()=>[l(e(R),{label:e(n)("opensearch.collections"),value:S.value.collections,tone:"info",loading:h.value},null,8,["label","value","loading"]),l(e(R),{label:e(n)("opensearch.owningServices"),value:S.value.services,tone:"success",loading:h.value},null,8,["label","value","loading"])]),_:1}),m.value?(i(),r(e(q),{key:0,variant:"danger",dismissible:"",onDismiss:s[0]||(s[0]=o=>m.value=null)},{default:a(()=>[c(u(m.value),1)]),_:1})):M("",!0),l(e(A),{variant:"outline"},{header:a(()=>[l(e(d),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:a(()=>[l(e(d),{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(d),{direction:"horizontal",align:"center",gap:"1rem"},{default:a(()=>[l(e(G),{"min-width":"16rem"},{default:a(()=>[l(e(K),{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(d),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(E),{label:e(n)("opensearch.loadingCollections")},null,8,["label"])]),_:1})):k.value.length?x.value.length?(i(),r(e(H),{key:3,columns:O.value,rows:x.value,"row-key":"name","row-to":U,"row-label":D,"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(Q),{key:0,to:`/services/${encodeURIComponent(String(o.service))}`,underline:"none"},{default:a(()=>[l(e(F),{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(J),{size:"sm",variant:"soft",onClick:C=>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(I),{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(I),{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=V({__name:"OpenSearchPage",setup(B){const w=X();function b(n){w.push(`/opensearch/${encodeURIComponent(n)}`)}return(n,p)=>(i(),r(Y,{onOpen:b}))}});export{ee as default};
@@ -1 +0,0 @@
1
- import{k as ce,m as de,o as fe,n as v,e as w,a7 as e,t as O,ac as t,j as a,u as c,i as s,a6 as r,v as p,w as me,g as E,x as _,f as N,y as te,z,A,F as H,B as we,C as ge,s as V,D as k,E as ye,a8 as pe,p as $,b as d,a as D,aa as _e,G as ee,H as h,I as be,h as he,J as ve}from"./index-DuSPnI19.js";import{i as ke}from"./onboarding-DQmlvyWU.js";import{e as ze}from"./resourceIcons-baecADXA.js";const xe=14,Se=10,$e=64,Me=ce({__name:"ActivityPanel",setup(W){const{t:l}=pe(),g=$(null),x=$(!0),y=$(null),I=$(12e4);let C=null;const K=d(()=>[{value:"60000",label:l("activity.window1m")},{value:"120000",label:l("activity.window2m")},{value:"600000",label:l("activity.window10m")}]),q=d({get:()=>String(I.value),set:n=>{I.value=Number(n),B()}});async function B(){try{g.value=await D.getActivity(I.value),y.value=null}catch(n){y.value=n instanceof Error?n.message:l("activity.loadFailed")}finally{x.value=!1}}const b=d(()=>{var n;return(n=g.value)==null?void 0:n.totals}),T=d(()=>{var n;return(n=g.value)==null?void 0:n.residency}),M=d(()=>{var n;return(n=g.value)==null?void 0:n.host}),ae=d(()=>{const n=M.value;return!n||!n.totalMemBytes?0:Math.round((n.totalMemBytes-n.freeMemBytes)/n.totalMemBytes*100)}),le=d(()=>{const n=M.value;return!n||!n.cpuCount?0:Math.round(n.loadAvg1m/n.cpuCount*100)}),ne=d(()=>{var n;return(((n=g.value)==null?void 0:n.workers)??[]).filter(m=>m.warm)}),G=d(()=>ne.value.map(n=>({...n,resident:[...n.loadedFunctions].reverse()}))),U=d(()=>{var m;const n=((m=g.value)==null?void 0:m.buckets)??[];return n.length>0?n[0].at:0}),F=d(()=>{var n;return U.value+(((n=g.value)==null?void 0:n.windowMs)??0)}),J=d(()=>{var S;const n=new Map;for(const o of((S=g.value)==null?void 0:S.spans)??[]){const u=`${o.service}::${o.functionName}`,i=n.get(u)??[];i.push(o),n.set(u,i)}const m=new Map;for(const[,o]of n){const u=m.get(o[0].functionName)??new Set;u.add(o[0].service),m.set(o[0].functionName,u)}return[...n.values()].map(o=>({list:o,lastAt:Math.max(...o.map(u=>u.startedAt+u.durationMs))})).sort((o,u)=>u.lastAt-o.lastAt).map(({list:o})=>{var P;const{service:u,functionName:i}=o[0];return{label:(((P=m.get(i))==null?void 0:P.size)??0)>1?`${u}/${i}`:i,description:l("activity.laneAria",{function:i,service:u,count:o.length}),spans:o.map(oe)}})});function oe(n){return{start:n.startedAt,end:n.startedAt+n.durationMs,tone:n.ok?"default":"danger",title:ie(n)}}const Q=d(()=>{var n;return[{name:l("activity.parallelism"),data:(((n=g.value)==null?void 0:n.buckets)??[]).map(m=>m.peak)}]}),Z=d(()=>{var n;return(((n=g.value)==null?void 0:n.buckets)??[]).map(m=>l("activity.axisStart",{value:L(F.value-m.at)}))}),j=d(()=>{var n;return Math.max(1,...(((n=g.value)==null?void 0:n.buckets)??[]).map(m=>m.peak))});function R(n){if(!n)return"—";const m=n/1024/1024;return m>=1024?`${(m/1024).toFixed(1)} GB`:`${Math.round(m)} MB`}function L(n){return n===void 0?"—":n>=1e3?`${(n/1e3).toFixed(1)} s`:`${Math.round(n)} ms`}function ie(n){const m=[n.functionName,L(n.durationMs)];return n.ok||m.push(l("activity.failed")),n.coldStart&&m.push(l("activity.coldStart")),m.join(" · ")}return de(()=>{B(),C=window.setInterval(B,5e3)}),fe(()=>{C&&window.clearInterval(C)}),(n,m)=>(v(),w(e(O),{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 o;return[s(r(e(l)("activity.inFlight",{count:((o=b.value)==null?void 0:o.activeNow)??0})),1)]}),_:1},8,["tone"])]}),_:1}),a(e(ye),{modelValue:q.value,"onUpdate:modelValue":m[0]||(m[0]=S=>q.value=S),options:K.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(me),{label:e(l)("common.loading")},null,8,["label"])]),_:1})):(v(),E(H,{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(te),{columns:5,"min-item-width":"12rem",gap:"0.75rem"},{default:t(()=>{var o,u,i,f,P,X,Y,re,se,ue;return[a(e(z),{label:e(l)("activity.workersWarm"),value:`${((o=T.value)==null?void 0:o.warm)??0} / ${((u=T.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=T.value)==null?void 0:i.loadedFunctions)??0} / ${((f=T.value)==null?void 0:f.registeredFunctions)??0}`,meta:e(l)("activity.functionsLoadedHint")},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.peakConcurrency"),value:String(((P=b.value)==null?void 0:P.peakConcurrency)??0),meta:e(l)("activity.peakConcurrencyHint")},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.hostMemory"),value:`${ae.value}%`,meta:e(l)("activity.hostMemoryHint",{used:R((((X=M.value)==null?void 0:X.totalMemBytes)??0)-(((Y=M.value)==null?void 0:Y.freeMemBytes)??0)),total:R((re=M.value)==null?void 0:re.totalMemBytes)})},null,8,["label","value","meta"]),a(e(z),{label:e(l)("activity.hostLoad"),value:`${le.value}%`,meta:e(l)("activity.hostLoadHint",{load:(((se=M.value)==null?void 0:se.loadAvg1m)??0).toFixed(2),cpus:((ue=M.value)==null?void 0:ue.cpuCount)??0})},null,8,["label","value","meta"])]}),_:1}),a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:t(()=>{var o,u;return[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(l)("activity.stackRss",{value:R((i=M.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}),(((o=b.value)==null?void 0:o.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(H,{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:j.value})),1)]),_:1})]),_:1}),a(e(we),{type:"area",interpolation:"step",series:Q.value,labels:Z.value,height:$e,"show-grid":!1,"show-x-axis":!1,"show-y-axis":!1,"aria-label":e(l)("activity.parallelismAria",{peak:j.value})},null,8,["series","labels","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(ge),{rows:J.value,from:U.value,to:F.value,"lane-height":xe,label:e(l)("activity.timeline")},{label:t(({row:o})=>[a(e(c),{family:"mono"},{default:t(()=>[s(r(o.label),1)]),_:2},1024)]),marker:t(({span:o})=>[o.tone==="danger"?(v(),w(e(_),{key:0,name:"x",size:Se})):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 o;return[s(r(e(l)("activity.axisStart",{value:L((o=g.value)==null?void 0:o.windowMs)})),1)]}),_:1}),a(e(c),{size:"sm",tone:"muted"},{default:t(()=>[s(r(e(l)("activity.axisNow")),1)]),_:1})]),_:1})]),_:1}),G.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(H,null,V(G.value,o=>(v(),w(e(p),{key:o.service,direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:t(()=>[a(e(A),{size:"sm",variant:"soft"},{default:t(()=>[s(r(o.service)+" · "+r(e(l)("activity.workerPid",{pid:o.pid??0})),1)]),_:2},1024),(v(!0),E(H,null,V(o.resident,u=>(v(),w(e(A),{key:u,size:"sm",variant:"soft",tone:"success"},{default:t(()=>[s(r(u),1)]),_:2},1024))),128)),o.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}))}}),Be=ce({__name:"OverviewPage",setup(W){const{t:l}=pe(),g=_e(),x=$(null),y=$(null),I=$([]),C=$([]),K=$([]),q=$([]),B=$({tables:[],queues:[],topics:[],buckets:[],collections:[]}),b=$(!0);let T=null;async function M(){try{const[o,u,i,f,P,X,Y]=await Promise.all([D.checkHealth(),D.getConfig(),D.listServices(),D.listResources(),D.listLambdas().catch(()=>[]),D.listApis().catch(()=>[]),D.getPorts().catch(()=>({ports:[]}))]);x.value=o,y.value=u,C.value=i,B.value=f,K.value=P,q.value=X,I.value=Y.ports}catch(o){console.error("Overview load failed:",o)}finally{b.value=!1}}const ae=d(()=>C.value.filter(o=>o.status==="running").length),le=d(()=>C.value.length),ne=d(()=>K.value.filter(o=>o.status==="online").length),G=d(()=>K.value.length),U=d(()=>q.value.reduce((o,u)=>o+u.routes.length,0)),F=d(()=>{var o;return((o=x.value)==null?void 0:o.engineRunning)??!1}),J=d(()=>F.value?"success":"danger"),oe=d(()=>{var o,u;return((u=(o=x.value)==null?void 0:o.engine)==null?void 0:u.services)??[]}),Q=d(()=>oe.value.map(o=>({id:o,icon:ze(o)}))),Z=d(()=>{var o,u;return!!((u=(o=x.value)==null?void 0:o.dynamoProxy)!=null&&u.enabled)}),j=d(()=>{var o,u;return!!((u=(o=x.value)==null?void 0:o.dynamoProxy)!=null&&u.running)}),R=d(()=>{var o;return!!((o=y.value)!=null&&o.autoPackage)}),L=d(()=>{var o;return!!((o=y.value)!=null&&o.persistence)}),ie={orchestrator:"info",engine:"success",proxy:"warning","service-api":"info","service-invoke":"neutral"},n={orchestrator:"overview.portKindOrchestrator",engine:"overview.portKindEngine",proxy:"overview.portKindProxy","service-api":"overview.portKindServiceApi","service-invoke":"overview.portKindServiceInvoke"};function m(o){return l(n[o])}const S=d(()=>[{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 de(async()=>{if(await M(),C.value.length===0&&!ke()){g.push("/onboarding");return}T=window.setInterval(M,15e3)}),fe(()=>{T&&window.clearInterval(T)}),(o,u)=>(v(),w(e(p),{direction:"vertical",gap:"1.5rem"},{default:t(()=>[a(e(O),{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:J.value,variant:"soft"},{default:t(()=>[s(r(F.value?e(l)("overview.engineBadgeRunning"):e(l)("overview.engineBadgeOffline")),1)]),_:1},8,["tone"]),Z.value?(v(),w(e(k),{key:0,tone:j.value?"success":"warning",variant:"soft"},{default:t(()=>[s(r(j.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:R.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(e(l)("overview.autoPackage"))+" "+r(R.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(Me),b.value&&!x.value?(v(),w(e(p),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(me),{label:e(l)("overview.loading")},null,8,["label"])]),_:1})):(v(),E(H,{key:1},[a(e(te),{columns:2,gap:"1rem"},{default:t(()=>[a(e(O),{variant:"outline"},{header:t(()=>[a(e(c),{weight:"semibold"},{default:t(()=>[s(r(e(l)("overview.serverStatus")),1)]),_:1})]),default:t(()=>[a(e(ee),null,{default:t(()=>[a(e(h),{label:e(l)("overview.selfEngine")},{default:t(()=>[a(e(k),{tone:J.value,variant:"soft"},{default:t(()=>[s(r(F.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,f;return[s(r(((f=(i=y.value)==null?void 0:i.engine)==null?void 0:f.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(be)),a(e(ee),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:j.value?"success":"warning",variant:"soft"},{default:t(()=>{var i,f;return[s(r(j.value?e(l)("overview.proxyListening",{port:((f=(i=x.value)==null?void 0:i.dynamoProxy)==null?void 0:f.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:R.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(R.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(O),{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(ve),{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(ee),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 f,P;return[s(r(((P=(f=y.value)==null?void 0:f.engine)==null?void 0:P.kind)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.defaultRegion")},{default:t(()=>[a(e(c),{family:"mono"},{default:t(()=>{var f;return[s(r(((f=y.value)==null?void 0:f.region)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(h),{label:e(l)("overview.serverPort")},{default:t(()=>[a(e(c),{family:"mono"},{default:t(()=>{var f;return[s(r(((f=y.value)==null?void 0:f.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(H,null,V(Q.value,f=>(v(),w(e(A),{key:f.id,size:"sm",variant:"soft"},he({default:t(()=>[s(" "+r(f.id),1)]),_:2},[f.icon?{name:"icon",fn:t(()=>[a(e(_),{name:f.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)),Q.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 f;return[s(r(((f=y.value)==null?void 0:f.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(O),{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(()=>[I.value.length?(v(),w(e(ee),{key:0},{default:t(()=>[(v(!0),E(H,null,V(I.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:ie[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(te),{columns:5,gap:"1rem"},{default:t(()=>{var i;return[a(e(z),{label:e(l)("overview.statServicesRunning"),value:`${ae.value} / ${le.value}`,tone:"success"},{icon:t(()=>[a(e(_),{name:"boxes"})]),_:1},8,["label","value"]),a(e(z),{label:e(l)("overview.statLambdasOnline"),value:`${ne.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:U.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(O),{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(te),{columns:2,gap:"0.75rem"},{default:t(()=>[(v(!0),E(H,null,V(S.value,i=>(v(),w(e(O),{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(ve),{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}))}}),Pe=(W,l)=>{const g=W.__vccOpts||W;for(const[x,y]of l)g[x]=y;return g},Ce=Pe(Be,[["__scopeId","data-v-8acf8384"]]);export{Ce as default};
@@ -1 +0,0 @@
1
- import{k as ne,n as d,e as c,a7 as e,v as m,ac as a,j as t,t as j,M as I,Y as Ve,a1 as C,N as D,f as y,u as v,i,a6 as u,J as h,g as H,F as L,s as K,Z as Ie,D as M,L as ue,w as ie,P as re,Q as Se,I as Ce,T as Me,R as Ae,ae as xe,x as ee,U as Ne,a8 as oe,p as b,b as W,a as E,c as de,m as Te,o as De,ab as je,z as Y,y as Ue,V as Fe,W as ae,X as te,G as se,H as le,A as Z,a2 as Pe,a0 as Be,a9 as Re,aa as me}from"./index-DuSPnI19.js";const Oe=ne({__name:"QueueSendReceivePanel",props:{queue:{}},emits:["refresh"],setup(R,{emit:G}){const{t:l}=oe(),w=R,U=G,k=de(),F=b(""),O=b(0),f=b("default"),S=b(""),$=b([]),A=b(!1),x=b(null),N=b(null),Q=b(10),z=b(0),J=b(0),_=b([]),P=b(!1),o=b(null),g=b({}),p=b(!1),X=b(!1),T=b(null),fe=[{value:"String",label:"String"},{value:"Number",label:"Number"},{value:"Binary",label:"Binary"}],B=W(()=>w.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(()=>_.value.map((r,s)=>{var n;return{__id:s,__key:r.messageId||`row-${s}`,__raw:r,messageId:r.messageId||"—",preview:ge(r.body),sentAt:pe((n=r.attributes)==null?void 0:n.SentTimestamp),attrs:r.messageAttributes?Object.keys(r.messageAttributes).length:0}}));function ge(r){if(!r)return"—";const s=r.replace(/\s+/g," ").trim();return s.length>80?`${s.slice(0,80)}…`:s}function pe(r){if(!r)return"—";const s=Number(r);return s?new Date(s).toLocaleString():"—"}function be(){$.value.push({name:"",type:"String",value:""})}function _e(r){$.value.splice(r,1)}function ye(r){if(!r)return"";const s=r.trim();if(!(s.startsWith("{")||s.startsWith("[")))return r;try{return JSON.stringify(JSON.parse(s),null,2)}catch{return r}}function qe(r){T.value=T.value===r?null:r}async function he(){if(!F.value.trim()){x.value=l("queues.bodyRequired");return}A.value=!0,x.value=null;try{const r=$.value.filter(n=>n.name.trim()),s=await E.sendQueueMessage(w.queue.name,{body:F.value,delaySeconds:B.value?void 0:O.value||void 0,messageAttributes:r.length?r:void 0,messageGroupId:B.value?f.value||"default":void 0,messageDeduplicationId:B.value&&S.value?S.value:void 0});N.value={messageId:s.messageId,sequenceNumber:s.sequenceNumber},k.add({title:l("queues.messageSent"),description:s.messageId,variant:"success"}),U("refresh")}catch(r){x.value=r.message||l("queues.sendFailed")}finally{A.value=!1}}async function we(){P.value=!0,o.value=null;try{const r=await E.receiveQueueMessages(w.queue.name,{maxNumberOfMessages:Q.value,visibilityTimeout:J.value,waitTimeSeconds:z.value});_.value=r.messages,T.value=null,r.messages.length||k.add({title:l("queues.noMessagesAvailable"),description:l("queues.noMessagesAvailableDescription"),variant:"info"}),U("refresh")}catch(r){o.value=r.message||l("queues.pollFailed")}finally{P.value=!1}}async function ke(r){if(!(!r.receiptHandle||!r.messageId)){g.value[r.messageId]=!0;try{await E.deleteQueueMessage(w.queue.name,r.receiptHandle),_.value=_.value.filter(s=>s.messageId!==r.messageId),T.value===r.messageId&&(T.value=null),k.add({title:l("queues.messageDeleted"),variant:"success"}),U("refresh")}catch(s){k.add({title:l("queues.deleteFailed"),description:s.message,variant:"danger"})}finally{delete g.value[r.messageId]}}}async function $e(){X.value=!0;try{await E.purgeQueue(w.queue.name),_.value=[],k.add({title:l("queues.queuePurged"),description:l("queues.queuePurgedDescription"),variant:"warning"}),U("refresh")}catch(r){k.add({title:l("queues.purgeFailed"),description:r.message,variant:"danger"})}finally{X.value=!1,p.value=!1}}function ze(r){var s;(s=navigator.clipboard)==null||s.writeText(r).then(()=>{k.add({title:l("queues.copiedToClipboard"),variant:"info"})})}return(r,s)=>(d(),c(e(m),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(j),{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(M),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...s[13]||(s[13]=[i("FIFO",-1)])]),_:1})):y("",!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(h),{variant:"solid",loading:A.value,onClick:he},{default:a(()=>[i(u(e(l)("queues.sendMessage")),1)]),_:1},8,["loading"]),t(e(h),{variant:"ghost",disabled:A.value,onClick:s[4]||(s[4]=n=>F.value="")},{default:a(()=>[i(u(e(l)("queues.clear")),1)]),_:1},8,["disabled"])]),_:1}),N.value?(d(),c(e(v),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[i(u(e(l)("queues.lastSent"))+" "+u(N.value.messageId)+" ",1),N.value.sequenceNumber?(d(),H(L,{key:0},[i(" · seq "+u(N.value.sequenceNumber),1)],64)):y("",!0)]),_:1})):y("",!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":s[0]||(s[0]=n=>F.value=n),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?y("",!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(D),{modelValue:O.value,"onUpdate:modelValue":s[1]||(s[1]=n=>O.value=n),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(D),{modelValue:f.value,"onUpdate:modelValue":s[2]||(s[2]=n=>f.value=n),placeholder:"default"},null,8,["modelValue"])]),_:1},8,["hint"])]),_:1})):y("",!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(D),{modelValue:S.value,"onUpdate:modelValue":s[3]||(s[3]=n=>S.value=n),placeholder:"auto"},null,8,["modelValue"])]),_:1},8,["hint"])]),_:1})):y("",!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(h),{size:"sm",variant:"outline",onClick:be},{default:a(()=>[i(u(e(l)("queues.addAttribute")),1)]),_:1})]),_:1}),(d(!0),H(L,null,K($.value,(n,V)=>(d(),c(e(m),{key:`a-${V}`,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(D),{modelValue:n.name,"onUpdate:modelValue":q=>n.name=q,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:n.type,"onUpdate:modelValue":q=>n.type=q,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(D),{modelValue:n.value,"onUpdate:modelValue":q=>n.value=q,placeholder:"application/json"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:2},1024),t(e(h),{size:"sm",variant:"outline",onClick:q=>_e(V)},{default:a(()=>[i(u(e(l)("queues.remove")),1)]),_:1},8,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),x.value?(d(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:s[5]||(s[5]=n=>x.value=null)},{default:a(()=>[i(u(x.value),1)]),_:1})):y("",!0),t(e(j),{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(M),{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(h),{variant:"solid",loading:P.value,onClick:we},{default:a(()=>[i(u(e(l)("queues.pollMessages")),1)]),_:1},8,["loading"]),t(e(h),{variant:"ghost",disabled:!_.value.length,onClick:s[9]||(s[9]=n=>_.value=[])},{default:a(()=>[i(u(e(l)("queues.clearResults")),1)]),_:1},8,["disabled"])]),_:1}),t(e(h),{size:"sm",variant:"solid",tone:"danger",onClick:s[10]||(s[10]=n=>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(D),{modelValue:Q.value,"onUpdate:modelValue":s[6]||(s[6]=n=>Q.value=n),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(D),{modelValue:J.value,"onUpdate:modelValue":s[7]||(s[7]=n=>J.value=n),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(D),{modelValue:z.value,"onUpdate:modelValue":s[8]||(s[8]=n=>z.value=n),modelModifiers:{number:!0},type:"number",min:"0",max:"20"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1})]),_:1})]),_:1}),o.value?(d(),c(e(ue),{key:1,variant:"danger",dismissible:"",onDismiss:s[11]||(s[11]=n=>o.value=null)},{default:a(()=>[i(u(o.value),1)]),_:1})):y("",!0),t(e(j),{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:_.value.length})),1)]),_:1}),t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(l)("queues.clickRowHint")),1)]),_:1})]),_:1})]),default:a(()=>[P.value&&!_.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})):_.value.length?(d(),c(e(Se),{key:2,columns:ce.value,rows:ve.value,"row-key":"__key","expanded-row":T.value,"aria-label":e(l)("queues.receivedMessagesAria")},{"cell-preview":a(({row:n})=>[t(e(Ae),{href:"#",underline:"none","aria-expanded":T.value===n.__key?"true":"false",onClick:xe(V=>qe(String(n.__key)),["prevent"])},{default:a(()=>[t(e(v),{family:"mono",size:"sm"},{default:a(()=>[t(e(ee),{name:T.value===n.__key?"chevron-down":"chevron-right"},null,8,["name"]),i(" "+u(n.preview),1)]),_:2},1024)]),_:2},1032,["aria-expanded","onClick"])]),"cell-messageId":a(({row:n})=>[t(e(v),{family:"mono",size:"xs"},{default:a(()=>[i(u(n.messageId),1)]),_:2},1024)]),"cell-sentAt":a(({row:n})=>[t(e(v),{tone:"muted",size:"xs"},{default:a(()=>[i(u(n.sentAt),1)]),_:2},1024)]),"cell-attrs":a(({row:n})=>[Number(n.attrs)>0?(d(),c(e(M),{key:0,tone:"info",variant:"soft"},{default:a(()=>[i(u(n.attrs),1)]),_:2},1024)):(d(),c(e(v),{key:1,tone:"muted",size:"xs"},{default:a(()=>[...s[14]||(s[14]=[i("—",-1)])]),_:1}))]),"cell-actions":a(({row:n})=>[t(e(m),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:a(()=>[t(e(h),{size:"sm",variant:"ghost",onClick:V=>ze(String(n.__raw.body||""))},{default:a(()=>[i(u(e(l)("common.copy")),1)]),_:1},8,["onClick"]),t(e(h),{size:"sm",variant:"solid",tone:"danger",loading:g.value[String(n.messageId)],onClick:V=>ke(n.__raw)},{default:a(()=>[i(u(e(l)("common.delete")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)]),detail:a(({row:n})=>[t(e(m),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:a(()=>[t(e(M),{tone:"neutral",variant:"soft"},{default:a(()=>[i("id: "+u(n.__raw.messageId),1)]),_:2},1024),n.__raw.md5OfBody?(d(),c(e(M),{key:0,tone:"neutral",variant:"soft"},{default:a(()=>[i(" md5: "+u(n.__raw.md5OfBody.slice(0,12))+"… ",1)]),_:2},1024)):y("",!0),(d(!0),H(L,null,K(n.__raw.attributes||{},(V,q)=>(d(),c(e(M),{key:q,tone:"info",variant:"soft"},{default:a(()=>[i(u(q)+": "+u(V),1)]),_:2},1024))),128))]),_:2},1024),n.__raw.messageAttributes&&Object.keys(n.__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),H(L,null,K(n.__raw.messageAttributes,(V,q)=>(d(),c(e(M),{key:`ma-${q}`,tone:"success",variant:"soft"},{default:a(()=>[i(u(q)+" ("+u(V.type||"String")+"): "+u(V.value),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)):y("",!0),t(e(Ce)),t(e(Me),{code:ye(n.__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(re),{key:1,title:e(l)("queues.noMessagesLoaded"),description:e(l)("queues.noMessagesLoadedDescription")},null,8,["title","description"]))]),_:1}),t(e(Ne),{open:p.value,"onUpdate:open":s[12]||(s[12]=n=>p.value=n),title:e(l)("queues.purgeQueue"),description:e(l)("queues.purgeConfirmDescription",{queue:w.queue.name}),"confirm-label":e(l)("queues.purgeConfirmLabel"),"cancel-label":e(l)("common.cancel"),"confirm-variant":"danger",loading:X.value,onConfirm:$e},null,8,["open","title","description","confirm-label","cancel-label","loading"])]),_:1}))}}),Qe=ne({__name:"QueueDetail",props:{queueName:{}},emits:["back"],setup(R,{emit:G}){const{t:l}=oe(),w=R,U=G,k=Re(),F=me(),O=de(),f=b(null),S=b(!0),$=b(null);let A=null;const x=["send-receive","consumers","attributes"],N=W({get(){const o=String(k.query.tab||"");return x.includes(o)?o:"send-receive"},set(o){F.replace({query:{...k.query,tab:o==="send-receive"?void 0:o}})}}),Q=W(()=>{const o=f.value;if(!o)return 0;const g=o.available+o.inFlight+o.processed;return g?Math.round(o.processed/g*100):0});async function z(o=!0){o&&(S.value=!0);try{f.value=await E.getQueue(w.queueName),$.value=null}catch(g){$.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 z(!1)}catch(o){O.add({title:l("queues.resetCounterFailed"),description:o.message,variant:"danger"})}}function _(o){return o===void 0?"—":o<60?`${o}s`:o<3600?`${Math.round(o/60)}m`:o<86400?`${Math.round(o/3600)}h`:`${Math.round(o/86400)}d`}function P(o){return o?new Date(o).toLocaleString():"—"}return Te(()=>{z(),A=window.setInterval(()=>z(!1),4e3)}),De(()=>{A&&window.clearInterval(A)}),je(()=>w.queueName,()=>z()),(o,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(h),{size:"sm",variant:"ghost",onClick:g[0]||(g[0]=X=>U("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(R.queueName),1)]),_:1}),(p=f.value)!=null&&p.fifo?(d(),c(e(M),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...g[5]||(g[5]=[i("FIFO",-1)])]),_:1})):y("",!0)]}),_:1}),t(e(h),{size:"sm",variant:"ghost",loading:S.value,onClick:g[1]||(g[1]=p=>z())},{default:a(()=>[i(u(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),$.value?(d(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:g[2]||(g[2]=p=>$.value=null)},{default:a(()=>[i(u($.value),1)]),_:1})):y("",!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(),H(L,{key:2},[t(e(Ue),{columns:4,gap:"0.75rem"},{default:a(()=>[t(e(Y),{label:e(l)("queues.colAvailable"),value:f.value.available,tone:"warning"},null,8,["label","value"]),t(e(Y),{label:e(l)("queues.colInFlight"),value:f.value.inFlight,tone:"info"},null,8,["label","value"]),t(e(Y),{label:e(l)("queues.statDelayed"),value:f.value.delayed,tone:"neutral"},null,8,["label","value"]),t(e(Y),{label:e(l)("queues.statProcessedSession"),value:f.value.processed,tone:"success"},null,8,["label","value"])]),_:1}),t(e(Be),{modelValue:N.value,"onUpdate:modelValue":g[4]||(g[4]=p=>N.value=p)},{default:a(()=>[t(e(Fe),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(Oe,{queue:f.value,onRefresh:g[3]||(g[3]=p=>z(!1))},null,8,["queue"])]),_:1}),t(e(te),{value:"consumers"},{default:a(()=>[t(e(j),{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),H(L,null,K(f.value.consumers,p=>(d(),c(e(j),{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(M),{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(re),{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(j),{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(j),{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:P(f.value.createdAt),polled:P(f.value.lastPolledAt)})),1)]),_:1})]),default:a(()=>[t(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:a(()=>[t(e(Z),{size:"sm",variant:"soft"},{default:a(()=>[i(" FIFO: "+u(f.value.fifo?e(l)("common.yes"):e(l)("common.no")),1)]),_:1}),t(e(Z),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.visibilityTimeout"))+": "+u(_(f.value.visibilityTimeout)),1)]),_:1}),t(e(Z),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.retention"))+": "+u(_(f.value.messageRetentionPeriod)),1)]),_:1}),t(e(Z),{size:"sm",variant:"soft"},{default:a(()=>[i(u(e(l)("queues.delayed"))+": "+u(f.value.delayed),1)]),_:1})]),_:1})]),_:1}),t(e(j),{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(h),{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(Q.value)+"%",1)]),_:1})]),_:1},8,["label"])]),_:1}),t(e(Pe),{value:Q.value},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)):y("",!0)]),_:1}))}}),Le=ne({__name:"QueueDetailPage",props:{queueName:{}},setup(R){const G=me();function l(){G.push("/queues")}return(w,U)=>(d(),c(Qe,{"queue-name":R.queueName,onBack:l},null,8,["queue-name"]))}});export{Le as default};
@@ -1 +0,0 @@
1
- import{k as x,m as P,o as R,n as r,e as c,a7 as e,v,ac as a,j as n,y as A,z as _,L as S,i as u,a6 as i,f as T,t as j,w as D,P as U,x as k,Q as V,D as b,J as G,g as J,F as M,s as O,A as z,R as C,u as h,a8 as H,p as y,b as $,a as I}from"./index-DuSPnI19.js";import{E as K}from"./engine-D0mFFNbL.js";const W=x({__name:"QueuesView",setup(N){const{t:l}=H(),d=y([]),w=y({}),f=y(!0),g=y(null);let q=null;const Q=$(()=>[{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"}]),B=$(()=>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 L(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 P(()=>{F(),q=window.setInterval(F,4e3)}),R(()=>{q&&window.clearInterval(q)}),(s,o)=>(r(),c(e(v),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[n(e(A),{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(S),{key:0,variant:"danger",dismissible:"",onDismiss:o[0]||(o[0]=t=>g.value=null)},{default:a(()=>[u(i(g.value),1)]),_:1})):T("",!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(D),{label:e(l)("queues.loadingList")},null,8,["label"])]),_:1})):d.value.length?(r(),c(e(V),{key:2,columns:Q.value,rows:B.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),J(M,{key:0},O(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:L(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(U),{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=x({__name:"QueuesPage",setup(N){return(l,d)=>(r(),c(W))}});export{Z as default};
@@ -1 +0,0 @@
1
- import{k as E,m as K,o as X,n as c,e as u,a7 as e,v as d,ac as a,j as s,y as Y,z as I,L as Z,i,a6 as o,f as p,t as ee,w as R,P as M,x,Q as U,J as D,ae,u as f,A,D as P,a1 as te,N as le,S as se,d as q,g as ne,F as re,s as ie,T as oe,a8 as ce,p as v,b as h,a as B,c as ue}from"./index-DuSPnI19.js";const de=E({__name:"SecretsList",setup(O){const y=ue(),{t}=ce(),w=v([]),k=v(!0),b=v(null),z=v("");let C=null;const $=v(!1),_=v(null),m=v(null),S=v(!1),g=v(null),L=v(!1),H=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=z.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)})),J=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 B.listSecrets();w.value=l.secrets,b.value=null}catch(l){b.value=l.message||t("secrets.loadFailed")}finally{k.value=!1}}async function j(l){_.value=l,$.value=!0,m.value=null,g.value=null,S.value=!0;try{m.value=await B.describeSecret(l)}catch(r){y.add({title:t("secrets.detailFailed"),description:r.message,variant:"danger"})}finally{S.value=!1}}function Q(l){j(String(l.name))}async function W(){if(_.value){L.value=!0;try{g.value=await B.getSecretValue(_.value)}catch(l){y.add({title:t("secrets.revealFailed"),description:l.message,variant:"danger"})}finally{L.value=!1}}}async function G(){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 K(()=>{N(),C=window.setInterval(N,15e3)}),X(()=>{C&&window.clearInterval(C)}),(l,r)=>(c(),u(e(d),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[s(e(Y),{columns:2,gap:"1rem"},{default:a(()=>[s(e(I),{label:e(t)("secrets.statSecrets"),value:F.value.secrets,tone:"info",loading:k.value},null,8,["label","value","loading"]),s(e(I),{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(Z),{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(ee),{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:z.value,"onUpdate:modelValue":r[1]||(r[1]=n=>z.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(R),{label:e(t)("secrets.loadingList")},null,8,["label"])]),_:1})):V.value.length?T.value.length?(c(),u(e(U),{key:3,columns:H.value,rows:T.value,"row-key":"name","row-activatable":"","aria-label":e(t)("secrets.tableLabel"),onRowActivate:Q},{"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(P),{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(A),{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(D),{size:"sm",variant:"soft",onClick:ae(ve=>j(String(n.name)),["stop"])},{default:a(()=>[i(o(e(t)("secrets.inspect")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(c(),u(e(M),{key:2,title:e(t)("secrets.noMatchTitle"),description:e(t)("secrets.noMatchBody",{query:z.value})},{icon:a(()=>[s(e(x),{name:"search-x"})]),_:1},8,["title","description"])):(c(),u(e(M),{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:$.value,"onUpdate:open":r[2]||(r[2]=n=>$.value=n),title:_.value?e(t)("secrets.detailTitle",{name:_.value}):e(t)("secrets.detailTitleFallback"),size:"lg"},{default:a(()=>[S.value?(c(),u(e(d),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[s(e(R),{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}),q("div",null,[s(e(f),{weight:"semibold",size:"sm"},{default:a(()=>[i(o(e(t)("secrets.versionsHeading")),1)]),_:1}),s(e(U),{columns:[{key:"versionId",label:e(t)("secrets.columnVersion")},{key:"stages",label:e(t)("secrets.columnStagingLabels")}],rows:J.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(P),{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(A),{key:n.key,size:"sm",variant:"soft"},{default:a(()=>[i(o(n.key)+"="+o(n.value),1)]),_:2},1024))),128))]),_:1})):p("",!0),q("div",null,[s(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(D),{size:"sm",variant:"solid",loading:L.value,"loading-label":e(t)("common.loading"),onClick:W},{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(D),{key:0,size:"sm",variant:"ghost",onClick:G},{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};
@@ -1,2 +0,0 @@
1
- import{k as ce,m as ve,o as me,ab as fe,e as v,ac as a,a7 as e,v as s,a as F,a8 as ge,p as k,n as i,j as t,J as D,x as g,i as r,a6 as l,u as f,D as h,f as b,L as pe,w as _e,g as y,z as E,y as be,G as he,H as U,d as ye,t as te,P as we,F as w,s as $,R as H,A as T,T as ze,S as ke,U as $e,b as Te,c as Ne,aa as Se}from"./index-DuSPnI19.js";import{E as Le}from"./engine-D0mFFNbL.js";import{r as p}from"./resourceIcons-baecADXA.js";const Re=ce({__name:"ServiceDetailPage",props:{serviceName:{}},setup(x){const z=x,ne=Se(),L=Ne(),{t:n}=ge(),m=k(null),j=k(!0),R=k(null),P=k(!1),V=k(!1),O=k(!1),J=k([]),M=k("stopped");let N=null,G=null;const A=k(!1),o=Te(()=>{var _;const d={lambda:[],dynamodb:[],sqs:[],sns:[],s3:[],eventbus:[],"event-rule":[],opensearch:[],"event-source":[]};for(const c of((_=m.value)==null?void 0:_.resources)||[])d[c.type]||(d[c.type]=[]),d[c.type].push(c);return d});async function C(){j.value=!0;try{m.value=await F.getService(z.serviceName),R.value=null}catch(d){R.value=d.message||n("services.notFound"),m.value=null}finally{j.value=!1}}async function le(){if(!P.value){P.value=!0;try{await F.startService(z.serviceName),L.add({title:n("services.startedToast"),description:z.serviceName,variant:"success"}),await C()}catch(d){L.add({title:n("services.startFailedToast"),description:d.message,variant:"danger"})}finally{P.value=!1}}}async function re(){if(!V.value){V.value=!0;try{await F.stopService(z.serviceName),L.add({title:n("services.stoppedToast"),description:z.serviceName,variant:"info"}),await C()}catch(d){L.add({title:n("services.stopFailedToast"),description:d.message,variant:"danger"})}finally{V.value=!1}}}async function K(){try{const d=await F.getServiceLogs(z.serviceName);J.value=d.logs||[],M.value=d.status||"stopped"}catch(d){console.error("Failed to fetch logs:",d)}}function se(){O.value=!0,K(),N&&window.clearInterval(N),N=window.setInterval(K,2e3)}function ie(){O.value=!1,N&&window.clearInterval(N),N=null}async function oe(){try{await F.deleteService(z.serviceName),L.add({title:n("services.deletedToast"),description:z.serviceName,variant:"info"}),ne.push("/services")}catch(d){L.add({title:n("services.deleteFailedToast"),description:d.message,variant:"danger"})}finally{A.value=!1}}function ue(d){switch(d){case"running":return"success";case"registered":return"warning";case"stopped":return"neutral";default:return"danger"}}function W(d){switch(d){case"running":return n("services.statusRunning");case"registered":return n("services.statusRegistered");case"stopped":return n("common.stopped");case"failed":return n("services.statusFailed");case"error":return n("services.statusError");default:return d}}function de(d){return d?new Date(d).toLocaleString():"—"}return ve(()=>{C(),G=window.setInterval(C,1e4)}),me(()=>{G&&window.clearInterval(G),N&&window.clearInterval(N)}),fe(()=>z.serviceName,C),(d,_)=>(i(),v(e(s),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>{var c;return[t(e(D),{size:"sm",variant:"ghost",to:"/services"},{default:a(()=>[t(e(g),{name:"arrow-left"}),r(" "+l(e(n)("nav.services")),1)]),_:1}),t(e(f),{weight:"semibold",size:"lg"},{default:a(()=>[r(l(x.serviceName),1)]),_:1}),(c=m.value)!=null&&c.status?(i(),v(e(h),{key:0,tone:ue(m.value.status),variant:"soft"},{default:a(()=>[r(l(W(m.value.status)),1)]),_:1},8,["tone"])):b("",!0)]}),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem"},{default:a(()=>{var c,S;return[t(e(D),{size:"sm",variant:"soft",disabled:((c=m.value)==null?void 0:c.status)==="running",loading:P.value,onClick:le},{default:a(()=>[r(l(e(n)("services.start")),1)]),_:1},8,["disabled","loading"]),t(e(D),{size:"sm",variant:"soft",disabled:((S=m.value)==null?void 0:S.status)!=="running",loading:V.value,onClick:re},{default:a(()=>[r(l(e(n)("services.stop")),1)]),_:1},8,["disabled","loading"]),t(e(D),{size:"sm",variant:"ghost",onClick:se},{default:a(()=>[r(l(e(n)("services.logs")),1)]),_:1}),t(e(D),{size:"sm",variant:"ghost",loading:j.value,onClick:C},{default:a(()=>[r(l(e(n)("common.refresh")),1)]),_:1},8,["loading"]),t(e(D),{size:"sm",variant:"solid",tone:"danger",onClick:_[0]||(_[0]=I=>A.value=!0)},{default:a(()=>[r(l(e(n)("common.delete")),1)]),_:1})]}),_:1})]),_:1}),R.value?(i(),v(e(pe),{key:0,variant:"danger",dismissible:"",onDismiss:_[1]||(_[1]=c=>R.value=null)},{default:a(()=>[r(l(R.value),1)]),_:1})):b("",!0),j.value&&!m.value?(i(),v(e(s),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(_e),{label:e(n)("services.loadingOne")},null,8,["label"])]),_:1})):m.value?(i(),y(w,{key:2},[t(e(be),{columns:5,gap:"1rem"},{default:a(()=>{var c,S,I,q,B;return[t(e(E),{label:e(n)("services.statLambdas"),value:((c=o.value.lambda)==null?void 0:c.length)||0,tone:"info"},{icon:a(()=>[t(e(g),{name:e(p).lambda},null,8,["name"])]),_:1},8,["label","value"]),t(e(E),{label:e(n)("services.statTables"),value:((S=o.value.dynamodb)==null?void 0:S.length)||0,tone:"info"},{icon:a(()=>[t(e(g),{name:e(p).dynamodb},null,8,["name"])]),_:1},8,["label","value"]),t(e(E),{label:e(n)("services.statQueues"),value:((I=o.value.sqs)==null?void 0:I.length)||0,tone:"warning"},{icon:a(()=>[t(e(g),{name:e(p).sqs},null,8,["name"])]),_:1},8,["label","value"]),t(e(E),{label:e(n)("services.statTopics"),value:((q=o.value.sns)==null?void 0:q.length)||0,tone:"info"},{icon:a(()=>[t(e(g),{name:e(p).sns},null,8,["name"])]),_:1},8,["label","value"]),t(e(E),{label:e(n)("services.statBuckets"),value:((B=o.value.s3)==null?void 0:B.length)||0,tone:"neutral"},{icon:a(()=>[t(e(g),{name:e(p).s3},null,8,["name"])]),_:1},8,["label","value"])]}),_:1}),t(e(te),{variant:"outline"},{header:a(()=>[t(e(f),{weight:"semibold"},{default:a(()=>[r(l(e(n)("services.metadata")),1)]),_:1})]),default:a(()=>[t(e(he),null,{default:a(()=>[t(e(U),{label:e(n)("services.path")},{default:a(()=>[t(e(f),{family:"mono"},{default:a(()=>[r(l(m.value.root),1)]),_:1})]),_:1},8,["label"]),t(e(U),{label:e(n)("common.region")},{default:a(()=>[t(e(f),{family:"mono"},{default:a(()=>[r(l(m.value.region||"—"),1)]),_:1})]),_:1},8,["label"]),t(e(U),{label:e(n)("services.invokePort")},{default:a(()=>[t(e(f),{family:"mono"},{default:a(()=>[r(l(m.value.invokePort??"—"),1)]),_:1})]),_:1},8,["label"]),t(e(U),{label:"PID"},{default:a(()=>[t(e(f),{family:"mono"},{default:a(()=>[r(l(m.value.pid??"—"),1)]),_:1})]),_:1}),t(e(U),{label:e(n)("services.lastUpdated")},{default:a(()=>[ye("span",null,l(de(m.value.lastUpdated)),1)]),_:1},8,["label"])]),_:1})]),_:1}),t(e(te),{variant:"outline"},{header:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(f),{weight:"semibold"},{default:a(()=>[r(l(e(n)("services.declaredResources")),1)]),_:1}),t(e(h),{tone:"neutral",variant:"soft"},{default:a(()=>{var c;return[r(l(e(n)("services.resourcesTotal",{count:((c=m.value.resources)==null?void 0:c.length)||0})),1)]}),_:1})]),_:1})]),default:a(()=>{var c;return[(c=m.value.resources)!=null&&c.length?(i(),v(e(s),{key:1,direction:"vertical",gap:"1rem"},{default:a(()=>{var S,I,q,B,X,Y,Z,ee,ae;return[(S=o.value.dynamodb)!=null&&S.length?(i(),v(e(s),{key:0,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"info",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupTables")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.dynamodb.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.dynamodb,u=>(i(),v(e(H),{key:`db-${u.name}`,to:`/dynamo/${encodeURIComponent(u.name)}`,underline:"none"},{default:a(()=>[t(e(T),{size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).dynamodb},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})):b("",!0),(I=o.value.sqs)!=null&&I.length?(i(),v(e(s),{key:1,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"warning",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupQueues")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.sqs.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.sqs,u=>(i(),v(e(H),{key:`q-${u.name}`,to:"/queues",underline:"none"},{default:a(()=>[t(e(T),{size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).sqs},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(q=o.value.sns)!=null&&q.length?(i(),v(e(s),{key:2,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"info",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupTopics")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.sns.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.sns,u=>(i(),v(e(T),{key:`t-${u.name}`,size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).sns},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(B=o.value.s3)!=null&&B.length?(i(),v(e(s),{key:3,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"neutral",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupBuckets")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.s3.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.s3,u=>(i(),v(e(H),{key:`b-${u.name}`,to:`/buckets/${encodeURIComponent(u.name)}`,underline:"none"},{default:a(()=>[t(e(T),{size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).s3},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})):b("",!0),(X=o.value.lambda)!=null&&X.length?(i(),v(e(s),{key:4,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"neutral",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupLambdas")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.lambda.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.lambda,u=>(i(),v(e(T),{key:`l-${u.name}`,size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).lambda},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(Y=o.value.eventbus)!=null&&Y.length?(i(),v(e(s),{key:5,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"info",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupBuses")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.eventbus.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.eventbus,u=>(i(),v(e(T),{key:`eb-${u.name}`,size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).eventbus},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(Z=o.value["event-rule"])!=null&&Z.length?(i(),v(e(s),{key:6,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"info",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupRules")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value["event-rule"].length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value["event-rule"],(u,Q)=>(i(),v(e(T),{key:`er-${Q}-${u.name}`,size:"sm",variant:"outline"},{icon:a(()=>[t(e(g),{name:e(p)["event-rule"]},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(ee=o.value.opensearch)!=null&&ee.length?(i(),v(e(s),{key:7,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"info",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupCollections")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value.opensearch.length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value.opensearch,u=>(i(),v(e(T),{key:`os-${u.name}`,size:"sm",variant:"soft"},{icon:a(()=>[t(e(g),{name:e(p).opensearch},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0),(ae=o.value["event-source"])!=null&&ae.length?(i(),v(e(s),{key:8,direction:"vertical",gap:"0.5rem"},{default:a(()=>[t(e(s),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(h),{tone:"neutral",variant:"soft"},{default:a(()=>[r(l(e(n)("services.groupEventSources")),1)]),_:1}),t(e(f),{tone:"muted"},{default:a(()=>[r(l(o.value["event-source"].length),1)]),_:1})]),_:1}),t(e(s),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:a(()=>[(i(!0),y(w,null,$(o.value["event-source"],(u,Q)=>(i(),v(e(T),{key:`es-${Q}-${u.name}`,size:"sm",variant:"outline"},{icon:a(()=>[t(e(g),{name:e(p)["event-source"]},null,8,["name"])]),default:a(()=>[r(" "+l(u.name),1)]),_:2},1024))),128))]),_:1})]),_:1})):b("",!0)]}),_:1})):(i(),v(e(we),{key:0,title:e(n)("services.noResourcesTitle"),description:e(n)("services.noResourcesDescription")},null,8,["title","description"]))]}),_:1})],64)):b("",!0),t(e(ke),{open:O.value,"onUpdate:open":[_[2]||(_[2]=c=>O.value=c),_[3]||(_[3]=c=>{c||ie()})],title:e(n)("services.logsTitleFor",{name:x.serviceName}),description:e(n)("services.logsStatus",{status:W(M.value)}),size:"lg"},{default:a(()=>[t(e(ze),{code:J.value.join(`
2
- `)||e(n)("services.logsEmpty"),label:e(n)("services.logsLabel"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])]),_:1},8,["open","title","description"]),t(e($e),{open:A.value,"onUpdate:open":_[4]||(_[4]=c=>A.value=c),title:e(n)("services.deleteTitleNamed",{name:x.serviceName}),description:e(n)("services.deleteDescription",{engine:e(Le)}),"confirm-label":e(n)("common.delete"),"cancel-label":e(n)("common.cancel"),"confirm-variant":"danger",onConfirm:oe},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}});export{Re as default};
@@ -1,2 +0,0 @@
1
- import{k as V,m as W,o as X,n as g,e as b,a7 as e,t as Y,ac as l,v as h,j as n,w as Z,P as ee,Q as te,J as S,i,a6 as o,g as ae,F as se,s as le,A as ne,x as re,u as C,f as ie,D as oe,R as ce,S as ue,T as de,U as ve,M as ge,N as fe,ad as me,a8 as pe,p as c,b as U,a as k,c as be}from"./index-DuSPnI19.js";import{E as ye}from"./engine-D0mFFNbL.js";import{a as we,b as _e}from"./resourceIcons-baecADXA.js";const ke=V({__name:"ServicesList",setup(j){const{t}=pe(),u=be(),z=c([]),x=c(!0),$=c(!1),f=c(""),y=c(null),L=c([]),D=c("stopped"),d=c(null),m=c({}),p=c({}),w=c(null),T=c(!1);let F=null;const P=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"}]),R=U(()=>z.value.map(a=>({...a}))),I=U({get:()=>y.value!==null,set:a=>{a||A()}});async function _(){try{z.value=await k.listServices()}catch(a){console.error("Failed to load services:",a)}finally{x.value=!1}}async function K(a){if(!m.value[a]){m.value={...m.value,[a]:!0};try{await k.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{m.value={...m.value,[a]:!1}}}}async function M(a){if(!p.value[a]){p.value={...p.value,[a]:!0};try{await k.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{p.value={...p.value,[a]:!1}}}}async function B(a){try{const r=await k.getServiceLogs(a);L.value=r.logs||[],D.value=r.status||"stopped"}catch(r){console.error("Failed to fetch logs:",r)}}function O(a){y.value=a,B(a),d.value&&window.clearInterval(d.value),d.value=window.setInterval(()=>B(a),2e3)}function A(){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 k.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 q(a){w.value=a,T.value=!0}async function G(){if(!w.value)return;const a=w.value;try{await k.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 J(a){const r=a.resourceBreakdown;return r?we.map(s=>({key:s,count:r[s]??0,..._e[s]})).filter(s=>s.count>0):[]}function Q(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 W(()=>{_(),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(h),{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(h),{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:me(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(h),{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:P.value,rows:R.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:Q(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(h),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:l(()=>[(g(!0),ae(se,null,le(J(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(h),{direction:"horizontal",gap:"0.375rem",justify:"flex-end",wrap:""},{default:l(()=>[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.start")),1)]),_:1},8,["disabled","loading","onClick"]),n(e(S),{size:"sm",variant:"soft",disabled:s.status!=="running"||p.value[String(s.name)],loading:p.value[String(s.name)],onClick:v=>M(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=>O(String(s.name))},{default:l(()=>[i(o(e(t)("services.logs")),1)]),_:1},8,["onClick"]),n(e(S),{size:"sm",variant:"danger",onClick:v=>q(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:I.value,"onUpdate:open":r[1]||(r[1]=s=>I.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(D.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"),"confirm-variant":"danger",onConfirm:G},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}}),Te=V({__name:"ServicesPage",setup(j){return(t,u)=>(g(),b(ke))}});export{Te as default};