local-serverless-stack 1.0.0 → 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.
- package/CHANGELOG.md +125 -3
- package/README.md +92 -38
- package/bin/cli.js +218 -28
- package/bin/i18n.js +57 -3
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/namespaces/services.d.ts +46 -0
- package/dist/client/namespaces/services.d.ts.map +1 -1
- package/dist/client/namespaces/services.js +1 -0
- package/dist/client/namespaces/services.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +17 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/engine/backends/self-backend.d.ts +26 -1
- package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
- package/dist/server/engine/backends/self-backend.js +104 -11
- package/dist/server/engine/backends/self-backend.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js +12 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts +3 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js +78 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts +11 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/index.js +101 -7
- package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/query.d.ts +1 -0
- package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/query.js +34 -6
- package/dist/server/engine/emulators/dynamodb/query.js.map +1 -1
- package/dist/server/engine/emulators/s3/index.d.ts +10 -0
- package/dist/server/engine/emulators/s3/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/s3/index.js +369 -25
- package/dist/server/engine/emulators/s3/index.js.map +1 -1
- package/dist/server/engine/emulators/sqs/index.d.ts +2 -0
- package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/sqs/index.js +70 -7
- package/dist/server/engine/emulators/sqs/index.js.map +1 -1
- package/dist/server/engine/emulators/sqs/queue.d.ts +2 -1
- package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
- package/dist/server/engine/emulators/sqs/queue.js +68 -35
- package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
- package/dist/server/engine/emulators/ssm/index.d.ts +31 -0
- package/dist/server/engine/emulators/ssm/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/ssm/index.js +670 -0
- package/dist/server/engine/emulators/ssm/index.js.map +1 -0
- package/dist/server/engine/http/errors.d.ts +1 -0
- package/dist/server/engine/http/errors.d.ts.map +1 -1
- package/dist/server/engine/http/errors.js +13 -5
- package/dist/server/engine/http/errors.js.map +1 -1
- package/dist/server/engine/http/is-aws-request.d.ts.map +1 -1
- package/dist/server/engine/http/is-aws-request.js +13 -3
- package/dist/server/engine/http/is-aws-request.js.map +1 -1
- package/dist/server/engine/http/protocols/aws-json.d.ts +1 -0
- package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -1
- package/dist/server/engine/http/protocols/aws-json.js +13 -0
- package/dist/server/engine/http/protocols/aws-json.js.map +1 -1
- package/dist/server/engine/http/reset.d.ts +4 -0
- package/dist/server/engine/http/reset.d.ts.map +1 -0
- package/dist/server/engine/http/reset.js +17 -0
- package/dist/server/engine/http/reset.js.map +1 -0
- package/dist/server/engine/http/router.d.ts +1 -0
- package/dist/server/engine/http/router.d.ts.map +1 -1
- package/dist/server/engine/http/router.js +185 -34
- package/dist/server/engine/http/router.js.map +1 -1
- package/dist/server/engine/types.d.ts +2 -1
- package/dist/server/engine/types.d.ts.map +1 -1
- package/dist/server/routes/apis.d.ts.map +1 -1
- package/dist/server/routes/apis.js +6 -0
- package/dist/server/routes/apis.js.map +1 -1
- package/dist/server/routes/config.d.ts.map +1 -1
- package/dist/server/routes/config.js +25 -1
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/lambdas.d.ts.map +1 -1
- package/dist/server/routes/lambdas.js +12 -0
- package/dist/server/routes/lambdas.js.map +1 -1
- package/dist/server/routes/services.d.ts.map +1 -1
- package/dist/server/routes/services.js +66 -5
- package/dist/server/routes/services.js.map +1 -1
- package/dist/server/runtime/runtime-worker.js +40 -3
- package/dist/server/runtime/runtime-worker.js.map +1 -1
- package/dist/server/services/api-gateway-events.d.ts +14 -0
- package/dist/server/services/api-gateway-events.d.ts.map +1 -1
- package/dist/server/services/api-gateway-events.js +114 -8
- package/dist/server/services/api-gateway-events.js.map +1 -1
- package/dist/server/services/artifact-staleness.d.ts +20 -0
- package/dist/server/services/artifact-staleness.d.ts.map +1 -0
- package/dist/server/services/artifact-staleness.js +115 -0
- package/dist/server/services/artifact-staleness.js.map +1 -0
- package/dist/server/services/authorizer-service.d.ts +34 -5
- package/dist/server/services/authorizer-service.d.ts.map +1 -1
- package/dist/server/services/authorizer-service.js +0 -0
- package/dist/server/services/authorizer-service.js.map +1 -1
- package/dist/server/services/cache-manager.d.ts +5 -0
- package/dist/server/services/cache-manager.d.ts.map +1 -1
- package/dist/server/services/cache-manager.js.map +1 -1
- package/dist/server/services/cfn-intrinsics.d.ts +63 -0
- package/dist/server/services/cfn-intrinsics.d.ts.map +1 -0
- package/dist/server/services/cfn-intrinsics.js +403 -0
- package/dist/server/services/cfn-intrinsics.js.map +1 -0
- package/dist/server/services/cfn-physical-values.d.ts +51 -0
- package/dist/server/services/cfn-physical-values.d.ts.map +1 -0
- package/dist/server/services/cfn-physical-values.js +186 -0
- package/dist/server/services/cfn-physical-values.js.map +1 -0
- package/dist/server/services/cloudformation-parser.d.ts +26 -3
- package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
- package/dist/server/services/cloudformation-parser.js +79 -7
- package/dist/server/services/cloudformation-parser.js.map +1 -1
- package/dist/server/services/config-manager.d.ts +49 -2
- package/dist/server/services/config-manager.d.ts.map +1 -1
- package/dist/server/services/config-manager.js +206 -24
- package/dist/server/services/config-manager.js.map +1 -1
- package/dist/server/services/gateway-manager.d.ts.map +1 -1
- package/dist/server/services/gateway-manager.js +52 -20
- package/dist/server/services/gateway-manager.js.map +1 -1
- package/dist/server/services/lambda-runtime-manager.d.ts +2 -0
- package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
- package/dist/server/services/lambda-runtime-manager.js +49 -15
- package/dist/server/services/lambda-runtime-manager.js.map +1 -1
- package/dist/server/services/raw-api-assembler.d.ts +1 -1
- package/dist/server/services/raw-api-assembler.d.ts.map +1 -1
- package/dist/server/services/raw-api-assembler.js +18 -8
- package/dist/server/services/raw-api-assembler.js.map +1 -1
- package/dist/server/services/resource-provisioner.d.ts +31 -1
- package/dist/server/services/resource-provisioner.d.ts.map +1 -1
- package/dist/server/services/resource-provisioner.js +257 -25
- package/dist/server/services/resource-provisioner.js.map +1 -1
- package/dist/server/services/s3-explorer.js +1 -1
- package/dist/server/services/seed-manager.d.ts.map +1 -1
- package/dist/server/services/seed-manager.js +11 -6
- package/dist/server/services/seed-manager.js.map +1 -1
- package/dist/server/services/serverless-state-parser.d.ts +45 -2
- package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
- package/dist/server/services/serverless-state-parser.js +217 -29
- package/dist/server/services/serverless-state-parser.js.map +1 -1
- package/dist/server/services/service-graph.d.ts +76 -0
- package/dist/server/services/service-graph.d.ts.map +1 -0
- package/dist/server/services/service-graph.js +914 -0
- package/dist/server/services/service-graph.js.map +1 -0
- package/dist/server/services/service-registrar.d.ts +17 -1
- package/dist/server/services/service-registrar.d.ts.map +1 -1
- package/dist/server/services/service-registrar.js +190 -66
- package/dist/server/services/service-registrar.js.map +1 -1
- package/dist/server/services/service-scanner.d.ts +7 -2
- package/dist/server/services/service-scanner.d.ts.map +1 -1
- package/dist/server/services/service-scanner.js +53 -7
- package/dist/server/services/service-scanner.js.map +1 -1
- package/dist/server/services/source-watcher.d.ts +1 -0
- package/dist/server/services/source-watcher.d.ts.map +1 -1
- package/dist/server/services/source-watcher.js +19 -1
- package/dist/server/services/source-watcher.js.map +1 -1
- package/dist/server/services/worker-runtime.d.ts +82 -0
- package/dist/server/services/worker-runtime.d.ts.map +1 -0
- package/dist/server/services/worker-runtime.js +303 -0
- package/dist/server/services/worker-runtime.js.map +1 -0
- package/dist/ui/assets/ApisPage-BkW-QZ0X.js +1 -0
- package/dist/ui/assets/BucketDetailPage-CJwTQJh7.js +1 -0
- package/dist/ui/assets/BucketsPage-B1xPVhZC.js +1 -0
- package/dist/ui/assets/DynamoPage-DvbpwZDc.js +1 -0
- package/dist/ui/assets/DynamoTablePage-xn3Lq3so.js +3 -0
- package/dist/ui/assets/LambdaDetailPage-BhUyO77H.js +4 -0
- package/dist/ui/assets/LambdasPage-CUF_4rOH.js +1 -0
- package/dist/ui/assets/OnboardingPage-U49THUzu.js +1 -0
- package/dist/ui/assets/OpenSearchCollectionPage-BJTVNCq4.js +1 -0
- package/dist/ui/assets/OpenSearchPage-4s-egkB9.js +1 -0
- package/dist/ui/assets/OverviewPage-DJeJQktG.js +1 -0
- package/dist/ui/assets/{OverviewPage-C1pBJ8aP.css → OverviewPage-DjQETmb_.css} +1 -1
- package/dist/ui/assets/QueueDetailPage-DWsy5Yt8.js +1 -0
- package/dist/ui/assets/QueuesPage-BZJSqman.js +1 -0
- package/dist/ui/assets/SecretsPage-YC9ua54G.js +1 -0
- package/dist/ui/assets/ServiceDetailPage-Cum5frP4.js +2 -0
- package/dist/ui/assets/ServicesPage-IpaPDuqx.js +2 -0
- package/dist/ui/assets/SettingsPage-BiCRU8O6.js +1 -0
- package/dist/ui/assets/index-BDlrAJhi.css +1 -0
- package/dist/ui/assets/index-BouKSS43.js +38 -0
- package/dist/ui/assets/resourceIcons-DZs28nbs.js +1 -0
- package/dist/ui/index.html +5 -2
- package/package.json +1 -1
- package/dist/ui/assets/ApisPage-BOuimwWz.js +0 -1
- package/dist/ui/assets/BucketDetailPage-vLYwhoQt.js +0 -1
- package/dist/ui/assets/BucketsPage-Cu5lU1Hp.js +0 -1
- package/dist/ui/assets/DynamoPage-y3TTEPUL.js +0 -1
- package/dist/ui/assets/DynamoTablePage-BnmSRZjc.js +0 -3
- package/dist/ui/assets/LambdaDetailPage-B5q_d27t.js +0 -4
- package/dist/ui/assets/LambdasPage-CJpRoEDx.js +0 -1
- package/dist/ui/assets/OnboardingPage-D02dymQi.js +0 -1
- package/dist/ui/assets/OpenSearchCollectionPage-B_wWTlfL.js +0 -1
- package/dist/ui/assets/OpenSearchPage-BLEgfF_g.js +0 -1
- package/dist/ui/assets/OverviewPage-EdJWiAt6.js +0 -1
- package/dist/ui/assets/QueueDetailPage-ByEYHvHe.js +0 -1
- package/dist/ui/assets/QueuesPage-CvwYHSll.js +0 -1
- package/dist/ui/assets/SecretsPage-DASw8Ntf.js +0 -1
- package/dist/ui/assets/ServiceDetailPage-BMsUDg6L.js +0 -2
- package/dist/ui/assets/ServicesPage-2JuiIiRr.js +0 -2
- package/dist/ui/assets/SettingsPage-DStO4bgN.js +0 -1
- package/dist/ui/assets/index-BIEznsi4.js +0 -37
- package/dist/ui/assets/index-BRMvNP3Y.css +0 -1
- 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};
|
package/dist/ui/index.html
CHANGED
|
@@ -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-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
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 +0,0 @@
|
|
|
1
|
-
import{k as j,m as J,o as X,n as c,e as d,a1 as e,v as y,a7 as a,j as n,x as Y,y as C,C as T,J as q,i as r,a0 as u,f as v,w as K,N as P,g as A,F as I,s as Q,t as W,O as R,H as V,z as g,u as m,R as Z,A as b,G as ee,P as ae,a2 as te,p as z,b as N,a as L,c as le}from"./index-BIEznsi4.js";const ne=j({__name:"ApisView",setup(B){const{t}=te(),k=le(),p=z([]),h=z(!0),_=z(null),f=z({});let w=null;const D=N(()=>[{key:"method",label:t("apis.colMethod")},{key:"path",label:t("apis.colPath")},{key:"functionName",label:`→ ${t("apis.colFunction")}`},{key:"eventType",label:t("common.type")},{key:"authorizerName",label:t("apis.colAuth")},{key:"actions",label:"",align:"right"}]),F=N(()=>[{key:"name",label:t("common.name")},{key:"type",label:t("common.type")},{key:"payloadVersion",label:t("apis.colPayload")},{key:"resultTtlInSeconds",label:"TTL",align:"right"},{key:"identitySource",label:t("apis.colIdentitySource")},{key:"target",label:t("apis.colTarget")}]),$=N(()=>({services:p.value.length,routes:p.value.reduce((i,o)=>i+o.routes.length,0),online:p.value.filter(i=>i.status==="online").length}));function M(i){return i.routes.map(o=>({...o}))}function O(i){return i.authorizers.map(o=>({...o,identitySource:o.identitySource.join(", "),target:o.functionName||o.arn||""}))}async function S(){try{p.value=await L.listApis(),_.value=null}catch(i){_.value=i.message||t("apis.loadError")}finally{h.value=!1}}async function U(i){if(!f.value[i]){f.value={...f.value,[i]:!0};try{const o=await L.clearAuthorizerCache({service:i});k.add({title:t("apis.cacheCleared"),description:o.removed===1?t("apis.cacheClearedOne",{count:o.removed}):t("apis.cacheClearedMany",{count:o.removed}),variant:"success"})}catch(o){k.add({title:t("apis.cacheClearFailed"),description:o.message,variant:"danger"})}finally{f.value={...f.value,[i]:!1}}}}function E(i,o){var l;const s=`curl -X ${o.method} http://localhost:${i.apiPort}${o.path}`;(l=navigator.clipboard)==null||l.writeText(s).then(()=>{k.add({title:t("apis.curlCopied"),description:s,variant:"success"})})}function x(i){switch(i){case"online":return"success";case"port-conflict":return"warning";default:return"neutral"}}function G(i){switch(i){case"online":return t("common.online");case"stopped":return t("common.stopped");case"disabled":return t("common.disabled");case"port-conflict":return t("apis.statusPortConflict");default:return t("common.unknown")}}function H(i){return i==="ANY"?"info":"neutral"}return J(()=>{S(),w=window.setInterval(S,1e4)}),X(()=>{w&&window.clearInterval(w)}),(i,o)=>(c(),d(e(y),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[n(e(Y),{columns:3,gap:"1rem"},{default:a(()=>[n(e(C),{label:e(t)("apis.statServices"),value:$.value.services,tone:"info",loading:h.value},null,8,["label","value","loading"]),n(e(C),{label:e(t)("apis.statRoutes"),value:$.value.routes,tone:"info",loading:h.value},{icon:a(()=>[n(e(T),{name:"aws-api-gateway"})]),_:1},8,["label","value","loading"]),n(e(C),{label:e(t)("apis.statListenersOnline"),value:$.value.online,tone:"success",loading:h.value},null,8,["label","value","loading"])]),_:1}),_.value?(c(),d(e(q),{key:0,variant:"danger",dismissible:"",onDismiss:o[0]||(o[0]=s=>_.value=null)},{default:a(()=>[r(u(_.value),1)]),_:1})):v("",!0),h.value&&!p.value.length?(c(),d(e(y),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[n(e(K),{label:e(t)("apis.loadingApis")},null,8,["label"])]),_:1})):p.value.length?v("",!0):(c(),d(e(P),{key:2,title:e(t)("apis.emptyTitle"),description:e(t)("apis.emptyDescription")},{icon:a(()=>[n(e(T),{name:"aws-api-gateway"})]),_:1},8,["title","description"])),(c(!0),A(I,null,Q(p.value,s=>(c(),d(e(W),{key:s.service,variant:"outline"},{header:a(()=>[n(e(y),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between",wrap:""},{default:a(()=>[n(e(y),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:a(()=>[n(e(ae),{to:`/services/${encodeURIComponent(s.service)}`},{default:a(()=>[n(e(m),{weight:"semibold"},{default:a(()=>[r(u(s.service),1)]),_:2},1024)]),_:2},1032,["to"]),s.apiPort?(c(),d(e(b),{key:0,tone:"info",variant:"soft"},{default:a(()=>[r(":"+u(s.apiPort),1)]),_:2},1024)):v("",!0),n(e(b),{tone:x(s.status),variant:"soft"},{default:a(()=>[r(u(G(s.status)),1)]),_:2},1032,["tone"]),s.invokePort?(c(),d(e(b),{key:1,tone:x(s.invokeStatus),variant:"soft"},{default:a(()=>[r(" invoke :"+u(s.invokePort),1)]),_:2},1032,["tone"])):v("",!0),s.stage?(c(),d(e(g),{key:2,size:"sm",variant:"soft"},{default:a(()=>[r("stage: "+u(s.stage),1)]),_:2},1024)):v("",!0)]),_:2},1024),n(e(V),{size:"sm",variant:"ghost",loading:f.value[s.service],onClick:l=>U(s.service)},{default:a(()=>[r(u(e(t)("apis.clearCache")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)]),default:a(()=>[n(e(y),{direction:"vertical",gap:"0.75rem"},{default:a(()=>[s.routes.length?(c(),d(e(R),{key:0,columns:D.value,rows:M(s),"aria-label":e(t)("apis.routesTableLabel")},{"cell-method":a(({row:l})=>[n(e(b),{tone:H(String(l.method)),variant:"soft"},{default:a(()=>[r(u(l.method),1)]),_:2},1032,["tone"])]),"cell-path":a(({row:l})=>[n(e(m),{family:"mono"},{default:a(()=>[r(u(l.path),1)]),_:2},1024)]),"cell-functionName":a(({row:l})=>[n(e(Z),{to:`/lambdas/${encodeURIComponent(String(l.functionName))}`,style:{"text-decoration":"none"}},{default:a(()=>[n(e(g),{size:"sm",variant:"soft",clickable:""},{icon:a(()=>[n(e(T),{name:"aws-lambda",size:"14"})]),default:a(()=>[r(" "+u(l.functionName),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-eventType":a(({row:l})=>[n(e(g),{size:"sm",variant:"soft"},{default:a(()=>[r(u(l.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-authorizerName":a(({row:l})=>[l.authorizerName?(c(),d(e(g),{key:0,size:"sm",variant:"soft"},{default:a(()=>[r(u(l.authorizerName),1)]),_:2},1024)):(c(),d(e(m),{key:1,tone:"muted"},{default:a(()=>[...o[1]||(o[1]=[r("—",-1)])]),_:1}))]),"cell-actions":a(({row:l})=>[n(e(y),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[n(e(V),{size:"sm",variant:"ghost",onClick:oe=>E(s,l)},{default:a(()=>[r(u(e(t)("apis.copyCurl")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["columns","rows","aria-label"])):(c(),d(e(P),{key:1,title:e(t)("apis.noRoutesTitle"),description:e(t)("apis.noRoutesDescription")},null,8,["title","description"])),s.authorizers.length?(c(),A(I,{key:2},[n(e(ee)),n(e(m),{weight:"semibold",size:"sm"},{default:a(()=>[r(u(e(t)("apis.authorizers")),1)]),_:1}),n(e(R),{columns:F.value,rows:O(s),"aria-label":e(t)("apis.authorizers")},{"cell-name":a(({row:l})=>[n(e(m),{family:"mono",size:"sm"},{default:a(()=>[r(u(l.name),1)]),_:2},1024)]),"cell-type":a(({row:l})=>[n(e(g),{size:"sm",variant:"soft"},{default:a(()=>[r(u(l.type),1)]),_:2},1024)]),"cell-payloadVersion":a(({row:l})=>[n(e(g),{size:"sm",variant:"soft"},{default:a(()=>[r(u(l.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-resultTtlInSeconds":a(({row:l})=>[n(e(m),{family:"mono",size:"sm"},{default:a(()=>[r(u(l.resultTtlInSeconds)+"s",1)]),_:2},1024)]),"cell-identitySource":a(({row:l})=>[n(e(m),{family:"mono",size:"xs"},{default:a(()=>[r(u(l.identitySource||"—"),1)]),_:2},1024)]),"cell-target":a(({row:l})=>[l.target?(c(),d(e(m),{key:0,family:"mono",size:"xs"},{default:a(()=>[r(u(l.target),1)]),_:2},1024)):(c(),d(e(m),{key:1,tone:"muted"},{default:a(()=>[...o[2]||(o[2]=[r("—",-1)])]),_:1}))]),_:1},8,["columns","rows","aria-label"])],64)):v("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),se=j({__name:"ApisPage",setup(B){return(t,k)=>(c(),d(ne))}});export{se as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as H,m as X,a6 as Y,e as k,a1 as e,v as c,a7 as a,a as p,n as f,j as l,H as g,C as F,i as u,a0 as s,u as $,A as Z,f as O,J as ee,w as U,g as te,y as x,x as ae,L as T,a8 as le,a5 as ne,d as K,t as P,N as oe,O as ie,P as ue,a9 as se,F as re,a2 as ce,c as de,p as d,b as E,a4 as be}from"./index-BIEznsi4.js";const fe=["placeholder"],ke=["href"],ve=H({__name:"BucketDetail",props:{bucketName:{}},emits:["back"],setup(z,{emit:B}){const b=z,S=B,{t}=ce(),m=de(),r=d(null),y=d([]),N=d(""),D=d(!0),_=d(!1),h=d(null),j=d(""),w=d(""),C=d("text/plain"),V=d(!1),A=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"}]),G=E(()=>y.value.reduce((o,i)=>o+(i.size||0),0));function M(o){if(o==null)return"—";if(o===0)return"0 B";const i=["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)} ${i[n]}`}function I(o){return o?new Date(o).toLocaleString():"—"}async function L(){try{r.value=await p.getBucket(b.bucketName),h.value=null}catch(o){h.value=o.message||t("buckets.detailLoadFailed"),r.value=null}finally{D.value=!1}}async function v(){_.value=!0;try{const o=await p.listBucketObjects(b.bucketName,{prefix:N.value||void 0,maxKeys:200});y.value=o.objects}catch(o){m.add({title:t("buckets.objectsLoadFailed"),description:o.message,variant:"danger"})}finally{_.value=!1}}function J(o){return p.bucketObjectContentUrl(b.bucketName,o,!1)}function R(o){return p.bucketObjectContentUrl(b.bucketName,o,!0)}async function q(o){if(confirm(t("buckets.deleteConfirm",{key:o})))try{await p.deleteBucketObject(b.bucketName,o),m.add({title:t("buckets.deleteSuccess"),variant:"info"}),await v()}catch(i){m.add({title:t("buckets.deleteFailed"),description:i.message,variant:"danger"})}}async function Q(){if(!j.value||!w.value){m.add({title:t("buckets.uploadMissingFields"),variant:"warning"});return}V.value=!0;try{await p.putBucketObject(b.bucketName,{key:j.value,body:w.value,contentType:C.value||void 0}),m.add({title:t("buckets.uploadSuccess"),variant:"info"}),j.value="",w.value="",await v(),await L()}catch(o){m.add({title:t("buckets.uploadFailed"),description:o.message,variant:"danger"})}finally{V.value=!1}}return X(()=>{L(),v()}),Y(()=>b.bucketName,()=>{L(),v()}),(o,i)=>(f(),k(e(c),{direction:"vertical",gap:"1rem"},{default:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>{var n;return[l(e(g),{size:"sm",variant:"ghost",onClick:i[0]||(i[0]=W=>S("back"))},{default:a(()=>[l(e(F),{name:"arrow-left"}),u(" "+s(e(t)("buckets.backToBuckets")),1)]),_:1}),l(e(F),{name:"aws-s3"}),l(e($),{size:"lg",weight:"semibold"},{default:a(()=>[u(s(z.bucketName),1)]),_:1}),(n=r.value)!=null&&n.versioning?(f(),k(e(Z),{key:0,tone:"info",variant:"soft"},{default:a(()=>[u(s(e(t)("buckets.versioning")),1)]),_:1})):O("",!0)]}),_:1}),l(e(g),{size:"sm",variant:"ghost",loading:_.value,onClick:i[1]||(i[1]=n=>v())},{default:a(()=>[u(s(e(t)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),h.value?(f(),k(e(ee),{key:0,variant:"danger",dismissible:"",onDismiss:i[2]||(i[2]=n=>h.value=null)},{default:a(()=>[u(s(h.value),1)]),_:1})):O("",!0),D.value&&!r.value?(f(),k(e(c),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(U),{label:e(t)("buckets.detailLoading")},null,8,["label"])]),_:1})):r.value?(f(),te(re,{key:2},[l(e(ae),{columns:4,gap:"0.75rem"},{default:a(()=>[l(e(x),{label:e(t)("buckets.statObjects"),value:r.value.objectCount??0,tone:"info"},null,8,["label","value"]),l(e(x),{label:e(t)("common.size"),value:M(r.value.totalSize),tone:"neutral"},null,8,["label","value"]),l(e(x),{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"]),l(e(x),{label:e(t)("buckets.statNotifications"),value:r.value.notifications??0,tone:(r.value.notifications??0)>0?"info":"neutral"},null,8,["label","value","tone"])]),_:1}),l(e(P),{variant:"outline"},{header:a(()=>[l(e($),{weight:"semibold"},{default:a(()=>[u(s(e(t)("buckets.uploadTitle")),1)]),_:1})]),default:a(()=>[l(e(c),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[l(e(T),{modelValue:j.value,"onUpdate:modelValue":i[3]||(i[3]=n=>j.value=n),placeholder:"object/key.txt",label:e(t)("buckets.keyLabel")},null,8,["modelValue","label"]),l(e(T),{modelValue:C.value,"onUpdate:modelValue":i[4]||(i[4]=n=>C.value=n),placeholder:"text/plain",label:e(t)("buckets.contentTypeLabel")},null,8,["modelValue","label"]),l(e($),{as:"label",tone:"muted",size:"sm"},{default:a(()=>[u(s(e(t)("buckets.bodyLabel")),1)]),_:1}),le(K("textarea",{"onUpdate:modelValue":i[5]||(i[5]=n=>w.value=n),rows:"4",style:{width:"100%","font-family":"var(--tree-font-mono, monospace)",padding:"0.5rem"},placeholder:e(t)("buckets.bodyPlaceholder")},null,8,fe),[[ne,w.value]]),l(e(c),{direction:"horizontal",justify:"flex-end"},{default:a(()=>[l(e(g),{size:"sm",loading:V.value,onClick:Q},{default:a(()=>[u(s(e(t)("buckets.upload")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),l(e(P),{variant:"outline"},{header:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e($),{weight:"semibold"},{default:a(()=>[u(s(e(t)("buckets.objectsHeader",{count:y.value.length,size:M(G.value)})),1)]),_:1}),l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(T),{modelValue:N.value,"onUpdate:modelValue":i[6]||(i[6]=n=>N.value=n),placeholder:e(t)("buckets.prefixPlaceholder"),"aria-label":e(t)("buckets.prefixLabel"),size:"sm",onKeyup:i[7]||(i[7]=se(n=>v(),["enter"]))},null,8,["modelValue","placeholder","aria-label"]),l(e(g),{size:"sm",variant:"ghost",onClick:i[8]||(i[8]=n=>v())},{default:a(()=>[u(s(e(t)("buckets.apply")),1)]),_:1})]),_:1})]),_:1})]),default:a(()=>[_.value?(f(),k(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(U),{label:e(t)("buckets.objectsLoading")},null,8,["label"])]),_:1})):y.value.length?(f(),k(e(ie),{key:2,columns:A.value,rows:y.value,"aria-label":e(t)("buckets.objectsTableLabel")},{"cell-key":a(({row:n})=>[l(e(ue),{href:J(String(n.key)),external:"",style:{"font-weight":"500"}},{default:a(()=>[u(s(n.key),1)]),_:2},1032,["href"])]),"cell-size":a(({row:n})=>[u(s(M(Number(n.size))),1)]),"cell-lastModified":a(({row:n})=>[u(s(I(n.lastModified)),1)]),"cell-actions":a(({row:n})=>[l(e(c),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:a(()=>[K("a",{href:R(String(n.key)),target:"_blank",rel:"noopener noreferrer",style:{"text-decoration":"none"}},[l(e(g),{size:"sm",variant:"ghost"},{default:a(()=>[u(s(e(t)("buckets.download")),1)]),_:1})],8,ke),l(e(g),{size:"sm",variant:"ghost",tone:"danger",onClick:W=>q(String(n.key))},{default:a(()=>[u(s(e(t)("common.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(f(),k(e(oe),{key:1,title:e(t)("buckets.objectsEmptyTitle"),description:e(t)("buckets.objectsEmptyDescription")},null,8,["title","description"]))]),_:1})],64)):O("",!0)]),_:1}))}}),pe=H({__name:"BucketDetailPage",props:{bucketName:{}},setup(z){const B=be();function b(){B.push("/buckets")}return(S,t)=>(f(),k(ve,{"bucket-name":z.bucketName,onBack:b},null,8,["bucket-name"]))}});export{pe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as S,a4 as T,m as V,o as D,n as u,e as r,a1 as e,v,a7 as a,j as s,x as E,y as _,J as L,i as o,a0 as i,f as O,t as U,w as P,N as A,C as j,O as F,H as G,A as h,R as H,z as q,u as y,P as J,a2 as K,p as m,b as $,a as x}from"./index-BIEznsi4.js";import{E as Q}from"./engine-D0mFFNbL.js";const W=S({__name:"BucketsView",setup(N){const{t:n}=K(),B=T(),d=m([]),w=m({}),b=m(!0),f=m(null);let k=null;const I=$(()=>[{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=$(()=>d.value.map(l=>({...l,service:w.value[l.name]||""}))),g=$(()=>({buckets:d.value.length,objects:d.value.reduce((l,c)=>l+(c.objectCount||0),0),size:d.value.reduce((l,c)=>l+(c.totalSize||0),0)}));function z(l){if(l==null)return"—";if(l===0)return"0 B";const c=["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)} ${c[t]}`}async function C(){try{const[l,c]=await Promise.all([x.listBuckets(),x.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);d.value=l;const t={};for(const p of c.buckets||[])t[p.name]=p.service;w.value=t,f.value=null}catch(l){f.value=l.message||n("buckets.loadFailed")}finally{b.value=!1}}function M(l){B.push(`/buckets/${encodeURIComponent(l)}`)}return V(()=>{C(),k=window.setInterval(C,1e4)}),D(()=>{k&&window.clearInterval(k)}),(l,c)=>(u(),r(e(v),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[s(e(E),{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}),f.value?(u(),r(e(L),{key:0,variant:"danger",dismissible:"",onDismiss:c[0]||(c[0]=t=>f.value=null)},{default:a(()=>[o(i(f.value),1)]),_:1})):O("",!0),s(e(U),{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(y),{weight:"semibold"},{default:a(()=>[o(i(e(n)("buckets.title")),1)]),_:1})]),_:1}),s(e(y),{tone:"muted"},{default:a(()=>[o(i(e(n)("buckets.refreshHint")),1)]),_:1})]),_:1})]),default:a(()=>[b.value?(u(),r(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[s(e(P),{label:e(n)("buckets.loading")},null,8,["label"])]),_:1})):d.value.length?(u(),r(e(F),{key:2,columns:I.value,rows:R.value,"aria-label":e(n)("buckets.tableLabel")},{"cell-name":a(({row:t})=>[s(e(J),{to:`/buckets/${encodeURIComponent(String(t.name))}`,style:{"font-weight":"600"}},{default:a(()=>[o(i(t.name),1)]),_:2},1032,["to"])]),"cell-service":a(({row:t})=>[t.service?(u(),r(e(H),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:a(()=>[s(e(q),{size:"sm",variant:"soft",clickable:""},{default:a(()=>[o(i(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(u(),r(e(y),{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(G),{size:"sm",variant:"ghost",onClick:p=>M(String(t.name))},{default:a(()=>[o(i(e(n)("buckets.open")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(u(),r(e(A),{key:1,title:e(n)("buckets.emptyTitle"),description:e(n)("buckets.emptyDescription",{engine:e(Q)})},{icon:a(()=>[s(e(j),{name:"aws-s3"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),Z=S({__name:"BucketsPage",setup(N){return(n,B)=>(u(),r(W))}});export{Z as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as U,m as q,o as W,n as i,e as u,a1 as e,v as m,a7 as n,j as o,x as F,y as w,J,i as r,a0 as d,f as p,t as Q,w as X,N as K,C as D,O as Y,H as Z,u as c,z as f,A as S,R as ee,L as te,a2 as ae,p as k,b as z,a as P,a4 as ne}from"./index-BIEznsi4.js";const se=U({__name:"DynamoTablesList",emits:["open"],setup(B,{emit:I}){const{t:s}=ae(),x=I,v=k([]),C=k([]),N=k({}),b=k(!0),_=k(null),$=k("");let O=null;const H=z(()=>[{key:"name",label:s("dynamo.colTable")},{key:"service",label:s("common.service")},{key:"status",label:s("common.status")},{key:"itemCount",label:s("dynamo.items"),align:"right"},{key:"seed",label:s("dynamo.seed")},{key:"features",label:s("dynamo.features")},{key:"actions",label:"",align:"right"}]),L=z(()=>{const l=v.value.map(a=>{var V,A;const t=(V=a.keySchema.find(h=>h.KeyType==="HASH"))==null?void 0:V.AttributeName,y=(A=a.keySchema.find(h=>h.KeyType==="RANGE"))==null?void 0:A.AttributeName,T=y?`PK: ${t} · SK: ${y}`:`PK: ${t??"—"}`,M=C.value.find(h=>h.tableName===a.name);return{name:a.name,status:a.status,itemCount:a.itemCount||0,keyDescriptor:T,billingMode:a.billingMode,ttlOn:a.ttl.enabled,streamOn:a.streamEnabled,hasGsi:a.hasGsi,hasLsi:a.hasLsi,service:N.value[a.name]||"",seedItemCount:M?M.itemCount:null,exists:!0}});for(const a of C.value)!a.tableExists&&!l.some(t=>t.name===a.tableName)&&l.push({name:a.tableName,status:"PENDING",itemCount:0,keyDescriptor:"—",ttlOn:!1,streamOn:!1,hasGsi:!1,hasLsi:!1,service:N.value[a.tableName]||"",seedItemCount:a.itemCount,exists:!1});return l.sort((a,t)=>a.name.localeCompare(t.name))}),R=z(()=>{const l=$.value.trim().toLowerCase();return l?L.value.filter(a=>a.name.toLowerCase().includes(l)||(a.service||"").toLowerCase().includes(l)):L.value}),g=z(()=>({tables:v.value.length,items:v.value.reduce((l,a)=>l+(a.itemCount||0),0),warnings:v.value.reduce((l,a)=>{var t;return l+(((t=a.warnings)==null?void 0:t.length)||0)},0),seedsPending:C.value.filter(l=>!l.tableExists).length}));async function E(){try{const[l,a,t]=await Promise.all([P.listDynamoTables(),P.listSeeds().catch(()=>({seedsDir:"",entries:[]})),P.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);v.value=l.tables,C.value=a.entries;const y={};for(const T of t.tables)y[T.name]=T.service;N.value=y,_.value=null}catch(l){_.value=l.message||s("dynamo.loadTablesFailed")}finally{b.value=!1}}function G(l){l.exists&&x("open",l.name)}function j(l){return l===1?s("dynamo.seededItemOne",{count:l}):s("dynamo.seededItemOther",{count:l})}return q(()=>{E(),O=window.setInterval(E,15e3)}),W(()=>{O&&window.clearInterval(O)}),(l,a)=>(i(),u(e(m),{direction:"vertical",gap:"1.25rem"},{default:n(()=>[o(e(F),{columns:4,gap:"1rem"},{default:n(()=>[o(e(w),{label:e(s)("dynamo.statTables"),value:g.value.tables,tone:"info",loading:b.value},null,8,["label","value","loading"]),o(e(w),{label:e(s)("dynamo.statTotalItems"),value:g.value.items,tone:"success",loading:b.value},null,8,["label","value","loading"]),o(e(w),{label:e(s)("dynamo.statSeedsPending"),value:g.value.seedsPending,tone:g.value.seedsPending>0?"warning":"neutral",loading:b.value},null,8,["label","value","tone","loading"]),o(e(w),{label:e(s)("dynamo.statWarnings"),value:g.value.warnings,tone:g.value.warnings>0?"warning":"neutral",loading:b.value},null,8,["label","value","tone","loading"])]),_:1}),_.value?(i(),u(e(J),{key:0,variant:"danger",dismissible:"",onDismiss:a[0]||(a[0]=t=>_.value=null)},{default:n(()=>[r(d(_.value),1)]),_:1})):p("",!0),o(e(Q),{variant:"outline"},{header:n(()=>[o(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:n(()=>[o(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:n(()=>[o(e(D),{name:"aws-dynamodb"}),o(e(c),{weight:"semibold"},{default:n(()=>[r(d(e(s)("dynamo.tablesTitle")),1)]),_:1})]),_:1}),o(e(m),{direction:"horizontal",align:"center",gap:"1rem"},{default:n(()=>[o(e(te),{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=t=>$.value=t),placeholder:e(s)("dynamo.filterTablesPlaceholder"),style:{"min-width":"16rem"}},null,8,["modelValue","placeholder"]),o(e(c),{tone:"muted",size:"xs"},{default:n(()=>[r(d(e(s)("dynamo.seedOnlyHint")),1)]),_:1})]),_:1})]),_:1})]),default:n(()=>[b.value?(i(),u(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:n(()=>[o(e(X),{label:e(s)("dynamo.loadingTables")},null,8,["label"])]),_:1})):L.value.length?R.value.length?(i(),u(e(Y),{key:3,columns:H.value,rows:R.value,"row-key":"name","row-state":t=>t.exists?"default":"muted","aria-label":e(s)("dynamo.tablesTitle")},{"cell-name":n(({row:t})=>[o(e(m),{direction:"vertical",gap:"0.125rem"},{default:n(()=>[t.exists?(i(),u(e(c),{key:0,weight:"semibold",style:{cursor:"pointer","text-decoration":"underline","text-decoration-style":"dotted","text-underline-offset":"3px"},onClick:y=>G(t)},{default:n(()=>[r(d(t.name),1)]),_:2},1032,["onClick"])):(i(),u(e(m),{key:1,direction:"horizontal",gap:"0.375rem",align:"center"},{default:n(()=>[o(e(c),{weight:"semibold"},{default:n(()=>[r(d(t.name),1)]),_:2},1024),o(e(f),{size:"sm",variant:"soft"},{default:n(()=>[r(d(e(s)("dynamo.seedOnly")),1)]),_:1})]),_:2},1024)),o(e(c),{tone:"muted",family:"mono",size:"xs"},{default:n(()=>[r(d(t.keyDescriptor),1)]),_:2},1024)]),_:2},1024)]),"cell-service":n(({row:t})=>[t.service?(i(),u(e(ee),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:n(()=>[o(e(f),{size:"sm",variant:"soft",clickable:""},{default:n(()=>[r(d(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(i(),u(e(c),{key:1,tone:"muted",size:"xs"},{default:n(()=>[...a[2]||(a[2]=[r("—",-1)])]),_:1}))]),"cell-status":n(({row:t})=>[t.exists?(i(),u(e(S),{key:0,tone:t.status==="ACTIVE"?"success":"warning",variant:"soft"},{default:n(()=>[r(d(t.status||"UNKNOWN"),1)]),_:2},1032,["tone"])):(i(),u(e(S),{key:1,tone:"warning",variant:"outline"},{default:n(()=>[r(d(e(s)("dynamo.notCreated")),1)]),_:1}))]),"cell-itemCount":n(({row:t})=>[r(d(t.exists?t.itemCount:"—"),1)]),"cell-seed":n(({row:t})=>[t.seedItemCount!==null?(i(),u(e(S),{key:0,tone:t.exists?"info":"warning",variant:"soft"},{default:n(()=>[r(d(j(Number(t.seedItemCount))),1)]),_:2},1032,["tone"])):(i(),u(e(c),{key:1,tone:"muted",size:"xs"},{default:n(()=>[r(d(e(s)("dynamo.noSeed")),1)]),_:1}))]),"cell-features":n(({row:t})=>[o(e(m),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:n(()=>[t.billingMode?(i(),u(e(f),{key:0,size:"sm",variant:"soft"},{default:n(()=>[r(d(t.billingMode),1)]),_:2},1024)):p("",!0),t.ttlOn?(i(),u(e(f),{key:1,size:"sm",variant:"solid"},{default:n(()=>[...a[3]||(a[3]=[r("TTL",-1)])]),_:1})):p("",!0),t.streamOn?(i(),u(e(f),{key:2,size:"sm",variant:"solid"},{default:n(()=>[...a[4]||(a[4]=[r("Streams",-1)])]),_:1})):p("",!0),t.hasGsi?(i(),u(e(f),{key:3,size:"sm",variant:"soft"},{default:n(()=>[...a[5]||(a[5]=[r("GSI",-1)])]),_:1})):p("",!0),t.hasLsi?(i(),u(e(f),{key:4,size:"sm",variant:"soft"},{default:n(()=>[...a[6]||(a[6]=[r("LSI",-1)])]),_:1})):p("",!0)]),_:2},1024)]),"cell-actions":n(({row:t})=>[t.exists?(i(),u(e(Z),{key:0,size:"sm",variant:"soft",onClick:y=>G(t)},{default:n(()=>[r(d(e(s)("dynamo.explore")),1)]),_:1},8,["onClick"])):(i(),u(e(c),{key:1,tone:"muted",size:"xs"},{default:n(()=>[r(d(e(s)("dynamo.registerToProvision")),1)]),_:1}))]),_:1},8,["columns","rows","row-state","aria-label"])):(i(),u(e(K),{key:2,title:e(s)("dynamo.noMatchTitle"),description:e(s)("dynamo.noMatchDesc",{query:$.value})},{icon:n(()=>[o(e(D),{name:"search-x"})]),_:1},8,["title","description"])):(i(),u(e(K),{key:1,title:e(s)("dynamo.emptyTablesTitle"),description:e(s)("dynamo.emptyTablesDesc")},{icon:n(()=>[o(e(D),{name:"aws-dynamodb"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),oe=U({__name:"DynamoPage",setup(B){const I=ne();function s(x){I.push(`/dynamo/${encodeURIComponent(x)}`)}return(x,v)=>(i(),u(se,{onOpen:s}))}});export{oe as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{k as Z,a6 as be,n as m,e as b,a1 as e,Q as lt,a7 as t,j as a,v,J as ie,i as r,a0 as u,f as D,u as _,A as M,X as nt,H as j,g as G,F as H,a2 as ue,p,b as K,a as B,c as pe,t as P,d as Q,B as ot,K as q,Y as oe,G as xe,L,M as it,P as ze,aa as Ae,C as ye,s as W,w as Te,N as De,O as ut,h as rt,T as Ne,x as he,y as ve,$ as st,z as we,D as dt,E as Ce,m as mt,Z as vt,V as ce,U as ct,W as fe,a3 as ft,a4 as Se}from"./index-BIEznsi4.js";const yt=Z({__name:"DynamoItemEditor",props:{open:{type:Boolean},tableName:{},mode:{},item:{},originalKey:{}},emits:["update:open","saved","request-edit","request-clone","request-delete"],setup(T,{emit:N}){const{t:l}=ue(),k=T,s=N,z=pe(),C=p(""),y=p(null),$=p(!1),w=K({get:()=>k.open,set:d=>s("update:open",d)}),I=K(()=>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=K(()=>k.mode==="view");be(()=>[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
|
-
}`,y.value=null)},{immediate:!0});function A(){try{const d=JSON.parse(C.value);return d===null||typeof d!="object"||Array.isArray(d)?(y.value=l("dynamo.errItemNotObject"),null):(y.value=null,d)}catch(d){return y.value=d.message,null}}async function V(){const d=A();if(d){$.value=!0;try{k.mode==="edit"&&k.originalKey&&Object.entries(k.originalKey).some(([h,g])=>JSON.stringify(d[h])!==JSON.stringify(g))&&await B.deleteDynamoItem(k.tableName,k.originalKey),await B.putDynamoItem(k.tableName,d),z.add({title:k.mode==="create"?l("dynamo.itemCreated"):l("dynamo.itemSaved"),variant:"success"}),s("saved"),w.value=!1}catch(c){z.add({title:l("dynamo.saveFailed"),description:c.message,variant:"danger"})}finally{$.value=!1}}}function S(){const d=A();d&&(C.value=JSON.stringify(d,null,2))}return(d,c)=>(m(),b(e(lt),{open:w.value,"onUpdate:open":c[5]||(c[5]=h=>w.value=h),title:I.value,size:"lg"},{footer:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",justify:"space-between"},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[E.value?D("",!0):(m(),b(e(j),{key:0,size:"sm",variant:"ghost",onClick:S},{default:t(()=>[r(u(e(l)("dynamo.formatJson")),1)]),_:1})),E.value?(m(),G(H,{key:1},[a(e(j),{size:"sm",variant:"soft",onClick:c[1]||(c[1]=h=>s("request-edit"))},{default:t(()=>[r(u(e(l)("dynamo.edit")),1)]),_:1}),a(e(j),{size:"sm",variant:"ghost",onClick:c[2]||(c[2]=h=>s("request-clone"))},{default:t(()=>[r(u(e(l)("dynamo.clone")),1)]),_:1}),a(e(j),{size:"sm",variant:"ghost",tone:"danger",onClick:c[3]||(c[3]=h=>s("request-delete"))},{default:t(()=>[r(u(e(l)("common.delete")),1)]),_:1})],64)):D("",!0)]),_:1}),a(e(v),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[a(e(j),{size:"sm",variant:"ghost",onClick:c[4]||(c[4]=h=>w.value=!1)},{default:t(()=>[r(u(E.value?e(l)("common.close"):e(l)("common.cancel")),1)]),_:1}),E.value?D("",!0):(m(),b(e(j),{key:0,size:"sm",variant:"solid",loading:$.value,disabled:!!y.value,onClick:V},{default:t(()=>[r(u(T.mode==="create"?e(l)("dynamo.create"):e(l)("common.save")),1)]),_:1},8,["loading","disabled"]))]),_:1})]),_:1})]),default:t(()=>[a(e(v),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[y.value?(m(),b(e(ie),{key:0,variant:"danger"},{default:t(()=>[r(u(y.value),1)]),_:1})):D("",!0),a(e(v),{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?(m(),b(e(M),{key:0,tone:"neutral",variant:"soft"},{default:t(()=>[r(u(e(l)("dynamo.readOnly")),1)]),_:1})):D("",!0)]),_:1}),a(e(nt),{modelValue:C.value,"onUpdate:modelValue":c[0]||(c[0]=h=>C.value=h),rows:18,readonly:E.value,spellcheck:"false",class:"mono",onBlur:A},null,8,["modelValue","readonly"])]),_:1})]),_:1},8,["open","title"]))}}),bt={style:{width:"100%"}},pt=Z({__name:"DynamoItemsExplorer",props:{table:{}},setup(T){const N=T,{t:l}=ue(),k=pe(),s=p("scan"),z=p(""),C=p(50),y=p(""),$=p("="),w=p(""),I=p(""),E=p(!1),A=p([]),V=p(!1),S=p([]),d=p(void 0),c=p(void 0),h=p(null),g=p(!1),x=p(null),R=p(!1),ee=p(!1),te=p("view"),F=p(null),ae=p(null),re=p(!1),se=p(null),Ie=[{value:"scan",label:"Scan"},{value:"query",label:"Query"}],Ee=K(()=>[{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")}]),Oe=K(()=>[{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")}]),je=[{value:"String",label:"String"},{value:"Number",label:"Number"},{value:"Boolean",label:"Boolean"},{value:"Null",label:"Null"}],Ke=K(()=>{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=K(()=>{if(!z.value)return N.table.keySchema;const i=N.table.gsis.find(o=>o.IndexName===z.value)||N.table.lsis.find(o=>o.IndexName===z.value);return(i==null?void 0:i.KeySchema)||N.table.keySchema}),le=K(()=>{var i,o;return((o=(i=ge.value)==null?void 0:i.find(n=>n.KeyType==="HASH"))==null?void 0:o.AttributeName)||""}),J=K(()=>{var i,o;return((o=(i=ge.value)==null?void 0:i.find(n=>n.KeyType==="RANGE"))==null?void 0:o.AttributeName)||""}),de=K(()=>(ge.value||[]).map(i=>i.AttributeName).filter(i=>!!i)),_e=K(()=>{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 qe(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 $e(i,o,n){const f=qe(i);return o?f?`${i} (${f}, PK)`:`${i} (PK)`:n?f?`${i} (${f}, SK)`:`${i} (SK)`:f?`${i} (${f})`:i}const Be=K(()=>{const i=de.value.map((n,f)=>({key:`__attr__${n}`,label:$e(n,f===0,f===1)})),o=_e.value.map(n=>({key:`__attr__${n}`,label:$e(n)}));return[...i,...o]}),Ue=K(()=>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 ke(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 Fe(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 Re(){const i={},o={};if(!le.value)throw new Error(l("dynamo.errNoPartitionKey"));if(!y.value)throw new Error(l("dynamo.errPkRequired",{attr:le.value}));i["#pk"]=le.value,o[":pkv"]=ne(y.value,le.value);let n="#pk = :pkv";if(J.value&&w.value)if(i["#sk"]=J.value,$.value==="between"){if(!I.value)throw new Error(l("dynamo.errBetweenTwoValues"));o[":skv1"]=ne(w.value,J.value),o[":skv2"]=ne(I.value,J.value),n+=" AND #sk BETWEEN :skv1 AND :skv2"}else $.value==="begins_with"?(o[":skv"]=ne(w.value,J.value),n+=" AND begins_with(#sk, :skv)"):(o[":skv"]=ne(w.value,J.value),n+=` AND #sk ${$.value} :skv`);return{keyExpr:n,names:i,values:o}}function Le(){const i={},o={},n=[];return A.value.forEach((f,O)=>{if(!f.attr)return;const U=`#fn${O}`,me=`:fv${O}`;if(i[U]=f.attr,f.op==="attribute_exists"){n.push(`attribute_exists(${U})`);return}if(f.op==="attribute_not_exists"){n.push(`attribute_not_exists(${U})`);return}o[me]=Fe(f.value,f.type),f.op==="begins_with"?n.push(`begins_with(${U}, ${me})`):f.op==="contains"?n.push(`contains(${U}, ${me})`):n.push(`${U} ${f.op} ${me}`)}),{expr:n.join(" AND "),names:i,values:o}}function Pe(i){const o=Le(),n={indexName:z.value||void 0,limit:C.value>0?C.value:void 0,exclusiveStartKey:i};let f=o.names,O=o.values;if(o.expr&&(n.filterExpression=o.expr),s.value==="query"){const U=Re();n.keyConditionExpression=U.keyExpr,f={...f,...U.names},O={...O,...U.values},E.value&&(n.scanIndexForward=!1)}return Object.keys(f).length&&(n.expressionAttributeNames=f),Object.keys(O).length&&(n.expressionAttributeValues=O),n}async function X(i){g.value=!0,x.value=null;try{const o=Pe(i),n=s.value==="scan"?await B.scanDynamoTable(N.table.name,o):await B.queryDynamoTable(N.table.name,o);i?S.value=[...S.value,...n.items]:(S.value=n.items,h.value=new Date),d.value=n.lastEvaluatedKey,c.value=n.scannedCount,R.value=!0}catch(o){x.value=o.message||l("dynamo.requestFailed")}finally{g.value=!1}}function Je(){y.value="",$.value="=",w.value="",I.value="",E.value=!1,A.value=[],S.value=[],d.value=void 0,c.value=void 0,R.value=!1,x.value=null}function Me(){d.value&&X(d.value)}function Ge(){A.value.push({attr:"",op:"=",type:"String",value:""}),V.value=!0}function He(i){A.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 We(){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 Qe(){te.value="create",F.value=We(),ae.value=null,ee.value=!0}function Xe(i){te.value="view",F.value=i,ae.value=null,ee.value=!0}function Ye(){F.value&&(ae.value=Ve(F.value),te.value="edit")}function Ze(){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 et(){F.value&&(se.value=Ve(F.value),re.value=!0)}async function tt(){if(se.value)try{await B.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 at(){X()}const Y=K(()=>{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(),be(()=>[s.value,z.value],()=>{S.value=[],d.value=void 0,c.value=void 0,R.value=!1}),(i,o)=>(m(),b(e(v),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(P),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(l)("dynamo.explorerTitle")),1)]),_:1})]),footer:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(j),{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(j),{variant:"ghost",onClick:Je},{default:t(()=>[r(u(e(l)("dynamo.reset")),1)]),_:1})]),_:1}),a(e(v),{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(L),{modelValue:C.value,"onUpdate:modelValue":o[9]||(o[9]=n=>C.value=n),modelModifiers:{number:!0},type:"number",size:"sm",style:{width:"6rem"}},null,8,["modelValue"])]),_:1})]),_:1})]),default:t(()=>[a(e(v),{direction:"vertical",gap:"1rem"},{default:t(()=>[Q("div",bt,[a(e(ot),{modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=n=>s.value=n),options:Ie,size:"md"},null,8,["modelValue"])]),a(e(v),{direction:"horizontal",gap:"1rem"},{default:t(()=>[a(e(q),{label:e(l)("dynamo.selectTableOrIndex"),style:{flex:"1"}},{default:t(()=>[a(e(oe),{modelValue:z.value,"onUpdate:modelValue":o[1]||(o[1]=n=>z.value=n),options:Ke.value},null,8,["modelValue","options"])]),_:1},8,["label"]),a(e(q),{label:e(l)("dynamo.selectProjection"),style:{flex:"1"}},{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}),s.value==="query"?(m(),G(H,{key:0},[a(e(xe)),a(e(v),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(_),{weight:"semibold",style:{"font-size":"0.9rem"}},{default:t(()=>[r(u(e(l)("dynamo.partitionKey")),1)]),_:1}),a(e(v),{direction:"horizontal",gap:"1rem"},{default:t(()=>[a(e(q),{label:e(l)("dynamo.attribute"),style:{flex:"1"}},{default:t(()=>[a(e(L),{"model-value":le.value||"—",disabled:""},null,8,["model-value"])]),_:1},8,["label"]),a(e(q),{label:e(l)("dynamo.value"),style:{flex:"2"}},{default:t(()=>[a(e(L),{modelValue:y.value,"onUpdate:modelValue":o[2]||(o[2]=n=>y.value=n),placeholder:e(l)("dynamo.enterAttributeValue")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),J.value?(m(),b(e(v),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(_),{weight:"semibold",style:{"font-size":"0.9rem"}},{default:t(()=>[r(u(e(l)("dynamo.sortKeyOptional")),1)]),_:1}),a(e(v),{direction:"horizontal",gap:"0.75rem",align:"end"},{default:t(()=>[a(e(q),{label:e(l)("dynamo.attribute"),style:{flex:"1.4"}},{default:t(()=>[a(e(L),{"model-value":J.value,disabled:""},null,8,["model-value"])]),_:1},8,["label"]),a(e(q),{label:e(l)("dynamo.value"),style:{flex:"1.2","min-width":"11rem"}},{default:t(()=>[a(e(oe),{modelValue:$.value,"onUpdate:modelValue":o[3]||(o[3]=n=>$.value=n),options:Ee.value},null,8,["modelValue","options"])]),_:1},8,["label"]),a(e(L),{modelValue:w.value,"onUpdate:modelValue":o[4]||(o[4]=n=>w.value=n),placeholder:e(l)("dynamo.enterAttributeValue"),style:{flex:"2"}},null,8,["modelValue","placeholder"]),$.value==="between"?(m(),b(e(L),{key:0,modelValue:I.value,"onUpdate:modelValue":o[5]||(o[5]=n=>I.value=n),placeholder:e(l)("dynamo.andValue"),style:{flex:"2"}},null,8,["modelValue","placeholder"])):D("",!0),a(e(it),{modelValue:E.value,"onUpdate:modelValue":o[6]||(o[6]=n=>E.value=n),label:e(l)("dynamo.sortDescending")},null,8,["modelValue","label"])]),_:1})]),_:1})):D("",!0)],64)):D("",!0),a(e(xe)),a(e(v),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(ze),{href:"#",style:{"font-weight":"600","font-size":"0.9rem"},onClick:o[7]||(o[7]=Ae(n=>V.value=!V.value,["prevent"]))},{default:t(()=>[a(e(ye),{name:V.value?"chevron-down":"chevron-right"},null,8,["name"]),r(" "+u(e(l)("dynamo.filtersOptional")),1)]),_:1}),V.value?(m(),b(e(v),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[(m(!0),G(H,null,W(A.value,(n,f)=>(m(),b(e(v),{key:`f-${f}`,direction:"horizontal",gap:"0.5rem",align:"end"},{default:t(()=>[a(e(q),{label:e(l)("dynamo.attributeName"),style:{flex:"1.4"}},{default:t(()=>[a(e(L),{modelValue:n.attr,"onUpdate:modelValue":O=>n.attr=O,placeholder:e(l)("dynamo.enterAttributeName")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),_:2},1032,["label"]),a(e(q),{label:e(l)("dynamo.condition"),style:{flex:"1.4"}},{default:t(()=>[a(e(oe),{modelValue:n.op,"onUpdate:modelValue":O=>n.op=O,options:Oe.value},null,8,["modelValue","onUpdate:modelValue","options"])]),_:2},1032,["label"]),a(e(q),{label:e(l)("common.type"),style:{flex:"0.9"}},{default:t(()=>[a(e(oe),{modelValue:n.type,"onUpdate:modelValue":O=>n.type=O,options:je},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"]),a(e(q),{label:e(l)("dynamo.value"),style:{flex:"1.7"}},{default:t(()=>[a(e(L),{modelValue:n.value,"onUpdate:modelValue":O=>n.value=O,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"]),a(e(j),{size:"sm",variant:"outline",onClick:O=>He(f)},{default:t(()=>[r(u(e(l)("dynamo.remove")),1)]),_:1},8,["onClick"])]),_:2},1024))),128)),Q("div",null,[a(e(j),{size:"sm",variant:"outline",onClick:Ge},{default:t(()=>[r(u(e(l)("dynamo.addFilter")),1)]),_:1})])]),_:1})):D("",!0)]),_:1})]),_:1})]),_:1}),x.value?(m(),b(e(ie),{key:0,variant:"danger",dismissible:"",onDismiss:o[10]||(o[10]=n=>x.value=null)},{default:t(()=>[r(u(x.value),1)]),_:1})):D("",!0),R.value&&!x.value?(m(),b(e(ie),{key:1,variant:Y.value.finished?"success":"warning",dismissible:"",onDismiss:o[11]||(o[11]=n=>R.value=!1)},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[Q("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?D("",!0):(m(),b(e(j),{key:0,size:"sm",variant:"outline",loading:g.value,onClick:Me},{default:t(()=>[r(u(e(l)("dynamo.retrieveNextPage")),1)]),_:1},8,["loading"]))]),_:1})]),_:1},8,["variant"])):D("",!0),a(e(P),{variant:"outline"},{header:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(z.value?e(l)("dynamo.resultsIndex",{index:z.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:h.value?h.value.toLocaleString():"—"})),1)]),_:1})]),_:1}),a(e(v),{direction:"horizontal",gap:"0.5rem"},{default:t(()=>[a(e(j),{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(j),{size:"sm",variant:"outline",onClick:Qe},{default:t(()=>[r(u(e(l)("dynamo.createItem")),1)]),_:1})]),_:1})]),_:1})]),default:t(()=>[g.value&&!S.value.length?(m(),b(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(Te),{label:e(l)("dynamo.running")},null,8,["label"])]),_:1})):S.value.length?(m(),b(e(ut),{key:2,columns:Be.value,rows:Ue.value,"aria-label":e(l)("dynamo.resultsAriaLabel")},rt({_:2},[W(de.value,(n,f)=>({name:`cell-__attr__${n}`,fn:t(({row:O})=>[f===0?(m(),b(e(ze),{key:0,href:"#",class:"mono",onClick:Ae(U=>Xe(O.__raw),["prevent"])},{default:t(()=>[r(u(ke(O[`__attr__${n}`])),1)]),_:2},1032,["onClick"])):(m(),b(e(_),{key:1,family:"mono"},{default:t(()=>[r(u(ke(O[`__attr__${n}`])),1)]),_:2},1024))])})),W(_e.value,n=>({name:`cell-__attr__${n}`,fn:t(({row:f})=>[a(e(_),{family:"mono",size:"sm"},{default:t(()=>[r(u(ke(f[`__attr__${n}`])),1)]),_:2},1024)])}))]),1032,["columns","rows","aria-label"])):(m(),b(e(De),{key:1,title:e(l)("dynamo.noItemsTitle"),description:e(l)("dynamo.noItemsDesc")},null,8,["title","description"]))]),_:1}),a(yt,{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:at,onRequestEdit:Ye,onRequestClone:Ze,onRequestDelete:et},null,8,["open","table-name","mode","item","original-key"]),a(e(Ne),{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"),tone:"danger",onConfirm:tt},null,8,["open","title","description","confirm-label","cancel-label"])]),_:1}))}}),gt=Z({__name:"DynamoTableSettings",props:{table:{}},emits:["refresh"],setup(T,{emit:N}){const l=T,k=N,{t:s}=ue(),z=pe(),C=p(l.table.ttl.enabled),y=p(l.table.ttl.attributeName||""),$=p(!1),w=p(null);be(()=>[l.table.ttl.enabled,l.table.ttl.attributeName],([A,V])=>{C.value=A,y.value=V||""});async function I(){if(C.value&&!y.value.trim()){w.value=s("dynamo.ttlAttrRequired");return}$.value=!0,w.value=null;try{await B.setDynamoTtl(l.table.name,C.value,y.value.trim()||void 0),z.add({title:C.value?s("dynamo.ttlEnabledToast"):s("dynamo.ttlDisabledToast"),description:C.value?s("dynamo.attributeLabel",{name:y.value}):void 0,variant:"success"}),k("refresh")}catch(A){w.value=A.message||s("dynamo.ttlUpdateFailed")}finally{$.value=!1}}function E(A){return A<1024?`${A} B`:A<1024*1024?`${(A/1024).toFixed(1)} KB`:`${(A/(1024*1024)).toFixed(1)} MB`}return(A,V)=>(m(),b(e(v),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(he),{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(P),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[...V[3]||(V[3]=[r("Time to Live (TTL)",-1)])]),_:1})]),default:t(()=>[w.value?(m(),b(e(ie),{key:0,variant:"danger",dismissible:"",onDismiss:V[0]||(V[0]=S=>w.value=null)},{default:t(()=>[r(u(w.value),1)]),_:1})):D("",!0),a(e(v),{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(q),{label:e(s)("dynamo.enableTtl")},{default:t(()=>[a(e(st),{modelValue:C.value,"onUpdate:modelValue":V[1]||(V[1]=S=>C.value=S)},null,8,["modelValue"])]),_:1},8,["label"]),a(e(q),{label:e(s)("dynamo.attributeName"),hint:C.value?e(s)("dynamo.ttlHintRequired"):e(s)("dynamo.ttlHintDisabled")},{default:t(()=>[a(e(L),{modelValue:y.value,"onUpdate:modelValue":V[2]||(V[2]=S=>y.value=S),placeholder:e(s)("dynamo.ttlAttrPlaceholder"),disabled:!C.value},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint"]),a(e(v),{direction:"horizontal",justify:"flex-end"},{default:t(()=>[a(e(j),{size:"sm",variant:"solid",loading:$.value,onClick:I},{default:t(()=>[r(u(e(s)("dynamo.apply")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),a(e(P),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[...V[4]||(V[4]=[r("Streams",-1)])]),_:1})]),default:t(()=>[a(e(v),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(v),{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?(m(),b(e(we),{key:0,size:"sm",variant:"soft"},{default:t(()=>[r(u(l.table.streamViewType),1)]),_:1})):D("",!0)]),_:1}),l.table.streamArn?(m(),b(e(_),{key:0,tone:"muted",family:"mono",style:{"font-size":"0.7rem"}},{default:t(()=>[r(u(l.table.streamArn),1)]),_:1})):(m(),b(e(_),{key:1,tone:"muted",size:"xs"},{default:t(()=>[r(u(e(s)("dynamo.streamsNote")),1)]),_:1}))]),_:1})]),_:1}),a(e(P),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("dynamo.identifier")),1)]),_:1})]),default:t(()=>[a(e(v),{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}))}}),_t=Z({__name:"DynamoSeedPanel",props:{tableName:{},seedFile:{},seedItemCount:{},tableItemCount:{}},emits:["refresh"],setup(T,{emit:N}){const l=T,k=N,{t:s}=ue(),z=pe();function C(d){return d===1?s("dynamo.itemOne",{count:d}):s("dynamo.itemOther",{count:d})}const y=p(!1),$=p(!1),w=p(!1),I=p(!1),E=p(!1);async function A(){if(!y.value){y.value=!0;try{const d=await B.runSeed(l.tableName),c=d.results.reduce((g,x)=>g+(x.inserted||0),0),h=d.results.find(g=>g.skipped);h?z.add({title:s("dynamo.seedSkipped"),description:`${l.tableName}: ${h.reason||s("dynamo.unknownReason")}`,variant:"warning"}):z.add({title:s("dynamo.seedApplied"),description:s("dynamo.seedAppliedDesc",{count:c,table:l.tableName}),variant:"success"}),k("refresh")}catch(d){z.add({title:s("dynamo.seedFailed"),description:d.message,variant:"danger"})}finally{y.value=!1}}}async function V(){if(!w.value){w.value=!0;try{const c=(await B.clearSeed(l.tableName)).results.reduce((h,g)=>h+(g.deleted||0),0);z.add({title:s("dynamo.tablePurged"),description:s("dynamo.purgedDesc",{count:c,table:l.tableName}),variant:"info"}),k("refresh")}catch(d){z.add({title:s("dynamo.purgeFailed"),description:d.message,variant:"danger"})}finally{w.value=!1,I.value=!1}}}async function S(){if(!$.value){$.value=!0;try{const c=(await B.clearSeed(l.tableName)).results.reduce((x,R)=>x+(R.deleted||0),0),g=(await B.runSeed(l.tableName)).results.reduce((x,R)=>x+(R.inserted||0),0);z.add({title:s("dynamo.seedRedone"),description:s("dynamo.redoneDesc",{deleted:c,inserted:g,table:l.tableName}),variant:"success"}),k("refresh")}catch(d){z.add({title:s("dynamo.redoFailed"),description:d.message,variant:"danger"})}finally{$.value=!1,E.value=!1}}}return(d,c)=>(m(),b(e(v),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(P),{variant:"outline"},{header:t(()=>[a(e(v),{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(T.seedItemCount)),1)]),_:1})]),_:1})]),default:t(()=>[a(e(dt),null,{default:t(()=>[a(e(Ce),{label:e(s)("dynamo.path")},{default:t(()=>[a(e(_),{family:"mono",size:"sm"},{default:t(()=>[r(u(T.seedFile),1)]),_:1})]),_:1},8,["label"]),a(e(Ce),{label:e(s)("dynamo.currentRows")},{default:t(()=>[a(e(_),{family:"mono"},{default:t(()=>[r(u(T.tableItemCount),1)]),_:1})]),_:1},8,["label"])]),_:1})]),_:1}),a(e(P),{variant:"outline"},{header:t(()=>[a(e(_),{weight:"semibold"},{default:t(()=>[r(u(e(s)("common.actions")),1)]),_:1})]),default:t(()=>[a(e(v),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[a(e(v),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(v),{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(j),{variant:"solid",loading:y.value,disabled:T.seedItemCount<=0,onClick:A},{default:t(()=>[r(u(e(s)("dynamo.apply")),1)]),_:1},8,["loading","disabled"])]),_:1}),a(e(v),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(v),{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(j),{variant:"soft",loading:$.value,disabled:T.seedItemCount<=0,onClick:c[0]||(c[0]=h=>E.value=!0)},{default:t(()=>[r(u(e(s)("dynamo.redo")),1)]),_:1},8,["loading","disabled"])]),_:1}),a(e(v),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[a(e(v),{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(j),{variant:"danger",loading:w.value,onClick:c[1]||(c[1]=h=>I.value=!0)},{default:t(()=>[r(u(e(s)("dynamo.purge")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),a(e(Ne),{open:I.value,"onUpdate:open":c[2]||(c[2]=h=>I.value=h),title:e(s)("dynamo.purgeConfirmTitle",{table:T.tableName}),description:e(s)("dynamo.purgeConfirmDesc",{count:T.tableItemCount}),"confirm-label":e(s)("dynamo.purge"),"cancel-label":e(s)("common.cancel"),"confirm-variant":"danger",onConfirm:V},null,8,["open","title","description","confirm-label","cancel-label"]),a(e(Ne),{open:E.value,"onUpdate:open":c[3]||(c[3]=h=>E.value=h),title:e(s)("dynamo.redoConfirmTitle",{table:T.tableName}),description:e(s)("dynamo.redoConfirmDesc",{current:T.tableItemCount,seeded:T.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}))}}),kt={style:{"padding-top":"1rem"}},Nt={style:{"padding-top":"1rem"}},ht={style:{"padding-top":"1rem"}},wt={style:{"padding-top":"1rem"}},$t=Z({__name:"DynamoTableDetail",props:{tableName:{}},emits:["back"],setup(T,{emit:N}){const{t:l}=ue(),k=T,s=N,z=ft(),C=Se(),y=p(null),$=p(null),w=p(!0),I=p(null),E=["items","indexes","settings","seed"],A=K({get(){const d=String(z.query.tab||"");return E.includes(d)?d:"items"},set(d){C.replace({query:{...z.query,tab:d==="items"?void 0:d}})}});async function V(){w.value=!0;try{const[d,c]=await Promise.all([B.describeDynamoTable(k.tableName),B.listSeeds().catch(()=>({seedsDir:"",entries:[]}))]);y.value=d,$.value=c.entries.find(h=>h.tableName===k.tableName)||null,I.value=null}catch(d){I.value=d.message||l("dynamo.loadTableFailed"),y.value=null}finally{w.value=!1}}function S(d){return d===1?l("dynamo.seedBadgeOne",{count:d}):l("dynamo.seedBadgeOther",{count:d})}return mt(V),be(()=>k.tableName,V),(d,c)=>(m(),b(e(v),{direction:"vertical",gap:"1rem"},{default:t(()=>{var h;return[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>{var g;return[a(e(j),{size:"sm",variant:"ghost",onClick:c[0]||(c[0]=x=>s("back"))},{default:t(()=>[a(e(ye),{name:"arrow-left"}),r(" "+u(e(l)("dynamo.backTables")),1)]),_:1}),a(e(ye),{name:"aws-dynamodb"}),a(e(_),{size:"lg",weight:"semibold"},{default:t(()=>[r(u(T.tableName),1)]),_:1}),(g=y.value)!=null&&g.status?(m(),b(e(M),{key:0,tone:y.value.status==="ACTIVE"?"success":"warning",variant:"soft"},{default:t(()=>[r(u(y.value.status),1)]),_:1},8,["tone"])):D("",!0),$.value?(m(),b(e(M),{key:1,tone:"info",variant:"soft"},{default:t(()=>[r(u(S($.value.itemCount)),1)]),_:1})):D("",!0)]}),_:1}),a(e(j),{size:"sm",variant:"ghost",loading:w.value,onClick:V},{default:t(()=>[r(u(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),(h=y.value)!=null&&h.warnings.length?(m(),b(e(v),{key:0,direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(m(!0),G(H,null,W(y.value.warnings,g=>(m(),b(e(M),{key:g,tone:"warning",variant:"soft"},{default:t(()=>[a(e(ye),{name:"triangle-alert"}),r(" "+u(g),1)]),_:2},1024))),128))]),_:1})):D("",!0),I.value?(m(),b(e(ie),{key:1,variant:"danger",dismissible:"",onDismiss:c[1]||(c[1]=g=>I.value=null)},{default:t(()=>[r(u(I.value),1)]),_:1})):D("",!0),w.value&&!y.value?(m(),b(e(v),{key:2,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(Te),{label:e(l)("dynamo.loadingTable")},null,8,["label"])]),_:1})):y.value?(m(),b(e(vt),{key:3,modelValue:A.value,"onUpdate:modelValue":c[2]||(c[2]=g=>A.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}),$.value?(m(),b(e(ce),{key:0,value:"seed"},{default:t(()=>[r(u(e(l)("dynamo.seed")),1)]),_:1})):D("",!0)]),_:1}),a(e(fe),{value:"items"},{default:t(()=>[Q("div",kt,[a(pt,{table:y.value},null,8,["table"])])]),_:1}),a(e(fe),{value:"indexes"},{default:t(()=>[Q("div",Nt,[!y.value.gsis.length&&!y.value.lsis.length?(m(),b(e(De),{key:0,title:e(l)("dynamo.noIndexesTitle"),description:e(l)("dynamo.noIndexesDesc")},null,8,["title","description"])):(m(),b(e(v),{key:1,direction:"vertical",gap:"1rem"},{default:t(()=>[y.value.gsis.length?(m(),b(e(he),{key:0,columns:2,gap:"0.75rem"},{default:t(()=>[(m(!0),G(H,null,W(y.value.gsis,g=>(m(),b(e(P),{key:g.IndexName,variant:"outline"},{header:t(()=>[a(e(v),{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(v),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[(m(!0),G(H,null,W(g.KeySchema||[],x=>(m(),b(e(we),{key:x.AttributeName,size:"sm",variant:"soft"},{default:t(()=>[r(u(x.AttributeName)+" ("+u(x.KeyType)+") ",1)]),_:2},1024))),128))]),_:2},1024),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>{var x;return[r(u(e(l)("dynamo.projection"))+": "+u(((x=g.Projection)==null?void 0:x.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})):D("",!0),y.value.lsis.length?(m(),b(e(he),{key:1,columns:2,gap:"0.75rem"},{default:t(()=>[(m(!0),G(H,null,W(y.value.lsis,g=>(m(),b(e(P),{key:g.IndexName,variant:"outline"},{header:t(()=>[a(e(v),{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(v),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(v),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[(m(!0),G(H,null,W(g.KeySchema||[],x=>(m(),b(e(we),{key:x.AttributeName,size:"sm",variant:"soft"},{default:t(()=>[r(u(x.AttributeName)+" ("+u(x.KeyType)+") ",1)]),_:2},1024))),128))]),_:2},1024),a(e(_),{tone:"muted",size:"xs"},{default:t(()=>{var x;return[r(u(e(l)("dynamo.projection"))+": "+u(((x=g.Projection)==null?void 0:x.ProjectionType)||"—"),1)]}),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):D("",!0)]),_:1}))])]),_:1}),a(e(fe),{value:"settings"},{default:t(()=>[Q("div",ht,[a(gt,{table:y.value,onRefresh:V},null,8,["table"])])]),_:1}),$.value?(m(),b(e(fe),{key:0,value:"seed"},{default:t(()=>[Q("div",wt,[a(_t,{"table-name":y.value.name,"seed-file":$.value.file,"seed-item-count":$.value.itemCount,"table-item-count":y.value.itemCount,onRefresh:V},null,8,["table-name","seed-file","seed-item-count","table-item-count"])])]),_:1})):D("",!0)]),_:1},8,["modelValue"])):D("",!0)]}),_:1}))}}),xt=Z({__name:"DynamoTablePage",props:{tableName:{}},setup(T){const N=Se();function l(){N.push("/dynamo")}return(k,s)=>(m(),b($t,{"table-name":T.tableName,onBack:l},null,8,["table-name"]))}});export{xt as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{k as oe,m as he,o as ke,a6 as we,e as c,a1 as e,v as d,a7 as a,a as K,n as u,j as t,H as T,C as L,i as s,a0 as i,u as m,f as y,J as ze,w as ae,g as N,y as x,x as $e,U as Te,V as M,W as O,d as C,t as _,K as te,X as Le,Y as Ne,F as V,S as A,G as xe,A as P,s as le,z as Y,h as Ce,O as ne,N as G,aa as Ve,Z as Ee,a2 as je,c as Se,p as g,b as p,a3 as De,a4 as se}from"./index-BIEznsi4.js";import{t as Re}from"./triggerIcons-DIPWQkJ3.js";const Be={style:{"padding-top":"1rem"}},Ie={style:{"padding-top":"1rem"}},Me={style:{"padding-top":"1rem"}},Oe={style:{"padding-top":"1rem"}},Ae=["onClick"],Pe=oe({__name:"LambdaDetail",props:{functionName:{}},emits:["back"],setup(E,{emit:q}){const h=E,W=q,{t:l}=je(),X=De(),ie=se(),k=Se(),v=g(null),j=g(!0),w=g(null);let F=null;const re=["invoke","triggers","environment","logs"],Z=p({get(){const o=String(X.query.tab||"");return re.includes(o)?o:"invoke"},set(o){ie.replace({query:{...X.query,tab:o==="invoke"?void 0:o}})}}),S=g("{}"),D=g("RequestResponse"),R=g(!1),f=g(null),J=g(!1),ue=p(()=>[{value:"RequestResponse",label:l("lambdas.invocationTypeSync")},{value:"Event",label:l("lambdas.invocationTypeAsync")}]),z=g([]),B=g(!1),I=g({}),de=p(()=>[{key:"key",label:l("lambdas.key")},{key:"value",label:l("lambdas.value")}]),Q=p(()=>{var o;return Object.entries(((o=v.value)==null?void 0:o.environment)||{}).map(([r,n])=>({key:r,value:n}))}),me=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")}]),ce=p(()=>{var o;return(((o=v.value)==null?void 0:o.routes)||[]).map(r=>({...r}))}),ee=p(()=>{var o;return Re(((o=v.value)==null?void 0:o.triggers)||[])}),ve=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&&(j.value=!0);try{v.value=await K.getLambda(h.functionName),w.value=null}catch(r){w.value=r.message||l("lambdas.detailLoadFailed"),v.value=null}finally{j.value=!1}}async function U(){B.value=!0;try{const o=await K.getLambdaLogs(h.functionName);z.value=[...o.invocations].reverse()}catch(o){k.add({title:l("lambdas.logsLoadFailed"),description:o.message,variant:"danger"})}finally{B.value=!1}}async function fe(){var n;let o;const r=S.value.trim();if(r)try{o=JSON.parse(r)}catch{k.add({title:l("lambdas.invalidJsonTitle"),description:l("lambdas.invalidJsonDescription"),variant:"danger"});return}R.value=!0;try{const b=await K.invokeLambda(h.functionName,{payload:o,invocationType:D.value});D.value==="Event"?(f.value=null,J.value=!0,k.add({title:l("lambdas.acceptedTitle"),description:l("lambdas.acceptedDescription"),variant:"success"})):(J.value=!1,f.value=b,b.ok||k.add({title:l("lambdas.functionErrorTitle"),description:(n=b.functionError)==null?void 0:n.errorMessage,variant:"danger"})),await $(!1)}catch(b){k.add({title:l("lambdas.invokeFailed"),description:b.message,variant:"danger"})}finally{R.value=!1}}function be(o){I.value[o]=!I.value[o]}function ge(o){switch(o){case"online":return"success";case"starting":return"info";case"stopped":return"neutral";default:return"danger"}}function pe(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 ye(o){return o==="ANY"?"info":"neutral"}function _e(o){return o?new Date(o).toLocaleString():"—"}return he(()=>{$(),U(),F=window.setInterval(()=>$(!1),1e4)}),ke(()=>{F&&window.clearInterval(F)}),we(()=>h.functionName,()=>{$(),U()}),(o,r)=>(u(),c(e(d),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(T),{size:"sm",variant:"ghost",onClick:r[0]||(r[0]=n=>W("back"))},{default:a(()=>[t(e(L),{name:"arrow-left"}),s(" "+i(e(l)("nav.lambdas")),1)]),_:1}),t(e(L),{name:"aws-lambda"}),t(e(m),{weight:"semibold",size:"lg"},{default:a(()=>[s(i(E.functionName),1)]),_:1}),v.value?(u(),c(e(m),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(v.value.fullName),1)]),_:1})):y("",!0)]),_:1}),t(e(T),{size:"sm",variant:"ghost",loading:j.value,onClick:r[1]||(r[1]=n=>$())},{default:a(()=>[s(i(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),w.value?(u(),c(e(ze),{key:0,variant:"danger",dismissible:"",onDismiss:r[2]||(r[2]=n=>w.value=null)},{default:a(()=>[s(i(w.value),1)]),_:1})):y("",!0),j.value&&!v.value?(u(),c(e(d),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(ae),{label:e(l)("lambdas.loadingDetail")},null,8,["label"])]),_:1})):v.value?(u(),N(V,{key:2},[t(e($e),{columns:5,gap:"0.75rem"},{default:a(()=>[t(e(x),{label:e(l)("common.status"),value:pe(v.value.status),tone:ge(v.value.status)},null,8,["label","value","tone"]),t(e(x),{label:e(l)("lambdas.runtime"),value:v.value.runtime,tone:"info"},null,8,["label","value"]),t(e(x),{label:e(l)("lambdas.memory"),value:`${v.value.memorySize} MB`,tone:"neutral"},null,8,["label","value"]),t(e(x),{label:e(l)("lambdas.timeout"),value:`${v.value.timeout}s`,tone:"neutral"},null,8,["label","value"]),t(e(x),{label:e(l)("lambdas.mode"),value:v.value.executionMode||"—",tone:"neutral"},null,8,["label","value"])]),_:1}),t(e(Ee),{modelValue:Z.value,"onUpdate:modelValue":r[6]||(r[6]=n=>Z.value=n)},{default:a(()=>[t(e(Te),null,{default:a(()=>[t(e(M),{value:"invoke"},{default:a(()=>[s(i(e(l)("lambdas.tabInvoke")),1)]),_:1}),t(e(M),{value:"triggers"},{default:a(()=>[s(i(e(l)("lambdas.triggers")),1)]),_:1}),t(e(M),{value:"environment"},{default:a(()=>[s(i(e(l)("lambdas.tabEnvironment")),1)]),_:1}),t(e(M),{value:"logs"},{default:a(()=>[s(i(e(l)("lambdas.tabLogs")),1)]),_:1})]),_:1}),t(e(O),{value:"invoke"},{default:a(()=>[C("div",Be,[t(e(d),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.invokeTitle")),1)]),_:1}),t(e(m),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(v.value.handler),1)]),_:1})]),_:1})]),footer:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(T),{variant:"solid",loading:R.value,onClick:fe},{default:a(()=>[s(i(e(l)("lambdas.invokeAction")),1)]),_:1},8,["loading"]),t(e(T),{variant:"ghost",disabled:R.value,onClick:r[5]||(r[5]=n=>S.value="{}")},{default:a(()=>[s(i(e(l)("lambdas.resetPayload")),1)]),_:1},8,["disabled"])]),_:1}),J.value?(u(),c(e(m),{key:0,tone:"muted",size:"xs"},{default:a(()=>[s(i(e(l)("lambdas.acceptedHint")),1)]),_:1})):y("",!0)]),_:1})]),default:a(()=>[t(e(d),{direction:"vertical",gap:"0.75rem"},{default:a(()=>[t(e(te),{label:e(l)("lambdas.payloadLabel"),hint:e(l)("lambdas.payloadHint")},{default:a(()=>[t(e(Le),{modelValue:S.value,"onUpdate:modelValue":r[3]||(r[3]=n=>S.value=n),class:"mono",rows:8,placeholder:"{}"},null,8,["modelValue"])]),_:1},8,["label","hint"]),t(e(te),{label:e(l)("lambdas.invocationTypeLabel"),style:{"max-width":"20rem"}},{default:a(()=>[t(e(Ne),{modelValue:D.value,"onUpdate:modelValue":r[4]||(r[4]=n=>D.value=n),options:ue.value},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1})]),_:1}),f.value?(u(),c(e(_),{key:0,variant:"outline"},{header:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.resultTitle")),1)]),_:1}),t(e(P),{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(m),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[s(i(f.value.durationMs)+"ms ",1)]),_:1})]),_:1})]),default:a(()=>[t(e(d),{direction:"vertical",gap:"0.75rem"},{default:a(()=>{var n,b,H;return[f.value.ok?(u(),N(V,{key:0},[t(e(m),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.responsePayload")),1)]),_:1}),t(e(A),{code:ve.value,label:e(l)("lambdas.responsePayload"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])],64)):(u(),N(V,{key:1},[t(e(m),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.functionError")),1)]),_:1}),t(e(A),{code:[`${((n=f.value.functionError)==null?void 0:n.errorType)||"Error"}: ${((b=f.value.functionError)==null?void 0:b.errorMessage)||""}`,...((H=f.value.functionError)==null?void 0:H.trace)||[]].join(`
|
|
2
|
-
`),label:e(l)("lambdas.functionError"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])],64)),t(e(xe)),t(e(m),{weight:"semibold",size:"sm"},{default:a(()=>[s(i(e(l)("lambdas.capturedLogs")),1)]),_:1}),t(e(A),{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})):y("",!0)]),_:1})])]),_:1}),t(e(O),{value:"triggers"},{default:a(()=>[C("div",Ie,[t(e(d),{direction:"vertical",gap:"1rem"},{default:a(()=>[t(e(_),{variant:"outline"},{header:a(()=>[t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.triggerSources")),1)]),_:1})]),default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[ee.value.length?(u(!0),N(V,{key:0},le(ee.value,n=>(u(),c(e(Y),{key:n.name,size:"sm",variant:"soft"},Ce({default:a(()=>[s(" "+i(n.name),1)]),_:2},[n.icon?{name:"icon",fn:a(()=>[t(e(L),{name:n.icon,size:"14"},null,8,["name"])]),key:"0"}:void 0]),1024))),128)):(u(),c(e(m),{key:1,tone:"muted"},{default:a(()=>[...r[7]||(r[7]=[s("—",-1)])]),_:1}))]),_:1})]),_:1}),t(e(_),{variant:"outline"},{header:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(L),{name:"aws-api-gateway"}),t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.httpRoutes")),1)]),_:1})]),_:1})]),default:a(()=>[v.value.routes.length?(u(),c(e(ne),{key:0,columns:me.value,rows:ce.value,"aria-label":e(l)("lambdas.httpRoutes")},{"cell-method":a(({row:n})=>[t(e(P),{tone:ye(String(n.method)),variant:"soft"},{default:a(()=>[s(i(n.method),1)]),_:2},1032,["tone"])]),"cell-path":a(({row:n})=>[t(e(m),{family:"mono"},{default:a(()=>[s(i(n.path),1)]),_:2},1024)]),"cell-eventType":a(({row:n})=>[t(e(Y),{size:"sm",variant:"soft"},{default:a(()=>[s(i(n.eventType),1)]),_:2},1024)]),"cell-authorizerName":a(({row:n})=>[n.authorizerName?(u(),c(e(Y),{key:0,size:"sm",variant:"soft"},{default:a(()=>[s(i(n.authorizerName),1)]),_:2},1024)):(u(),c(e(m),{key:1,tone:"muted"},{default:a(()=>[...r[8]||(r[8]=[s("—",-1)])]),_:1}))]),_:1},8,["columns","rows","aria-label"])):(u(),c(e(G),{key:1,title:e(l)("lambdas.noRoutesTitle"),description:e(l)("lambdas.noRoutesDescription")},null,8,["title","description"]))]),_:1})]),_:1})])]),_:1}),t(e(O),{value:"environment"},{default:a(()=>[C("div",Me,[t(e(_),{variant:"outline"},{header:a(()=>[t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.environmentVariables")),1)]),_:1})]),default:a(()=>[Q.value.length?(u(),c(e(ne),{key:0,columns:de.value,rows:Q.value,"aria-label":e(l)("lambdas.environmentVariables")},{"cell-key":a(({row:n})=>[t(e(m),{family:"mono",style:{"font-size":"0.78rem"}},{default:a(()=>[s(i(n.key),1)]),_:2},1024)]),"cell-value":a(({row:n})=>[t(e(m),{family:"mono",style:{"font-size":"0.78rem"}},{default:a(()=>[s(i(n.value),1)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(u(),c(e(G),{key:1,title:e(l)("lambdas.noEnvTitle"),description:e(l)("lambdas.noEnvDescription")},null,8,["title","description"]))]),_:1})])]),_:1}),t(e(O),{value:"logs"},{default:a(()=>[C("div",Oe,[t(e(_),{variant:"outline"},{header:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(m),{weight:"semibold"},{default:a(()=>[s(i(e(l)("lambdas.recentInvocations",{count:z.value.length})),1)]),_:1}),t(e(T),{size:"sm",variant:"ghost",loading:B.value,onClick:U},{default:a(()=>[s(i(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1})]),default:a(()=>[B.value&&!z.value.length?(u(),c(e(d),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[t(e(ae),{label:e(l)("lambdas.loadingInvocations")},null,8,["label"])]),_:1})):z.value.length?(u(),c(e(d),{key:2,direction:"vertical",gap:"0.5rem"},{default:a(()=>[(u(!0),N(V,null,le(z.value,(n,b)=>(u(),c(e(_),{key:`inv-${b}`,variant:"soft"},{default:a(()=>[t(e(d),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[C("a",{href:"#",style:{"text-decoration":"none",color:"inherit"},onClick:Ve(H=>be(b),["prevent"])},[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[t(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[t(e(L),{name:I.value[b]?"chevron-down":"chevron-right"},null,8,["name"]),t(e(m),{size:"sm"},{default:a(()=>[s(i(_e(n.at)),1)]),_:2},1024),t(e(P),{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?(u(),c(e(P),{key:0,tone:n.statusCode>=500?"danger":"warning",variant:"soft"},{default:a(()=>[s(" HTTP "+i(n.statusCode),1)]),_:2},1032,["tone"])):y("",!0)]),_:2},1024),t(e(m),{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)],8,Ae),I.value[b]?(u(),c(e(A),{key:0,code:n.logs.join(`
|
|
4
|
-
`)||e(l)("lambdas.noOutput"),label:e(l)("lambdas.invocationLog"),"max-block-size":"60vh",wrap:"",copyable:""},null,8,["code","label"])):y("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(u(),c(e(G),{key:1,title:e(l)("lambdas.noInvocationsTitle"),description:e(l)("lambdas.noInvocationsDescription")},null,8,["title","description"]))]),_:1})])]),_:1})]),_:1},8,["modelValue"])],64)):y("",!0)]),_:1}))}}),Je=oe({__name:"LambdaDetailPage",props:{functionName:{}},setup(E){const q=se();function h(){q.push("/lambdas")}return(W,l)=>(u(),c(Pe,{"function-name":E.functionName,onBack:h},null,8,["function-name"]))}});export{Je as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as S,m as j,o as B,n as i,e as u,a1 as e,v as c,a7 as a,j as l,x as F,y as _,J as R,i as r,a0 as o,f as k,t as E,w as U,N as V,C as h,O as A,u as f,A as $,g as O,F as P,s as J,z as x,h as q,R as G,P as H,a2 as K,p as z,b as L,a as Q}from"./index-BIEznsi4.js";import{t as W}from"./triggerIcons-DIPWQkJ3.js";const X=S({__name:"LambdasList",setup(N){const{t:n}=K(),d=z([]),v=z(!0),b=z(null);let y=null;const D=L(()=>[{key:"name",label:n("lambdas.function")},{key:"service",label:n("common.service")},{key:"runtime",label:n("lambdas.runtime")},{key:"handler",label:n("lambdas.handler")},{key:"triggers",label:n("lambdas.triggers")},{key:"status",label:n("common.status")},{key:"invocations",label:n("lambdas.invocations"),align:"right"},{key:"last",label:n("lambdas.last")}]),I=L(()=>d.value.map(s=>({...s,triggerMarks:W(s.triggers)}))),g=L(()=>({total:d.value.length,online:d.value.filter(s=>s.status==="online").length,invocations:d.value.reduce((s,m)=>s+m.invocations,0),errors:d.value.reduce((s,m)=>s+m.errors,0)}));async function w(){try{d.value=await Q.listLambdas(),b.value=null}catch(s){b.value=s.message||n("lambdas.loadFailed")}finally{v.value=!1}}function T(s){switch(s){case"online":return"success";case"starting":return"info";case"stopped":return"neutral";default:return"danger"}}function C(s){switch(s){case"online":return n("common.online");case"starting":return n("lambdas.statusStarting");case"stopped":return n("common.stopped");case"error":return n("lambdas.statusError");default:return s}}function M(s){return s?new Date(s).toLocaleString():"—"}return j(()=>{w(),y=window.setInterval(w,1e4)}),B(()=>{y&&window.clearInterval(y)}),(s,m)=>(i(),u(e(c),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[l(e(F),{columns:4,gap:"1rem"},{default:a(()=>[l(e(_),{label:e(n)("lambdas.statFunctions"),value:g.value.total,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statOnline"),value:g.value.online,tone:"success",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statInvocations"),value:g.value.invocations,tone:"info",loading:v.value},null,8,["label","value","loading"]),l(e(_),{label:e(n)("lambdas.statErrors"),value:g.value.errors,tone:g.value.errors>0?"warning":"neutral",loading:v.value},null,8,["label","value","tone","loading"])]),_:1}),b.value?(i(),u(e(R),{key:0,variant:"danger",dismissible:"",onDismiss:m[0]||(m[0]=t=>b.value=null)},{default:a(()=>[r(o(b.value),1)]),_:1})):k("",!0),l(e(E),{variant:"outline"},{header:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(e(c),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(e(h),{name:"aws-lambda"}),l(e(f),{weight:"semibold"},{default:a(()=>[r(o(e(n)("lambdas.listTitle")),1)]),_:1})]),_:1}),l(e(f),{tone:"muted"},{default:a(()=>[r(o(e(n)("lambdas.listLive")),1)]),_:1})]),_:1})]),default:a(()=>[v.value?(i(),u(e(c),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(e(U),{label:e(n)("lambdas.loadingList")},null,8,["label"])]),_:1})):d.value.length?(i(),u(e(A),{key:2,columns:D.value,rows:I.value,"aria-label":e(n)("lambdas.listTitle")},{"cell-name":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(H),{to:`/lambdas/${encodeURIComponent(String(t.name))}`,style:{"font-weight":"600"}},{default:a(()=>[r(o(t.name),1)]),_:2},1032,["to"]),l(e(f),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.fullName),1)]),_:2},1024)]),_:2},1024)]),"cell-service":a(({row:t})=>[l(e(G),{to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:a(()=>[l(e(x),{size:"sm",variant:"soft",clickable:""},{default:a(()=>[r(o(t.service),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-runtime":a(({row:t})=>[r(o(t.runtime),1)]),"cell-handler":a(({row:t})=>[l(e(f),{family:"mono",style:{"font-size":"0.78rem"}},{default:a(()=>[r(o(t.handler),1)]),_:2},1024)]),"cell-triggers":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:a(()=>[t.triggerMarks.length?(i(!0),O(P,{key:0},J(t.triggerMarks,p=>(i(),u(e(x),{key:p.name,size:"sm",variant:"soft"},q({default:a(()=>[r(" "+o(p.name),1)]),_:2},[p.icon?{name:"icon",fn:a(()=>[l(e(h),{name:p.icon,size:"14"},null,8,["name"])]),key:"0"}:void 0]),1024))),128)):(i(),u(e(f),{key:1,tone:"muted"},{default:a(()=>[...m[1]||(m[1]=[r("—",-1)])]),_:1}))]),_:2},1024)]),"cell-status":a(({row:t})=>[l(e($),{tone:T(String(t.status)),variant:"soft"},{default:a(()=>[r(o(C(String(t.status))),1)]),_:2},1032,["tone"])]),"cell-invocations":a(({row:t})=>[l(e(c),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[l(e($),{tone:Number(t.invocations)>0?"info":"neutral",variant:"soft"},{default:a(()=>[r(o(t.invocations),1)]),_:2},1032,["tone"]),Number(t.errors)>0?(i(),u(e($),{key:0,tone:"danger",variant:"soft"},{default:a(()=>[r(o(e(n)("lambdas.errShort",{count:Number(t.errors)})),1)]),_:2},1024)):k("",!0)]),_:2},1024)]),"cell-last":a(({row:t})=>[l(e(c),{direction:"vertical",gap:"0.125rem"},{default:a(()=>[l(e(f),{size:"sm"},{default:a(()=>[r(o(M(t.lastInvokedAt)),1)]),_:2},1024),t.lastDurationMs!==void 0?(i(),u(e(f),{key:0,tone:"muted",family:"mono",size:"xs"},{default:a(()=>[r(o(t.lastDurationMs)+"ms ",1)]),_:2},1024)):k("",!0)]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(i(),u(e(V),{key:1,title:e(n)("lambdas.emptyTitle"),description:e(n)("lambdas.emptyDescription")},{icon:a(()=>[l(e(h),{name:"aws-lambda"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),ee=S({__name:"LambdasPage",setup(N){return(n,d)=>(i(),u(X))}});export{ee as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as ke,m as ye,a as h,e as p,a7 as n,a1 as e,v as c,a2 as Pe,p as S,r as Y,n as m,j as i,u,i as s,a0 as d,A as M,I as he,t as j,J as Q,f as _,x as A,K as C,L as z,z as X,H as V,B as _e,w as Ce,g as B,M as Z,G as Ve,F as K,s as w,b as L,l as Se,a4 as ze}from"./index-BIEznsi4.js";import{m as Ie}from"./onboarding-DQmlvyWU.js";const Ee=ke({__name:"OnboardingPage",setup(Le){const ee=ze(),{t:o}=Pe(),N=[{value:"ports",labelKey:"onboarding.stepPorts",descriptionKey:"onboarding.stepPortsDescription"},{value:"brand",labelKey:"onboarding.stepBrand",descriptionKey:"onboarding.stepBrandDescription"},{value:"services",labelKey:"onboarding.stepServices",descriptionKey:"onboarding.stepServicesDescription"}],y=S("ports"),te=L(()=>N.map((t,a)=>({value:t.value,label:o(t.labelKey),description:o(t.descriptionKey),status:t.value===y.value?"current":a<N.findIndex(l=>l.value===y.value)?"complete":"upcoming"}))),P=S(null),v=S(null),D=S([]),f=Y({serverPort:14566,enginePort:14566,saving:!1}),H=L(()=>f.serverPort===f.enginePort);async function ae(){f.saving=!0,v.value=null;try{const t={};if(P.value&&f.serverPort!==P.value.serverPort&&(t.serverPort=f.serverPort),P.value&&f.enginePort!==P.value.selfEngine.port&&(t.selfEngine={port:f.enginePort}),Object.keys(t).length>0){const a=await h.updateConfig(t);P.value=a.config,D.value=a.restartRequired}y.value="brand"}catch(t){v.value=t instanceof Error?t.message:o("onboarding.portsSaveFailed")}finally{f.saving=!1}}const g=Y({title:"",subtitle:"",theme:"dark",primary:"",saving:!1}),ne=L(()=>[{value:"dark",label:o("onboarding.themeDark")},{value:"light",label:o("onboarding.themeLight")}]);async function le(){var t;g.saving=!0,v.value=null;try{const a={title:g.title.trim()||null,subtitle:g.subtitle.trim()||null,defaultTheme:g.theme};g.primary.trim()&&(a.colors={...((t=P.value)==null?void 0:t.branding.colors)??{},"brand-primary":g.primary.trim()});const l=await h.updateConfig({branding:a});P.value=l.config,await Se(),y.value="services",q()}catch(a){v.value=a instanceof Error?a.message:o("onboarding.brandSaveFailed")}finally{g.saving=!1}}const ie=L(()=>{var t;return((t=P.value)==null?void 0:t.packageCommand)??""}),$=S(!1),b=S(null),T=S(""),k=S([]),x=L(()=>k.value.filter(t=>t.selected).length),W=L({get:()=>k.value.length>0&&k.value.every(t=>t.selected),set:t=>k.value.forEach(a=>{a.selected=t})}),oe=()=>k.value.filter(t=>t.selected);async function q(){$.value=!0,v.value=null;try{const t=await h.scanServices();T.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{$.value=!1}}function re(t){return t.warnings.filter(a=>!(t.installed&&a.code==="not-installed")&&!(t.packaged&&a.code==="not-packaged")).map(a=>{const l=`onboarding.warning.${a.code}`,r=o(l,a.params);return r===l?a.message:r})}function F(t){return t.relPath==="."?t.root.split("/").pop()??t.name:t.relPath}function G(t){const a=t.trim();if(!a)return null;const l=Number.parseInt(a,10);return Number.isInteger(l)&&String(l)===a&&l>=1024&&l<=65535?l:"invalid"}async function J(){const t={},a={};for(const r of k.value){const I=G(r.editApiPort),U=G(r.editInvokePort);if(I==="invalid"||U==="invalid")return v.value=o("onboarding.portRangeError",{name:r.name}),!1;const E={};I!==(r.apiPort??null)&&(E.apiPort=I),U!==(r.invokePort??null)&&(E.invokePort=U),Object.keys(E).length>0&&(t[F(r)]=E);const O=r.editPackageCommand.trim();O&&O!==r.packageCommand?a[F(r)]={packageCommand:O}:!O&&r.packageCommand!==ie.value&&(a[F(r)]={packageCommand:null})}const l={};if(Object.keys(t).length>0&&(l.serviceRuntime=t),Object.keys(a).length>0&&(l.servicePackaging=a),Object.keys(l).length===0)return!0;try{return await h.updateConfig(l),await se(),!0}catch(r){return v.value=r instanceof Error?r.message:o("onboarding.serviceSettingsSaveFailed"),!1}}async function se(){const t=await h.scanServices(),a=new Map(t.services.map(l=>[l.root,l]));for(const l of k.value){const r=a.get(l.root);r&&Object.assign(l,{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 de={install:"onboarding.installFailed",package:"onboarding.packageFailed",register:"onboarding.registerFailed"};async function R(t,a,l){if(b.value=t,v.value=null,t!=="install"&&!await J()){b.value=null;return}for(const r of oe()){r.status=a,r.resultMessage=void 0,r.resultOutput=void 0;try{await l(r)}catch(I){r.status="failed",r.resultMessage=I instanceof Error?I.message:o(de[t]),r.resultOutput=ue(I)}}b.value=null}function ue(t){var l;const a=(l=t==null?void 0:t.body)==null?void 0:l.output;return typeof a=="string"&&a?a.slice(-600):void 0}const ge=()=>R("install","installing",async t=>{const a=await h.installService(t.root);t.installed=!0,t.status="idle",t.resultMessage=o("onboarding.installedIn",{seconds:(a.durationMs/1e3).toFixed(1)})}),ce=()=>R("package","packaging",async t=>{const a=await h.packageService(t.root);t.packaged=!0,t.status="idle",t.resultMessage=o("onboarding.packagedIn",{seconds:(a.durationMs/1e3).toFixed(1)})}),me=()=>R("register","registering",async t=>{const a=await h.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 fe(){await J()&&(Ie(),ee.push("/"))}const pe=L(()=>{const t=k.value.filter(l=>l.selected),a=t.filter(l=>!l.registered).length;return t.length===0?o("onboarding.register"):a===0?o("onboarding.reRegisterCount",{count:t.length}):o("onboarding.registerCount",{count:t.length})});function ve(t){return t.status==="done"||t.registered?"success":t.status==="failed"?"danger":t.status==="installing"||t.status==="packaging"||t.status==="registering"?"info":"neutral"}function be(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 ye(async()=>{try{const t=await h.getConfig();P.value=t,f.serverPort=t.serverPort,f.enginePort=t.selfEngine.port,g.title=t.branding.title,g.subtitle=t.branding.subtitle,g.theme=t.branding.defaultTheme,g.primary=t.branding.colors["brand-primary"]??""}catch(t){v.value=t instanceof Error?t.message:o("onboarding.configLoadFailed")}}),(t,a)=>(m(),p(e(c),{direction:"vertical",gap:"1.5rem"},{default:n(()=>[i(e(j),{variant:"outline"},{default:n(()=>[i(e(c),{direction:"vertical",gap:"1rem"},{default:n(()=>[i(e(c),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:n(()=>[i(e(u),{size:"xl",weight:"semibold"},{default:n(()=>[s(d(e(o)("onboarding.welcome")),1)]),_:1}),i(e(M),{tone:"info",variant:"soft"},{default:n(()=>[s(d(e(o)("onboarding.guidedSetup")),1)]),_:1})]),_:1}),i(e(u),{tone:"muted"},{default:n(()=>[s(d(e(o)("onboarding.intro")),1)]),_:1}),i(e(he),{items:te.value,"model-value":y.value,size:"sm"},null,8,["items","model-value"])]),_:1})]),_:1}),v.value?(m(),p(e(Q),{key:0,variant:"danger"},{default:n(()=>[s(d(v.value),1)]),_:1})):_("",!0),y.value==="ports"?(m(),p(e(j),{key:1,variant:"outline"},{header:n(()=>[i(e(u),{weight:"semibold"},{default:n(()=>[s(d(e(o)("onboarding.stepPorts")),1)]),_:1})]),default:n(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:n(()=>[i(e(u),{tone:"muted"},{default:n(()=>[s(d(e(o)("onboarding.portsIntroBefore"))+" ",1),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[...a[9]||(a[9]=[s("AWS_ENDPOINT",-1)])]),_:1}),s(" "+d(e(o)("onboarding.portsIntroAfter")),1)]),_:1}),i(e(A),{columns:2,gap:"0.75rem"},{default:n(()=>[i(e(C),{label:e(o)("onboarding.serverPortLabel"),hint:e(o)("onboarding.serverPortHint")},{default:n(()=>[i(e(z),{modelValue:f.serverPort,"onUpdate:modelValue":a[0]||(a[0]=l=>f.serverPort=l),modelModifiers:{number:!0},type:"number",min:"1024",max:"65535"},null,8,["modelValue"])]),_:1},8,["label","hint"]),i(e(C),{label:e(o)("onboarding.enginePortLabel"),hint:e(o)("onboarding.enginePortHint")},{default:n(()=>[i(e(z),{modelValue:f.enginePort,"onUpdate:modelValue":a[1]||(a[1]=l=>f.enginePort=l),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:n(()=>[i(e(M),{tone:H.value?"success":"info",variant:"soft"},{default:n(()=>[s(d(H.value?e(o)("onboarding.singleListener"):e(o)("onboarding.twoListeners")),1)]),_:1},8,["tone"]),D.value.length?(m(),p(e(X),{key:0,size:"sm",variant:"soft"},{default:n(()=>[s(d(e(o)("onboarding.restartRequired"))+" lss stop && lss start ",1)]),_:1})):_("",!0)]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"flex-end"},{default:n(()=>[i(e(V),{variant:"solid",loading:f.saving,onClick:ae},{default:n(()=>[s(d(e(o)("common.continue")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):_("",!0),y.value==="brand"?(m(),p(e(j),{key:2,variant:"outline"},{header:n(()=>[i(e(u),{weight:"semibold"},{default:n(()=>[s(d(e(o)("onboarding.stepBrand")),1)]),_:1})]),default:n(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:n(()=>[i(e(u),{tone:"muted"},{default:n(()=>[s(d(e(o)("onboarding.brandIntro")),1)]),_:1}),i(e(A),{columns:2,gap:"0.75rem"},{default:n(()=>[i(e(C),{label:e(o)("onboarding.titleLabel"),hint:e(o)("onboarding.titleHint")},{default:n(()=>[i(e(z),{modelValue:g.title,"onUpdate:modelValue":a[2]||(a[2]=l=>g.title=l),placeholder:"Local Serverless Stack"},null,8,["modelValue"])]),_:1},8,["label","hint"]),i(e(C),{label:e(o)("onboarding.subtitleLabel")},{default:n(()=>[i(e(z),{modelValue:g.subtitle,"onUpdate:modelValue":a[3]||(a[3]=l=>g.subtitle=l),placeholder:e(o)("onboarding.subtitlePlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(e(C),{label:e(o)("onboarding.themeLabel")},{default:n(()=>[i(e(_e),{modelValue:g.theme,"onUpdate:modelValue":a[4]||(a[4]=l=>g.theme=l),options:ne.value,size:"md"},null,8,["modelValue","options"])]),_:1},8,["label"]),i(e(C),{label:e(o)("onboarding.brandColorLabel"),hint:e(o)("onboarding.brandColorHint")},{default:n(()=>[i(e(z),{modelValue:g.primary,"onUpdate:modelValue":a[5]||(a[5]=l=>g.primary=l),placeholder:"#0d9488"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1}),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"space-between"},{default:n(()=>[i(e(V),{variant:"ghost",onClick:a[6]||(a[6]=l=>y.value="ports")},{default:n(()=>[s(d(e(o)("common.back")),1)]),_:1}),i(e(V),{variant:"solid",loading:g.saving,onClick:le},{default:n(()=>[s(d(e(o)("common.continue")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):_("",!0),y.value==="services"?(m(),p(e(j),{key:3,variant:"outline"},{header:n(()=>[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between",wrap:""},{default:n(()=>[i(e(u),{weight:"semibold"},{default:n(()=>[s(d(e(o)("onboarding.stepServices")),1)]),_:1}),i(e(V),{size:"sm",variant:"ghost",loading:$.value,onClick:q},{default:n(()=>[s(d(e(o)("onboarding.rescan")),1)]),_:1},8,["loading"])]),_:1})]),default:n(()=>[i(e(c),{direction:"vertical",gap:"0.75rem"},{default:n(()=>[i(e(u),{tone:"muted"},{default:n(()=>[s(d(e(o)("onboarding.servicesIntro")),1)]),_:1}),i(e(u),{tone:"muted"},{default:n(()=>[s(d(e(o)("onboarding.scanIntroBefore"))+" ",1),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[s(d(T.value||"…"),1)]),_:1}),s(". "+d(e(o)("onboarding.scanIntroAfter"))+" ",1),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[...a[10]||(a[10]=[s("lss.config.json",-1)])]),_:1}),a[13]||(a[13]=s(" (",-1)),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[...a[11]||(a[11]=[s("serviceRuntime",-1)])]),_:1}),a[14]||(a[14]=s(" / ",-1)),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[...a[12]||(a[12]=[s("servicePackaging",-1)])]),_:1}),a[15]||(a[15]=s("). ",-1))]),_:1}),$.value?(m(),p(e(c),{key:0,direction:"horizontal",justify:"center"},{default:n(()=>[i(e(Ce),{label:e(o)("onboarding.scanning")},null,8,["label"])]),_:1})):k.value.length===0?(m(),p(e(Q),{key:1,variant:"info"},{default:n(()=>[s(d(e(o)("onboarding.emptyScan"))+" ",1),i(e(u),{family:"mono",size:"sm"},{default:n(()=>[...a[16]||(a[16]=[s("npx lss register <dir>",-1)])]),_:1}),a[17]||(a[17]=s(". ",-1))]),_:1})):(m(),B(K,{key:2},[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:n(()=>[i(e(Z),{modelValue:W.value,"onUpdate:modelValue":a[7]||(a[7]=l=>W.value=l)},{default:n(()=>[s(d(e(o)("onboarding.selectAll")),1)]),_:1},8,["modelValue"]),i(e(u),{tone:"muted",size:"sm"},{default:n(()=>[s(d(e(o)("onboarding.selectedCount",{count:x.value})),1)]),_:1})]),_:1}),i(e(Ve)),i(e(c),{direction:"vertical",gap:"0.75rem"},{default:n(()=>[(m(!0),B(K,null,w(k.value,l=>(m(),p(e(c),{key:l.root,direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:n(()=>[i(e(Z),{modelValue:l.selected,"onUpdate:modelValue":r=>l.selected=r,disabled:b.value!==null},null,8,["modelValue","onUpdate:modelValue","disabled"]),i(e(c),{direction:"vertical",gap:"0.375rem"},{default:n(()=>[i(e(c),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:n(()=>[i(e(u),{weight:"semibold"},{default:n(()=>[s(d(l.name),1)]),_:2},1024),i(e(M),{tone:ve(l),variant:"soft"},{default:n(()=>[s(d(be(l)),1)]),_:2},1032,["tone"]),l.region?(m(),p(e(X),{key:0,size:"sm",variant:"soft"},{default:n(()=>[s(d(l.region),1)]),_:2},1024)):_("",!0)]),_:2},1024),i(e(u),{tone:"muted",size:"sm",family:"mono"},{default:n(()=>[s(d(l.relPath)+"/"+d(l.configFile),1)]),_:2},1024),i(e(A),{columns:3,gap:"0.5rem"},{default:n(()=>[i(e(C),{label:e(o)("onboarding.apiPortLabel"),hint:e(o)("onboarding.apiPortHint")},{default:n(()=>[i(e(z),{modelValue:l.editApiPort,"onUpdate:modelValue":r=>l.editApiPort=r,type:"number",min:"1024",max:"65535",placeholder:"3000"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"]),i(e(C),{label:e(o)("onboarding.invokePortLabel"),hint:e(o)("onboarding.invokePortHint")},{default:n(()=>[i(e(z),{modelValue:l.editInvokePort,"onUpdate:modelValue":r=>l.editInvokePort=r,type:"number",min:"1024",max:"65535",placeholder:"13000"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"]),i(e(C),{label:e(o)("onboarding.packageCommandLabel"),hint:e(o)("onboarding.packageCommandHint")},{default:n(()=>[i(e(z),{modelValue:l.editPackageCommand,"onUpdate:modelValue":r=>l.editPackageCommand=r,placeholder:"npx serverless package"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","hint"])]),_:2},1024),l.resultMessage&&l.status!=="failed"?(m(),p(e(u),{key:0,size:"sm",tone:"muted"},{default:n(()=>[s(d(l.resultMessage),1)]),_:2},1024)):_("",!0),l.resultMessage&&l.status==="failed"?(m(),p(e(M),{key:1,tone:"danger",variant:"soft"},{default:n(()=>[s(d(l.resultMessage),1)]),_:2},1024)):_("",!0),l.resultOutput?(m(),p(e(u),{key:2,size:"sm",tone:"muted",family:"mono"},{default:n(()=>[s(d(l.resultOutput),1)]),_:2},1024)):_("",!0),(m(!0),B(K,null,w([...re(l),...l.resultWarnings],r=>(m(),p(e(u),{key:r,size:"sm",tone:"muted"},{default:n(()=>[s(" ⚠ "+d(r),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)),i(e(c),{direction:"horizontal",gap:"0.5rem",justify:"space-between",wrap:""},{default:n(()=>[i(e(V),{variant:"ghost",disabled:b.value!==null,onClick:a[8]||(a[8]=l=>y.value="brand")},{default:n(()=>[s(d(e(o)("common.back")),1)]),_:1},8,["disabled"]),i(e(c),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:n(()=>[i(e(V),{variant:"outline",disabled:x.value===0||b.value!==null,loading:b.value==="install",onClick:ge},{default:n(()=>[s(d(e(o)("onboarding.installSelected")),1)]),_:1},8,["disabled","loading"]),i(e(V),{variant:"outline",disabled:x.value===0||b.value!==null,loading:b.value==="package",onClick:ce},{default:n(()=>[s(d(e(o)("onboarding.packageSelected")),1)]),_:1},8,["disabled","loading"]),i(e(V),{variant:"solid",disabled:x.value===0||b.value!==null,loading:b.value==="register",onClick:me},{default:n(()=>[s(d(pe.value),1)]),_:1},8,["disabled","loading"]),i(e(V),{variant:"outline",disabled:b.value!==null,onClick:fe},{default:n(()=>[s(d(e(o)("common.finish")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})):_("",!0)]),_:1}))}});export{Ee as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as J,m as G,a6 as Q,e as c,a1 as e,v,a7 as a,a as L,n as d,j as n,H as I,C as A,i,a0 as u,u as p,A as w,J as B,f as T,w as W,N as E,O as K,t as D,K as N,Y as U,L as X,a9 as Z,S as ee,a2 as ae,p as r,b as y,a4 as le}from"./index-BIEznsi4.js";const ne=J({__name:"OpenSearchCollectionView",props:{name:{}},emits:["back"],setup(x,{emit:z}){const f=x,H=z,{t:l}=ae(),h=r([]),_=r(!0),b=r(null),k=r(""),S=r(""),$=r("25"),C=r(!1),g=r(null),m=r(null),V=r(!1),M=y(()=>[{key:"index",label:l("opensearch.index")},{key:"docsCount",label:l("opensearch.docs"),align:"right"},{key:"health",label:l("opensearch.health")},{key:"status",label:l("common.status")}]),P=y(()=>[{key:"index",label:l("opensearch.index")},{key:"id",label:"ID"},{key:"source",label:"Source"}]),R=y(()=>[{value:"",label:l("opensearch.allIndices")},...h.value.map(s=>({value:s.index,label:s.index}))]),F=y(()=>[{value:"10",label:l("opensearch.resultsSize",{count:10})},{value:"25",label:l("opensearch.resultsSize",{count:25})},{value:"50",label:l("opensearch.resultsSize",{count:50})}]),j=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 Y(s){return s==="green"?"success":s==="yellow"?"warning":s==="red"?"danger":"neutral"}async function O(){_.value=!0;try{const s=await L.listOpenSearchIndices(f.name);h.value=s.indices,b.value=null}catch(s){b.value=s.message||l("opensearch.loadIndicesError"),h.value=[]}finally{_.value=!1}}async function q(){C.value=!0,g.value=null,V.value=!1;try{const s={size:Number($.value)};k.value&&(s.index=k.value);const o=S.value.trim();o&&(s.q=o),m.value=await L.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||l("opensearch.searchError"))}finally{C.value=!1}}return G(O),Q(()=>f.name,O),(s,o)=>(d(),c(e(v),{direction:"vertical",gap:"1rem"},{default: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(I),{size:"sm",variant:"ghost",onClick:o[0]||(o[0]=t=>H("back"))},{default:a(()=>[n(e(A),{name:"arrow-left"}),i(" "+u(e(l)("opensearch.backToCollections")),1)]),_:1}),n(e(A),{name:"aws-opensearch"}),n(e(p),{size:"lg",weight:"semibold"},{default:a(()=>[i(u(x.name),1)]),_:1}),n(e(w),{tone:"info",variant:"soft"},{default:a(()=>[i(u(e(l)(h.value.length===1?"opensearch.indexCountOne":"opensearch.indexCountOther",{count:h.value.length})),1)]),_:1})]),_:1}),n(e(I),{size:"sm",variant:"ghost",loading:_.value,onClick:O},{default:a(()=>[i(u(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),b.value?(d(),c(e(B),{key:0,variant:"danger",dismissible:"",onDismiss:o[1]||(o[1]=t=>b.value=null)},{default:a(()=>[i(u(b.value),1)]),_:1})):T("",!0),n(e(D),{variant:"outline"},{header:a(()=>[n(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(l)("opensearch.indicesTitle")),1)]),_:1})]),default:a(()=>[_.value&&!h.value.length?(d(),c(e(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[n(e(W),{label:e(l)("opensearch.loadingIndices")},null,8,["label"])]),_:1})):h.value.length?(d(),c(e(K),{key:2,columns:M.value,rows:h.value,"aria-label":e(l)("opensearch.indicesAriaLabel")},{"cell-index":a(({row:t})=>[n(e(p),{weight:"semibold"},{default:a(()=>[i(u(t.index),1)]),_:2},1024)]),"cell-docsCount":a(({row:t})=>[n(e(w),{tone:"info",variant:"soft"},{default:a(()=>[i(u(t.docsCount??0),1)]),_:2},1024)]),"cell-health":a(({row:t})=>[n(e(w),{tone:Y(String(t.health)),variant:"soft"},{default:a(()=>[i(u(t.health||"—"),1)]),_:2},1032,["tone"])]),"cell-status":a(({row:t})=>[n(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(E),{key:1,title:e(l)("opensearch.noIndicesTitle"),description:e(l)("opensearch.noIndicesDescription")},null,8,["title","description"]))]),_:1}),n(e(D),{variant:"outline"},{header:a(()=>[n(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(l)("opensearch.searchTitle")),1)]),_:1})]),default:a(()=>[n(e(v),{direction:"horizontal",gap:"1rem",align:"end"},{default:a(()=>[n(e(N),{label:e(l)("opensearch.index"),style:{flex:"1"}},{default:a(()=>[n(e(U),{modelValue:k.value,"onUpdate:modelValue":o[2]||(o[2]=t=>k.value=t),options:R.value},null,8,["modelValue","options"])]),_:1},8,["label"]),n(e(N),{label:e(l)("opensearch.query"),style:{flex:"2"}},{default:a(()=>[n(e(X),{modelValue:S.value,"onUpdate:modelValue":o[3]||(o[3]=t=>S.value=t),placeholder:e(l)("opensearch.queryPlaceholder"),onKeyup:Z(q,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),n(e(N),{label:e(l)("common.size"),style:{flex:"0.8","min-width":"8rem"}},{default:a(()=>[n(e(U),{modelValue:$.value,"onUpdate:modelValue":o[4]||(o[4]=t=>$.value=t),options:F.value},null,8,["modelValue","options"])]),_:1},8,["label"]),n(e(I),{variant:"solid",loading:C.value,onClick:q},{default:a(()=>[i(u(e(l)("common.search")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),g.value?(d(),c(e(B),{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(()=>[n(e(v),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[n(e(p),{weight:"semibold"},{default:a(()=>[i(u(e(l)("opensearch.resultsTitle")),1)]),_:1}),n(e(p),{tone:"muted",size:"xs"},{default:a(()=>[i(u(e(l)(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(()=>[j.value.length?(d(),c(e(K),{key:1,columns:P.value,rows:j.value,"aria-label":e(l)("opensearch.hitsAriaLabel")},{"cell-index":a(({row:t})=>[n(e(p),{family:"mono",style:{"font-size":"0.78rem"}},{default:a(()=>[i(u(t.index),1)]),_:2},1024)]),"cell-id":a(({row:t})=>[n(e(p),{family:"mono",style:{"font-size":"0.78rem"}},{default:a(()=>[i(u(t.id),1)]),_:2},1024)]),"cell-source":a(({row:t})=>[n(e(ee),{code:String(t.source??""),label:e(l)("opensearch.documentLabel"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])]),_:1},8,["columns","rows","aria-label"])):(d(),c(e(E),{key:0,title:e(l)("opensearch.noHitsTitle"),description:V.value?e(l)("opensearch.noHitsIndexMissing"):e(l)("opensearch.noHitsDescription")},null,8,["title","description"]))]),_:1})):T("",!0)]),_:1}))}}),se=J({__name:"OpenSearchCollectionPage",props:{name:{}},setup(x){const z=le();function f(){z.push("/opensearch")}return(H,l)=>(d(),c(ne,{name:x.name,onBack:f},null,8,["name"]))}});export{se as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as B,m as D,o as N,n as i,e as r,a1 as e,v as m,a7 as t,j as n,x as U,y as L,J as j,i as c,a0 as u,f as q,t as M,w as P,N as O,C as x,O as H,H as E,u as v,R as J,z as A,L as F,a2 as G,p as f,b as w,a as V,a4 as K}from"./index-BIEznsi4.js";const Q=B({__name:"OpenSearchCollectionsList",emits:["open"],setup(I,{emit:b}){const h=b,{t:a}=G(),d=f([]),k=f({}),g=f(!0),p=f(null),_=f("");let C=null;const T=w(()=>[{key:"name",label:a("opensearch.collection")},{key:"service",label:a("common.service")},{key:"endpoint",label:a("opensearch.endpoint")},{key:"actions",label:"",align:"right"}]),$=w(()=>d.value.map(o=>({...o,service:k.value[o.name]||""})).sort((o,s)=>o.name.localeCompare(s.name))),z=w(()=>{const o=_.value.trim().toLowerCase();return o?$.value.filter(s=>s.name.toLowerCase().includes(o)||(s.service||"").toLowerCase().includes(o)):$.value}),S=w(()=>({collections:d.value.length,services:new Set(d.value.map(o=>k.value[o.name]).filter(Boolean)).size}));async function R(){try{const[o,s]=await Promise.all([V.listOpenSearchCollections(),V.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[],collections:[]}))]);d.value=o.collections;const l={};for(const y of s.collections||[])l[y.name]=y.service;k.value=l,p.value=null}catch(o){p.value=o.message||a("opensearch.loadCollectionsError")}finally{g.value=!1}}return D(()=>{R(),C=window.setInterval(R,15e3)}),N(()=>{C&&window.clearInterval(C)}),(o,s)=>(i(),r(e(m),{direction:"vertical",gap:"1.25rem"},{default:t(()=>[n(e(U),{columns:2,gap:"1rem"},{default:t(()=>[n(e(L),{label:e(a)("opensearch.collections"),value:S.value.collections,tone:"info",loading:g.value},null,8,["label","value","loading"]),n(e(L),{label:e(a)("opensearch.owningServices"),value:S.value.services,tone:"success",loading:g.value},null,8,["label","value","loading"])]),_:1}),p.value?(i(),r(e(j),{key:0,variant:"danger",dismissible:"",onDismiss:s[0]||(s[0]=l=>p.value=null)},{default:t(()=>[c(u(p.value),1)]),_:1})):q("",!0),n(e(M),{variant:"outline"},{header:t(()=>[n(e(m),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:t(()=>[n(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[n(e(x),{name:"aws-opensearch"}),n(e(v),{weight:"semibold"},{default:t(()=>[c(u(e(a)("opensearch.listTitle")),1)]),_:1})]),_:1}),n(e(m),{direction:"horizontal",align:"center",gap:"1rem"},{default:t(()=>[n(e(F),{modelValue:_.value,"onUpdate:modelValue":s[1]||(s[1]=l=>_.value=l),placeholder:e(a)("opensearch.filterPlaceholder"),style:{"min-width":"16rem"}},null,8,["modelValue","placeholder"]),n(e(v),{tone:"muted",size:"xs"},{default:t(()=>[c(u(e(a)("opensearch.refreshHint")),1)]),_:1})]),_:1})]),_:1})]),default:t(()=>[g.value?(i(),r(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[n(e(P),{label:e(a)("opensearch.loadingCollections")},null,8,["label"])]),_:1})):$.value.length?z.value.length?(i(),r(e(H),{key:3,columns:T.value,rows:z.value,"aria-label":e(a)("opensearch.listTitle")},{"cell-name":t(({row:l})=>[n(e(v),{weight:"semibold",style:{cursor:"pointer","text-decoration":"underline","text-decoration-style":"dotted","text-underline-offset":"3px"},onClick:y=>h("open",String(l.name))},{default:t(()=>[c(u(l.name),1)]),_:2},1032,["onClick"])]),"cell-service":t(({row:l})=>[l.service?(i(),r(e(J),{key:0,to:`/services/${encodeURIComponent(String(l.service))}`,style:{"text-decoration":"none"}},{default:t(()=>[n(e(A),{size:"sm",variant:"soft",clickable:""},{default:t(()=>[c(u(l.service),1)]),_:2},1024)]),_:2},1032,["to"])):(i(),r(e(v),{key:1,tone:"muted",size:"xs"},{default:t(()=>[c(u(e(a)("opensearch.unmanaged")),1)]),_:1}))]),"cell-endpoint":t(({row:l})=>[n(e(v),{tone:"muted",family:"mono",size:"xs"},{default:t(()=>[c(u(l.endpoint),1)]),_:2},1024)]),"cell-actions":t(({row:l})=>[n(e(E),{size:"sm",variant:"soft",onClick:y=>h("open",String(l.name))},{default:t(()=>[c(u(e(a)("opensearch.browse")),1)]),_:1},8,["onClick"])]),_:1},8,["columns","rows","aria-label"])):(i(),r(e(O),{key:2,title:e(a)("opensearch.noMatchTitle"),description:e(a)("opensearch.noMatchDescription",{query:_.value})},{icon:t(()=>[n(e(x),{name:"search-x"})]),_:1},8,["title","description"])):(i(),r(e(O),{key:1,title:e(a)("opensearch.emptyTitle"),description:e(a)("opensearch.emptyDescription")},{icon:t(()=>[n(e(x),{name:"aws-opensearch"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),X=B({__name:"OpenSearchPage",setup(I){const b=K();function h(a){b.push(`/opensearch/${encodeURIComponent(a)}`)}return(a,d)=>(i(),r(Q,{onOpen:h}))}});export{X as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as de,m as fe,o as me,n as v,e as w,a1 as e,t as N,a7 as t,j as a,u as f,i as s,a0 as r,v as p,w as pe,g as z,f as O,x as oe,y as S,z as F,A as b,F as R,d as Q,s as K,B as ge,a2 as we,p as M,b as m,a as D,a4 as _e,C as y,D as ae,E as x,G as he,h as ye,R as ve,H as ce}from"./index-BIEznsi4.js";import{i as be}from"./onboarding-DQmlvyWU.js";import{e as ke}from"./resourceIcons-baecADXA.js";const xe=["viewBox","aria-label"],ze=["points"],$e=["aria-label"],Se=["x","width","fill"],Me=["d"],U=64,Be=de({__name:"ActivityPanel",setup(J){const{t:o}=we(),h=M(null),$=M(!0),_=M(null),H=M(12e4);let C=null;const V=m(()=>[{value:"60000",label:o("activity.window1m")},{value:"120000",label:o("activity.window2m")},{value:"600000",label:o("activity.window10m")}]),q=m({get:()=>String(H.value),set:l=>{H.value=Number(l),P()}});async function P(){try{h.value=await D.getActivity(H.value),_.value=null}catch(l){_.value=l instanceof Error?l.message:o("activity.loadFailed")}finally{$.value=!1}}const k=m(()=>{var l;return(l=h.value)==null?void 0:l.totals}),E=m(()=>{var l;return(l=h.value)==null?void 0:l.residency}),B=m(()=>{var l;return(l=h.value)==null?void 0:l.host}),ne=m(()=>{const l=B.value;return!l||!l.totalMemBytes?0:Math.round((l.totalMemBytes-l.freeMemBytes)/l.totalMemBytes*100)}),le=m(()=>{const l=B.value;return!l||!l.cpuCount?0:Math.round(l.loadAvg1m/l.cpuCount*100)}),X=m(()=>{var l;return(((l=h.value)==null?void 0:l.workers)??[]).filter(c=>c.warm)}),ie=m(()=>{var g;const l=((g=h.value)==null?void 0:g.spans)??[],c=new Map;for(const n of l){const u=c.get(n.service)??[];u.push(n),c.set(n.service,u)}return[...c.entries()].map(([n,u])=>({service:n,spans:u,lastAt:Math.max(...u.map(i=>i.startedAt+i.durationMs))})).sort((n,u)=>u.lastAt-n.lastAt)}),W=m(()=>{var c;const l=((c=h.value)==null?void 0:c.buckets)??[];return l.length>0?l[0].at:0}),G=m(()=>{var l;return W.value+(((l=h.value)==null?void 0:l.windowMs)??0)});function L(l){const c=G.value-W.value||1;return Y((l-W.value)/c*100,0,100)}function re(l,c){const g=L(l+c);return Math.max(g-L(l),.4)}function Y(l,c,g){return Math.min(g,Math.max(c,l))}const Z=m(()=>{var u;const l=((u=h.value)==null?void 0:u.buckets)??[];if(l.length===0)return"";const c=Math.max(1,...l.map(i=>i.peak)),g=100/l.length,n=["0,"+U];return l.forEach((i,d)=>{const A=U-i.peak/c*U;n.push(`${(d*g).toFixed(2)},${A.toFixed(2)}`),n.push(`${((d+1)*g).toFixed(2)},${A.toFixed(2)}`)}),n.push("100,"+U),n.join(" ")}),I=m(()=>{var l;return Math.max(1,...(((l=h.value)==null?void 0:l.buckets)??[]).map(c=>c.peak))});function T(l){if(!l)return"—";const c=l/1024/1024;return c>=1024?`${(c/1024).toFixed(1)} GB`:`${Math.round(c)} MB`}function j(l){return l===void 0?"—":l>=1e3?`${(l/1e3).toFixed(1)} s`:`${Math.round(l)} ms`}function se(l){const c=[l.functionName,j(l.durationMs)];return l.ok||c.push(o("activity.failed")),l.coldStart&&c.push(o("activity.coldStart")),c.join(" · ")}return fe(()=>{P(),C=window.setInterval(P,5e3)}),me(()=>{C&&window.clearInterval(C)}),(l,c)=>(v(),w(e(N),{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 g;return[a(e(f),{weight:"semibold"},{default:t(()=>[s(r(e(o)("activity.title")),1)]),_:1}),a(e(b),{tone:(((g=k.value)==null?void 0:g.activeNow)??0)>0?"success":"neutral",variant:"soft"},{default:t(()=>{var n;return[s(r(e(o)("activity.inFlight",{count:((n=k.value)==null?void 0:n.activeNow)??0})),1)]}),_:1},8,["tone"])]}),_:1}),a(e(ge),{modelValue:q.value,"onUpdate:modelValue":c[0]||(c[0]=g=>q.value=g),options:V.value,size:"sm"},null,8,["modelValue","options"])]),_:1})]),default:t(()=>[a(e(p),{direction:"vertical",gap:"1rem"},{default:t(()=>{var g;return[a(e(f),{tone:"muted",size:"sm"},{default:t(()=>[s(r(e(o)("activity.description")),1)]),_:1}),$.value?(v(),w(e(p),{key:0,direction:"horizontal",justify:"center"},{default:t(()=>[a(e(pe),{label:e(o)("common.loading")},null,8,["label"])]),_:1})):(v(),z(R,{key:1},[_.value?(v(),w(e(f),{key:0,tone:"muted",size:"sm"},{default:t(()=>[s("⚠ "+r(_.value),1)]),_:1})):O("",!0),a(e(oe),{columns:4,gap:"0.75rem"},{default:t(()=>{var n,u,i,d,A,ee,te,ue;return[a(e(S),{label:e(o)("activity.workersWarm"),value:`${((n=E.value)==null?void 0:n.warm)??0} / ${((u=E.value)==null?void 0:u.maxWarmWorkers)??0}`,hint:e(o)("activity.workersWarmHint")},null,8,["label","value","hint"]),a(e(S),{label:e(o)("activity.peakConcurrency"),value:String(((i=k.value)==null?void 0:i.peakConcurrency)??0),hint:e(o)("activity.peakConcurrencyHint")},null,8,["label","value","hint"]),a(e(S),{label:e(o)("activity.hostMemory"),value:`${ne.value}%`,hint:e(o)("activity.hostMemoryHint",{used:T((((d=B.value)==null?void 0:d.totalMemBytes)??0)-(((A=B.value)==null?void 0:A.freeMemBytes)??0)),total:T((ee=B.value)==null?void 0:ee.totalMemBytes)})},null,8,["label","value","hint"]),a(e(S),{label:e(o)("activity.hostLoad"),value:`${le.value}%`,hint:e(o)("activity.hostLoadHint",{load:(((te=B.value)==null?void 0:te.loadAvg1m)??0).toFixed(2),cpus:((ue=B.value)==null?void 0:ue.cpuCount)??0})},null,8,["label","value","hint"])]}),_:1}),a(e(p),{direction:"horizontal",gap:"0.75rem",align:"center",wrap:""},{default:t(()=>{var n,u;return[a(e(F),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(o)("activity.stackRss",{value:T((i=B.value)==null?void 0:i.rssBytes)})),1)]}),_:1}),a(e(F),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(o)("activity.invocations",{count:((i=k.value)==null?void 0:i.invocations)??0})),1)]}),_:1}),a(e(F),{size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(o)("activity.avgDuration",{value:j((i=k.value)==null?void 0:i.avgDurationMs)})),1)]}),_:1}),(((n=k.value)==null?void 0:n.coldStarts)??0)>0?(v(),w(e(F),{key:0,size:"sm",variant:"soft"},{default:t(()=>{var i;return[s(r(e(o)("activity.coldStarts",{count:((i=k.value)==null?void 0:i.coldStarts)??0})),1)]}),_:1})):O("",!0),(((u=k.value)==null?void 0:u.errors)??0)>0?(v(),w(e(b),{key:1,tone:"danger",variant:"soft"},{default:t(()=>{var i;return[s(" ✕ "+r(e(o)("activity.errors",{count:((i=k.value)==null?void 0:i.errors)??0})),1)]}),_:1})):O("",!0)]}),_:1}),(((g=k.value)==null?void 0:g.invocations)??0)===0?(v(),w(e(f),{key:1,tone:"muted",size:"sm"},{default:t(()=>[s(r(e(o)("activity.empty")),1)]),_:1})):(v(),z(R,{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(f),{size:"sm",weight:"semibold"},{default:t(()=>[s(r(e(o)("activity.parallelism")),1)]),_:1}),a(e(f),{size:"sm",tone:"muted"},{default:t(()=>[s(r(e(o)("activity.peakLabel",{peak:I.value})),1)]),_:1})]),_:1}),(v(),z("svg",{viewBox:`0 0 100 ${U}`,preserveAspectRatio:"none",role:"img","aria-label":e(o)("activity.parallelismAria",{peak:I.value}),style:{width:"100%",height:"64px"}},[Q("polygon",{points:Z.value,fill:"var(--tree-color-chart-1)","fill-opacity":"0.28",stroke:"var(--tree-color-chart-1)","stroke-width":"2","vector-effect":"non-scaling-stroke"},null,8,ze)],8,xe))]),_:1}),a(e(p),{direction:"vertical",gap:"0.25rem"},{default:t(()=>[a(e(f),{size:"sm",weight:"semibold"},{default:t(()=>[s(r(e(o)("activity.timeline")),1)]),_:1}),(v(!0),z(R,null,K(ie.value,n=>(v(),w(e(p),{key:n.service,direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(f),{size:"sm",tone:"muted",family:"mono",style:{"min-width":"9rem"}},{default:t(()=>[s(r(n.service),1)]),_:2},1024),(v(),z("svg",{viewBox:"0 0 100 10",preserveAspectRatio:"none",role:"img","aria-label":e(o)("activity.laneAria",{service:n.service,count:n.spans.length}),style:{width:"100%",height:"14px"}},[c[1]||(c[1]=Q("rect",{x:"0",y:"4",width:"100",height:"2",fill:"var(--tree-color-border-default)"},null,-1)),(v(!0),z(R,null,K(n.spans,(u,i)=>(v(),z("g",{key:i},[Q("rect",{x:L(u.startedAt),y:"1",width:re(u.startedAt,u.durationMs),height:"8",rx:"1",fill:u.ok?"var(--tree-color-chart-1)":"var(--tree-color-status-error)"},[Q("title",null,r(se(u)),1)],8,Se),u.ok?O("",!0):(v(),z("path",{key:0,d:`M ${L(u.startedAt)} 0 L ${L(u.startedAt)+1.2} 10`,stroke:"var(--tree-color-status-error)","stroke-width":"2","vector-effect":"non-scaling-stroke"},null,8,Me))]))),128))],8,$e))]),_:2},1024))),128)),a(e(p),{direction:"horizontal",justify:"space-between"},{default:t(()=>[a(e(f),{size:"sm",tone:"muted"},{default:t(()=>{var n;return[s(r(e(o)("activity.axisStart",{value:j((n=h.value)==null?void 0:n.windowMs)})),1)]}),_:1}),a(e(f),{size:"sm",tone:"muted"},{default:t(()=>[s(r(e(o)("activity.axisNow")),1)]),_:1})]),_:1})]),_:1}),X.value.length?(v(),w(e(p),{key:0,direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[(v(!0),z(R,null,K(X.value,n=>(v(),w(e(F),{key:n.service,size:"sm",variant:"soft"},{default:t(()=>[s(r(n.service)+" · "+r(e(o)("activity.workerPid",{pid:n.pid??0})),1)]),_:2},1024))),128))]),_:1})):O("",!0)],64))],64))]}),_:1})]),_:1}))}}),Pe={style:{"max-width":"70ch","line-height":"1.55"}},Ae=de({__name:"OverviewPage",setup(J){const{t:o}=we(),h=_e(),$=M(null),_=M(null),H=M([]),C=M([]),V=M([]),q=M([]),P=M({tables:[],queues:[],topics:[],buckets:[],collections:[]}),k=M(!0);let E=null;async function B(){try{const[n,u,i,d,A,ee,te]=await Promise.all([D.checkHealth(),D.getConfig(),D.listServices(),D.listResources(),D.listLambdas().catch(()=>[]),D.listApis().catch(()=>[]),D.getPorts().catch(()=>({ports:[]}))]);$.value=n,_.value=u,C.value=i,P.value=d,V.value=A,q.value=ee,H.value=te.ports}catch(n){console.error("Overview load failed:",n)}finally{k.value=!1}}const ne=m(()=>C.value.filter(n=>n.status==="running").length),le=m(()=>C.value.length),X=m(()=>V.value.filter(n=>n.status==="online").length),ie=m(()=>V.value.length),W=m(()=>q.value.reduce((n,u)=>n+u.routes.length,0)),G=m(()=>{var n;return((n=$.value)==null?void 0:n.engineRunning)??!1}),L=m(()=>G.value?"success":"danger"),re=m(()=>{var n,u;return((u=(n=$.value)==null?void 0:n.engine)==null?void 0:u.services)??[]}),Y=m(()=>re.value.map(n=>({id:n,icon:ke(n)}))),Z=m(()=>{var n,u;return!!((u=(n=$.value)==null?void 0:n.dynamoProxy)!=null&&u.enabled)}),I=m(()=>{var n,u;return!!((u=(n=$.value)==null?void 0:n.dynamoProxy)!=null&&u.running)}),T=m(()=>{var n;return!!((n=_.value)!=null&&n.autoPackage)}),j=m(()=>{var n;return!!((n=_.value)!=null&&n.persistence)}),se={orchestrator:"info",engine:"success",proxy:"warning","service-api":"info","service-invoke":"neutral"},l={orchestrator:"overview.portKindOrchestrator",engine:"overview.portKindEngine",proxy:"overview.portKindProxy","service-api":"overview.portKindServiceApi","service-invoke":"overview.portKindServiceInvoke"};function c(n){return o(l[n])}const g=m(()=>[{type:o("overview.coveredSnsTitle"),description:o("overview.coveredSnsDescription"),status:"covered",to:null,icon:"aws-sns"},{type:o("overview.coveredSqsTitle"),description:o("overview.coveredSqsDescription"),status:"covered",to:"/queues",icon:"aws-sqs"},{type:o("overview.coveredDynamoTitle"),description:o("overview.coveredDynamoDescription"),status:"covered",to:"/dynamo",icon:"aws-dynamodb"},{type:o("overview.coveredS3Title"),description:o("overview.coveredS3Description"),status:"covered",to:"/buckets",icon:"aws-s3"}]);return fe(async()=>{if(await B(),C.value.length===0&&!be()){h.push("/onboarding");return}E=window.setInterval(B,15e3)}),me(()=>{E&&window.clearInterval(E)}),(n,u)=>(v(),w(e(p),{direction:"vertical",gap:"1.5rem"},{default:t(()=>[a(e(N),{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(y),{name:"zap"}),a(e(p),{direction:"vertical",gap:"0.125rem"},{default:t(()=>[a(e(f),{size:"xl",weight:"semibold"},{default:t(()=>[...u[0]||(u[0]=[s("Local Serverless Stack",-1)])]),_:1}),a(e(f),{tone:"muted"},{default:t(()=>[s(r(e(o)("overview.heroTagline")),1)]),_:1})]),_:1})]),_:1}),Q("p",Pe,r(e(o)("overview.heroParagraph")),1),a(e(p),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[a(e(b),{tone:L.value,variant:"soft"},{default:t(()=>[s(r(G.value?e(o)("overview.engineBadgeRunning"):e(o)("overview.engineBadgeOffline")),1)]),_:1},8,["tone"]),Z.value?(v(),w(e(b),{key:0,tone:I.value?"success":"warning",variant:"soft"},{default:t(()=>[s(r(I.value?e(o)("overview.proxyBadgeOn"):e(o)("overview.proxyBadgeNotListening")),1)]),_:1},8,["tone"])):(v(),w(e(b),{key:1,tone:"neutral",variant:"soft"},{default:t(()=>[s(r(e(o)("overview.proxyBadgeOff")),1)]),_:1})),a(e(b),{tone:T.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(e(o)("overview.autoPackage"))+" "+r(T.value?e(o)("overview.on"):e(o)("overview.off")),1)]),_:1},8,["tone"]),a(e(b),{tone:j.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(e(o)("overview.persistence"))+" "+r(j.value?e(o)("overview.on"):e(o)("overview.off")),1)]),_:1},8,["tone"])]),_:1})]),_:1})]),_:1}),a(Be),k.value&&!$.value?(v(),w(e(p),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(pe),{label:e(o)("overview.loading")},null,8,["label"])]),_:1})):(v(),z(R,{key:1},[a(e(oe),{columns:2,gap:"1rem"},{default:t(()=>[a(e(N),{variant:"outline"},{header:t(()=>[a(e(f),{weight:"semibold"},{default:t(()=>[s(r(e(o)("overview.serverStatus")),1)]),_:1})]),default:t(()=>[a(e(ae),null,{default:t(()=>[a(e(x),{label:e(o)("overview.selfEngine")},{default:t(()=>[a(e(b),{tone:L.value,variant:"soft"},{default:t(()=>[s(r(G.value?e(o)("overview.running"):e(o)("overview.offline")),1)]),_:1},8,["tone"])]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.endpoint")},{default:t(()=>[a(e(f),{family:"mono"},{default:t(()=>{var i,d;return[s(r(((d=(i=_.value)==null?void 0:i.engine)==null?void 0:d.endpoint)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.runsIn")},{default:t(()=>[a(e(F),{size:"sm",variant:"soft"},{default:t(()=>[s(r(e(o)("overview.runsInValue")),1)]),_:1})]),_:1},8,["label"])]),_:1}),a(e(he)),a(e(ae),null,{default:t(()=>[a(e(x),{label:e(o)("overview.dynamoProxy")},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.375rem",align:"center"},{default:t(()=>[Z.value?(v(),w(e(b),{key:0,tone:I.value?"success":"warning",variant:"soft"},{default:t(()=>{var i,d;return[s(r(I.value?e(o)("overview.proxyListening",{port:((d=(i=$.value)==null?void 0:i.dynamoProxy)==null?void 0:d.port)??""}):e(o)("overview.proxyEnabledNotListening")),1)]}),_:1},8,["tone"])):(v(),w(e(b),{key:1,tone:"neutral",variant:"soft"},{default:t(()=>[s(r(e(o)("common.disabled")),1)]),_:1}))]),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.autoPackage")},{default:t(()=>[a(e(b),{tone:T.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(T.value?e(o)("overview.on"):e(o)("overview.off")),1)]),_:1},8,["tone"])]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.persistence")},{default:t(()=>[a(e(b),{tone:j.value?"info":"neutral",variant:"soft"},{default:t(()=>[s(r(j.value?e(o)("overview.on"):e(o)("overview.off")),1)]),_:1},8,["tone"])]),_:1},8,["label"])]),_:1})]),_:1}),a(e(N),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(f),{weight:"semibold"},{default:t(()=>[s(r(e(o)("overview.lssConfiguration")),1)]),_:1}),a(e(ve),{to:"/settings",style:{"text-decoration":"none"}},{default:t(()=>[a(e(ce),{size:"sm",variant:"ghost"},{default:t(()=>[s(r(e(o)("overview.edit"))+" ",1),a(e(y),{name:"arrow-right"})]),_:1})]),_:1})]),_:1})]),default:t(()=>[a(e(ae),null,{default:t(()=>{var i;return[a(e(x),{label:e(o)("overview.engine")},{default:t(()=>[a(e(F),{size:"sm",variant:"soft"},{default:t(()=>{var d,A;return[s(r(((A=(d=_.value)==null?void 0:d.engine)==null?void 0:A.kind)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.defaultRegion")},{default:t(()=>[a(e(f),{family:"mono"},{default:t(()=>{var d;return[s(r(((d=_.value)==null?void 0:d.region)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.serverPort")},{default:t(()=>[a(e(f),{family:"mono"},{default:t(()=>{var d;return[s(r(((d=_.value)==null?void 0:d.serverPort)||"—"),1)]}),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.emulatedServices")},{default:t(()=>[a(e(p),{direction:"horizontal",gap:"0.25rem",wrap:"",justify:"flex-end"},{default:t(()=>[(v(!0),z(R,null,K(Y.value,d=>(v(),w(e(F),{key:d.id,size:"sm",variant:"soft"},ye({default:t(()=>[s(" "+r(d.id),1)]),_:2},[d.icon?{name:"icon",fn:t(()=>[a(e(y),{name:d.icon},null,8,["name"])]),key:"0"}:void 0]),1024))),128)),Y.value.length?O("",!0):(v(),w(e(f),{key:0,tone:"muted"},{default:t(()=>[...u[1]||(u[1]=[s("—",-1)])]),_:1}))]),_:1})]),_:1},8,["label"]),a(e(x),{label:e(o)("overview.seedsDir")},{default:t(()=>[a(e(f),{family:"mono",size:"xs"},{default:t(()=>{var d;return[s(r(((d=_.value)==null?void 0:d.seedsDir)||"—"),1)]}),_:1})]),_:1},8,["label"]),(i=_.value)!=null&&i.configPath?(v(),w(e(x),{key:0,label:e(o)("overview.configFile")},{default:t(()=>[a(e(f),{family:"mono",size:"xs"},{default:t(()=>[s(r(_.value.configPath),1)]),_:1})]),_:1},8,["label"])):O("",!0)]}),_:1})]),_:1})]),_:1}),a(e(N),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(f),{weight:"semibold"},{default:t(()=>[s(r(e(o)("overview.exposedPorts")),1)]),_:1}),a(e(f),{tone:"muted",size:"xs"},{default:t(()=>[s(r(e(o)("overview.exposedPortsHint")),1)]),_:1})]),_:1})]),default:t(()=>[H.value.length?(v(),w(e(ae),{key:0},{default:t(()=>[(v(!0),z(R,null,K(H.value,i=>(v(),w(e(x),{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(f),{tone:"muted",size:"xs"},{default:t(()=>[s(r(i.description),1)]),_:2},1024),a(e(b),{tone:se[i.kind],variant:"soft"},{default:t(()=>[s(r(c(i.kind)),1)]),_:2},1032,["tone"]),a(e(f),{family:"mono",size:"sm"},{default:t(()=>[s(r(i.url),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})):(v(),w(e(f),{key:1,tone:"muted",size:"sm"},{default:t(()=>[s(r(e(o)("overview.noPorts")),1)]),_:1}))]),_:1}),a(e(oe),{columns:5,gap:"1rem"},{default:t(()=>{var i;return[a(e(S),{label:e(o)("overview.statServicesRunning"),value:`${ne.value} / ${le.value}`,tone:"success"},{icon:t(()=>[a(e(y),{name:"boxes"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statLambdasOnline"),value:`${X.value} / ${ie.value}`,tone:"success"},{icon:t(()=>[a(e(y),{name:"aws-lambda"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statApiRoutes"),value:W.value,tone:"info"},{icon:t(()=>[a(e(y),{name:"aws-api-gateway"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statDynamoTables"),value:P.value.tables.length,tone:"info"},{icon:t(()=>[a(e(y),{name:"aws-dynamodb"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statSqsQueues"),value:P.value.queues.length,tone:"warning"},{icon:t(()=>[a(e(y),{name:"aws-sqs"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statSnsTopics"),value:P.value.topics.length,tone:"info"},{icon:t(()=>[a(e(y),{name:"aws-sns"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statS3Buckets"),value:P.value.buckets.length,tone:"neutral"},{icon:t(()=>[a(e(y),{name:"aws-s3"})]),_:1},8,["label","value"]),a(e(S),{label:e(o)("overview.statOpenSearchCollections"),value:((i=P.value.collections)==null?void 0:i.length)??0,tone:"info"},{icon:t(()=>[a(e(y),{name:"aws-opensearch"})]),_:1},8,["label","value"])]}),_:1}),a(e(N),{variant:"outline"},{header:t(()=>[a(e(p),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(f),{weight:"semibold"},{default:t(()=>[s(r(e(o)("overview.whatsCovered")),1)]),_:1}),a(e(f),{tone:"muted",size:"xs"},{default:t(()=>[s(r(e(o)("overview.whatsCoveredHint")),1)]),_:1})]),_:1})]),default:t(()=>[a(e(oe),{columns:2,gap:"0.75rem"},{default:t(()=>[(v(!0),z(R,null,K(g.value,i=>(v(),w(e(N),{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(y),{name:i.icon},null,8,["name"]),a(e(f),{weight:"semibold"},{default:t(()=>[s(r(i.type),1)]),_:2},1024),a(e(b),{tone:i.status==="covered"?"success":"neutral",variant:"soft"},{icon:t(()=>[a(e(y),{name:i.status==="covered"?"check":"clock"},null,8,["name"])]),default:t(()=>[s(" "+r(i.status==="covered"?e(o)("overview.supported"):e(o)("overview.planned")),1)]),_:2},1032,["tone"])]),_:2},1024),a(e(f),{tone:"muted",size:"sm"},{default:t(()=>[s(r(i.description),1)]),_:2},1024)]),_:2},1024),i.to?(v(),w(e(ve),{key:0,to:i.to,style:{"text-decoration":"none"}},{default:t(()=>[a(e(ce),{size:"sm",variant:"ghost"},{default:t(()=>[s(r(e(o)("overview.open"))+" ",1),a(e(y),{name:"arrow-right"})]),_:1})]),_:1},8,["to"])):O("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})],64))]),_:1}))}}),Re=(J,o)=>{const h=J.__vccOpts||J;for(const[$,_]of o)h[$]=_;return h},je=Re(Ae,[["__scopeId","data-v-9ccec347"]]);export{je as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as se,n as r,e as c,a1 as e,v as m,a7 as t,j as a,t as U,K as I,X as Ve,L as T,f as q,u as v,i,a0 as s,H as h,g as S,F as D,s as G,Y as Ie,A as C,J as ue,w as ie,N as oe,O as Se,d as Z,aa as xe,C as ee,G as Ce,S as Ae,T as Me,a2 as re,p as b,b as J,a as H,c as de,m as Ne,o as Te,a6 as De,y as X,x as Ue,U as je,V as te,W as ae,D as ne,E as le,z as Y,_ as Fe,Z as Be,a3 as Oe,a4 as me}from"./index-BIEznsi4.js";const Pe=["onClick"],Re={key:0,style:{padding:"0.75rem 1rem","border-top":"1px solid var(--tree-color-border, #e5e7eb)"}},Qe={key:0},He=se({__name:"QueueSendReceivePanel",props:{queue:{}},emits:["refresh"],setup(P,{emit:L}){const{t:l}=re(),k=P,j=L,w=de(),F=b(""),R=b(0),f=b("default"),x=b(""),$=b([]),A=b(!1),M=b(null),N=b(null),Q=b(10),z=b(0),E=b(0),y=b([]),B=b(!1),d=b(null),g=b({}),p=b(!1),W=b(!1),K=b({}),fe=[{value:"String",label:"String"},{value:"Number",label:"Number"},{value:"Binary",label:"Binary"}],O=J(()=>k.queue.fifo),ce=J(()=>[{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=J(()=>y.value.map((o,n)=>{var u;return{__id:n,__raw:o,messageId:o.messageId||"—",preview:ge(o.body),sentAt:pe((u=o.attributes)==null?void 0:u.SentTimestamp),attrs:o.messageAttributes?Object.keys(o.messageAttributes).length:0}}));function ge(o){if(!o)return"—";const n=o.replace(/\s+/g," ").trim();return n.length>80?`${n.slice(0,80)}…`:n}function pe(o){if(!o)return"—";const n=Number(o);return n?new Date(n).toLocaleString():"—"}function be(){$.value.push({name:"",type:"String",value:""})}function ye(o){$.value.splice(o,1)}function qe(o){if(!o)return"";const n=o.trim();if(!(n.startsWith("{")||n.startsWith("[")))return o;try{return JSON.stringify(JSON.parse(n),null,2)}catch{return o}}function _e(o){K.value[o]=!K.value[o]}async function he(){if(!F.value.trim()){M.value=l("queues.bodyRequired");return}A.value=!0,M.value=null;try{const o=$.value.filter(u=>u.name.trim()),n=await H.sendQueueMessage(k.queue.name,{body:F.value,delaySeconds:O.value?void 0:R.value||void 0,messageAttributes:o.length?o:void 0,messageGroupId:O.value?f.value||"default":void 0,messageDeduplicationId:O.value&&x.value?x.value:void 0});N.value={messageId:n.messageId,sequenceNumber:n.sequenceNumber},w.add({title:l("queues.messageSent"),description:n.messageId,variant:"success"}),j("refresh")}catch(o){M.value=o.message||l("queues.sendFailed")}finally{A.value=!1}}async function ke(){B.value=!0,d.value=null;try{const o=await H.receiveQueueMessages(k.queue.name,{maxNumberOfMessages:Q.value,visibilityTimeout:E.value,waitTimeSeconds:z.value});y.value=o.messages,o.messages.length||w.add({title:l("queues.noMessagesAvailable"),description:l("queues.noMessagesAvailableDescription"),variant:"info"}),j("refresh")}catch(o){d.value=o.message||l("queues.pollFailed")}finally{B.value=!1}}async function we(o){if(!(!o.receiptHandle||!o.messageId)){g.value[o.messageId]=!0;try{await H.deleteQueueMessage(k.queue.name,o.receiptHandle),y.value=y.value.filter(n=>n.messageId!==o.messageId),w.add({title:l("queues.messageDeleted"),variant:"success"}),j("refresh")}catch(n){w.add({title:l("queues.deleteFailed"),description:n.message,variant:"danger"})}finally{delete g.value[o.messageId]}}}async function $e(){W.value=!0;try{await H.purgeQueue(k.queue.name),y.value=[],w.add({title:l("queues.queuePurged"),description:l("queues.queuePurgedDescription"),variant:"warning"}),j("refresh")}catch(o){w.add({title:l("queues.purgeFailed"),description:o.message,variant:"danger"})}finally{W.value=!1,p.value=!1}}function ze(o){var n;(n=navigator.clipboard)==null||n.writeText(o).then(()=>{w.add({title:l("queues.copiedToClipboard"),variant:"info"})})}return(o,n)=>(r(),c(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(U),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.sendMessageTitle")),1)]),_:1}),O.value?(r(),c(e(C),{key:0,tone:"info",variant:"soft"},{default:t(()=>[...n[13]||(n[13]=[i("FIFO",-1)])]),_:1})):q("",!0)]),_: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(h),{variant:"solid",loading:A.value,onClick:he},{default:t(()=>[i(s(e(l)("queues.sendMessage")),1)]),_:1},8,["loading"]),a(e(h),{variant:"ghost",disabled:A.value,onClick:n[4]||(n[4]=u=>F.value="")},{default:t(()=>[i(s(e(l)("queues.clear")),1)]),_:1},8,["disabled"])]),_:1}),N.value?(r(),c(e(v),{key:0,tone:"muted",family:"mono",size:"xs"},{default:t(()=>[i(s(e(l)("queues.lastSent"))+" "+s(N.value.messageId)+" ",1),N.value.sequenceNumber?(r(),S(D,{key:0},[i(" · seq "+s(N.value.sequenceNumber),1)],64)):q("",!0)]),_:1})):q("",!0)]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.75rem"},{default:t(()=>[a(e(I),{label:e(l)("queues.messageBody"),hint:e(l)("queues.messageBodyHint")},{default:t(()=>[a(e(Ve),{modelValue:F.value,"onUpdate:modelValue":n[0]||(n[0]=u=>F.value=u),rows:6,placeholder:'{"event": "order.created", "orderId": "abc-123"}'},null,8,["modelValue"])]),_:1},8,["label","hint"]),a(e(m),{direction:"horizontal",gap:"1rem"},{default:t(()=>[O.value?q("",!0):(r(),c(e(I),{key:0,label:e(l)("queues.delayLabel"),hint:"0–900",style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:R.value,"onUpdate:modelValue":n[1]||(n[1]=u=>R.value=u),modelModifiers:{number:!0},type:"number",min:"0",max:"900"},null,8,["modelValue"])]),_:1},8,["label"])),O.value?(r(),c(e(I),{key:1,label:"MessageGroupId",hint:e(l)("queues.groupIdHint"),style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:f.value,"onUpdate:modelValue":n[2]||(n[2]=u=>f.value=u),placeholder:"default"},null,8,["modelValue"])]),_:1},8,["hint"])):q("",!0),O.value?(r(),c(e(I),{key:2,label:"MessageDeduplicationId",hint:e(l)("queues.dedupIdHint"),style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:x.value,"onUpdate:modelValue":n[3]||(n[3]=u=>x.value=u),placeholder:"auto"},null,8,["modelValue"])]),_:1},8,["hint"])):q("",!0)]),_:1}),a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(m),{direction:"horizontal",justify:"space-between",align:"center"},{default:t(()=>[a(e(v),{weight:"semibold",size:"sm"},{default:t(()=>[i(s(e(l)("queues.messageAttributesOptional")),1)]),_:1}),a(e(h),{size:"sm",variant:"outline",onClick:be},{default:t(()=>[i(s(e(l)("queues.addAttribute")),1)]),_:1})]),_:1}),(r(!0),S(D,null,G($.value,(u,V)=>(r(),c(e(m),{key:`a-${V}`,direction:"horizontal",gap:"0.5rem",align:"end"},{default:t(()=>[a(e(I),{label:e(l)("common.name"),style:{flex:"1.4"}},{default:t(()=>[a(e(T),{modelValue:u.name,"onUpdate:modelValue":_=>u.name=_,placeholder:"contentType"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"]),a(e(I),{label:e(l)("common.type"),style:{flex:"0.9"}},{default:t(()=>[a(e(Ie),{modelValue:u.type,"onUpdate:modelValue":_=>u.type=_,options:fe},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"]),a(e(I),{label:e(l)("queues.value"),style:{flex:"2"}},{default:t(()=>[a(e(T),{modelValue:u.value,"onUpdate:modelValue":_=>u.value=_,placeholder:"application/json"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"]),a(e(h),{size:"sm",variant:"outline",onClick:_=>ye(V)},{default:t(()=>[i(s(e(l)("queues.remove")),1)]),_:1},8,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),M.value?(r(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:n[5]||(n[5]=u=>M.value=null)},{default:t(()=>[i(s(M.value),1)]),_:1})):q("",!0),a(e(U),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.pollTitle")),1)]),_:1}),a(e(C),{tone:"warning",variant:"soft"},{default:t(()=>[i(s(e(l)("queues.visibilityNotice")),1)]),_: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"},{default:t(()=>[a(e(h),{variant:"solid",loading:B.value,onClick:ke},{default:t(()=>[i(s(e(l)("queues.pollMessages")),1)]),_:1},8,["loading"]),a(e(h),{variant:"ghost",disabled:!y.value.length,onClick:n[9]||(n[9]=u=>y.value=[])},{default:t(()=>[i(s(e(l)("queues.clearResults")),1)]),_:1},8,["disabled"])]),_:1}),a(e(h),{size:"sm",variant:"outline",tone:"danger",onClick:n[10]||(n[10]=u=>p.value=!0)},{default:t(()=>[i(s(e(l)("queues.purgeQueue")),1)]),_:1})]),_:1})]),default:t(()=>[a(e(m),{direction:"horizontal",gap:"1rem"},{default:t(()=>[a(e(I),{label:e(l)("queues.maxMessages"),hint:"1–10",style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:Q.value,"onUpdate:modelValue":n[6]||(n[6]=u=>Q.value=u),modelModifiers:{number:!0},type:"number",min:"1",max:"10"},null,8,["modelValue"])]),_:1},8,["label"]),a(e(I),{label:e(l)("queues.visibilityTimeoutSeconds"),hint:e(l)("queues.visibilityTimeoutHint"),style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:E.value,"onUpdate:modelValue":n[7]||(n[7]=u=>E.value=u),modelModifiers:{number:!0},type:"number",min:"0"},null,8,["modelValue"])]),_:1},8,["label","hint"]),a(e(I),{label:e(l)("queues.waitTime"),hint:e(l)("queues.waitTimeHint"),style:{flex:"1"}},{default:t(()=>[a(e(T),{modelValue:z.value,"onUpdate:modelValue":n[8]||(n[8]=u=>z.value=u),modelModifiers:{number:!0},type:"number",min:"0",max:"20"},null,8,["modelValue"])]),_:1},8,["label","hint"])]),_:1})]),_:1}),d.value?(r(),c(e(ue),{key:1,variant:"danger",dismissible:"",onDismiss:n[11]||(n[11]=u=>d.value=null)},{default:t(()=>[i(s(d.value),1)]),_:1})):q("",!0),a(e(U),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.receivedMessages",{count:y.value.length})),1)]),_:1}),a(e(v),{tone:"muted",size:"xs"},{default:t(()=>[i(s(e(l)("queues.clickRowHint")),1)]),_:1})]),_:1})]),default:t(()=>[B.value&&!y.value.length?(r(),c(e(m),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(ie),{label:e(l)("queues.polling")},null,8,["label"])]),_:1})):y.value.length?(r(),c(e(Se),{key:2,columns:ce.value,rows:ve.value,"aria-label":e(l)("queues.receivedMessagesAria")},{"cell-preview":t(({row:u})=>[Z("a",{href:"#",style:{"text-decoration":"none"},onClick:xe(V=>_e(String(u.messageId)),["prevent"])},[a(e(v),{family:"mono",size:"sm"},{default:t(()=>[a(e(ee),{name:K.value[String(u.messageId)]?"chevron-down":"chevron-right"},null,8,["name"]),i(" "+s(u.preview),1)]),_:2},1024)],8,Pe)]),"cell-messageId":t(({row:u})=>[a(e(v),{family:"mono",size:"xs"},{default:t(()=>[i(s(u.messageId),1)]),_:2},1024)]),"cell-sentAt":t(({row:u})=>[a(e(v),{tone:"muted",size:"xs"},{default:t(()=>[i(s(u.sentAt),1)]),_:2},1024)]),"cell-attrs":t(({row:u})=>[Number(u.attrs)>0?(r(),c(e(C),{key:0,tone:"info",variant:"soft"},{default:t(()=>[i(s(u.attrs),1)]),_:2},1024)):(r(),c(e(v),{key:1,tone:"muted",size:"xs"},{default:t(()=>[...n[14]||(n[14]=[i("—",-1)])]),_:1}))]),"cell-actions":t(({row:u})=>[a(e(m),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:t(()=>[a(e(h),{size:"sm",variant:"ghost",onClick:V=>ze(String(u.__raw.body||""))},{default:t(()=>[i(s(e(l)("common.copy")),1)]),_:1},8,["onClick"]),a(e(h),{size:"sm",variant:"outline",tone:"danger",loading:g.value[String(u.messageId)],onClick:V=>we(u.__raw)},{default:t(()=>[i(s(e(l)("common.delete")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(r(),c(e(oe),{key:1,title:e(l)("queues.noMessagesLoaded"),description:e(l)("queues.noMessagesLoadedDescription")},null,8,["title","description"])),(r(!0),S(D,null,G(y.value,u=>(r(),S(D,{key:`detail-${u.messageId}`},[u.messageId&&K.value[u.messageId]?(r(),S("div",Re,[a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[a(e(C),{tone:"neutral",variant:"soft"},{default:t(()=>[i("id: "+s(u.messageId),1)]),_:2},1024),u.md5OfBody?(r(),c(e(C),{key:0,tone:"neutral",variant:"soft"},{default:t(()=>[i(" md5: "+s(u.md5OfBody.slice(0,12))+"… ",1)]),_:2},1024)):q("",!0),(r(!0),S(D,null,G(u.attributes||{},(V,_)=>(r(),c(e(C),{key:_,tone:"info",variant:"soft"},{default:t(()=>[i(s(_)+": "+s(V),1)]),_:2},1024))),128))]),_:2},1024),u.messageAttributes&&Object.keys(u.messageAttributes).length?(r(),S("div",Qe,[a(e(v),{weight:"semibold",size:"sm"},{default:t(()=>[i(s(e(l)("queues.messageAttributes")),1)]),_:1}),a(e(m),{direction:"horizontal",gap:"0.375rem",wrap:""},{default:t(()=>[(r(!0),S(D,null,G(u.messageAttributes,(V,_)=>(r(),c(e(C),{key:`ma-${_}`,tone:"success",variant:"soft"},{default:t(()=>[i(s(_)+" ("+s(V.type||"String")+"): "+s(V.value),1)]),_:2},1024))),128))]),_:2},1024)])):q("",!0),a(e(Ce)),a(e(Ae),{code:qe(u.body),label:e(l)("queues.messageBody"),"max-block-size":"24rem",wrap:"",copyable:""},null,8,["code","label"])]),_:2},1024)])):q("",!0)],64))),128))]),_:1}),a(e(Me),{open:p.value,"onUpdate:open":n[12]||(n[12]=u=>p.value=u),title:e(l)("queues.purgeQueue"),description:e(l)("queues.purgeConfirmDescription",{queue:k.queue.name}),"confirm-label":e(l)("queues.purgeConfirmLabel"),"cancel-label":e(l)("common.cancel"),tone:"danger",loading:W.value,onConfirm:$e},null,8,["open","title","description","confirm-label","cancel-label","loading"])]),_:1}))}}),Le={style:{"padding-top":"1rem"}},Ee={style:{"padding-top":"1rem"}},Ge={style:{"padding-top":"1rem"}},Je=se({__name:"QueueDetail",props:{queueName:{}},emits:["back"],setup(P,{emit:L}){const{t:l}=re(),k=P,j=L,w=Oe(),F=me(),R=de(),f=b(null),x=b(!0),$=b(null);let A=null;const M=["send-receive","consumers","attributes"],N=J({get(){const d=String(w.query.tab||"");return M.includes(d)?d:"send-receive"},set(d){F.replace({query:{...w.query,tab:d==="send-receive"?void 0:d}})}}),Q=J(()=>{const d=f.value;if(!d)return 0;const g=d.available+d.inFlight+d.processed;return g?Math.round(d.processed/g*100):0});async function z(d=!0){d&&(x.value=!0);try{f.value=await H.getQueue(k.queueName),$.value=null}catch(g){$.value=g.message||l("queues.loadDetailError"),f.value=null}finally{x.value=!1}}async function E(){if(f.value)try{await H.resetQueueProcessed(f.value.name),R.add({title:l("queues.processedCounterReset"),variant:"info"}),await z(!1)}catch(d){R.add({title:l("queues.resetCounterFailed"),description:d.message,variant:"danger"})}}function y(d){return d===void 0?"—":d<60?`${d}s`:d<3600?`${Math.round(d/60)}m`:d<86400?`${Math.round(d/3600)}h`:`${Math.round(d/86400)}d`}function B(d){return d?new Date(d).toLocaleString():"—"}return Ne(()=>{z(),A=window.setInterval(()=>z(!1),4e3)}),Te(()=>{A&&window.clearInterval(A)}),De(()=>k.queueName,()=>z()),(d,g)=>(r(),c(e(m),{direction:"vertical",gap:"1rem"},{default: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(()=>{var p;return[a(e(h),{size:"sm",variant:"ghost",onClick:g[0]||(g[0]=W=>j("back"))},{default:t(()=>[a(e(ee),{name:"arrow-left"}),i(" "+s(e(l)("queues.backToQueues")),1)]),_:1}),a(e(ee),{name:"aws-sqs"}),a(e(v),{weight:"semibold",size:"lg"},{default:t(()=>[i(s(P.queueName),1)]),_:1}),(p=f.value)!=null&&p.fifo?(r(),c(e(C),{key:0,tone:"info",variant:"soft"},{default:t(()=>[...g[5]||(g[5]=[i("FIFO",-1)])]),_:1})):q("",!0)]}),_:1}),a(e(h),{size:"sm",variant:"ghost",loading:x.value,onClick:g[1]||(g[1]=p=>z())},{default:t(()=>[i(s(e(l)("common.refresh")),1)]),_:1},8,["loading"])]),_:1}),$.value?(r(),c(e(ue),{key:0,variant:"danger",dismissible:"",onDismiss:g[2]||(g[2]=p=>$.value=null)},{default:t(()=>[i(s($.value),1)]),_:1})):q("",!0),x.value&&!f.value?(r(),c(e(m),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[a(e(ie),{label:e(l)("queues.loadingDetail")},null,8,["label"])]),_:1})):f.value?(r(),S(D,{key:2},[a(e(Ue),{columns:4,gap:"0.75rem"},{default:t(()=>[a(e(X),{label:e(l)("queues.colAvailable"),value:f.value.available,tone:"warning"},null,8,["label","value"]),a(e(X),{label:e(l)("queues.colInFlight"),value:f.value.inFlight,tone:"info"},null,8,["label","value"]),a(e(X),{label:e(l)("queues.statDelayed"),value:f.value.delayed,tone:"neutral"},null,8,["label","value"]),a(e(X),{label:e(l)("queues.statProcessedSession"),value:f.value.processed,tone:"success"},null,8,["label","value"])]),_:1}),a(e(Be),{modelValue:N.value,"onUpdate:modelValue":g[4]||(g[4]=p=>N.value=p)},{default:t(()=>[a(e(je),null,{default:t(()=>[a(e(te),{value:"send-receive"},{default:t(()=>[i(s(e(l)("queues.tabSendReceive")),1)]),_:1}),a(e(te),{value:"consumers"},{default:t(()=>[i(s(e(l)("queues.tabConsumers")),1)]),_:1}),a(e(te),{value:"attributes"},{default:t(()=>[i(s(e(l)("queues.tabAttributes")),1)]),_:1})]),_:1}),a(e(ae),{value:"send-receive"},{default:t(()=>[Z("div",Le,[a(He,{queue:f.value,onRefresh:g[3]||(g[3]=p=>z(!1))},null,8,["queue"])])]),_:1}),a(e(ae),{value:"consumers"},{default:t(()=>[Z("div",Ee,[a(e(U),{variant:"outline"},{header:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:t(()=>[a(e(ee),{name:"aws-lambda"}),a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.eventSourceMappings")),1)]),_:1})]),_:1})]),default:t(()=>[f.value.consumers.length?(r(),c(e(m),{key:0,direction:"vertical",gap:"0.5rem"},{default:t(()=>[(r(!0),S(D,null,G(f.value.consumers,p=>(r(),c(e(U),{key:p.uuid||p.functionName,variant:"soft"},{default: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(v),{family:"mono"},{default:t(()=>[i(s(p.functionName),1)]),_:2},1024),a(e(v),{tone:"muted",size:"xs"},{default:t(()=>[i(s(e(l)("queues.consumerMeta",{uuid:p.uuid||"—",batchSize:p.batchSize??"—"})),1)]),_:2},1024)]),_:2},1024),a(e(C),{tone:p.enabled?"success":"neutral",variant:"soft"},{default:t(()=>[i(s(p.state||(p.enabled?e(l)("queues.enabled"):e(l)("queues.disabled"))),1)]),_:2},1032,["tone"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(r(),c(e(oe),{key:1,title:e(l)("queues.noConsumersTitle"),description:e(l)("queues.noConsumersDescription")},null,8,["title","description"]))]),_:1})])]),_:1}),a(e(ae),{value:"attributes"},{default:t(()=>[Z("div",Ge,[a(e(m),{direction:"vertical",gap:"1rem"},{default:t(()=>[a(e(U),{variant:"outline"},{header:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.identity")),1)]),_:1})]),default:t(()=>[a(e(ne),null,{default:t(()=>[a(e(le),{label:e(l)("queues.queueUrl")},{default:t(()=>[a(e(v),{family:"mono",size:"sm"},{default:t(()=>[i(s(f.value.url),1)]),_:1})]),_:1},8,["label"]),a(e(le),{label:"ARN"},{default:t(()=>[a(e(v),{family:"mono",size:"sm"},{default:t(()=>[i(s(f.value.arn||"—"),1)]),_:1})]),_:1})]),_:1})]),_:1}),a(e(U),{variant:"outline"},{header:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.configuration")),1)]),_:1})]),footer:t(()=>[a(e(v),{tone:"muted",size:"xs"},{default:t(()=>[i(s(e(l)("queues.createdPolled",{created:B(f.value.createdAt),polled:B(f.value.lastPolledAt)})),1)]),_:1})]),default:t(()=>[a(e(m),{direction:"horizontal",gap:"0.5rem",wrap:""},{default:t(()=>[a(e(Y),{size:"sm",variant:"soft"},{default:t(()=>[i(" FIFO: "+s(f.value.fifo?e(l)("common.yes"):e(l)("common.no")),1)]),_:1}),a(e(Y),{size:"sm",variant:"soft"},{default:t(()=>[i(s(e(l)("queues.visibilityTimeout"))+": "+s(y(f.value.visibilityTimeout)),1)]),_:1}),a(e(Y),{size:"sm",variant:"soft"},{default:t(()=>[i(s(e(l)("queues.retention"))+": "+s(y(f.value.messageRetentionPeriod)),1)]),_:1}),a(e(Y),{size:"sm",variant:"soft"},{default:t(()=>[i(s(e(l)("queues.delayed"))+": "+s(f.value.delayed),1)]),_:1})]),_:1})]),_:1}),a(e(U),{variant:"outline"},{header:t(()=>[a(e(v),{weight:"semibold"},{default:t(()=>[i(s(e(l)("queues.throughput")),1)]),_:1})]),footer:t(()=>[a(e(m),{direction:"horizontal",justify:"flex-end"},{default:t(()=>[a(e(h),{size:"sm",variant:"ghost",onClick:E},{default:t(()=>[i(s(e(l)("queues.resetProcessed")),1)]),_:1})]),_:1})]),default:t(()=>[a(e(m),{direction:"vertical",gap:"0.5rem"},{default:t(()=>[a(e(ne),null,{default:t(()=>[a(e(le),{label:e(l)("queues.processedShare")},{default:t(()=>[a(e(v),{family:"mono"},{default:t(()=>[i(s(Q.value)+"%",1)]),_:1})]),_:1},8,["label"])]),_:1}),a(e(Fe),{value:Q.value},null,8,["value"])]),_:1})]),_:1})]),_:1})])]),_:1})]),_:1},8,["modelValue"])],64)):q("",!0)]),_:1}))}}),Ke=se({__name:"QueueDetailPage",props:{queueName:{}},setup(P){const L=me();function l(){L.push("/queues")}return(k,j)=>(r(),c(Je,{"queue-name":P.queueName,onBack:l},null,8,["queue-name"]))}});export{Ke as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as I,a4 as P,m as A,o as S,n as r,e as c,a1 as e,v,a7 as a,j as n,x as T,y as _,J as j,i as u,a0 as i,f as D,t as U,w as V,N as O,C as q,O as G,A as b,H,g as J,F as M,s as K,z,R as W,u as h,P as X,a2 as Y,p as y,b as $,a as x}from"./index-BIEznsi4.js";import{E as Z}from"./engine-D0mFFNbL.js";const ee=I({__name:"QueuesView",setup(N){const{t:l}=Y(),w=P(),m=y([]),C=y({}),f=y(!0),g=y(null);let k=null;const R=$(()=>[{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=$(()=>m.value.map(s=>({...s,consumersCount:s.consumers.length,service:C.value[s.name]||""}))),p=$(()=>({queues:m.value.length,available:m.value.reduce((s,o)=>s+o.available,0),inFlight:m.value.reduce((s,o)=>s+o.inFlight,0),processed:m.value.reduce((s,o)=>s+o.processed,0)}));async function F(){try{const[s,o]=await Promise.all([x.listQueues(),x.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);m.value=s;const t={};for(const d of o.queues)t[d.name]=d.service;C.value=t,g.value=null}catch(s){g.value=s.message||l("queues.loadListError")}finally{f.value=!1}}function L(s){w.push(`/queues/${encodeURIComponent(s)}`)}function Q(s){return s.available>0?"warning":s.inFlight>0?"info":s.consumers.some(o=>o.enabled)?"success":"neutral"}function E(s){return s.available>0?l("queues.activityBacklog"):s.inFlight>0?l("queues.activityProcessing"):s.consumers.length?l("queues.activityIdle"):l("queues.noConsumers")}return A(()=>{F(),k=window.setInterval(F,4e3)}),S(()=>{k&&window.clearInterval(k)}),(s,o)=>(r(),c(e(v),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[n(e(T),{columns:4,gap:"1rem"},{default:a(()=>[n(e(_),{label:e(l)("queues.statQueues"),value:p.value.queues,tone:"info",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statAvailable"),value:p.value.available,tone:"warning",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statInFlight"),value:p.value.inFlight,tone:"info",loading:f.value},null,8,["label","value","loading"]),n(e(_),{label:e(l)("queues.statProcessed"),value:p.value.processed,tone:"success",loading:f.value},null,8,["label","value","loading"])]),_:1}),g.value?(r(),c(e(j),{key:0,variant:"danger",dismissible:"",onDismiss:o[0]||(o[0]=t=>g.value=null)},{default:a(()=>[u(i(g.value),1)]),_:1})):D("",!0),n(e(U),{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(q),{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(V),{label:e(l)("queues.loadingList")},null,8,["label"])]),_:1})):m.value.length?(r(),c(e(G),{key:2,columns:R.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(X),{to:`/queues/${encodeURIComponent(String(t.name))}`,style:{"font-weight":"600"}},{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(W),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:a(()=>[n(e(z),{size:"sm",variant:"soft",clickable:""},{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},K(t.consumers,d=>(r(),c(e(z),{key:d.uuid||d.functionName,size:"sm",variant:d.enabled?"solid":"outline"},{icon:a(()=>[n(e(q),{name:"aws-lambda",size:"14"})]),default:a(()=>[u(" "+i(d.functionName),1)]),_:2},1032,["variant"]))),128)):(r(),c(e(b),{key:1,tone:"neutral",variant:"soft"},{default:a(()=>[u(i(e(l)("queues.noConsumers")),1)]),_:1}))]),_:2},1024)]),"cell-actions":a(({row:t})=>[n(e(v),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:a(()=>[n(e(b),{tone:Q(t),variant:"solid"},{default:a(()=>[u(i(E(t)),1)]),_:2},1032,["tone"]),n(e(H),{size:"sm",variant:"ghost",onClick:d=>L(String(t.name))},{default:a(()=>[u(i(e(l)("queues.open")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["columns","rows","aria-label"])):(r(),c(e(O),{key:1,title:e(l)("queues.emptyTitle"),description:e(l)("queues.emptyDescription",{engine:e(Z)})},{icon:a(()=>[n(e(q),{name:"aws-sqs"})]),_:1},8,["title","description"]))]),_:1})]),_:1}))}}),le=I({__name:"QueuesPage",setup(N){return(l,w)=>(r(),c(ee))}});export{le as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as H,m as X,o as Y,n as c,e as u,a1 as e,v as d,a7 as a,j as s,x as Z,y as I,J as ee,i as o,a0 as i,f as p,t as ae,w as R,N as M,C as L,O as U,H as D,u as f,z as O,A as q,L as te,Q as le,g as A,d as E,F as se,s as ne,S as re,a2 as ie,p as v,b as h,a as B,c as oe}from"./index-BIEznsi4.js";const ce={key:0},ue=H({__name:"SecretsList",setup(P){const y=oe(),{t}=ie(),k=v([]),w=v(!0),b=v(null),C=v("");let z=null;const $=v(!1),_=v(null),m=v(null),S=v(!1),g=v(null),x=v(!1),J=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(()=>k.value.map(n=>({...n,versions:n.versionCount,lastChanged:n.lastChangedDate?new Date(n.lastChangedDate).toLocaleString():"—",scheduledDeletion:!!n.deletedDate})).sort((n,r)=>n.name.localeCompare(r.name))),T=h(()=>{const n=C.value.trim().toLowerCase();return n?V.value.filter(r=>r.name.toLowerCase().includes(n)||(r.description||"").toLowerCase().includes(n)):V.value}),F=h(()=>({secrets:k.value.length,versions:k.value.reduce((n,r)=>n+r.versionCount,0)})),Q=h(()=>{var n;return Object.entries(((n=m.value)==null?void 0:n.versionStages)??{}).map(([r,l])=>({versionId:r,stages:l.join(", "),current:l.includes("AWSCURRENT")}))});async function N(){try{const n=await B.listSecrets();k.value=n.secrets,b.value=null}catch(n){b.value=n.message||t("secrets.loadFailed")}finally{w.value=!1}}async function j(n){_.value=n,$.value=!0,m.value=null,g.value=null,S.value=!0;try{m.value=await B.describeSecret(n)}catch(r){y.add({title:t("secrets.detailFailed"),description:r.message,variant:"danger"})}finally{S.value=!1}}async function W(){if(_.value){x.value=!0;try{g.value=await B.getSecretValue(_.value)}catch(n){y.add({title:t("secrets.revealFailed"),description:n.message,variant:"danger"})}finally{x.value=!1}}}async function G(){var r,l;const n=((r=g.value)==null?void 0:r.secretString)??((l=g.value)==null?void 0:l.secretBinary);if(n)try{await navigator.clipboard.writeText(n),y.add({title:t("secrets.copiedToClipboard"),variant:"success"})}catch{y.add({title:t("secrets.copyFailed"),variant:"danger"})}}return X(()=>{N(),z=window.setInterval(N,15e3)}),Y(()=>{z&&window.clearInterval(z)}),(n,r)=>(c(),u(e(d),{direction:"vertical",gap:"1.25rem"},{default:a(()=>[s(e(Z),{columns:2,gap:"1rem"},{default:a(()=>[s(e(I),{label:e(t)("secrets.statSecrets"),value:F.value.secrets,tone:"info",loading:w.value},null,8,["label","value","loading"]),s(e(I),{label:e(t)("secrets.statVersions"),value:F.value.versions,tone:"success",loading:w.value},null,8,["label","value","loading"])]),_:1}),b.value?(c(),u(e(ee),{key:0,variant:"danger",dismissible:"",onDismiss:r[0]||(r[0]=l=>b.value=null)},{default:a(()=>[o(i(b.value),1)]),_:1})):p("",!0),s(e(ae),{variant:"outline"},{header:a(()=>[s(e(d),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:a(()=>[s(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(L),{name:"aws-secrets-manager"}),s(e(f),{weight:"semibold"},{default:a(()=>[...r[3]||(r[3]=[o("Secrets Manager",-1)])]),_:1})]),_:1}),s(e(d),{direction:"horizontal",align:"center",gap:"1rem"},{default:a(()=>[s(e(te),{modelValue:C.value,"onUpdate:modelValue":r[1]||(r[1]=l=>C.value=l),placeholder:e(t)("secrets.filterPlaceholder"),style:{"min-width":"16rem"}},null,8,["modelValue","placeholder"]),s(e(f),{tone:"muted",size:"xs"},{default:a(()=>[o(i(e(t)("secrets.autoRefresh")),1)]),_:1})]),_:1})]),_:1})]),default:a(()=>[w.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:J.value,rows:T.value,"aria-label":e(t)("secrets.tableLabel")},{"cell-name":a(({row:l})=>[s(e(d),{direction:"horizontal",align:"center",gap:"0.5rem"},{default:a(()=>[s(e(f),{weight:"semibold",style:{cursor:"pointer","text-decoration":"underline","text-decoration-style":"dotted","text-underline-offset":"3px"},onClick:K=>j(String(l.name))},{default:a(()=>[o(i(l.name),1)]),_:2},1032,["onClick"]),l.scheduledDeletion?(c(),u(e(q),{key:0,tone:"warning",variant:"soft"},{default:a(()=>[o(i(e(t)("secrets.deletionScheduled")),1)]),_:1})):p("",!0)]),_:2},1024)]),"cell-description":a(({row:l})=>[s(e(f),{tone:"muted",size:"sm"},{default:a(()=>[o(i(l.description||"—"),1)]),_:2},1024)]),"cell-versions":a(({row:l})=>[s(e(O),{size:"sm",variant:"soft"},{default:a(()=>[o(i(l.versions),1)]),_:2},1024)]),"cell-lastChanged":a(({row:l})=>[s(e(f),{tone:"muted",family:"mono",size:"xs"},{default:a(()=>[o(i(l.lastChanged),1)]),_:2},1024)]),"cell-actions":a(({row:l})=>[s(e(D),{size:"sm",variant:"soft",onClick:K=>j(String(l.name))},{default:a(()=>[o(i(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:C.value})},{icon:a(()=>[s(e(L),{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(L),{name:"aws-secrets-manager"})]),_:1},8,["title","description"]))]),_:1}),s(e(le),{open:$.value,"onUpdate:open":r[2]||(r[2]=l=>$.value=l),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",style:{"word-break":"break-all"}},{default:a(()=>[o(i(m.value.arn),1)]),_:1}),m.value.description?(c(),A("span",ce,i(m.value.description),1)):p("",!0)]),_:1}),E("div",null,[s(e(f),{weight:"semibold",size:"sm"},{default:a(()=>[o(i(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:Q.value,"aria-label":e(t)("secrets.versionsTableLabel")},{"cell-versionId":a(({row:l})=>[s(e(f),{family:"mono",size:"xs"},{default:a(()=>[o(i(l.versionId),1)]),_:2},1024)]),"cell-stages":a(({row:l})=>[s(e(q),{tone:l.current?"success":"neutral",variant:"soft"},{default:a(()=>[o(i(l.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),A(se,null,ne(m.value.tags,l=>(c(),u(e(O),{key:l.key,size:"sm",variant:"soft"},{default:a(()=>[o(i(l.key)+"="+i(l.value),1)]),_:2},1024))),128))]),_:1})):p("",!0),E("div",null,[s(e(d),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[s(e(D),{size:"sm",variant:"solid",loading:x.value,onClick:W},{default:a(()=>[o(i(g.value?e(t)("secrets.refreshValue"):e(t)("secrets.revealValue")),1)]),_:1},8,["loading"]),g.value?(c(),u(e(D),{key:0,size:"sm",variant:"ghost",onClick:G},{default:a(()=>[o(i(e(t)("common.copy")),1)]),_:1})):p("",!0)]),_:1}),g.value?(c(),u(e(re),{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}))}}),ve=H({__name:"SecretsPage",setup(P){return(y,t)=>(c(),u(ue))}});export{ve as default};
|