@ampless/admin 1.0.0-alpha.57 → 1.0.0-alpha.58

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.
@@ -8,11 +8,11 @@ import {
8
8
  } from "./chunk-2SVJONQ7.js";
9
9
 
10
10
  // src/components/plugin-settings-form.tsx
11
- import { useState as useState2 } from "react";
11
+ import { useState as useState2, useEffect as useEffect2 } from "react";
12
12
  import {
13
- resolveLocalized as resolveLocalized2
13
+ resolveLocalized as resolveLocalized3
14
14
  } from "ampless";
15
- import { Button, Input, Label as Label2, Textarea } from "@ampless/runtime/ui";
15
+ import { Button as Button2, Input as Input2, Label as Label3, Textarea } from "@ampless/runtime/ui";
16
16
 
17
17
  // src/lib/plugin-settings.ts
18
18
  import {
@@ -49,6 +49,68 @@ async function deletePluginPublicSetting(instanceId, field) {
49
49
  await store.remove(SITE_CONFIG_PK, pluginSettingKey(instanceId, field.key));
50
50
  }
51
51
 
52
+ // src/lib/plugin-secret.ts
53
+ import { generateClient } from "aws-amplify/api";
54
+ import { isValidPluginKey as isValidPluginKey2 } from "ampless";
55
+ function pluginSecretKey(instanceId, fieldKey) {
56
+ return `plugins.${instanceId}.${fieldKey}`;
57
+ }
58
+ function requireModel() {
59
+ const client = generateClient();
60
+ const m = client.models.PluginSecret;
61
+ if (!m) {
62
+ throw new Error(
63
+ "PluginSecret model is not available on the AppSync client. Did you redeploy the sandbox? Run `npx ampx sandbox` and wait for it to finish, then reload this page."
64
+ );
65
+ }
66
+ return m;
67
+ }
68
+ async function setPluginSecret(instanceId, fieldKey, value) {
69
+ if (!isValidPluginKey2(instanceId)) {
70
+ throw new Error(`[plugin-secret] Invalid instanceId: "${instanceId}"`);
71
+ }
72
+ if (!isValidPluginKey2(fieldKey)) {
73
+ throw new Error(`[plugin-secret] Invalid fieldKey: "${fieldKey}"`);
74
+ }
75
+ if (typeof value !== "string") {
76
+ throw new Error(`[plugin-secret] value must be a string`);
77
+ }
78
+ const model = requireModel();
79
+ const sk = pluginSecretKey(instanceId, fieldKey);
80
+ const existing = await model.get({ siteId: "default", sk });
81
+ if (existing.data) {
82
+ const { errors } = await model.update({ siteId: "default", sk, value });
83
+ if (errors) throw new Error(errors[0]?.message ?? "PluginSecret.update failed");
84
+ } else {
85
+ const { errors } = await model.create({ siteId: "default", sk, value });
86
+ if (errors) throw new Error(errors[0]?.message ?? "PluginSecret.create failed");
87
+ }
88
+ }
89
+ async function clearPluginSecret(instanceId, fieldKey) {
90
+ if (!isValidPluginKey2(instanceId)) {
91
+ throw new Error(`[plugin-secret] Invalid instanceId: "${instanceId}"`);
92
+ }
93
+ if (!isValidPluginKey2(fieldKey)) {
94
+ throw new Error(`[plugin-secret] Invalid fieldKey: "${fieldKey}"`);
95
+ }
96
+ const model = requireModel();
97
+ const sk = pluginSecretKey(instanceId, fieldKey);
98
+ const { errors } = await model.delete({ siteId: "default", sk });
99
+ if (errors) throw new Error(errors[0]?.message ?? "PluginSecret.delete failed");
100
+ }
101
+ async function hasPluginSecret(instanceId, fieldKey) {
102
+ if (!isValidPluginKey2(instanceId)) return false;
103
+ if (!isValidPluginKey2(fieldKey)) return false;
104
+ try {
105
+ const model = requireModel();
106
+ const sk = pluginSecretKey(instanceId, fieldKey);
107
+ const result = await model.get({ siteId: "default", sk });
108
+ return result.data !== null;
109
+ } catch {
110
+ return false;
111
+ }
112
+ }
113
+
52
114
  // src/components/repeatable-field-editor.tsx
53
115
  import { useEffect, useState } from "react";
54
116
  import { resolveLocalized } from "ampless";
@@ -223,8 +285,215 @@ function RepeatableFieldEditor({
223
285
  );
224
286
  }
225
287
 
226
- // src/components/plugin-settings-form.tsx
288
+ // src/components/secret-field-input.tsx
289
+ import { useReducer, useId } from "react";
290
+ import { resolveLocalized as resolveLocalized2 } from "ampless";
291
+ import { Button, Input, Label as Label2 } from "@ampless/runtime/ui";
292
+
293
+ // src/lib/secret-field-input.ts
294
+ function initialSecretFieldState(hasValue) {
295
+ return hasValue ? { status: "stored" } : { status: "unset" };
296
+ }
297
+ function secretFieldReducer(state, action) {
298
+ switch (action.type) {
299
+ case "REPLACE":
300
+ if (state.status !== "stored") return state;
301
+ return { status: "editing", value: "" };
302
+ case "CANCEL":
303
+ if (state.status !== "editing") return state;
304
+ return { status: "stored" };
305
+ case "CHANGE":
306
+ if (state.status === "editing") return { status: "editing", value: action.value };
307
+ if (state.status === "unset") return { status: "editing", value: action.value };
308
+ return state;
309
+ case "SAVE": {
310
+ if (state.status === "unset") {
311
+ return { status: "saving", previousStatus: "unset", value: "" };
312
+ }
313
+ if (state.status === "editing") {
314
+ return { status: "saving", previousStatus: "editing", value: state.value };
315
+ }
316
+ return state;
317
+ }
318
+ case "CLEAR":
319
+ if (state.status === "stored") return { status: "clearing" };
320
+ if (state.status === "error") return { status: "clearing" };
321
+ return state;
322
+ case "SAVE_SUCCESS":
323
+ return { status: "stored" };
324
+ case "SAVE_ERROR": {
325
+ const prev = state.status === "saving" ? state.previousStatus : "unset";
326
+ return { status: "error", previousStatus: prev, message: action.message };
327
+ }
328
+ case "CLEAR_SUCCESS":
329
+ return { status: "unset" };
330
+ case "CLEAR_ERROR":
331
+ return {
332
+ status: "error",
333
+ previousStatus: "stored",
334
+ message: action.message
335
+ };
336
+ }
337
+ }
338
+ function showStoredPlaceholder(state) {
339
+ return state.status === "stored" || state.status === "clearing";
340
+ }
341
+ function showInput(state) {
342
+ return state.status === "unset" || state.status === "editing" || state.status === "error" && state.previousStatus !== "stored";
343
+ }
344
+ function currentInputValue(state) {
345
+ if (state.status === "editing") return state.value;
346
+ return "";
347
+ }
348
+ function isBusy(state) {
349
+ return state.status === "saving" || state.status === "clearing";
350
+ }
351
+
352
+ // src/components/secret-field-input.tsx
227
353
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
354
+ function SecretFieldInput({ field, hasValue, onSave, onClear }) {
355
+ const locale = useLocale();
356
+ const inputId = useId();
357
+ const [state, dispatch] = useReducer(
358
+ secretFieldReducer,
359
+ hasValue,
360
+ initialSecretFieldState
361
+ );
362
+ async function handleSave() {
363
+ const value = currentInputValue(state);
364
+ dispatch({ type: "SAVE" });
365
+ try {
366
+ await onSave(value);
367
+ dispatch({ type: "SAVE_SUCCESS" });
368
+ } catch (err) {
369
+ dispatch({
370
+ type: "SAVE_ERROR",
371
+ message: err instanceof Error ? err.message : String(err)
372
+ });
373
+ }
374
+ }
375
+ async function handleClear() {
376
+ dispatch({ type: "CLEAR" });
377
+ try {
378
+ await onClear();
379
+ dispatch({ type: "CLEAR_SUCCESS" });
380
+ } catch (err) {
381
+ dispatch({
382
+ type: "CLEAR_ERROR",
383
+ message: err instanceof Error ? err.message : String(err)
384
+ });
385
+ }
386
+ }
387
+ const label = resolveLocalized2(field.label, locale);
388
+ const description = field.description ? resolveLocalized2(field.description, locale) : void 0;
389
+ const busy = isBusy(state);
390
+ return /* @__PURE__ */ jsxs2("div", { className: "space-y-1.5 rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-900 dark:bg-amber-950/30", children: [
391
+ /* @__PURE__ */ jsx2("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs2(Label2, { htmlFor: inputId, className: "flex items-center gap-1.5 text-sm font-medium", children: [
392
+ /* @__PURE__ */ jsx2(LockIcon, {}),
393
+ label,
394
+ field.required && /* @__PURE__ */ jsx2("span", { className: "ml-0.5 text-destructive", children: "*" })
395
+ ] }) }),
396
+ description && /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: description }),
397
+ showStoredPlaceholder(state) && /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2", children: [
398
+ /* @__PURE__ */ jsx2(
399
+ "span",
400
+ {
401
+ className: "flex-1 rounded-md border bg-background px-3 py-1.5 text-sm text-muted-foreground",
402
+ "aria-label": "Secret value is stored",
403
+ children: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"
404
+ }
405
+ ),
406
+ /* @__PURE__ */ jsx2(
407
+ Button,
408
+ {
409
+ type: "button",
410
+ variant: "outline",
411
+ size: "sm",
412
+ disabled: busy,
413
+ onClick: () => dispatch({ type: "REPLACE" }),
414
+ children: "Replace"
415
+ }
416
+ ),
417
+ /* @__PURE__ */ jsx2(
418
+ Button,
419
+ {
420
+ type: "button",
421
+ variant: "outline",
422
+ size: "sm",
423
+ disabled: busy,
424
+ onClick: () => void handleClear(),
425
+ className: "text-destructive hover:text-destructive",
426
+ children: "Clear"
427
+ }
428
+ )
429
+ ] }),
430
+ showInput(state) && /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2", children: [
431
+ /* @__PURE__ */ jsx2(
432
+ Input,
433
+ {
434
+ id: inputId,
435
+ type: "text",
436
+ className: "flex-1",
437
+ value: currentInputValue(state),
438
+ placeholder: "Enter secret value\u2026",
439
+ maxLength: field.type === "text" && field.maxLength ? field.maxLength : void 0,
440
+ disabled: busy,
441
+ autoComplete: "off",
442
+ autoCorrect: "off",
443
+ autoCapitalize: "off",
444
+ spellCheck: false,
445
+ onChange: (e) => dispatch({ type: "CHANGE", value: e.target.value })
446
+ }
447
+ ),
448
+ /* @__PURE__ */ jsx2(
449
+ Button,
450
+ {
451
+ type: "button",
452
+ size: "sm",
453
+ disabled: busy || currentInputValue(state) === "",
454
+ onClick: () => void handleSave(),
455
+ children: state.status === "saving" ? "Saving\u2026" : "Save"
456
+ }
457
+ ),
458
+ (state.status === "editing" || state.status === "error" && state.previousStatus === "editing") && /* @__PURE__ */ jsx2(
459
+ Button,
460
+ {
461
+ type: "button",
462
+ variant: "outline",
463
+ size: "sm",
464
+ disabled: busy,
465
+ onClick: () => dispatch({ type: "CANCEL" }),
466
+ children: "Cancel"
467
+ }
468
+ )
469
+ ] }),
470
+ state.status === "clearing" && /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: "Clearing\u2026" }),
471
+ state.status === "error" && /* @__PURE__ */ jsx2("p", { className: "text-xs text-destructive", children: state.message })
472
+ ] });
473
+ }
474
+ function LockIcon() {
475
+ return /* @__PURE__ */ jsx2(
476
+ "svg",
477
+ {
478
+ xmlns: "http://www.w3.org/2000/svg",
479
+ viewBox: "0 0 16 16",
480
+ fill: "currentColor",
481
+ className: "h-3.5 w-3.5 text-amber-600 dark:text-amber-400",
482
+ "aria-hidden": "true",
483
+ children: /* @__PURE__ */ jsx2(
484
+ "path",
485
+ {
486
+ fillRule: "evenodd",
487
+ d: "M8 1a3.5 3.5 0 0 0-3.5 3.5V6H4a2 2 0 0 0-2 2v4.5A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V8a2 2 0 0 0-2-2h-.5V4.5A3.5 3.5 0 0 0 8 1Zm2 5V4.5a2 2 0 1 0-4 0V6h4Z",
488
+ clipRule: "evenodd"
489
+ }
490
+ )
491
+ }
492
+ );
493
+ }
494
+
495
+ // src/components/plugin-settings-form.tsx
496
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
228
497
  var CACHE_REBUILD_DELAY_MS = 8e3;
