local-serverless-stack 0.17.0 → 0.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +12 -8
  2. package/dist/server/routes/config.d.ts.map +1 -1
  3. package/dist/server/routes/config.js +182 -6
  4. package/dist/server/routes/config.js.map +1 -1
  5. package/dist/server/services/config-manager.d.ts +31 -0
  6. package/dist/server/services/config-manager.d.ts.map +1 -1
  7. package/dist/server/services/config-manager.js +370 -0
  8. package/dist/server/services/config-manager.js.map +1 -1
  9. package/dist/ui/assets/ApisPage-CXYcWDhm.js +1 -0
  10. package/dist/ui/assets/BucketDetailPage-BwS2--Pe.js +1 -0
  11. package/dist/ui/assets/BucketsPage-khuiYc9C.js +1 -0
  12. package/dist/ui/assets/DynamoPage-aYo0QC0N.js +1 -0
  13. package/dist/ui/assets/DynamoTablePage-rFuV2pgd.js +3 -0
  14. package/dist/ui/assets/LambdaDetailPage-CJmu8M_N.js +4 -0
  15. package/dist/ui/assets/LambdasPage-DniNyKMe.js +1 -0
  16. package/dist/ui/assets/OpenSearchCollectionPage-BBwjgbB9.js +1 -0
  17. package/dist/ui/assets/OpenSearchPage-D5RxJGRo.js +1 -0
  18. package/dist/ui/assets/OverviewPage-Cyt1Xdp8.js +1 -0
  19. package/dist/ui/assets/{OverviewPage-qEl0a-0B.css → OverviewPage-DS6XJ7kG.css} +1 -1
  20. package/dist/ui/assets/QueueDetailPage-3FPsowIp.js +1 -0
  21. package/dist/ui/assets/QueuesPage-CUoDDgHr.js +1 -0
  22. package/dist/ui/assets/SecretsPage-B_mTnUf3.js +1 -0
  23. package/dist/ui/assets/ServiceDetailPage-BcdSjA6e.js +2 -0
  24. package/dist/ui/assets/ServicesPage-CU6fb3f8.js +2 -0
  25. package/dist/ui/assets/SettingsPage-BG8cYxgC.js +1 -0
  26. package/dist/ui/assets/index-BxwA-UT0.css +1 -0
  27. package/dist/ui/assets/index-DGsXIPJ-.js +37 -0
  28. package/dist/ui/index.html +2 -2
  29. package/package.json +2 -2
  30. package/dist/ui/assets/ApisPage-CXVLYVM6.js +0 -1
  31. package/dist/ui/assets/BucketDetailPage-BU7ytv7P.js +0 -1
  32. package/dist/ui/assets/BucketsPage-6oRAkKhU.js +0 -1
  33. package/dist/ui/assets/DynamoPage-DU29K5hT.js +0 -1
  34. package/dist/ui/assets/DynamoTablePage-BsVCgzws.js +0 -3
  35. package/dist/ui/assets/LambdaDetailPage-CgDlY1Kc.js +0 -4
  36. package/dist/ui/assets/LambdasPage-CB59BQVb.js +0 -1
  37. package/dist/ui/assets/OpenSearchCollectionPage-PhV7ZitS.js +0 -1
  38. package/dist/ui/assets/OpenSearchPage-DMq5T-jO.js +0 -1
  39. package/dist/ui/assets/OverviewPage-B7i6ZutS.js +0 -1
  40. package/dist/ui/assets/QueueDetailPage-CDM38X1V.js +0 -1
  41. package/dist/ui/assets/QueuesPage-6py2nlnw.js +0 -1
  42. package/dist/ui/assets/SecretsPage-BlllDXAl.js +0 -1
  43. package/dist/ui/assets/SecretsPage-Dnkt3P3P.css +0 -1
  44. package/dist/ui/assets/ServiceDetailPage-ghEHM9ko.js +0 -2
  45. package/dist/ui/assets/ServicesPage-C0E9vXE2.js +0 -2
  46. package/dist/ui/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  47. package/dist/ui/assets/index-DdoMwcQX.css +0 -1
  48. package/dist/ui/assets/index-VlhdCpKx.js +0 -37
@@ -11,6 +11,209 @@ function realpathOrSelf(dir) {
11
11
  return dir;
12
12
  }
13
13
  }
