@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
|
|
13
|
+
resolveLocalized as resolveLocalized3
|
|
14
14
|
} from "ampless";
|
|
15
|
-
import { Button, Input, Label as
|
|
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/
|
|
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__ */
|
|
398
|
-
/* @__PURE__ */
|
|
399
|
-
/* @__PURE__ */
|
|
400
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
415
|
-
error && /* @__PURE__ */
|
|
416
|
-
/* @__PURE__ */
|
|
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__ */
|
|
424
|
-
|
|
425
|
-
field.required && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
431
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
469
|
-
|
|
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__ */
|
|
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__ */
|
|
495
|
-
field.language && /* @__PURE__ */
|
|
496
|
-
/* @__PURE__ */
|
|
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__ */
|
|
512
|
-
/* @__PURE__ */
|
|
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__ */
|
|
848
|
+
/* @__PURE__ */ jsx3("span", { className: "text-xs text-muted-foreground", children: value === "true" ? "on" : "off" })
|
|
523
849
|
] });
|
|
524
850
|
case "number":
|
|
525
|
-
return /* @__PURE__ */
|
|
526
|
-
|
|
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__ */
|
|
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__ */
|
|
549
|
-
field.options.map((opt) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|
package/dist/metafile-esm.json
CHANGED
|
@@ -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}}}
|
package/dist/pages/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ampless/admin",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
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/
|
|
65
|
-
"@ampless/
|
|
66
|
-
"ampless": "1.0.0-alpha.
|
|
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",
|