229
498
  function stringify(field, raw) {
230
499
  if (raw === void 0 || raw === null) return "";
@@ -288,10 +557,31 @@ function PluginSettingsForm({
288
557
  instanceId,
289
558
  displayName,
290
559
  fields,
291
- initialValues
560
+ initialValues,
561
+ secretFields
292
562
  }) {
293
563
  const t = useT();
294
564
  const locale = useLocale();
565
+ const [secretHasValue, setSecretHasValue] = useState2({});
566
+ useEffect2(() => {
567
+ if (!secretFields || secretFields.length === 0) return;
568
+ let cancelled = false;
569
+ async function check() {
570
+ const results = {};
571
+ for (const field of secretFields) {
572
+ try {
573
+ results[field.key] = await hasPluginSecret(instanceId, field.key);
574
+ } catch {
575
+ results[field.key] = false;
576
+ }
577
+ }
578
+ if (!cancelled) setSecretHasValue(results);
579
+ }
580
+ void check();
581
+ return () => {
582
+ cancelled = true;
583
+ };
584
+ }, [instanceId]);
295
585
  function defaultDisplay(field) {
296
586
  return field.default !== void 0 ? stringify(field, field.default) : "";
297
587
  }
@@ -394,12 +684,12 @@ function PluginSettingsForm({
394
684
  setSaving(false);
395
685
  }
396
686
  }
397
- return /* @__PURE__ */ jsxs2("form", { onSubmit: save, className: "max-w-2xl space-y-5 rounded-md border p-4", children: [
398
- /* @__PURE__ */ jsxs2("div", { children: [
399
- /* @__PURE__ */ jsx2("h2", { className: "text-base font-semibold", children: displayName ? resolveLocalized2(displayName, locale) : instanceId }),
400
- /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: instanceId })
687
+ return /* @__PURE__ */ jsxs3("form", { onSubmit: save, className: "max-w-2xl space-y-5 rounded-md border p-4", children: [
688
+ /* @__PURE__ */ jsxs3("div", { children: [
689
+ /* @__PURE__ */ jsx3("h2", { className: "text-base font-semibold", children: displayName ? resolveLocalized3(displayName, locale) : instanceId }),
690
+ /* @__PURE__ */ jsx3("p", { className: "text-xs text-muted-foreground", children: instanceId })
401
691
  ] }),
402
- fields.map((field) => /* @__PURE__ */ jsx2(
692
+ fields.map((field) => /* @__PURE__ */ jsx3(
403
693
  FieldRow,
404
694
  {
405
695
  field,
@@ -411,26 +701,62 @@ function PluginSettingsForm({
411
701
  },
412
702
  field.key
413
703
  )),
414
- info && /* @__PURE__ */ jsx2("p", { className: "text-sm text-muted-foreground", children: info }),
415
- error && /* @__PURE__ */ jsx2("p", { className: "text-sm text-destructive", children: error }),
416
- /* @__PURE__ */ jsx2(Button, { type: "submit", disabled: saving, children: saving ? t("plugins.saving") : t("plugins.save") })
704
+ info && /* @__PURE__ */ jsx3("p", { className: "text-sm text-muted-foreground", children: info }),
705
+ error && /* @__PURE__ */ jsx3("p", { className: "text-sm text-destructive", children: error }),
706
+ /* @__PURE__ */ jsx3(Button2, { type: "submit", disabled: saving, children: saving ? t("plugins.saving") : t("plugins.save") }),
707
+ secretFields && secretFields.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "mt-6 space-y-4 border-t pt-4", children: [
708
+ /* @__PURE__ */ jsxs3("div", { children: [
709
+ /* @__PURE__ */ jsxs3("h3", { className: "flex items-center gap-1.5 text-sm font-semibold text-amber-700 dark:text-amber-400", children: [
710
+ /* @__PURE__ */ jsx3(
711
+ "svg",
712
+ {
713
+ xmlns: "http://www.w3.org/2000/svg",
714
+ viewBox: "0 0 16 16",
715
+ fill: "currentColor",
716
+ className: "h-3.5 w-3.5",
717
+ "aria-hidden": "true",
718
+ children: /* @__PURE__ */ jsx3(
719
+ "path",
720
+ {
721
+ fillRule: "evenodd",
722
+ d: "M8 1a3.5 3.5 0 0 0-3.5 3.5V6H4a2 2 0 0 0-2 2v4.5A2.5 2.5 0 0 0 4.5 15h7a2.5 2.5 0 0 0 2.5-2.5V8a2 2 0 0 0-2-2h-.5V4.5A3.5 3.5 0 0 0 8 1Zm2 5V4.5a2 2 0 1 0-4 0V6h4Z",
723
+ clipRule: "evenodd"
724
+ }
725
+ )
726
+ }
727
+ ),
728
+ "Secret settings"
729
+ ] }),
730
+ /* @__PURE__ */ jsx3("p", { className: "text-xs text-muted-foreground", children: "Values are stored securely and never displayed after saving. They are only accessible by the trusted processor Lambda \u2014 not by the public site or admin UI." })
731
+ ] }),
732
+ secretFields.map((field) => /* @__PURE__ */ jsx3(
733
+ SecretFieldInput,
734
+ {
735
+ field,
736
+ hasValue: secretHasValue[field.key] ?? false,
737
+ onSave: (value) => setPluginSecret(instanceId, field.key, value),
738
+ onClear: () => clearPluginSecret(instanceId, field.key)
739
+ },
740
+ field.key
741
+ ))
742
+ ] })
417
743
  ] });
418
744
  }
419
745
  function FieldRow({ field, value, invalid, onChange, onReset, hasStoredValue }) {
420
746
  const t = useT();
421
747
  const locale = useLocale();
422
748
  const id = `plugin-${field.key}`;
423
- const labelEl = /* @__PURE__ */ jsxs2(Label2, { htmlFor: id, className: invalid ? "text-destructive" : void 0, children: [
424
- resolveLocalized2(field.label, locale),
425
- field.required && /* @__PURE__ */ jsx2("span", { className: "ml-1 text-destructive", children: "*" })
749
+ const labelEl = /* @__PURE__ */ jsxs3(Label3, { htmlFor: id, className: invalid ? "text-destructive" : void 0, children: [
750
+ resolveLocalized3(field.label, locale),
751
+ field.required && /* @__PURE__ */ jsx3("span", { className: "ml-1 text-destructive", children: "*" })
426
752
  ] });
427
- const description = field.description ? /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: resolveLocalized2(field.description, locale) }) : null;
753
+ const description = field.description ? /* @__PURE__ */ jsx3("p", { className: "text-xs text-muted-foreground", children: resolveLocalized3(field.description, locale) }) : null;
428
754
  const input = renderInput(field, id, value, invalid, onChange);
429
755
  const placeholder = renderDefaultHint(field, locale);
430
- return /* @__PURE__ */ jsxs2("div", { className: "space-y-1.5", children: [
431
- /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between", children: [
756
+ return /* @__PURE__ */ jsxs3("div", { className: "space-y-1.5", children: [
757
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between", children: [
432
758
  labelEl,
433
- hasStoredValue && /* @__PURE__ */ jsx2(
759
+ hasStoredValue && /* @__PURE__ */ jsx3(
434
760
  "button",
435
761
  {
436
762
  type: "button",
@@ -459,14 +785,14 @@ function renderDefaultHint(field, _locale) {
459
785
  }
460
786
  }
461
787
  if (!preview) return null;
462
- return /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: /* @__PURE__ */ jsx2("code", { children: preview }) });
788
+ return /* @__PURE__ */ jsx3("p", { className: "text-xs text-muted-foreground", children: /* @__PURE__ */ jsx3("code", { children: preview }) });
463
789
  }
464
790
  function renderScalarInput(field, id, value, invalid, onChange) {
465
791
  switch (field.type) {
466
792
  case "text":
467
793
  case "url":
468
- return /* @__PURE__ */ jsx2(
469
- Input,
794
+ return /* @__PURE__ */ jsx3(
795
+ Input2,
470
796
  {
471
797
  id,
472
798
  value,
@@ -478,7 +804,7 @@ function renderScalarInput(field, id, value, invalid, onChange) {
478
804
  }
479
805
  );
480
806
  case "textarea":
481
- return /* @__PURE__ */ jsx2(
807
+ return /* @__PURE__ */ jsx3(
482
808
  Textarea,
483
809
  {
484
810
  id,
@@ -491,9 +817,9 @@ function renderScalarInput(field, id, value, invalid, onChange) {
491
817
  }
492
818
  );
493
819
  case "code":
494
- return /* @__PURE__ */ jsxs2("div", { className: "space-y-1", children: [
495
- field.language && /* @__PURE__ */ jsx2("p", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: field.language }),
496
- /* @__PURE__ */ jsx2(
820
+ return /* @__PURE__ */ jsxs3("div", { className: "space-y-1", children: [
821
+ field.language && /* @__PURE__ */ jsx3("p", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: field.language }),
822
+ /* @__PURE__ */ jsx3(
497
823
  Textarea,
498
824
  {
499
825
  id,
@@ -508,8 +834,8 @@ function renderScalarInput(field, id, value, invalid, onChange) {
508
834
  )
509
835
  ] });
510
836
  case "boolean":
511
- return /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2", children: [
512
- /* @__PURE__ */ jsx2(
837
+ return /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-2", children: [
838
+ /* @__PURE__ */ jsx3(
513
839
  "input",
514
840
  {
515
841
  id,
@@ -519,11 +845,11 @@ function renderScalarInput(field, id, value, invalid, onChange) {
519
845
  className: "h-4 w-4"
520
846
  }
521
847
  ),
522
- /* @__PURE__ */ jsx2("span", { className: "text-xs text-muted-foreground", children: value === "true" ? "on" : "off" })
848
+ /* @__PURE__ */ jsx3("span", { className: "text-xs text-muted-foreground", children: value === "true" ? "on" : "off" })
523
849
  ] });
524
850
  case "number":
525
- return /* @__PURE__ */ jsx2(
526
- Input,
851
+ return /* @__PURE__ */ jsx3(
852
+ Input2,
527
853
  {
528
854
  id,
529
855
  type: "number",
@@ -536,7 +862,7 @@ function renderScalarInput(field, id, value, invalid, onChange) {
536
862
  }
537
863
  );
538
864
  case "select":
539
- return /* @__PURE__ */ jsxs2(
865
+ return /* @__PURE__ */ jsxs3(
540
866
  "select",
541
867
  {
542
868
  id,
@@ -545,13 +871,13 @@ function renderScalarInput(field, id, value, invalid, onChange) {
545
871
  onChange: (e) => onChange(e.target.value),
546
872
  "aria-invalid": invalid,
547
873
  children: [
548
- /* @__PURE__ */ jsx2("option", { value: "", children: "\u2014" }),
549
- field.options.map((opt) => /* @__PURE__ */ jsx2("option", { value: opt.value, children: typeof opt.label === "string" ? opt.label : opt.value }, opt.value))
874
+ /* @__PURE__ */ jsx3("option", { value: "", children: "\u2014" }),
875
+ field.options.map((opt) => /* @__PURE__ */ jsx3("option", { value: opt.value, children: typeof opt.label === "string" ? opt.label : opt.value }, opt.value))
550
876
  ]
551
877
  }
552
878
  );
553
879
  case "json":
554
- return /* @__PURE__ */ jsx2(
880
+ return /* @__PURE__ */ jsx3(
555
881
  Textarea,
556
882
  {
557
883
  id,
@@ -568,7 +894,7 @@ function renderScalarInput(field, id, value, invalid, onChange) {
568
894
  function renderInput(field, id, value, invalid, onChange) {
569
895
  switch (field.type) {
570
896
  case "repeatable":
571
- return /* @__PURE__ */ jsx2(
897
+ return /* @__PURE__ */ jsx3(
572
898
  RepeatableFieldEditor,
573
899
  {
574
900
  field,
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { LocalizedString, PluginSettingField, PluginRepeatableField } from 'ampless';
2
+ import { LocalizedString, PluginSettingField, PluginSecretField, PluginRepeatableField } from 'ampless';
3
3
 
4
4
  interface Props {
5
5
  instanceId: string;
@@ -11,8 +11,15 @@ interface Props {
11
11
  * still come through the manifest.
12
12
  */
13
13
  initialValues: Record<string, unknown>;
14
+ /**
15
+ * Secret fields declared in `settings.secret`. Rendered below the
16
+ * public fields in a visually distinct section. Values are NEVER
17
+ * fetched — each SecretFieldInput independently checks existence via
18
+ * `hasPluginSecret()` at mount time.
19
+ */
20
+ secretFields?: ReadonlyArray<PluginSecretField>;
14
21
  }
15
- declare function PluginSettingsForm({ instanceId, displayName, fields, initialValues, }: Props): react_jsx_runtime.JSX.Element;
22
+ declare function PluginSettingsForm({ instanceId, displayName, fields, initialValues, secretFields, }: Props): react_jsx_runtime.JSX.Element;
16
23
  /**
17
24
  * Render a scalar (non-repeatable) plugin field input. Handles the 8
18
25
  * scalar variant types: text, url, textarea, code, boolean, number,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  PluginSettingsForm,
4
4
  renderScalarInput
5
- } from "../chunk-OPRC3VJQ.js";
5
+ } from "../chunk-KUYKXVNF.js";
6
6
  import "../chunk-D72XF3Q3.js";
7
7
  import "../chunk-2SVJONQ7.js";
8
8
  import "../chunk-KYFSM7MS.js";
@@ -1 +1 @@
1
- {"inputs":{"src/locales/en.json":{"bytes":12487,"imports":[]},"src/locales/ja.json":{"bytes":15723,"imports":[]},"src/lib/i18n.ts":{"bytes":2935,"imports":[{"path":"src/locales/en.json","kind":"import-statement","original":"../locales/en.json"},{"path":"src/locales/ja.json","kind":"import-statement","original":"../locales/ja.json"}],"format":"esm"},"src/lib/media.ts":{"bytes":3109,"imports":[],"format":"esm"},"src/lib/amplify-server.ts":{"bytes":593,"imports":[{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true}],"format":"esm"},"src/lib/auth-server.ts":{"bytes":1678,"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":7898,"imports":[{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"./lib/media.js"},{"path":"src/lib/amplify-server.ts","kind":"import-statement","original":"./lib/amplify-server.js"},{"path":"src/lib/auth-server.ts","kind":"import-statement","original":"./lib/auth-server.js"},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"}],"format":"esm"},"src/api/media-proxy.ts":{"bytes":4392,"imports":[{"path":"next/server","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true}],"format":"esm"},"src/api/index.ts":{"bytes":562,"imports":[{"path":"src/api/media-proxy.ts","kind":"import-statement","original":"./media-proxy.js"}],"format":"esm"},"src/components/i18n-provider.tsx":{"bytes":1526,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"../lib/i18n.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/admin-dashboard.tsx":{"bytes":2256,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/upload.ts":{"bytes":4604,"imports":[{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"./media.js"}],"format":"esm"},"src/components/image-upload-dialog.tsx":{"bytes":14701,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/admin-config-client.ts":{"bytes":626,"imports":[],"format":"esm"},"src/components/media-picker.tsx":{"bytes":5261,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/table-controls.tsx":{"bytes":4583,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/toolbar.tsx":{"bytes":4887,"imports":[{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"../components/media-picker.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"src/editor/table-controls.tsx","kind":"import-statement","original":"./table-controls.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/image-bubble-menu.tsx":{"bytes":2716,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/tiptap-editor.tsx":{"bytes":5217,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"@tiptap/extension-table","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-row","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-header","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-cell","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-list","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-underline","kind":"import-statement","external":true},{"path":"@tiptap/extension-highlight","kind":"import-statement","external":true},{"path":"@tiptap/extension-text-align","kind":"import-statement","external":true},{"path":"src/editor/toolbar.tsx","kind":"import-statement","original":"./toolbar.js"},{"path":"src/editor/image-bubble-menu.tsx","kind":"import-statement","original":"./image-bubble-menu.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/static-bundle.ts":{"bytes":5812,"imports":[{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/components/static-uploader.tsx":{"bytes":8959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/post-form.tsx":{"bytes":19995,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/editor/tiptap-editor.tsx","kind":"import-statement","original":"../editor/tiptap-editor.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/static-uploader.tsx","kind":"import-statement","original":"./static-uploader.js"},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/edit-post-view.tsx":{"bytes":1059,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/amplify-client.ts":{"bytes":612,"imports":[{"path":"aws-amplify","kind":"import-statement","external":true}],"format":"esm"},"src/lib/posts-provider.ts":{"bytes":6171,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/kv-provider.ts":{"bytes":4266,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-store.ts":{"bytes":1823,"imports":[],"format":"esm"},"src/lib/mcp-token-provider.ts":{"bytes":2918,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"src/lib/mcp-token-store.ts","kind":"import-statement","original":"./mcp-token-store.js"}],"format":"esm"},"src/components/admin-providers.tsx":{"bytes":1791,"imports":[{"path":"src/lib/amplify-client.ts","kind":"import-statement","original":"../lib/amplify-client.js"},{"path":"src/lib/posts-provider.ts","kind":"import-statement","original":"../lib/posts-provider.js"},{"path":"src/lib/kv-provider.ts","kind":"import-statement","original":"../lib/kv-provider.js"},{"path":"src/lib/mcp-token-provider.ts","kind":"import-statement","original":"../lib/mcp-token-provider.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/theme-actions.ts":{"bytes":1517,"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"format":"esm"},"src/components/sidebar.tsx":{"bytes":5835,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/site-settings-form.tsx":{"bytes":6509,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/theme-settings-form.tsx":{"bytes":30118,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-uploader.tsx":{"bytes":11631,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/index.ts":{"bytes":1684,"imports":[{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"./admin-providers.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"./sidebar.js"},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"./site-settings-form.js"},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"./theme-settings-form.js"},{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"}],"format":"esm"},"src/components/login-view.tsx":{"bytes":7062,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-format.ts":{"bytes":1662,"imports":[{"path":"crypto","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-storage.ts":{"bytes":1728,"imports":[{"path":"src/lib/mcp-token-store.ts","kind":"import-statement","original":"./mcp-token-store.js"}],"format":"esm"},"src/components/mcp-tokens-view.tsx":{"bytes":13127,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/lib/mcp-token-format.ts","kind":"import-statement","original":"../lib/mcp-token-format.js"},{"path":"src/lib/mcp-token-storage.ts","kind":"import-statement","original":"../lib/mcp-token-storage.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-view.tsx":{"bytes":351,"imports":[{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/new-post-view.tsx":{"bytes":346,"imports":[{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/plugin-settings.ts":{"bytes":3405,"imports":[{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/repeatable-field.ts":{"bytes":5326,"imports":[],"format":"esm"},"src/components/repeatable-field-editor.tsx":{"bytes":5231,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/plugin-settings-form.tsx","kind":"import-statement","original":"./plugin-settings-form.js"},{"path":"src/lib/repeatable-field.ts","kind":"import-statement","original":"../lib/repeatable-field.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/plugin-settings-form.tsx":{"bytes":16490,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/plugin-settings.ts","kind":"import-statement","original":"../lib/plugin-settings.js"},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/repeatable-field-editor.tsx","kind":"import-statement","original":"./repeatable-field-editor.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/posts-list-view.tsx":{"bytes":3204,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/users-list-view.tsx":{"bytes":7042,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/admin-layout.tsx":{"bytes":2342,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"../components/sidebar.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"../components/admin-providers.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/dashboard.tsx":{"bytes":448,"imports":[{"path":"src/components/admin-dashboard.tsx","kind":"import-statement","original":"../components/admin-dashboard.js"}],"format":"esm"},"src/pages/posts-list.tsx":{"bytes":382,"imports":[{"path":"src/components/posts-list-view.tsx","kind":"import-statement","original":"../components/posts-list-view.js"}],"format":"esm"},"src/pages/post-new.tsx":{"bytes":385,"imports":[{"path":"src/components/new-post-view.tsx","kind":"import-statement","original":"../components/new-post-view.js"}],"format":"esm"},"src/pages/post-edit.tsx":{"bytes":390,"imports":[{"path":"src/components/edit-post-view.tsx","kind":"import-statement","original":"../components/edit-post-view.js"}],"format":"esm"},"src/pages/media.tsx":{"bytes":381,"imports":[{"path":"src/components/media-view.tsx","kind":"import-statement","original":"../components/media-view.js"}],"format":"esm"},"src/pages/site-edit.tsx":{"bytes":2165,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"../components/site-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/site-theme.tsx":{"bytes":4013,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"../components/theme-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/users-list.tsx":{"bytes":647,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/users-list-view.tsx","kind":"import-statement","original":"../components/users-list-view.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/mcp-tokens.tsx":{"bytes":1395,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/mcp-tokens-view.tsx","kind":"import-statement","original":"../components/mcp-tokens-view.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/plugins.tsx":{"bytes":3602,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/plugin-settings-form.tsx","kind":"import-statement","original":"../components/plugin-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/login.tsx":{"bytes":400,"imports":[{"path":"src/components/login-view.tsx","kind":"import-statement","original":"../components/login-view.js"}],"format":"esm"},"src/pages/index.ts":{"bytes":1441,"imports":[{"path":"src/pages/admin-layout.tsx","kind":"import-statement","original":"./admin-layout.js"},{"path":"src/pages/dashboard.tsx","kind":"import-statement","original":"./dashboard.js"},{"path":"src/pages/posts-list.tsx","kind":"import-statement","original":"./posts-list.js"},{"path":"src/pages/post-new.tsx","kind":"import-statement","original":"./post-new.js"},{"path":"src/pages/post-edit.tsx","kind":"import-statement","original":"./post-edit.js"},{"path":"src/pages/media.tsx","kind":"import-statement","original":"./media.js"},{"path":"src/pages/site-edit.tsx","kind":"import-statement","original":"./site-edit.js"},{"path":"src/pages/site-theme.tsx","kind":"import-statement","original":"./site-theme.js"},{"path":"src/pages/users-list.tsx","kind":"import-statement","original":"./users-list.js"},{"path":"src/pages/mcp-tokens.tsx","kind":"import-statement","original":"./mcp-tokens.js"},{"path":"src/pages/plugins.tsx","kind":"import-statement","original":"./plugins.js"},{"path":"src/pages/login.tsx","kind":"import-statement","original":"./login.js"}],"format":"esm"}},"outputs":{"dist/components/new-post-view.js":{"imports":[{"path":"dist/chunk-ABYICFDU.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["NewPostPage"],"entryPoint":"src/components/new-post-view.tsx","inputs":{},"bytes":249},"dist/components/plugin-settings-form.js":{"imports":[{"path":"dist/chunk-OPRC3VJQ.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["PluginSettingsForm","renderScalarInput"],"entryPoint":"src/components/plugin-settings-form.tsx","inputs":{},"bytes":243},"dist/components/posts-list-view.js":{"imports":[{"path":"dist/chunk-ESPXUNVH.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["PostsList"],"entryPoint":"src/components/posts-list-view.tsx","inputs":{},"bytes":152},"dist/components/users-list-view.js":{"imports":[{"path":"dist/chunk-GUCBNVO2.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["UsersListView"],"entryPoint":"src/components/users-list-view.tsx","inputs":{},"bytes":160},"dist/lib/theme-actions.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"}],"exports":["invalidateSiteSettingsCache"],"entryPoint":"src/lib/theme-actions.ts","inputs":{},"bytes":126},"dist/pages/index.js":{"imports":[{"path":"dist/chunk-ABYICFDU.js","kind":"import-statement"},{"path":"dist/chunk-OPRC3VJQ.js","kind":"import-statement"},{"path":"dist/chunk-ESPXUNVH.js","kind":"import-statement"},{"path":"dist/chunk-GUCBNVO2.js","kind":"import-statement"},{"path":"dist/chunk-G2VLKMN7.js","kind":"import-statement"},{"path":"dist/chunk-6VOW4WOG.js","kind":"import-statement"},{"path":"dist/chunk-TPGZNAZ4.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-M42TYCKG.js","kind":"import-statement"},{"path":"dist/chunk-26XCPRGS.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-O24LK3X3.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["createAdminDashboardPage","createAdminLayout","createEditPostPage","createLoginPage","createMcpTokensPage","createMediaPage","createNewPostPage","createPluginsPage","createPostsListPage","createSiteEditPage","createSiteThemePage","createUsersListPage"],"entryPoint":"src/pages/index.ts","inputs":{"src/pages/admin-layout.tsx":{"bytesInOutput":1118},"src/pages/index.ts":{"bytesInOutput":0},"src/pages/dashboard.tsx":{"bytesInOutput":71},"src/pages/posts-list.tsx":{"bytesInOutput":61},"src/pages/post-new.tsx":{"bytesInOutput":61},"src/pages/post-edit.tsx":{"bytesInOutput":63},"src/pages/media.tsx":{"bytesInOutput":57},"src/pages/site-edit.tsx":{"bytesInOutput":1723},"src/pages/site-theme.tsx":{"bytesInOutput":2299},"src/pages/users-list.tsx":{"bytesInOutput":404},"src/pages/mcp-tokens.tsx":{"bytesInOutput":679},"src/pages/plugins.tsx":{"bytesInOutput":2098},"src/pages/login.tsx":{"bytesInOutput":57}},"bytes":10175},"dist/chunk-ABYICFDU.js":{"imports":[{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["NewPostPage"],"inputs":{"src/components/new-post-view.tsx":{"bytesInOutput":363}},"bytes":523},"dist/chunk-OPRC3VJQ.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["PluginSettingsForm","renderScalarInput"],"inputs":{"src/components/plugin-settings-form.tsx":{"bytesInOutput":11861},"src/lib/plugin-settings.ts":{"bytesInOutput":1178},"src/components/repeatable-field-editor.tsx":{"bytesInOutput":3961},"src/lib/repeatable-field.ts":{"bytesInOutput":1651}},"bytes":19079},"dist/chunk-ESPXUNVH.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["PostsList"],"inputs":{"src/components/posts-list-view.tsx":{"bytesInOutput":3221}},"bytes":3331},"dist/chunk-GUCBNVO2.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["UsersListView"],"inputs":{"src/components/users-list-view.tsx":{"bytesInOutput":5995}},"bytes":6109},"dist/index.js":{"imports":[{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"exports":["createAdmin","getDictionary","resolveLocale","translate"],"entryPoint":"src/index.ts","inputs":{"src/lib/amplify-server.ts":{"bytesInOutput":164},"src/lib/auth-server.ts":{"bytesInOutput":1143},"src/index.ts":{"bytesInOutput":2105}},"bytes":3697},"dist/api/index.js":{"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true}],"exports":["createMediaProxyRoute"],"entryPoint":"src/api/index.ts","inputs":{"src/api/media-proxy.ts":{"bytesInOutput":1883},"src/api/index.ts":{"bytesInOutput":0}},"bytes":1945},"dist/components/admin-dashboard.js":{"imports":[{"path":"dist/chunk-G2VLKMN7.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["AdminDashboard"],"entryPoint":"src/components/admin-dashboard.tsx","inputs":{},"bytes":162},"dist/chunk-G2VLKMN7.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminDashboard"],"inputs":{"src/components/admin-dashboard.tsx":{"bytesInOutput":2444}},"bytes":2559},"dist/components/edit-post-view.js":{"imports":[{"path":"dist/chunk-6VOW4WOG.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["EditPostPage"],"entryPoint":"src/components/edit-post-view.tsx","inputs":{},"bytes":251},"dist/chunk-6VOW4WOG.js":{"imports":[{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["EditPostPage"],"inputs":{"src/components/edit-post-view.tsx":{"bytesInOutput":1024}},"bytes":1186},"dist/components/index.js":{"imports":[{"path":"dist/chunk-TPGZNAZ4.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["AdminProviders","I18nProvider","ImageUploadDialog","MediaPicker","MediaUploader","PostForm","Sidebar","SiteSettingsForm","ThemeSettingsForm","invalidateSiteSettingsCache","publicMediaUrl","sanitizeName","setAdminMediaContext","uploadProcessedImage","useLocale","useT"],"entryPoint":"src/components/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":0}},"bytes":916},"dist/chunk-TPGZNAZ4.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"aws-amplify","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminProviders","Sidebar","SiteSettingsForm","ThemeSettingsForm"],"inputs":{"src/lib/amplify-client.ts":{"bytesInOutput":194},"src/lib/posts-provider.ts":{"bytesInOutput":3422},"src/lib/kv-provider.ts":{"bytesInOutput":2125},"src/lib/mcp-token-provider.ts":{"bytesInOutput":1513},"src/components/admin-providers.tsx":{"bytesInOutput":371},"src/components/sidebar.tsx":{"bytesInOutput":5867},"src/components/site-settings-form.tsx":{"bytesInOutput":6899},"src/components/theme-settings-form.tsx":{"bytesInOutput":21443}},"bytes":42505},"dist/chunk-D72XF3Q3.js":{"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"exports":["invalidateSiteSettingsCache"],"inputs":{"src/lib/theme-actions.ts":{"bytesInOutput":134}},"bytes":205},"dist/chunk-MWTYRQ6V.js":{"imports":[{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"@tiptap/extension-table","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-row","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-header","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-cell","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-list","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-underline","kind":"import-statement","external":true},{"path":"@tiptap/extension-highlight","kind":"import-statement","external":true},{"path":"@tiptap/extension-text-align","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPicker","PostForm"],"inputs":{"src/components/media-picker.tsx":{"bytesInOutput":4988},"src/components/post-form.tsx":{"bytesInOutput":16851},"src/editor/tiptap-editor.tsx":{"bytesInOutput":4031},"src/editor/toolbar.tsx":{"bytesInOutput":4823},"src/editor/table-controls.tsx":{"bytesInOutput":4227},"src/editor/image-bubble-menu.tsx":{"bytesInOutput":2901},"src/components/static-uploader.tsx":{"bytesInOutput":7717},"src/lib/static-bundle.ts":{"bytesInOutput":2806}},"bytes":48998},"dist/components/login-view.js":{"imports":[{"path":"dist/chunk-M42TYCKG.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["LoginPage"],"entryPoint":"src/components/login-view.tsx","inputs":{},"bytes":152},"dist/chunk-M42TYCKG.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["LoginPage"],"inputs":{"src/components/login-view.tsx":{"bytesInOutput":6967}},"bytes":7072},"dist/components/mcp-tokens-view.js":{"imports":[{"path":"dist/chunk-26XCPRGS.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["McpTokensView"],"entryPoint":"src/components/mcp-tokens-view.tsx","inputs":{},"bytes":191},"dist/chunk-26XCPRGS.js":{"imports":[{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"crypto","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["McpTokensView"],"inputs":{"src/components/mcp-tokens-view.tsx":{"bytesInOutput":12281},"src/lib/mcp-token-format.ts":{"bytesInOutput":459},"src/lib/mcp-token-storage.ts":{"bytesInOutput":575}},"bytes":13591},"dist/chunk-C7G5AQ3L.js":{"imports":[],"exports":["getMcpTokenStore","setMcpTokenStore"],"inputs":{"src/lib/mcp-token-store.ts":{"bytesInOutput":297}},"bytes":379},"dist/components/media-view.js":{"imports":[{"path":"dist/chunk-O24LK3X3.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["MediaPage"],"entryPoint":"src/components/media-view.tsx","inputs":{},"bytes":245},"dist/chunk-O24LK3X3.js":{"imports":[{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPage"],"inputs":{"src/components/media-view.tsx":{"bytesInOutput":358}},"bytes":518},"dist/chunk-MM4DNZMS.js":{"imports":[{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaUploader"],"inputs":{"src/components/media-uploader.tsx":{"bytesInOutput":9157}},"bytes":9433},"dist/chunk-5AMO6HJT.js":{"imports":[{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["ImageUploadDialog","createMediaRow","getMediaProcessingDefaults","sanitizeName","setAdminCmsConfigClient","uploadProcessedImage"],"inputs":{"src/lib/upload.ts":{"bytesInOutput":2048},"src/components/image-upload-dialog.tsx":{"bytesInOutput":12823},"src/lib/admin-config-client.ts":{"bytesInOutput":170}},"bytes":15391},"dist/chunk-2ITWLRYF.js":{"imports":[],"exports":["createMedia","publicMediaUrl","setAdminMediaContext"],"inputs":{"src/lib/media.ts":{"bytesInOutput":1326}},"bytes":1415},"dist/chunk-2SVJONQ7.js":{"imports":[{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["I18nProvider","useLocale","useT"],"inputs":{"src/components/i18n-provider.tsx":{"bytesInOutput":785}},"bytes":922},"dist/chunk-KYFSM7MS.js":{"imports":[],"exports":["getDictionary","resolveLocale","translate"],"inputs":{"src/locales/en.json":{"bytesInOutput":11939},"src/locales/ja.json":{"bytesInOutput":23307},"src/lib/i18n.ts":{"bytesInOutput":1146}},"bytes":36518}}}
1
+ {"inputs":{"src/locales/en.json":{"bytes":12487,"imports":[]},"src/locales/ja.json":{"bytes":15723,"imports":[]},"src/lib/i18n.ts":{"bytes":2935,"imports":[{"path":"src/locales/en.json","kind":"import-statement","original":"../locales/en.json"},{"path":"src/locales/ja.json","kind":"import-statement","original":"../locales/ja.json"}],"format":"esm"},"src/lib/media.ts":{"bytes":3109,"imports":[],"format":"esm"},"src/lib/amplify-server.ts":{"bytes":593,"imports":[{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true}],"format":"esm"},"src/lib/auth-server.ts":{"bytes":1678,"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":7898,"imports":[{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"./lib/media.js"},{"path":"src/lib/amplify-server.ts","kind":"import-statement","original":"./lib/amplify-server.js"},{"path":"src/lib/auth-server.ts","kind":"import-statement","original":"./lib/auth-server.js"},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"}],"format":"esm"},"src/api/media-proxy.ts":{"bytes":4392,"imports":[{"path":"next/server","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true}],"format":"esm"},"src/api/index.ts":{"bytes":562,"imports":[{"path":"src/api/media-proxy.ts","kind":"import-statement","original":"./media-proxy.js"}],"format":"esm"},"src/components/i18n-provider.tsx":{"bytes":1526,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"../lib/i18n.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/admin-dashboard.tsx":{"bytes":2256,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/upload.ts":{"bytes":4604,"imports":[{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"./media.js"}],"format":"esm"},"src/components/image-upload-dialog.tsx":{"bytes":14701,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/admin-config-client.ts":{"bytes":626,"imports":[],"format":"esm"},"src/components/media-picker.tsx":{"bytes":5261,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/table-controls.tsx":{"bytes":4583,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/toolbar.tsx":{"bytes":4887,"imports":[{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"../components/media-picker.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"src/editor/table-controls.tsx","kind":"import-statement","original":"./table-controls.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/image-bubble-menu.tsx":{"bytes":2716,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/tiptap-editor.tsx":{"bytes":5217,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"@tiptap/extension-table","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-row","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-header","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-cell","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-list","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-underline","kind":"import-statement","external":true},{"path":"@tiptap/extension-highlight","kind":"import-statement","external":true},{"path":"@tiptap/extension-text-align","kind":"import-statement","external":true},{"path":"src/editor/toolbar.tsx","kind":"import-statement","original":"./toolbar.js"},{"path":"src/editor/image-bubble-menu.tsx","kind":"import-statement","original":"./image-bubble-menu.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/static-bundle.ts":{"bytes":5812,"imports":[{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/components/static-uploader.tsx":{"bytes":8959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/post-form.tsx":{"bytes":19995,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/editor/tiptap-editor.tsx","kind":"import-statement","original":"../editor/tiptap-editor.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/static-uploader.tsx","kind":"import-statement","original":"./static-uploader.js"},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/edit-post-view.tsx":{"bytes":1059,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/amplify-client.ts":{"bytes":612,"imports":[{"path":"aws-amplify","kind":"import-statement","external":true}],"format":"esm"},"src/lib/posts-provider.ts":{"bytes":6171,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/kv-provider.ts":{"bytes":4266,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-store.ts":{"bytes":1823,"imports":[],"format":"esm"},"src/lib/mcp-token-provider.ts":{"bytes":2918,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"src/lib/mcp-token-store.ts","kind":"import-statement","original":"./mcp-token-store.js"}],"format":"esm"},"src/components/admin-providers.tsx":{"bytes":1791,"imports":[{"path":"src/lib/amplify-client.ts","kind":"import-statement","original":"../lib/amplify-client.js"},{"path":"src/lib/posts-provider.ts","kind":"import-statement","original":"../lib/posts-provider.js"},{"path":"src/lib/kv-provider.ts","kind":"import-statement","original":"../lib/kv-provider.js"},{"path":"src/lib/mcp-token-provider.ts","kind":"import-statement","original":"../lib/mcp-token-provider.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/theme-actions.ts":{"bytes":1517,"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"format":"esm"},"src/components/sidebar.tsx":{"bytes":5835,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/site-settings-form.tsx":{"bytes":6509,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/theme-settings-form.tsx":{"bytes":30118,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-uploader.tsx":{"bytes":11631,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/index.ts":{"bytes":1684,"imports":[{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"./admin-providers.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"./sidebar.js"},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"./site-settings-form.js"},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"./theme-settings-form.js"},{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"}],"format":"esm"},"src/components/login-view.tsx":{"bytes":7062,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-format.ts":{"bytes":1662,"imports":[{"path":"crypto","kind":"import-statement","external":true}],"format":"esm"},"src/lib/mcp-token-storage.ts":{"bytes":1728,"imports":[{"path":"src/lib/mcp-token-store.ts","kind":"import-statement","original":"./mcp-token-store.js"}],"format":"esm"},"src/components/mcp-tokens-view.tsx":{"bytes":13127,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/lib/mcp-token-format.ts","kind":"import-statement","original":"../lib/mcp-token-format.js"},{"path":"src/lib/mcp-token-storage.ts","kind":"import-statement","original":"../lib/mcp-token-storage.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-view.tsx":{"bytes":351,"imports":[{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/new-post-view.tsx":{"bytes":346,"imports":[{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/plugin-settings.ts":{"bytes":3405,"imports":[{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/plugin-secret.ts":{"bytes":6562,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/repeatable-field.ts":{"bytes":5326,"imports":[],"format":"esm"},"src/components/repeatable-field-editor.tsx":{"bytes":5231,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/plugin-settings-form.tsx","kind":"import-statement","original":"./plugin-settings-form.js"},{"path":"src/lib/repeatable-field.ts","kind":"import-statement","original":"../lib/repeatable-field.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/secret-field-input.ts":{"bytes":6212,"imports":[],"format":"esm"},"src/components/secret-field-input.tsx":{"bytes":7500,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/lib/secret-field-input.ts","kind":"import-statement","original":"../lib/secret-field-input.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/plugin-settings-form.tsx":{"bytes":19511,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/plugin-settings.ts","kind":"import-statement","original":"../lib/plugin-settings.js"},{"path":"src/lib/plugin-secret.ts","kind":"import-statement","original":"../lib/plugin-secret.js"},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/repeatable-field-editor.tsx","kind":"import-statement","original":"./repeatable-field-editor.js"},{"path":"src/components/secret-field-input.tsx","kind":"import-statement","original":"./secret-field-input.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/posts-list-view.tsx":{"bytes":3204,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/users-list-view.tsx":{"bytes":7042,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/admin-layout.tsx":{"bytes":2342,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"../components/sidebar.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"../components/admin-providers.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/dashboard.tsx":{"bytes":448,"imports":[{"path":"src/components/admin-dashboard.tsx","kind":"import-statement","original":"../components/admin-dashboard.js"}],"format":"esm"},"src/pages/posts-list.tsx":{"bytes":382,"imports":[{"path":"src/components/posts-list-view.tsx","kind":"import-statement","original":"../components/posts-list-view.js"}],"format":"esm"},"src/pages/post-new.tsx":{"bytes":385,"imports":[{"path":"src/components/new-post-view.tsx","kind":"import-statement","original":"../components/new-post-view.js"}],"format":"esm"},"src/pages/post-edit.tsx":{"bytes":390,"imports":[{"path":"src/components/edit-post-view.tsx","kind":"import-statement","original":"../components/edit-post-view.js"}],"format":"esm"},"src/pages/media.tsx":{"bytes":381,"imports":[{"path":"src/components/media-view.tsx","kind":"import-statement","original":"../components/media-view.js"}],"format":"esm"},"src/pages/site-edit.tsx":{"bytes":2165,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"../components/site-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/site-theme.tsx":{"bytes":4013,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"../components/theme-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/users-list.tsx":{"bytes":647,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/users-list-view.tsx","kind":"import-statement","original":"../components/users-list-view.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/mcp-tokens.tsx":{"bytes":1395,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/mcp-tokens-view.tsx","kind":"import-statement","original":"../components/mcp-tokens-view.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/plugins.tsx":{"bytes":3602,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/plugin-settings-form.tsx","kind":"import-statement","original":"../components/plugin-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/login.tsx":{"bytes":400,"imports":[{"path":"src/components/login-view.tsx","kind":"import-statement","original":"../components/login-view.js"}],"format":"esm"},"src/pages/index.ts":{"bytes":1441,"imports":[{"path":"src/pages/admin-layout.tsx","kind":"import-statement","original":"./admin-layout.js"},{"path":"src/pages/dashboard.tsx","kind":"import-statement","original":"./dashboard.js"},{"path":"src/pages/posts-list.tsx","kind":"import-statement","original":"./posts-list.js"},{"path":"src/pages/post-new.tsx","kind":"import-statement","original":"./post-new.js"},{"path":"src/pages/post-edit.tsx","kind":"import-statement","original":"./post-edit.js"},{"path":"src/pages/media.tsx","kind":"import-statement","original":"./media.js"},{"path":"src/pages/site-edit.tsx","kind":"import-statement","original":"./site-edit.js"},{"path":"src/pages/site-theme.tsx","kind":"import-statement","original":"./site-theme.js"},{"path":"src/pages/users-list.tsx","kind":"import-statement","original":"./users-list.js"},{"path":"src/pages/mcp-tokens.tsx","kind":"import-statement","original":"./mcp-tokens.js"},{"path":"src/pages/plugins.tsx","kind":"import-statement","original":"./plugins.js"},{"path":"src/pages/login.tsx","kind":"import-statement","original":"./login.js"}],"format":"esm"}},"outputs":{"dist/components/new-post-view.js":{"imports":[{"path":"dist/chunk-ABYICFDU.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["NewPostPage"],"entryPoint":"src/components/new-post-view.tsx","inputs":{},"bytes":249},"dist/components/plugin-settings-form.js":{"imports":[{"path":"dist/chunk-KUYKXVNF.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["PluginSettingsForm","renderScalarInput"],"entryPoint":"src/components/plugin-settings-form.tsx","inputs":{},"bytes":243},"dist/components/posts-list-view.js":{"imports":[{"path":"dist/chunk-ESPXUNVH.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["PostsList"],"entryPoint":"src/components/posts-list-view.tsx","inputs":{},"bytes":152},"dist/components/users-list-view.js":{"imports":[{"path":"dist/chunk-GUCBNVO2.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["UsersListView"],"entryPoint":"src/components/users-list-view.tsx","inputs":{},"bytes":160},"dist/lib/theme-actions.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"}],"exports":["invalidateSiteSettingsCache"],"entryPoint":"src/lib/theme-actions.ts","inputs":{},"bytes":126},"dist/pages/index.js":{"imports":[{"path":"dist/chunk-ABYICFDU.js","kind":"import-statement"},{"path":"dist/chunk-KUYKXVNF.js","kind":"import-statement"},{"path":"dist/chunk-ESPXUNVH.js","kind":"import-statement"},{"path":"dist/chunk-GUCBNVO2.js","kind":"import-statement"},{"path":"dist/chunk-G2VLKMN7.js","kind":"import-statement"},{"path":"dist/chunk-6VOW4WOG.js","kind":"import-statement"},{"path":"dist/chunk-TPGZNAZ4.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-M42TYCKG.js","kind":"import-statement"},{"path":"dist/chunk-26XCPRGS.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-O24LK3X3.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["createAdminDashboardPage","createAdminLayout","createEditPostPage","createLoginPage","createMcpTokensPage","createMediaPage","createNewPostPage","createPluginsPage","createPostsListPage","createSiteEditPage","createSiteThemePage","createUsersListPage"],"entryPoint":"src/pages/index.ts","inputs":{"src/pages/admin-layout.tsx":{"bytesInOutput":1118},"src/pages/index.ts":{"bytesInOutput":0},"src/pages/dashboard.tsx":{"bytesInOutput":71},"src/pages/posts-list.tsx":{"bytesInOutput":61},"src/pages/post-new.tsx":{"bytesInOutput":61},"src/pages/post-edit.tsx":{"bytesInOutput":63},"src/pages/media.tsx":{"bytesInOutput":57},"src/pages/site-edit.tsx":{"bytesInOutput":1723},"src/pages/site-theme.tsx":{"bytesInOutput":2299},"src/pages/users-list.tsx":{"bytesInOutput":404},"src/pages/mcp-tokens.tsx":{"bytesInOutput":679},"src/pages/plugins.tsx":{"bytesInOutput":2098},"src/pages/login.tsx":{"bytesInOutput":57}},"bytes":10175},"dist/chunk-ABYICFDU.js":{"imports":[{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["NewPostPage"],"inputs":{"src/components/new-post-view.tsx":{"bytesInOutput":363}},"bytes":523},"dist/chunk-KUYKXVNF.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["PluginSettingsForm","renderScalarInput"],"inputs":{"src/components/plugin-settings-form.tsx":{"bytesInOutput":14174},"src/lib/plugin-settings.ts":{"bytesInOutput":1178},"src/lib/plugin-secret.ts":{"bytesInOutput":2363},"src/components/repeatable-field-editor.tsx":{"bytesInOutput":3961},"src/lib/repeatable-field.ts":{"bytesInOutput":1651},"src/components/secret-field-input.tsx":{"bytesInOutput":5182},"src/lib/secret-field-input.ts":{"bytesInOutput":2013}},"bytes":31097},"dist/chunk-ESPXUNVH.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["PostsList"],"inputs":{"src/components/posts-list-view.tsx":{"bytesInOutput":3221}},"bytes":3331},"dist/chunk-GUCBNVO2.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["UsersListView"],"inputs":{"src/components/users-list-view.tsx":{"bytesInOutput":5995}},"bytes":6109},"dist/index.js":{"imports":[{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"exports":["createAdmin","getDictionary","resolveLocale","translate"],"entryPoint":"src/index.ts","inputs":{"src/lib/amplify-server.ts":{"bytesInOutput":164},"src/lib/auth-server.ts":{"bytesInOutput":1143},"src/index.ts":{"bytesInOutput":2105}},"bytes":3697},"dist/api/index.js":{"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true}],"exports":["createMediaProxyRoute"],"entryPoint":"src/api/index.ts","inputs":{"src/api/media-proxy.ts":{"bytesInOutput":1883},"src/api/index.ts":{"bytesInOutput":0}},"bytes":1945},"dist/components/admin-dashboard.js":{"imports":[{"path":"dist/chunk-G2VLKMN7.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["AdminDashboard"],"entryPoint":"src/components/admin-dashboard.tsx","inputs":{},"bytes":162},"dist/chunk-G2VLKMN7.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminDashboard"],"inputs":{"src/components/admin-dashboard.tsx":{"bytesInOutput":2444}},"bytes":2559},"dist/components/edit-post-view.js":{"imports":[{"path":"dist/chunk-6VOW4WOG.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["EditPostPage"],"entryPoint":"src/components/edit-post-view.tsx","inputs":{},"bytes":251},"dist/chunk-6VOW4WOG.js":{"imports":[{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["EditPostPage"],"inputs":{"src/components/edit-post-view.tsx":{"bytesInOutput":1024}},"bytes":1186},"dist/components/index.js":{"imports":[{"path":"dist/chunk-TPGZNAZ4.js","kind":"import-statement"},{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-MWTYRQ6V.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["AdminProviders","I18nProvider","ImageUploadDialog","MediaPicker","MediaUploader","PostForm","Sidebar","SiteSettingsForm","ThemeSettingsForm","invalidateSiteSettingsCache","publicMediaUrl","sanitizeName","setAdminMediaContext","uploadProcessedImage","useLocale","useT"],"entryPoint":"src/components/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":0}},"bytes":916},"dist/chunk-TPGZNAZ4.js":{"imports":[{"path":"dist/chunk-D72XF3Q3.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"aws-amplify","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminProviders","Sidebar","SiteSettingsForm","ThemeSettingsForm"],"inputs":{"src/lib/amplify-client.ts":{"bytesInOutput":194},"src/lib/posts-provider.ts":{"bytesInOutput":3422},"src/lib/kv-provider.ts":{"bytesInOutput":2125},"src/lib/mcp-token-provider.ts":{"bytesInOutput":1513},"src/components/admin-providers.tsx":{"bytesInOutput":371},"src/components/sidebar.tsx":{"bytesInOutput":5867},"src/components/site-settings-form.tsx":{"bytesInOutput":6899},"src/components/theme-settings-form.tsx":{"bytesInOutput":21443}},"bytes":42505},"dist/chunk-D72XF3Q3.js":{"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"exports":["invalidateSiteSettingsCache"],"inputs":{"src/lib/theme-actions.ts":{"bytesInOutput":134}},"bytes":205},"dist/chunk-MWTYRQ6V.js":{"imports":[{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"@tiptap/extension-table","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-row","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-header","kind":"import-statement","external":true},{"path":"@tiptap/extension-table-cell","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-list","kind":"import-statement","external":true},{"path":"@tiptap/extension-task-item","kind":"import-statement","external":true},{"path":"@tiptap/extension-underline","kind":"import-statement","external":true},{"path":"@tiptap/extension-highlight","kind":"import-statement","external":true},{"path":"@tiptap/extension-text-align","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPicker","PostForm"],"inputs":{"src/components/media-picker.tsx":{"bytesInOutput":4988},"src/components/post-form.tsx":{"bytesInOutput":16851},"src/editor/tiptap-editor.tsx":{"bytesInOutput":4031},"src/editor/toolbar.tsx":{"bytesInOutput":4823},"src/editor/table-controls.tsx":{"bytesInOutput":4227},"src/editor/image-bubble-menu.tsx":{"bytesInOutput":2901},"src/components/static-uploader.tsx":{"bytesInOutput":7717},"src/lib/static-bundle.ts":{"bytesInOutput":2806}},"bytes":48998},"dist/components/login-view.js":{"imports":[{"path":"dist/chunk-M42TYCKG.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["LoginPage"],"entryPoint":"src/components/login-view.tsx","inputs":{},"bytes":152},"dist/chunk-M42TYCKG.js":{"imports":[{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["LoginPage"],"inputs":{"src/components/login-view.tsx":{"bytesInOutput":6967}},"bytes":7072},"dist/components/mcp-tokens-view.js":{"imports":[{"path":"dist/chunk-26XCPRGS.js","kind":"import-statement"},{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["McpTokensView"],"entryPoint":"src/components/mcp-tokens-view.tsx","inputs":{},"bytes":191},"dist/chunk-26XCPRGS.js":{"imports":[{"path":"dist/chunk-C7G5AQ3L.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"crypto","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["McpTokensView"],"inputs":{"src/components/mcp-tokens-view.tsx":{"bytesInOutput":12281},"src/lib/mcp-token-format.ts":{"bytesInOutput":459},"src/lib/mcp-token-storage.ts":{"bytesInOutput":575}},"bytes":13591},"dist/chunk-C7G5AQ3L.js":{"imports":[],"exports":["getMcpTokenStore","setMcpTokenStore"],"inputs":{"src/lib/mcp-token-store.ts":{"bytesInOutput":297}},"bytes":379},"dist/components/media-view.js":{"imports":[{"path":"dist/chunk-O24LK3X3.js","kind":"import-statement"},{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"}],"exports":["MediaPage"],"entryPoint":"src/components/media-view.tsx","inputs":{},"bytes":245},"dist/chunk-O24LK3X3.js":{"imports":[{"path":"dist/chunk-MM4DNZMS.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPage"],"inputs":{"src/components/media-view.tsx":{"bytesInOutput":358}},"bytes":518},"dist/chunk-MM4DNZMS.js":{"imports":[{"path":"dist/chunk-5AMO6HJT.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaUploader"],"inputs":{"src/components/media-uploader.tsx":{"bytesInOutput":9157}},"bytes":9433},"dist/chunk-5AMO6HJT.js":{"imports":[{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-2SVJONQ7.js","kind":"import-statement"},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["ImageUploadDialog","createMediaRow","getMediaProcessingDefaults","sanitizeName","setAdminCmsConfigClient","uploadProcessedImage"],"inputs":{"src/lib/upload.ts":{"bytesInOutput":2048},"src/components/image-upload-dialog.tsx":{"bytesInOutput":12823},"src/lib/admin-config-client.ts":{"bytesInOutput":170}},"bytes":15391},"dist/chunk-2ITWLRYF.js":{"imports":[],"exports":["createMedia","publicMediaUrl","setAdminMediaContext"],"inputs":{"src/lib/media.ts":{"bytesInOutput":1326}},"bytes":1415},"dist/chunk-2SVJONQ7.js":{"imports":[{"path":"dist/chunk-KYFSM7MS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["I18nProvider","useLocale","useT"],"inputs":{"src/components/i18n-provider.tsx":{"bytesInOutput":785}},"bytes":922},"dist/chunk-KYFSM7MS.js":{"imports":[],"exports":["getDictionary","resolveLocale","translate"],"inputs":{"src/locales/en.json":{"bytesInOutput":11939},"src/locales/ja.json":{"bytesInOutput":23307},"src/lib/i18n.ts":{"bytesInOutput":1146}},"bytes":36518}}}
@@ -3,7 +3,7 @@ import {
3
3
  } from "../chunk-ABYICFDU.js";
4
4
  import {
5
5
  PluginSettingsForm
6
- } from "../chunk-OPRC3VJQ.js";
6
+ } from "../chunk-KUYKXVNF.js";
7
7
  import {
8
8
  PostsList
9
9
  } from "../chunk-ESPXUNVH.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampless/admin",
3
- "version": "1.0.0-alpha.57",
3
+ "version": "1.0.0-alpha.58",
4
4
  "description": "Admin UI for ampless: post editor, media manager, site/theme settings",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -61,9 +61,9 @@
61
61
  "lucide-react": "^1.16.0",
62
62
  "react-image-crop": "^11.0.10",
63
63
  "tailwind-merge": "^3.6.0",
64
- "@ampless/mcp-server": "1.0.0-alpha.34",
65
- "@ampless/runtime": "1.0.0-alpha.36",
66
- "ampless": "1.0.0-alpha.28"
64
+ "@ampless/runtime": "1.0.0-alpha.37",
65
+ "@ampless/mcp-server": "1.0.0-alpha.35",
66
+ "ampless": "1.0.0-alpha.29"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "@aws-amplify/adapter-nextjs": "^1",