14
+ // Two config keys are deliberately absent (and rejected on write):
15
+ // `localstackAuthToken` — the supported channel is the LOCALSTACK_AUTH_TOKEN
16
+ // env var, the token must never transit the dashboard API — and `secrets`,
17
+ // which holds seed material that belongs in the file/env only.
18
+ const BLOCKED_CONFIG_KEYS = new Set(['localstackAuthToken', 'secrets']);
19
+ const EDITABLE_CONFIG_KEYS = {
20
+ serverPort: { kind: 'port' },
21
+ localstackPort: { kind: 'port' },
22
+ localstackEndpoint: { kind: 'string' },
23
+ mode: { kind: 'string', enum: ['managed', 'external'] },
24
+ localstackEdition: { kind: 'string', enum: ['community', 'pro'] },
25
+ localstackVersion: { kind: 'string' },
26
+ localstackImage: { kind: 'string' },
27
+ enableDynamoProxy: { kind: 'boolean' },
28
+ dynamoProxyPort: { kind: 'port' },
29
+ region: { kind: 'string' },
30
+ services: { kind: 'stringArray' },
31
+ persistence: { kind: 'boolean' },
32
+ debug: { kind: 'boolean' },
33
+ seedsDir: { kind: 'string' },
34
+ stateDir: { kind: 'string' },
35
+ autoPackage: { kind: 'boolean' },
36
+ packageCommand: { kind: 'string' },
37
+ packageArgs: { kind: 'stringArray' },
38
+ packageEnv: { kind: 'stringRecord' },
39
+ servicePackaging: {
40
+ kind: 'object',
41
+ entrySubKeys: {
42
+ packageCommand: { kind: 'string' },
43
+ packageArgs: { kind: 'stringArray' },
44
+ packageEnv: { kind: 'stringRecord' },
45
+ packageTimeoutMs: { kind: 'positiveInt' },
46
+ },
47
+ },
48
+ packageTimeoutMs: { kind: 'positiveInt' },
49
+ lambdaRuntime: {
50
+ kind: 'object',
51
+ subKeys: {
52
+ enabled: { kind: 'boolean' },
53
+ execution: { kind: 'string', enum: ['auto', 'artifact', 'source'] },
54
+ watch: { kind: 'boolean' },
55
+ invokePortOffset: { kind: 'positiveInt' },
56
+ invokeHost: { kind: 'string' },
57
+ },
58
+ },
59
+ serviceRuntime: {
60
+ kind: 'object',
61
+ entrySubKeys: {
62
+ enabled: { kind: 'boolean' },
63
+ apiPort: { kind: 'port' },
64
+ invokePort: { kind: 'port' },
65
+ execution: { kind: 'string', enum: ['auto', 'artifact', 'source'] },
66
+ watch: { kind: 'boolean' },
67
+ },
68
+ },
69
+ engine: { kind: 'string', enum: ['localstack', 'self'] },
70
+ selfEngine: {
71
+ kind: 'object',
72
+ subKeys: {
73
+ port: { kind: 'port' },
74
+ dataDir: { kind: 'string' },
75
+ account: { kind: 'string' },
76
+ idleUnloadMs: { kind: 'positiveInt' },
77
+ memoryBudgetMb: { kind: 'positiveInt' },
78
+ fsync: { kind: 'boolean' },
79
+ fallbackEndpoint: { kind: 'string' },
80
+ },
81
+ },
82
+ aossSidecar: {
83
+ kind: 'object',
84
+ subKeys: {
85
+ enabled: { kind: 'boolean' },
86
+ port: { kind: 'port' },
87
+ },
88
+ },
89
+ branding: {
90
+ kind: 'object',
91
+ subKeys: {
92
+ title: { kind: 'string' },
93
+ subtitle: { kind: 'string' },
94
+ logo: { kind: 'string' },
95
+ favicon: { kind: 'string' },
96
+ defaultTheme: { kind: 'string', enum: ['dark', 'light'] },
97
+ colors: { kind: 'stringRecord' },
98
+ themeColors: {
99
+ kind: 'object',
100
+ subKeys: {
101
+ dark: { kind: 'stringRecord' },
102
+ light: { kind: 'stringRecord' },
103
+ },
104
+ },
105
+ },
106
+ },
107
+ };
108
+ // Env vars that mask each file key while set (loadFromEnv applies them AFTER
109
+ // the file, and some getters fall back to env at call time). Surfaced so the
110
+ // UI can flag fields whose saved value will not take effect until the env var
111
+ // is unset.
112
+ const CONFIG_ENV_OVERRIDES = {
113
+ serverPort: ['LSS_DASHBOARD_PORT', 'PORT'],
114
+ localstackPort: ['LSS_LOCALSTACK_PORT'],
115
+ localstackEndpoint: ['LSS_LOCALSTACK_ENDPOINT'],
116
+ mode: ['LSS_LOCALSTACK_MODE'],
117
+ localstackEdition: ['LSS_LOCALSTACK_EDITION'],
118
+ localstackVersion: ['LSS_LOCALSTACK_VERSION'],
119
+ localstackImage: ['LSS_LOCALSTACK_IMAGE'],
120
+ localstackAuthToken: ['LOCALSTACK_AUTH_TOKEN'],
121
+ // Note: the deprecated unprefixed ENABLE_DYNAMO_PROXY is NOT listed — it is
122
+ // only a getter-time fallback (isEnableDynamoProxy) that a file value always
123
+ // beats, so it never masks a saved value.
124
+ enableDynamoProxy: ['LSS_ENABLE_DYNAMO_PROXY'],
125
+ dynamoProxyPort: ['LSS_DYNAMO_PROXY_PORT'],
126
+ region: ['AWS_REGION'],
127
+ services: ['LSS_SERVICES'],
128
+ persistence: ['LSS_PERSISTENCE'],
129
+ debug: ['LSS_DEBUG'],
130
+ seedsDir: ['LSS_SEEDS_DIR'],
131
+ autoPackage: ['LSS_AUTO_PACKAGE'],
132
+ packageCommand: ['LSS_PACKAGE_COMMAND'],
133
+ packageTimeoutMs: ['LSS_PACKAGE_TIMEOUT_MS'],
134
+ lambdaRuntime: ['LSS_LAMBDA_RUNTIME', 'LSS_LAMBDA_EXECUTION', 'LSS_LAMBDA_WATCH', 'LSS_INVOKE_HOST'],
135
+ engine: ['LSS_ENGINE'],
136
+ selfEngine: ['LSS_ENGINE_PORT'],
137
+ };
138
+ function isPlainObject(value) {
139
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
140
+ }
141
+ function validateValue(key, value, spec) {
142
+ switch (spec.kind) {
143
+ case 'port':
144
+ return Number.isInteger(value) && value >= 1 && value <= 65535
145
+ ? null
146
+ : `"${key}" must be an integer port between 1 and 65535`;
147
+ case 'positiveInt':
148
+ return Number.isInteger(value) && value > 0
149
+ ? null
150
+ : `"${key}" must be a positive integer`;
151
+ case 'boolean':
152
+ return typeof value === 'boolean' ? null : `"${key}" must be a boolean`;
153
+ case 'string':
154
+ if (typeof value !== 'string' || value.length === 0) {
155
+ return `"${key}" must be a non-empty string`;
156
+ }
157
+ return spec.enum && !spec.enum.includes(value)
158
+ ? `"${key}" must be one of: ${spec.enum.join(', ')}`
159
+ : null;
160
+ case 'stringArray':
161
+ return Array.isArray(value) && value.every(v => typeof v === 'string')
162
+ ? null
163
+ : `"${key}" must be an array of strings`;
164
+ case 'stringRecord':
165
+ return isPlainObject(value) && Object.values(value).every(v => typeof v === 'string')
166
+ ? null
167
+ : `"${key}" must be an object of string values`;
168
+ case 'object': {
169
+ if (!isPlainObject(value)) {
170
+ return `"${key}" must be an object`;
171
+ }
172
+ // null subvalues are always allowed — they delete the subkey on merge.
173
+ if (spec.subKeys) {
174
+ for (const [subKey, subValue] of Object.entries(value)) {
175
+ const subSpec = spec.subKeys[subKey];
176
+ if (!subSpec)
177
+ return `unknown config key "${key}.${subKey}"`;
178
+ if (subValue === null)
179
+ continue;
180
+ const error = validateValue(`${key}.${subKey}`, subValue, subSpec);
181
+ if (error)
182
+ return error;
183
+ }
184
+ }
185
+ if (spec.entrySubKeys) {
186
+ for (const [entryKey, entryValue] of Object.entries(value)) {
187
+ if (entryValue === null)
188
+ continue;
189
+ if (!isPlainObject(entryValue))
190
+ return `"${key}.${entryKey}" must be an object`;
191
+ for (const [subKey, subValue] of Object.entries(entryValue)) {
192
+ const subSpec = spec.entrySubKeys[subKey];
193
+ if (!subSpec)
194
+ return `unknown config key "${key}.${entryKey}.${subKey}"`;
195
+ if (subValue === null)
196
+ continue;
197
+ const error = validateValue(`${key}.${entryKey}.${subKey}`, subValue, subSpec);
198
+ if (error)
199
+ return error;
200
+ }
201
+ }
202
+ }
203
+ return null;
204
+ }
205
+ }
206
+ }
207
+ // Thrown by updateConfig so the route can answer 400 with every problem at
208
+ // once instead of failing on the first.
209
+ export class ConfigValidationError extends Error {
210
+ details;
211
+ constructor(details) {
212
+ super(details.join('; '));
213
+ this.name = 'ConfigValidationError';
214
+ this.details = details;
215
+ }
216
+ }
14
217
  export class ConfigManager {
15
218
  static instance;
16
219
  config = {};
@@ -423,6 +626,173 @@ export class ConfigManager {
423
626
  },
424
627
  };
425
628
  }
629
+ // Config keys currently masked by an environment variable (env wins over the
630
+ // file). The UI flags these fields so a save that "doesn't stick" is
631
+ // explained instead of silent.
632
+ getEnvOverriddenKeys() {
633
+ // Truthy check on purpose: loadFromEnv only applies truthy env values, so
634
+ // a variable exported as an empty string does not actually override the
635
+ // file and must not be reported as masking it.
636
+ return Object.keys(CONFIG_ENV_OVERRIDES).filter(key => CONFIG_ENV_OVERRIDES[key].some(name => Boolean(process.env[name])));
637
+ }
638
+ // Resolved values that are materialized into listeners, containers, engines
639
+ // or child processes at boot. Everything NOT listed here is consumed lazily
640
+ // (per request/registration/seed run) and follows a reload immediately.
641
+ resolvedBootValues() {
642
+ const selfEngine = this.getSelfEngineConfig();
643
+ const aossSidecar = this.getAossSidecarConfig();
644
+ return {
645
+ serverPort: this.getServerPort(),
646
+ localstackPort: this.getLocalStackPort(),
647
+ localstackEndpoint: this.getLocalStackEndpoint(),
648
+ mode: this.getMode(),
649
+ localstackEdition: this.getLocalStackEdition(),
650
+ localstackVersion: this.getLocalStackVersion(),
651
+ localstackImage: this.getLocalStackImage(),
652
+ enableDynamoProxy: this.isEnableDynamoProxy(),
653
+ dynamoProxyPort: this.getDynamoProxyPort(),
654
+ region: this.getRegion(),
655
+ services: this.getServices(),
656
+ persistence: this.isPersistence(),
657
+ debug: this.isDebug(),
658
+ stateDir: this.getStateDir(),
659
+ engine: this.getEngineKind(),
660
+ // Only the block's OWN settings: region/persistence (self engine) and the
661
+ // stateDir-derived dataDir (aoss) are tracked under their own keys above,
662
+ // so one change never flags two entries.
663
+ selfEngine: {
664
+ port: selfEngine.port,
665
+ dataDir: selfEngine.dataDir,
666
+ account: selfEngine.account,
667
+ idleUnloadMs: selfEngine.idleUnloadMs,
668
+ memoryBudgetMb: selfEngine.memoryBudgetMb,
669
+ fsync: selfEngine.fsync,
670
+ fallbackEndpoint: selfEngine.fallbackEndpoint,
671
+ },
672
+ aossSidecar: { enabled: aossSidecar.enabled, port: aossSidecar.port },
673
+ };
674
+ }
675
+ static diffKeys(before, after) {
676
+ return Object.keys(before).filter(key => JSON.stringify(before[key]) !== JSON.stringify(after[key]));
677
+ }
678
+ resetAndReload() {
679
+ this.config = {};
680
+ this.configPath = '';
681
+ this.loadConfig();
682
+ }
683
+ /**
684
+ * Re-read the config file from disk — after a hand edit, or after
685
+ * updateConfig() wrote it. Runs the exact boot sequence (file search + env
686
+ * override pass), so the result matches what a fresh process would resolve.
687
+ * Boot-materialized keys that changed are reported as restartRequired: the
688
+ * running listeners/engine keep the old value until `lss stop && lss start`.
689
+ */
690
+ reloadFromDisk() {
691
+ // A hand-edit typo must not silently discard the working config: when the
692
+ // loaded file still exists but no longer parses, keep the current config
693
+ // and fail loudly instead of letting loadConfig fall through to the next
694
+ // search candidate (the user-global home config, or nothing at all).
695
+ if (this.configPath && fs.existsSync(this.configPath)) {
696
+ try {
697
+ JSON.parse(fs.readFileSync(this.configPath, 'utf-8'));
698
+ }
699
+ catch {
700
+ throw new ConfigValidationError([
701
+ `${this.configPath} is not valid JSON — fix the file and reload again`,
702
+ ]);
703
+ }
704
+ }
705
+ const before = this.resolvedBootValues();
706
+ this.resetAndReload();
707
+ return {
708
+ path: this.configPath,
709
+ restartRequired: ConfigManager.diffKeys(before, this.resolvedBootValues()),
710
+ };
711
+ }
712
+ /**
713
+ * Validate a partial config patch, write it into the loaded config file (or
714
+ * create lss.config.json in the project root when none is loaded) and reload
715
+ * in-memory. The raw file is re-read and patched key-by-key — never the
716
+ * env-resolved in-memory config — so env-var overrides are not baked into
717
+ * the file on save. The human commits the file; LSS never touches git.
718
+ */
719
+ updateConfig(patch) {
720
+ if (!isPlainObject(patch)) {
721
+ throw new ConfigValidationError(['config patch must be a JSON object of top-level lss.config.json keys']);
722
+ }
723
+ const errors = [];
724
+ for (const [key, value] of Object.entries(patch)) {
725
+ if (BLOCKED_CONFIG_KEYS.has(key)) {
726
+ errors.push(`"${key}" cannot be edited via the API — set it in the config file or environment directly`);
727
+ continue;
728
+ }
729
+ const spec = EDITABLE_CONFIG_KEYS[key];
730
+ if (!spec) {
731
+ errors.push(`unknown config key "${key}"`);
732
+ continue;
733
+ }
734
+ if (value === null)
735
+ continue; // null deletes the key (or subkey) from the file
736
+ const error = validateValue(key, value, spec);
737
+ if (error)
738
+ errors.push(error);
739
+ }
740
+ if (errors.length > 0) {
741
+ throw new ConfigValidationError(errors);
742
+ }
743
+ // Snapshot the resolved boot values BEFORE any mutation, so a failure
744
+ // later in this method can never compare against poisoned state.
745
+ const before = this.resolvedBootValues();
746
+ const target = this.configPath || path.join(this.getProjectRoot(), 'lss.config.json');
747
+ let fileConfig = {};
748
+ if (fs.existsSync(target)) {
749
+ try {
750
+ fileConfig = JSON.parse(fs.readFileSync(target, 'utf-8'));
751
+ }
752
+ catch {
753
+ // Never clobber a file the user may be hand-editing mid-typo.
754
+ throw new ConfigValidationError([
755
+ `${target} exists but is not valid JSON — fix or remove it before saving from the dashboard`,
756
+ ]);
757
+ }
758
+ }
759
+ for (const [key, value] of Object.entries(patch)) {
760
+ if (value === null) {
761
+ delete fileConfig[key];
762
+ }
763
+ else if (EDITABLE_CONFIG_KEYS[key].kind === 'object') {
764
+ // One-level merge so a partial block edit (e.g. branding.title) never
765
+ // drops sibling settings the UI does not round-trip (branding.logo).
766
+ const existing = isPlainObject(fileConfig[key])
767
+ ? fileConfig[key]
768
+ : {};
769
+ const merged = { ...existing };
770
+ for (const [subKey, subValue] of Object.entries(value)) {
771
+ if (subValue === null) {
772
+ delete merged[subKey];
773
+ }
774
+ else {
775
+ merged[subKey] = subValue;
776
+ }
777
+ }
778
+ fileConfig[key] = merged;
779
+ }
780
+ else {
781
+ fileConfig[key] = value;
782
+ }
783
+ }
784
+ fs.writeFileSync(target, `${JSON.stringify(fileConfig, null, 2)}\n`);
785
+ this.resetAndReload();
786
+ return {
787
+ // The written file is a search candidate, so the reload finds it again;
788
+ // fall back to the target path defensively.
789
+ path: this.configPath || target,
790
+ restartRequired: ConfigManager.diffKeys(before, this.resolvedBootValues()),
791
+ // Truthy check to mirror loadFromEnv: an empty-string env var does not
792
+ // actually override the file, so it must not be reported as a mask.
793
+ envOverridden: Object.keys(patch).filter(key => (CONFIG_ENV_OVERRIDES[key] ?? []).some(name => Boolean(process.env[name]))),
794
+ };
795
+ }
426
796
  /**
427
797
  * Print configuration summary
428
798
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/server/services/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/server/services/config-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{k as R,l as M,o as q,m as u,e as d,$ as t,t as p,a4 as e,j as n,D as G,E as w,O as H,i,_ as s,f as v,x as O,G as N,g as T,F as I,q as X,w as Y,H as P,C as S,A as y,u as c,R as J,v as _,B as K,I as Q,n as z,b as W,a as x,c as Z}from"./index-DGsXIPJ-.js";const ee=R({__name:"ApisView",setup(V){const k=Z(),f=z([]),h=z(!0),g=z(null),m=z({});let b=null;const F=[{key:"method",label:"Method"},{key:"path",label:"Path"},{key:"functionName",label:"→ Function"},{key:"eventType",label:"Type"},{key:"authorizerName",label:"Auth"},{key:"actions",label:"",align:"right"}],j=[{key:"name",label:"Name"},{key:"type",label:"Type"},{key:"payloadVersion",label:"Payload"},{key:"resultTtlInSeconds",label:"TTL",align:"right"},{key:"identitySource",label:"Identity source"},{key:"target",label:"Function / ARN"}],$=W(()=>({services:f.value.length,routes:f.value.reduce((r,l)=>r+l.routes.length,0),online:f.value.filter(r=>r.status==="online").length}));function B(r){return r.routes.map(l=>({...l}))}function L(r){return r.authorizers.map(l=>({...l,identitySource:l.identitySource.join(", "),target:l.functionName||l.arn||""}))}async function A(){try{f.value=await x.listApis(),g.value=null}catch(r){g.value=r.message||"Failed to load APIs"}finally{h.value=!1}}async function D(r){if(!m.value[r]){m.value={...m.value,[r]:!0};try{const l=await x.clearAuthorizerCache({service:r});k.add({title:"Authorizer cache cleared",description:`${l.removed} cached result${l.removed===1?"":"s"} removed`,variant:"success"})}catch(l){k.add({title:"Failed to clear authorizer cache",description:l.message,variant:"danger"})}finally{m.value={...m.value,[r]:!1}}}}function U(r,l){var a;const o=`curl -X ${l.method} http://localhost:${r.apiPort}${l.path}`;(a=navigator.clipboard)==null||a.writeText(o).then(()=>{k.add({title:"curl command copied",description:o,variant:"success"})})}function C(r){switch(r){case"online":return"success";case"port-conflict":return"warning";default:return"neutral"}}function E(r){return r==="ANY"?"info":"neutral"}return M(()=>{A(),b=window.setInterval(A,1e4)}),q(()=>{b&&window.clearInterval(b)}),(r,l)=>(u(),d(t(p),{direction:"vertical",gap:"1.25rem"},{default:e(()=>[n(t(G),{columns:3,gap:"1rem"},{default:e(()=>[n(t(w),{label:"Services with APIs",value:$.value.services,tone:"info",loading:h.value},null,8,["value","loading"]),n(t(w),{label:"Routes",value:$.value.routes,tone:"info",loading:h.value},null,8,["value","loading"]),n(t(w),{label:"Listeners online",value:$.value.online,tone:"success",loading:h.value},null,8,["value","loading"])]),_:1}),g.value?(u(),d(t(H),{key:0,variant:"danger",dismissible:"",onDismiss:l[0]||(l[0]=o=>g.value=null)},{default:e(()=>[i(s(g.value),1)]),_:1})):v("",!0),h.value&&!f.value.length?(u(),d(t(p),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:e(()=>[n(t(O),{label:"Loading APIs..."})]),_:1})):f.value.length?v("",!0):(u(),d(t(N),{key:2,title:"No APIs registered",description:"Register a microservice that defines http or httpApi events to see its routes here."})),(u(!0),T(I,null,X(f.value,o=>(u(),d(t(Y),{key:o.service,variant:"outline"},{header:e(()=>[n(t(p),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between",wrap:""},{default:e(()=>[n(t(p),{direction:"horizontal",gap:"0.5rem",align:"center",wrap:""},{default:e(()=>[n(t(Q),{to:`/services/${encodeURIComponent(o.service)}`},{default:e(()=>[n(t(c),{weight:"semibold"},{default:e(()=>[i(s(o.service),1)]),_:2},1024)]),_:2},1032,["to"]),o.apiPort?(u(),d(t(_),{key:0,tone:"info",variant:"soft"},{default:e(()=>[i(":"+s(o.apiPort),1)]),_:2},1024)):v("",!0),n(t(_),{tone:C(o.status),variant:"soft"},{default:e(()=>[i(s(o.status),1)]),_:2},1032,["tone"]),o.invokePort?(u(),d(t(_),{key:1,tone:C(o.invokeStatus),variant:"soft"},{default:e(()=>[i(" invoke :"+s(o.invokePort),1)]),_:2},1032,["tone"])):v("",!0),o.stage?(u(),d(t(y),{key:2,size:"sm",variant:"soft"},{default:e(()=>[i("stage: "+s(o.stage),1)]),_:2},1024)):v("",!0)]),_:2},1024),n(t(S),{size:"sm",variant:"ghost",loading:m.value[o.service],onClick:a=>D(o.service)},{default:e(()=>[...l[1]||(l[1]=[i(" Clear authorizer cache ",-1)])]),_:1},8,["loading","onClick"])]),_:2},1024)]),default:e(()=>[n(t(p),{direction:"vertical",gap:"0.75rem"},{default:e(()=>[o.routes.length?(u(),d(t(P),{key:0,columns:F,rows:B(o),"aria-label":"API routes"},{"cell-method":e(({row:a})=>[n(t(_),{tone:E(String(a.method)),variant:"soft"},{default:e(()=>[i(s(a.method),1)]),_:2},1032,["tone"])]),"cell-path":e(({row:a})=>[n(t(c),{family:"mono"},{default:e(()=>[i(s(a.path),1)]),_:2},1024)]),"cell-functionName":e(({row:a})=>[n(t(J),{to:`/lambdas/${encodeURIComponent(String(a.functionName))}`,style:{"text-decoration":"none"}},{default:e(()=>[n(t(y),{size:"sm",variant:"soft",clickable:""},{default:e(()=>[i(s(a.functionName),1)]),_:2},1024)]),_:2},1032,["to"])]),"cell-eventType":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-authorizerName":e(({row:a})=>[a.authorizerName?(u(),d(t(y),{key:0,size:"sm",variant:"soft"},{default:e(()=>[i(s(a.authorizerName),1)]),_:2},1024)):(u(),d(t(c),{key:1,tone:"muted"},{default:e(()=>[...l[2]||(l[2]=[i("—",-1)])]),_:1}))]),"cell-actions":e(({row:a})=>[n(t(p),{direction:"horizontal",gap:"0.375rem",justify:"flex-end"},{default:e(()=>[n(t(S),{size:"sm",variant:"ghost",onClick:te=>U(o,a)},{default:e(()=>[...l[3]||(l[3]=[i(" Copy curl ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["rows"])):(u(),d(t(N),{key:1,title:"No routes",description:"This service exposes no http or httpApi routes."})),o.authorizers.length?(u(),T(I,{key:2},[n(t(K)),n(t(c),{weight:"semibold",size:"sm"},{default:e(()=>[...l[4]||(l[4]=[i("Authorizers",-1)])]),_:1}),n(t(P),{columns:j,rows:L(o),"aria-label":"Authorizers"},{"cell-name":e(({row:a})=>[n(t(c),{family:"mono",size:"sm"},{default:e(()=>[i(s(a.name),1)]),_:2},1024)]),"cell-type":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.type),1)]),_:2},1024)]),"cell-payloadVersion":e(({row:a})=>[n(t(y),{size:"sm",variant:"soft"},{default:e(()=>[i(s(a.payloadVersion==="2.0"?"v2":"v1"),1)]),_:2},1024)]),"cell-resultTtlInSeconds":e(({row:a})=>[n(t(c),{family:"mono",size:"sm"},{default:e(()=>[i(s(a.resultTtlInSeconds)+"s",1)]),_:2},1024)]),"cell-identitySource":e(({row:a})=>[n(t(c),{family:"mono",size:"xs"},{default:e(()=>[i(s(a.identitySource||"—"),1)]),_:2},1024)]),"cell-target":e(({row:a})=>[a.target?(u(),d(t(c),{key:0,family:"mono",size:"xs"},{default:e(()=>[i(s(a.target),1)]),_:2},1024)):(u(),d(t(c),{key:1,tone:"muted"},{default:e(()=>[...l[5]||(l[5]=[i("—",-1)])]),_:1}))]),_:1},8,["rows"])],64)):v("",!0)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),le=R({__name:"ApisPage",setup(V){return(k,f)=>(u(),d(ee))}});export{le as default};
@@ -0,0 +1 @@
1
+ import{k as E,l as J,a3 as Q,e as f,$ as t,t as r,a4 as a,a as g,m as c,j as l,C as p,s as W,i,u as B,_ as b,v as X,f as M,O as Y,x as F,g as Z,E as x,D as ee,N as U,a5 as te,a2 as ae,d as T,w as _,G as le,H as ne,I as oe,a6 as ie,F as ue,c as re,n as s,b as se,a1 as de}from"./index-DGsXIPJ-.js";const ce=["href"],fe=E({__name:"BucketDetail",props:{bucketName:{}},emits:["back"],setup(z,{emit:N}){const d=z,S=N,v=re(),u=s(null),k=s([]),h=s(""),K=s(!0),$=s(!1),y=s(null),j=s(""),w=s(""),C=s("text/plain"),V=s(!1),L=[{key:"key",label:"Key"},{key:"size",label:"Size",align:"right"},{key:"lastModified",label:"Modified"},{key:"actions",label:"",align:"right"}],G=se(()=>k.value.reduce((o,e)=>o+(e.size||0),0));function O(o){if(o==null)return"—";if(o===0)return"0 B";const e=["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)} ${e[n]}`}function H(o){return o?new Date(o).toLocaleString():"—"}async function D(){try{u.value=await g.getBucket(d.bucketName),y.value=null}catch(o){y.value=o.message||"Failed to load bucket",u.value=null}finally{K.value=!1}}async function m(){$.value=!0;try{const o=await g.listBucketObjects(d.bucketName,{prefix:h.value||void 0,maxKeys:200});k.value=o.objects}catch(o){v.add({title:"Failed to load objects",description:o.message,variant:"danger"})}finally{$.value=!1}}function R(o){return g.bucketObjectContentUrl(d.bucketName,o,!1)}function q(o){return g.bucketObjectContentUrl(d.bucketName,o,!0)}async function A(o){if(confirm(`Delete object "${o}"?`))try{await g.deleteBucketObject(d.bucketName,o),v.add({title:"Object deleted",variant:"info"}),await m()}catch(e){v.add({title:"Failed to delete object",description:e.message,variant:"danger"})}}async function I(){if(!j.value||!w.value){v.add({title:"Key and body are required",variant:"warning"});return}V.value=!0;try{await g.putBucketObject(d.bucketName,{key:j.value,body:w.value,contentType:C.value||void 0}),v.add({title:"Object uploaded",variant:"info"}),j.value="",w.value="",await m(),await D()}catch(o){v.add({title:"Failed to upload object",description:o.message,variant:"danger"})}finally{V.value=!1}}return J(()=>{D(),m()}),Q(()=>d.bucketName,()=>{D(),m()}),(o,e)=>(c(),f(t(r),{direction:"vertical",gap:"1rem"},{default:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>{var n;return[l(t(p),{size:"sm",variant:"ghost",onClick:e[0]||(e[0]=P=>S("back"))},{default:a(()=>[l(t(W),{name:"arrow-left"}),e[9]||(e[9]=i(" Buckets",-1))]),_:1}),l(t(B),{size:"lg",weight:"semibold"},{default:a(()=>[i(b(z.bucketName),1)]),_:1}),(n=u.value)!=null&&n.versioning?(c(),f(t(X),{key:0,tone:"info",variant:"soft"},{default:a(()=>[...e[10]||(e[10]=[i("Versioning",-1)])]),_:1})):M("",!0)]}),_:1}),l(t(p),{size:"sm",variant:"ghost",loading:$.value,onClick:e[1]||(e[1]=n=>m())},{default:a(()=>[...e[11]||(e[11]=[i("Refresh",-1)])]),_:1},8,["loading"])]),_:1}),y.value?(c(),f(t(Y),{key:0,variant:"danger",dismissible:"",onDismiss:e[2]||(e[2]=n=>y.value=null)},{default:a(()=>[i(b(y.value),1)]),_:1})):M("",!0),K.value&&!u.value?(c(),f(t(r),{key:1,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(t(F),{label:"Loading bucket..."})]),_:1})):u.value?(c(),Z(ue,{key:2},[l(t(ee),{columns:4,gap:"0.75rem"},{default:a(()=>[l(t(x),{label:"Objects",value:u.value.objectCount??0,tone:"info"},null,8,["value"]),l(t(x),{label:"Size",value:O(u.value.totalSize),tone:"neutral"},null,8,["value"]),l(t(x),{label:"Versioning",value:u.value.versioning?"Enabled":"Disabled",tone:u.value.versioning?"success":"neutral"},null,8,["value","tone"]),l(t(x),{label:"Notifications",value:u.value.notifications??0,tone:(u.value.notifications??0)>0?"info":"neutral"},null,8,["value","tone"])]),_:1}),l(t(_),{variant:"outline"},{header:a(()=>[l(t(B),{weight:"semibold"},{default:a(()=>[...e[12]||(e[12]=[i("Upload object",-1)])]),_:1})]),default:a(()=>[l(t(r),{direction:"vertical",gap:"0.5rem"},{default:a(()=>[l(t(U),{modelValue:j.value,"onUpdate:modelValue":e[3]||(e[3]=n=>j.value=n),placeholder:"object/key.txt",label:"Key"},null,8,["modelValue"]),l(t(U),{modelValue:C.value,"onUpdate:modelValue":e[4]||(e[4]=n=>C.value=n),placeholder:"text/plain",label:"Content-Type"},null,8,["modelValue"]),l(t(B),{as:"label",tone:"muted",size:"sm"},{default:a(()=>[...e[13]||(e[13]=[i("Body",-1)])]),_:1}),te(T("textarea",{"onUpdate:modelValue":e[5]||(e[5]=n=>w.value=n),rows:"4",style:{width:"100%","font-family":"var(--tree-font-mono, monospace)",padding:"0.5rem"},placeholder:"Hello, world!"},null,512),[[ae,w.value]]),l(t(r),{direction:"horizontal",justify:"flex-end"},{default:a(()=>[l(t(p),{size:"sm",loading:V.value,onClick:I},{default:a(()=>[...e[14]||(e[14]=[i("Upload",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),l(t(_),{variant:"outline"},{header:a(()=>[l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:a(()=>[l(t(B),{weight:"semibold"},{default:a(()=>[i("Objects ("+b(k.value.length)+" · "+b(O(G.value))+")",1)]),_:1}),l(t(r),{direction:"horizontal",gap:"0.5rem",align:"center"},{default:a(()=>[l(t(U),{modelValue:h.value,"onUpdate:modelValue":e[6]||(e[6]=n=>h.value=n),placeholder:"prefix filter",size:"sm",onKeyup:e[7]||(e[7]=ie(n=>m(),["enter"]))},null,8,["modelValue"]),l(t(p),{size:"sm",variant:"ghost",onClick:e[8]||(e[8]=n=>m())},{default:a(()=>[...e[15]||(e[15]=[i("Apply",-1)])]),_:1})]),_:1})]),_:1})]),default:a(()=>[$.value?(c(),f(t(r),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:a(()=>[l(t(F),{label:"Loading objects..."})]),_:1})):k.value.length?(c(),f(t(ne),{key:2,columns:L,rows:k.value,"aria-label":"Bucket objects"},{"cell-key":a(({row:n})=>[l(t(oe),{href:R(String(n.key)),external:"",style:{"font-weight":"500"}},{default:a(()=>[i(b(n.key),1)]),_:2},1032,["href"])]),"cell-size":a(({row:n})=>[i(b(O(Number(n.size))),1)]),"cell-lastModified":a(({row:n})=>[i(b(H(n.lastModified)),1)]),"cell-actions":a(({row:n})=>[l(t(r),{direction:"horizontal",gap:"0.25rem",justify:"flex-end"},{default:a(()=>[T("a",{href:q(String(n.key)),target:"_blank",rel:"noopener noreferrer",style:{"text-decoration":"none"}},[l(t(p),{size:"sm",variant:"ghost"},{default:a(()=>[...e[16]||(e[16]=[i("Download",-1)])]),_:1})],8,ce),l(t(p),{size:"sm",variant:"ghost",tone:"danger",onClick:P=>A(String(n.key))},{default:a(()=>[...e[17]||(e[17]=[i(" Delete ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["rows"])):(c(),f(t(le),{key:1,title:"No objects",description:"This bucket is empty (or the prefix filter excluded everything)."}))]),_:1})],64)):M("",!0)]),_:1}))}}),me=E({__name:"BucketDetailPage",props:{bucketName:{}},setup(z){const N=de();function d(){N.push("/buckets")}return(S,v)=>(c(),f(fe,{"bucket-name":z.bucketName,onBack:d},null,8,["bucket-name"]))}});export{me as default};
@@ -0,0 +1 @@
1
+ import{k as C,a1 as M,l as N,o as D,m as i,e as u,$ as a,t as b,a4 as t,j as o,D as O,E as p,O as V,i as s,_ as c,f as T,w as U,x as L,G as E,H as F,C as G,v as _,R as P,A as q,u as y,I as A,n as f,b as w,a as z}from"./index-DGsXIPJ-.js";const H=C({__name:"BucketsView",setup(j){const $=M(),r=f([]),B=f({}),d=f(!0),v=f(null);let m=null;const x=[{key:"name",label:"Bucket"},{key:"service",label:"Service"},{key:"objectCount",label:"Objects",align:"right"},{key:"totalSize",label:"Size",align:"right"},{key:"versioning",label:"Versioning"},{key:"notifications",label:"Notifications",align:"right"},{key:"actions",label:"",align:"right"}],R=w(()=>r.value.map(n=>({...n,service:B.value[n.name]||""}))),g=w(()=>({buckets:r.value.length,objects:r.value.reduce((n,l)=>n+(l.objectCount||0),0),size:r.value.reduce((n,l)=>n+(l.totalSize||0),0)}));function h(n){if(n==null)return"—";if(n===0)return"0 B";const l=["B","KB","MB","GB","TB"],e=Math.floor(Math.log(n)/Math.log(1024));return`${(n/Math.pow(1024,e)).toFixed(e===0?0:1)} ${l[e]}`}async function S(){try{const[n,l]=await Promise.all([z.listBuckets(),z.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);r.value=n;const e={};for(const k of l.buckets||[])e[k.name]=k.service;B.value=e,v.value=null}catch(n){v.value=n.message||"Failed to load buckets"}finally{d.value=!1}}function I(n){$.push(`/buckets/${encodeURIComponent(n)}`)}return N(()=>{S(),m=window.setInterval(S,1e4)}),D(()=>{m&&window.clearInterval(m)}),(n,l)=>(i(),u(a(b),{direction:"vertical",gap:"1.25rem"},{default:t(()=>[o(a(O),{columns:3,gap:"1rem"},{default:t(()=>[o(a(p),{label:"Buckets",value:g.value.buckets,tone:"info",loading:d.value},null,8,["value","loading"]),o(a(p),{label:"Objects",value:g.value.objects,tone:"success",loading:d.value},null,8,["value","loading"]),o(a(p),{label:"Total size",value:h(g.value.size),tone:"neutral",loading:d.value},null,8,["value","loading"])]),_:1}),v.value?(i(),u(a(V),{key:0,variant:"danger",dismissible:"",onDismiss:l[0]||(l[0]=e=>v.value=null)},{default:t(()=>[s(c(v.value),1)]),_:1})):T("",!0),o(a(U),{variant:"outline"},{header:t(()=>[o(a(b),{direction:"horizontal",gap:"0.5rem",align:"center",justify:"space-between"},{default:t(()=>[o(a(y),{weight:"semibold"},{default:t(()=>[...l[1]||(l[1]=[s("S3 Buckets",-1)])]),_:1}),o(a(y),{tone:"muted"},{default:t(()=>[...l[2]||(l[2]=[s("Refreshes every 10s",-1)])]),_:1})]),_:1})]),default:t(()=>[d.value?(i(),u(a(b),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:t(()=>[o(a(L),{label:"Loading buckets..."})]),_:1})):r.value.length?(i(),u(a(F),{key:2,columns:x,rows:R.value,"aria-label":"S3 buckets"},{"cell-name":t(({row:e})=>[o(a(A),{to:`/buckets/${encodeURIComponent(String(e.name))}`,style:{"font-weight":"600"}},{default:t(()=>[s(c(e.name),1)]),_:2},1032,["to"])]),"cell-service":t(({row:e})=>[e.service?(i(),u(a(P),{key:0,to:`/services/${encodeURIComponent(String(e.service))}`,style:{"text-decoration":"none"}},{default:t(()=>[o(a(q),{size:"sm",variant:"soft",clickable:""},{default:t(()=>[s(c(e.service),1)]),_:2},1024)]),_:2},1032,["to"])):(i(),u(a(y),{key:1,tone:"muted",size:"xs"},{default:t(()=>[...l[3]||(l[3]=[s("unmanaged",-1)])]),_:1}))]),"cell-objectCount":t(({row:e})=>[o(a(_),{tone:"info",variant:"soft"},{default:t(()=>[s(c(e.objectCount??0),1)]),_:2},1024)]),"cell-totalSize":t(({row:e})=>[s(c(h(e.totalSize)),1)]),"cell-versioning":t(({row:e})=>[o(a(_),{tone:e.versioning?"success":"neutral",variant:"soft"},{default:t(()=>[s(c(e.versioning?"Enabled":"Disabled"),1)]),_:2},1032,["tone"])]),"cell-notifications":t(({row:e})=>[o(a(_),{tone:Number(e.notifications)>0?"info":"neutral",variant:"soft"},{default:t(()=>[s(c(e.notifications??0),1)]),_:2},1032,["tone"])]),"cell-actions":t(({row:e})=>[o(a(G),{size:"sm",variant:"ghost",onClick:k=>I(String(e.name))},{default:t(()=>[...l[4]||(l[4]=[s(" Open ",-1)])]),_:1},8,["onClick"])]),_:1},8,["rows"])):(i(),u(a(E),{key:1,title:"No buckets found",description:"Register a microservice that defines S3 resources or create buckets directly in LocalStack."}))]),_:1})]),_:1}))}}),J=C({__name:"BucketsPage",setup(j){return($,r)=>(i(),u(H))}});export{J as default};
@@ -0,0 +1 @@
1
+ import{k as A,l as U,o as j,m as n,e as l,$ as a,t as v,a4 as s,j as u,D as F,E as w,O as H,i as o,_ as r,f as b,w as q,x as W,G as V,H as J,C as Q,u as m,A as c,v as R,R as X,N as Y,n as p,b as S,a as L,a1 as Z}from"./index-DGsXIPJ-.js";const ee=A({__name:"DynamoTablesList",emits:["open"],setup(K,{emit:N}){const _=N,d=p([]),k=p([]),z=p({}),y=p(!0),x=p(null),$=p("");let h=null;const M=[{key:"name",label:"Table"},{key:"service",label:"Service"},{key:"status",label:"Status"},{key:"itemCount",label:"Items",align:"right"},{key:"seed",label:"Seed"},{key:"features",label:"Features"},{key:"actions",label:"",align:"right"}],I=S(()=>{const i=d.value.map(e=>{var G,P;const t=(G=e.keySchema.find(C=>C.KeyType==="HASH"))==null?void 0:G.AttributeName,f=(P=e.keySchema.find(C=>C.KeyType==="RANGE"))==null?void 0:P.AttributeName,D=f?`PK: ${t} · SK: ${f}`:`PK: ${t??"—"}`,E=k.value.find(C=>C.tableName===e.name);return{name:e.name,status:e.status,itemCount:e.itemCount||0,keyDescriptor:D,billingMode:e.billingMode,ttlOn:e.ttl.enabled,streamOn:e.streamEnabled,hasGsi:e.hasGsi,hasLsi:e.hasLsi,service:z.value[e.name]||"",seedItemCount:E?E.itemCount:null,exists:!0}});for(const e of k.value)!e.tableExists&&!i.some(t=>t.name===e.tableName)&&i.push({name:e.tableName,status:"PENDING",itemCount:0,keyDescriptor:"—",ttlOn:!1,streamOn:!1,hasGsi:!1,hasLsi:!1,service:z.value[e.tableName]||"",seedItemCount:e.itemCount,exists:!1});return i.sort((e,t)=>e.name.localeCompare(t.name))}),T=S(()=>{const i=$.value.trim().toLowerCase();return i?I.value.filter(e=>e.name.toLowerCase().includes(i)||(e.service||"").toLowerCase().includes(i)):I.value}),g=S(()=>({tables:d.value.length,items:d.value.reduce((i,e)=>i+(e.itemCount||0),0),warnings:d.value.reduce((i,e)=>{var t;return i+(((t=e.warnings)==null?void 0:t.length)||0)},0),seedsPending:k.value.filter(i=>!i.tableExists).length}));async function O(){try{const[i,e,t]=await Promise.all([L.listDynamoTables(),L.listSeeds().catch(()=>({seedsDir:"",entries:[]})),L.listResourceOwners().catch(()=>({tables:[],queues:[],topics:[],buckets:[]}))]);d.value=i.tables,k.value=e.entries;const f={};for(const D of t.tables)f[D.name]=D.service;z.value=f,x.value=null}catch(i){x.value=i.message||"Failed to load DynamoDB tables"}finally{y.value=!1}}function B(i){i.exists&&_("open",i.name)}return U(()=>{O(),h=window.setInterval(O,15e3)}),j(()=>{h&&window.clearInterval(h)}),(i,e)=>(n(),l(a(v),{direction:"vertical",gap:"1.25rem"},{default:s(()=>[u(a(F),{columns:4,gap:"1rem"},{default:s(()=>[u(a(w),{label:"Tables",value:g.value.tables,tone:"info",loading:y.value},null,8,["value","loading"]),u(a(w),{label:"Total items",value:g.value.items,tone:"success",loading:y.value},null,8,["value","loading"]),u(a(w),{label:"Seeds pending",value:g.value.seedsPending,tone:g.value.seedsPending>0?"warning":"neutral",loading:y.value},null,8,["value","tone","loading"]),u(a(w),{label:"Warnings",value:g.value.warnings,tone:g.value.warnings>0?"warning":"neutral",loading:y.value},null,8,["value","tone","loading"])]),_:1}),x.value?(n(),l(a(H),{key:0,variant:"danger",dismissible:"",onDismiss:e[0]||(e[0]=t=>x.value=null)},{default:s(()=>[o(r(x.value),1)]),_:1})):b("",!0),u(a(q),{variant:"outline"},{header:s(()=>[u(a(v),{direction:"horizontal",justify:"space-between",align:"center",gap:"1rem"},{default:s(()=>[u(a(m),{weight:"semibold"},{default:s(()=>[...e[2]||(e[2]=[o("DynamoDB tables",-1)])]),_:1}),u(a(v),{direction:"horizontal",align:"center",gap:"1rem"},{default:s(()=>[u(a(Y),{modelValue:$.value,"onUpdate:modelValue":e[1]||(e[1]=t=>$.value=t),placeholder:"Filter tables...",style:{"min-width":"16rem"}},null,8,["modelValue"]),u(a(m),{tone:"muted",size:"xs"},{default:s(()=>[...e[3]||(e[3]=[o(" Rows with reduced opacity exist only as a seed file ",-1)])]),_:1})]),_:1})]),_:1})]),default:s(()=>[y.value?(n(),l(a(v),{key:0,direction:"horizontal",justify:"center",align:"center"},{default:s(()=>[u(a(W),{label:"Loading tables..."})]),_:1})):I.value.length?T.value.length?(n(),l(a(J),{key:3,columns:M,rows:T.value,"row-key":"name","row-state":t=>t.exists?"default":"muted","aria-label":"DynamoDB tables"},{"cell-name":s(({row:t})=>[u(a(v),{direction:"vertical",gap:"0.125rem"},{default:s(()=>[t.exists?(n(),l(a(m),{key:0,weight:"semibold",style:{cursor:"pointer","text-decoration":"underline","text-decoration-style":"dotted","text-underline-offset":"3px"},onClick:f=>B(t)},{default:s(()=>[o(r(t.name),1)]),_:2},1032,["onClick"])):(n(),l(a(v),{key:1,direction:"horizontal",gap:"0.375rem",align:"center"},{default:s(()=>[u(a(m),{weight:"semibold"},{default:s(()=>[o(r(t.name),1)]),_:2},1024),u(a(c),{size:"sm",variant:"soft"},{default:s(()=>[...e[4]||(e[4]=[o("seed only",-1)])]),_:1})]),_:2},1024)),u(a(m),{tone:"muted",family:"mono",size:"xs"},{default:s(()=>[o(r(t.keyDescriptor),1)]),_:2},1024)]),_:2},1024)]),"cell-service":s(({row:t})=>[t.service?(n(),l(a(X),{key:0,to:`/services/${encodeURIComponent(String(t.service))}`,style:{"text-decoration":"none"}},{default:s(()=>[u(a(c),{size:"sm",variant:"soft",clickable:""},{default:s(()=>[o(r(t.service),1)]),_:2},1024)]),_:2},1032,["to"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[5]||(e[5]=[o("—",-1)])]),_:1}))]),"cell-status":s(({row:t})=>[t.exists?(n(),l(a(R),{key:0,tone:t.status==="ACTIVE"?"success":"warning",variant:"soft"},{default:s(()=>[o(r(t.status||"UNKNOWN"),1)]),_:2},1032,["tone"])):(n(),l(a(R),{key:1,tone:"warning",variant:"outline"},{default:s(()=>[...e[6]||(e[6]=[o("Not created",-1)])]),_:1}))]),"cell-itemCount":s(({row:t})=>[o(r(t.exists?t.itemCount:"—"),1)]),"cell-seed":s(({row:t})=>[t.seedItemCount!==null?(n(),l(a(R),{key:0,tone:t.exists?"info":"warning",variant:"soft"},{default:s(()=>[o(r(t.seedItemCount)+" seeded item"+r(t.seedItemCount===1?"":"s"),1)]),_:2},1032,["tone"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[7]||(e[7]=[o("no seed",-1)])]),_:1}))]),"cell-features":s(({row:t})=>[u(a(v),{direction:"horizontal",gap:"0.25rem",wrap:""},{default:s(()=>[t.billingMode?(n(),l(a(c),{key:0,size:"sm",variant:"soft"},{default:s(()=>[o(r(t.billingMode),1)]),_:2},1024)):b("",!0),t.ttlOn?(n(),l(a(c),{key:1,size:"sm",variant:"solid"},{default:s(()=>[...e[8]||(e[8]=[o("TTL",-1)])]),_:1})):b("",!0),t.streamOn?(n(),l(a(c),{key:2,size:"sm",variant:"solid"},{default:s(()=>[...e[9]||(e[9]=[o("Streams",-1)])]),_:1})):b("",!0),t.hasGsi?(n(),l(a(c),{key:3,size:"sm",variant:"soft"},{default:s(()=>[...e[10]||(e[10]=[o("GSI",-1)])]),_:1})):b("",!0),t.hasLsi?(n(),l(a(c),{key:4,size:"sm",variant:"soft"},{default:s(()=>[...e[11]||(e[11]=[o("LSI",-1)])]),_:1})):b("",!0)]),_:2},1024)]),"cell-actions":s(({row:t})=>[t.exists?(n(),l(a(Q),{key:0,size:"sm",variant:"soft",onClick:f=>B(t)},{default:s(()=>[...e[12]||(e[12]=[o(" Explore ",-1)])]),_:1},8,["onClick"])):(n(),l(a(m),{key:1,tone:"muted",size:"xs"},{default:s(()=>[...e[13]||(e[13]=[o(" Register service to provision ",-1)])]),_:1}))]),_:1},8,["rows","row-state"])):(n(),l(a(V),{key:2,title:"No matching tables",description:`No tables match "${$.value}".`},null,8,["description"])):(n(),l(a(V),{key:1,title:"No DynamoDB tables",description:"Register a microservice with DynamoDB resources or drop a seed file into the seeds directory."}))]),_:1})]),_:1}))}}),ae=A({__name:"DynamoPage",setup(K){const N=Z();function _(d){N.push(`/dynamo/${encodeURIComponent(d)}`)}return(d,k)=>(n(),l(ee,{onOpen:_}))}});export{ae as default};