@wonseok-han/confluence-sync 1.8.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -410
- package/dist/cli/args.js +1 -1
- package/dist/cli/help.js +214 -115
- package/dist/cli/init.js +44 -5
- package/dist/cli/main.js +42 -11
- package/dist/cli/status.js +83 -0
- package/dist/confluence/client.js +121 -57
- package/dist/confluence/config.js +12 -8
- package/dist/confluence/env-file.js +23 -0
- package/dist/confluence/links.js +18 -0
- package/dist/conversion/asset-paths.js +5 -0
- package/dist/conversion/attachments.js +29 -7
- package/dist/conversion/convert.js +10 -22
- package/dist/conversion/footnotes.js +114 -11
- package/dist/conversion/markdown.js +26 -0
- package/dist/conversion/pdf-pages.js +10 -8
- package/dist/documents/anchors.js +9 -0
- package/dist/documents/callout-roundtrip.js +75 -0
- package/dist/documents/callouts.js +74 -0
- package/dist/documents/catalog.js +2 -2
- package/dist/documents/footnote-roundtrip.js +96 -0
- package/dist/documents/format.js +116 -0
- package/dist/documents/html-tables.js +30 -0
- package/dist/documents/html-to-markdown.js +47 -13
- package/dist/documents/markdown.js +46 -4
- package/dist/documents/obsidian.js +6 -3
- package/dist/documents/tables.js +89 -0
- package/dist/runtime/network.js +4 -0
- package/dist/shared/colors.js +2 -2
- package/dist/shared/progress.js +164 -0
- package/dist/shared/version.js +12 -0
- package/dist/site/assets/Monaco-LICENSE.txt +21 -0
- package/dist/site/assets/Monaco-ThirdPartyNotices.txt +448 -0
- package/dist/site/assets/PDFJS-LICENSE.txt +177 -0
- package/dist/site/assets/app.css +1 -0
- package/dist/site/assets/app.js +5 -0
- package/dist/site/assets/chunks/chunk-TEW74QPN.js +35 -0
- package/dist/site/assets/chunks/markdown-S6623E66.js +1 -0
- package/dist/site/assets/chunks/monaco-36ZGUH4Y.js +897 -0
- package/dist/site/assets/chunks/monaco-HFLEBJTI.css +1 -0
- package/dist/site/assets/chunks/pdf-DDN7TXTP.js +55 -0
- package/dist/site/assets/confluence-env-example.txt +32 -0
- package/dist/site/assets/editor.worker.js +1 -0
- package/dist/site/assets/favicon.svg +3 -0
- package/dist/site/assets/guide/01-account-settings.png +0 -0
- package/dist/site/assets/guide/02-atlassian-security.png +0 -0
- package/dist/site/assets/guide/03-api-tokens.png +0 -0
- package/dist/site/assets/guide/04-scope-api-token-step1.png +0 -0
- package/dist/site/assets/guide/05-scope-api-token-step2.png +0 -0
- package/dist/site/assets/guide/06-scope-api-token-step3.png +0 -0
- package/dist/site/assets/guide/07-scope-api-token-step4.png +0 -0
- package/dist/site/assets/guide/web/document-preview.png +0 -0
- package/dist/site/assets/guide/web/remote-diff.png +0 -0
- package/dist/site/assets/guide/web/sync-workspace.png +0 -0
- package/dist/site/assets/pdf/cmaps/78-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Add-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Add-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/B5pc-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/B5pc-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS1-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS1-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS2-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/CNS2-V.bcmap +3 -0
- package/dist/site/assets/pdf/cmaps/ETHK-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/ETHK-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/ETen-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/ETen-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/ETenms-B5-H.bcmap +3 -0
- package/dist/site/assets/pdf/cmaps/ETenms-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Ext-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Ext-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GB-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GB-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GB-H.bcmap +4 -0
- package/dist/site/assets/pdf/cmaps/GB-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBK-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBK-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBK2K-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBK2K-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBT-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBT-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBT-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBT-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKdla-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKdla-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKm314-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKm314-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKm471-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKm471-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKscs-B5-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/HKscs-B5-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Hankaku.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Hiragana.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-Johab-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-Johab-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Katakana.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/LICENSE +36 -0
- package/dist/site/assets/pdf/cmaps/NWP-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/NWP-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/RKSJ-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/RKSJ-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/Roman.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/V.bcmap +0 -0
- package/dist/site/assets/pdf/cmaps/WP-Symbol.bcmap +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitDingbats.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitFixed.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitSerif.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/FoxitSymbol.pfb +0 -0
- package/dist/site/assets/pdf/standard_fonts/LICENSE_FOXIT +27 -0
- package/dist/site/assets/pdf/standard_fonts/LICENSE_LIBERATION +363 -0
- package/dist/site/assets/pdf/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/dist/site/assets/pdf/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/dist/site/assets/pdf/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/dist/site/assets/pdf/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/dist/site/assets/pdf/wasm/LICENSE_JBIG2 +196 -0
- package/dist/site/assets/pdf/wasm/LICENSE_OPENJPEG +39 -0
- package/dist/site/assets/pdf/wasm/LICENSE_PDFJS_JBIG2 +13 -0
- package/dist/site/assets/pdf/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/dist/site/assets/pdf/wasm/LICENSE_PDFJS_QCMS +19 -0
- package/dist/site/assets/pdf/wasm/LICENSE_QCMS +21 -0
- package/dist/site/assets/pdf/wasm/jbig2.wasm +0 -0
- package/dist/site/assets/pdf/wasm/jbig2_nowasm_fallback.js +15 -0
- package/dist/site/assets/pdf/wasm/openjpeg.wasm +0 -0
- package/dist/site/assets/pdf/wasm/openjpeg_nowasm_fallback.js +17 -0
- package/dist/site/assets/pdf/wasm/qcms_bg.wasm +0 -0
- package/dist/site/assets/pdf/wasm/quickjs-eval.js +16 -0
- package/dist/site/assets/pdf/wasm/quickjs-eval.wasm +0 -0
- package/dist/site/assets/pdf.worker.min.mjs +29 -0
- package/dist/site/assets/workspace.worker.js +409 -0
- package/dist/site/index.html +253 -0
- package/dist/sync/baseline.js +45 -0
- package/dist/sync/changes.js +51 -0
- package/dist/sync/diff.js +80 -0
- package/dist/sync/fetch.js +338 -0
- package/dist/sync/ignore.js +4 -4
- package/dist/sync/local-state.js +12 -0
- package/dist/sync/mapping.js +31 -8
- package/dist/sync/metadata.js +57 -0
- package/dist/sync/prepare.js +52 -0
- package/dist/sync/pull.js +668 -140
- package/dist/sync/push.js +260 -213
- package/dist/sync/reconcile.js +51 -0
- package/dist/sync/references.js +2 -2
- package/dist/sync/remap.js +17 -5
- package/dist/sync/remote-folder-moves.js +66 -0
- package/dist/sync/render.js +3 -2
- package/dist/sync/restore.js +28 -0
- package/dist/sync/scope.js +47 -0
- package/dist/sync/staging.js +193 -0
- package/dist/sync/workspace.js +100 -0
- package/dist/web/assets/PDFJS-LICENSE.txt +177 -0
- package/dist/web/assets/app.css +1 -1
- package/dist/web/assets/app.js +4 -938
- package/dist/web/assets/chunks/chunk-TEW74QPN.js +35 -0
- package/dist/web/assets/chunks/markdown-S6623E66.js +1 -0
- package/dist/web/assets/chunks/monaco-36ZGUH4Y.js +897 -0
- package/dist/web/assets/chunks/monaco-HFLEBJTI.css +1 -0
- package/dist/web/assets/chunks/pdf-DDN7TXTP.js +55 -0
- package/dist/web/assets/confluence-env-example.txt +32 -0
- package/dist/web/assets/editor.worker.js +1 -30
- package/dist/web/assets/favicon.svg +3 -0
- package/dist/web/assets/guide/01-account-settings.png +0 -0
- package/dist/web/assets/guide/02-atlassian-security.png +0 -0
- package/dist/web/assets/guide/03-api-tokens.png +0 -0
- package/dist/web/assets/guide/04-scope-api-token-step1.png +0 -0
- package/dist/web/assets/guide/05-scope-api-token-step2.png +0 -0
- package/dist/web/assets/guide/06-scope-api-token-step3.png +0 -0
- package/dist/web/assets/guide/07-scope-api-token-step4.png +0 -0
- package/dist/web/assets/guide/web/document-preview.png +0 -0
- package/dist/web/assets/guide/web/remote-diff.png +0 -0
- package/dist/web/assets/guide/web/sync-workspace.png +0 -0
- package/dist/web/assets/pdf/cmaps/78-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Add-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Add-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/B5pc-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/B5pc-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS1-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS1-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS2-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/CNS2-V.bcmap +3 -0
- package/dist/web/assets/pdf/cmaps/ETHK-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/ETHK-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/ETen-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/ETen-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/ETenms-B5-H.bcmap +3 -0
- package/dist/web/assets/pdf/cmaps/ETenms-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Ext-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Ext-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GB-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GB-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GB-H.bcmap +4 -0
- package/dist/web/assets/pdf/cmaps/GB-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBK-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBK-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBK2K-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBK2K-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBT-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBT-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBT-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBT-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKdla-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKdla-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKm314-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKm314-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKm471-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKm471-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKscs-B5-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/HKscs-B5-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Hankaku.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Hiragana.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-Johab-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-Johab-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Katakana.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/LICENSE +36 -0
- package/dist/web/assets/pdf/cmaps/NWP-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/NWP-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/RKSJ-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/RKSJ-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/Roman.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/V.bcmap +0 -0
- package/dist/web/assets/pdf/cmaps/WP-Symbol.bcmap +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitDingbats.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitFixed.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitSerif.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/FoxitSymbol.pfb +0 -0
- package/dist/web/assets/pdf/standard_fonts/LICENSE_FOXIT +27 -0
- package/dist/web/assets/pdf/standard_fonts/LICENSE_LIBERATION +363 -0
- package/dist/web/assets/pdf/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/dist/web/assets/pdf/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/dist/web/assets/pdf/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/dist/web/assets/pdf/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/dist/web/assets/pdf/wasm/LICENSE_JBIG2 +196 -0
- package/dist/web/assets/pdf/wasm/LICENSE_OPENJPEG +39 -0
- package/dist/web/assets/pdf/wasm/LICENSE_PDFJS_JBIG2 +13 -0
- package/dist/web/assets/pdf/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/dist/web/assets/pdf/wasm/LICENSE_PDFJS_QCMS +19 -0
- package/dist/web/assets/pdf/wasm/LICENSE_QCMS +21 -0
- package/dist/web/assets/pdf/wasm/jbig2.wasm +0 -0
- package/dist/web/assets/pdf/wasm/jbig2_nowasm_fallback.js +15 -0
- package/dist/web/assets/pdf/wasm/openjpeg.wasm +0 -0
- package/dist/web/assets/pdf/wasm/openjpeg_nowasm_fallback.js +17 -0
- package/dist/web/assets/pdf/wasm/qcms_bg.wasm +0 -0
- package/dist/web/assets/pdf/wasm/quickjs-eval.js +16 -0
- package/dist/web/assets/pdf/wasm/quickjs-eval.wasm +0 -0
- package/dist/web/assets/pdf.worker.min.mjs +29 -0
- package/dist/web/assets/workspace.worker.js +409 -0
- package/dist/web/document-source.js +14 -0
- package/dist/web/hosted-files.js +190 -0
- package/dist/web/hosted.js +316 -0
- package/dist/web/node-runner.js +26 -0
- package/dist/web/preview.js +74 -0
- package/dist/web/server.js +85 -240
- package/dist/web/sync.js +366 -70
- package/dist/web/table-editor-script.js +99 -0
- package/dist/web/table-format.js +224 -0
- package/dist/web/views/help.js +15 -10
- package/dist/web/views/sync-panel.js +90 -19
- package/dist/web/views/token-guide.js +27 -0
- package/dist/web/views/usage-guide.js +12 -0
- package/dist/web/views/workspace.js +85 -15
- package/dist/web/workspace-api.js +371 -0
- package/docs/user/CLI.md +368 -0
- package/docs/user/CONFIGURATION.md +125 -0
- package/docs/user/OBSIDIAN.md +117 -0
- package/docs/user/WEB.md +90 -0
- package/docs/user/images/web/document-preview.png +0 -0
- package/docs/user/images/web/remote-diff.png +0 -0
- package/docs/user/images/web/sync-workspace.png +0 -0
- package/package.json +23 -6
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function et(e,n,i={}){if(i.quiet||e==="/api/sync/job")return null;if(e==="/api/sync/staging")return{label:n?.action==="add"?"\uC5C5\uB85C\uB4DC \uBB38\uC11C\uC5D0 \uD3EC\uD568\uD558\uB294 \uC911":n?.action==="remove"?"\uC5C5\uB85C\uB4DC \uC120\uD0DD\uC744 \uD574\uC81C\uD558\uB294 \uC911":"\uB85C\uCEEC \uBCC0\uACBD\uC744 \uD655\uC778\uD558\uB294 \uC911",background:!!i.background,button:n?.action?n.paths?.length===1?null:n.action==="add"?"sync-stage-add":"sync-stage-remove":"sync-stage-scan",region:"sync-stage-list"};let c={"/api/sync/config":["\uC5F0\uACB0 \uC124\uC815\uC744 \uD655\uC778\uD558\uB294 \uC911","sync-load","sync-env-body"],"/api/sync/connect":["\uC2A4\uD398\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uD558\uB294 \uC911","sync-connect","sync-env-body"],"/api/sync/env/import":[".env\uB97C \uC77D\uB294 \uC911","sync-env-choose","sync-env-body"],"/api/sync/env/save":[".env \uC800\uC7A5\uC744 \uD655\uC778\uD558\uB294 \uC911","sync-env-save","sync-env-body"],"/api/sync/fetch":["\uC6D0\uACA9 \uBCC0\uACBD\uC744 \uD655\uC778\uD558\uB294 \uC911","sync-fetch","sync-view"],"/api/sync/restore":["\uC6D0\uACA9 \uBCF5\uAD6C \uB300\uC0C1\uC744 \uD655\uC778\uD558\uB294 \uC911",void 0,"sync-view"],"/api/sync/pull":["Confluence\uC5D0\uC11C \uAC00\uC838\uC624\uB294 \uC911","sync-pull-remote","sync-view"],"/api/sync/preview":["\uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uACC4\uC0B0\uD558\uB294 \uC911","sync-preview","sync-view"],"/api/sync/push":["Confluence\uC5D0 \uC5C5\uB85C\uB4DC\uD558\uB294 \uC911","sync-push","sync-view"],"/api/sync/diff":[n?.remote?"\uC6D0\uACA9 \uBCF8\uBB38\uC744 \uBE44\uAD50\uD558\uB294 \uC911":"\uC800\uC7A5\uB41C \uAE30\uC900\uBCF8\uC744 \uBE44\uAD50\uD558\uB294 \uC911","sync-diff-remote","sync-diff-dialog"],"/api/document-preview":["\uBB38\uC11C \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uB9CC\uB4DC\uB294 \uC911","document-preview-refresh","document-preview-panel"],"/api/document-format/preview":["\uBB38\uC11C \uC11C\uC2DD\uC744 \uBE44\uAD50\uD558\uB294 \uC911",n?.basic?"document-format-basic":"document-format-review","document-preview-panel"],"/api/table-format/preview":["\uD45C \uC11C\uC2DD\uC744 \uBE44\uAD50\uD558\uB294 \uC911","document-format-review","document-preview-panel"],"/api/table-format/save":["\uBB38\uC11C \uC11C\uC2DD\uC744 \uC800\uC7A5\uD558\uB294 \uC911","table-save","table-review-dialog"],"/api/convert":[n?.preview?"\uBCC0\uD658 \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uB9CC\uB4DC\uB294 \uC911":"\uBB38\uC11C\uC640 \uCCA8\uBD80\uB97C \uBCC0\uD658\uD558\uB294 \uC911",n?.preview?"preview":"save","convert-view"],"/api/pick-folder":["\uC2DC\uC2A4\uD15C \uCC3D\uC5D0\uC11C \uD3F4\uB354\uB97C \uC120\uD0DD\uD574 \uC8FC\uC138\uC694",n?.kind==="reference"?"sync-add-reference":n?.kind==="out"?"choose-out":"choose-base",null],"/api/open":["\uACB0\uACFC \uD3F4\uB354\uB97C \uC5EC\uB294 \uC911","open",null]};if(e.startsWith("/api/search"))return{label:"\uBB38\uC11C\uB97C \uAC80\uC0C9\uD558\uB294 \uC911",region:"files"};let[f,d,t]=c[e]??["\uBB38\uC11C \uD3F4\uB354\uB97C \uBD88\uB7EC\uC624\uB294 \uC911",null,"files"];return{label:f,button:d,region:t}}function tt({get:e=i=>document.getElementById(i),now:n=()=>Date.now()}={}){let i=new Map,c=new Map,f=0,d,t=e("activity-panel");function o(p,w){let x=p&&e(p);if(!x)return;let v=c.get(x);w>0?(v||(v={count:0,busy:x.getAttribute("aria-busy")},c.set(x,v)),v.count++,x.setAttribute("aria-busy","true"),x.classList.add("is-loading")):v&&--v.count===0&&(v.busy===null?x.removeAttribute("aria-busy"):x.setAttribute("aria-busy",v.busy),x.classList.remove("is-loading"),c.delete(x))}function g(p){let w=Math.max(0,Math.floor((n()-p.startedAt)/1e3));return w<60?`${w}\uCD08 \uACBD\uACFC`:`${Math.floor(w/60)}\uBD84 ${w%60}\uCD08 \uACBD\uACFC`}function s(){let p=[...i.values()].filter(w=>!w.background).at(-1);p&&t&&(e("activity-elapsed").textContent=g(p))}function m(){let p=[...i.values()].filter(x=>!x.background).at(-1);t&&(t.hidden=!p,p&&(e("activity-title").textContent=p.label,e("activity-detail").textContent=p.detail||"\uCC98\uB9AC\uAC00 \uB05D\uB098\uBA74 \uACB0\uACFC\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.",t.classList.toggle("is-uncertain",p.uncertain===!0),e("activity-link").hidden=!p.link,p.link&&e("activity-link").setAttribute("href",p.link)));let w=e("sync-stage-checking");if(w){let x=[...i.values()].some(v=>v.background&&v.visible);w.classList.toggle("is-checking",x),w.setAttribute("aria-hidden",String(!x))}p&&!d&&(d=setInterval(s,1e3)),!p&&d&&(clearInterval(d),d=void 0),s()}function y(p){let w=++f,x=Date.parse(p.startedAt),v={...p,startedAt:Number.isFinite(x)?x:n(),visible:!1};return i.set(w,v),v.background?v.delay=setTimeout(()=>{i.has(w)&&(v.visible=!0,m())},350):(o(v.button,1),o(v.region,1)),m(),{update(b){if(!i.has(w))return;let M=Date.parse(b.startedAt);Object.assign(v,b,{startedAt:Number.isFinite(M)?M:v.startedAt}),m()},end(){i.delete(w)&&(clearTimeout(v.delay),v.background||(o(v.button,-1),o(v.region,-1)),m())}}}return{begin:y}}var ze=async e=>Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",e))).map(n=>n.toString(16).padStart(2,"0")).join(""),Nt=e=>!e.split("/").some((n,i)=>n==="node_modules"||n===".git"||n.startsWith(".")&&!(i===0&&[".csync",".env",".confluence-sync.json",".confluence-workspace.json",".confluence-syncignore"].includes(n)));function Je(e,n){let i=e.find(f=>n.startsWith(f.virtual+"/"));if(!i)throw Error("\uC120\uD0DD\uD55C \uD3F4\uB354 \uBC16\uC758 \uD30C\uC77C\uC785\uB2C8\uB2E4.");let c=n.slice(i.virtual.length+1).split("/");if(c.some(f=>!f||f==="."||f===".."||f.includes("\\")))throw Error("\uC798\uBABB\uB41C \uD30C\uC77C \uACBD\uB85C\uC785\uB2C8\uB2E4.");return{mount:i,parts:c}}async function He(e,n,i=!1){let{mount:c,parts:f}=Je(e,n),d=c.handle;for(let t of f.slice(0,-1))d=await d.getDirectoryHandle(t,{create:i});return{directory:d,name:f.at(-1),handle:await d.getFileHandle(f.at(-1),{create:i})}}var Rt=e=>e.name==="NotFoundError";async function We(e,n){try{return new Uint8Array(await(await(await He(e,n)).handle.getFile()).arrayBuffer())}catch(i){if(Rt(i))return null;throw i}}async function nt(e,n,i){let{handle:c}=await He(e,n,!0),f=await c.createWritable();try{await f.write(i),await f.close()}catch(d){throw await f.abort().catch(()=>{}),d}}async function ot(e,n){let{directory:i,name:c}=await He(e,n);await i.removeEntry(c)}async function Ft(e,n=new Map,i=!1){let c=[],f=0;async function d(t,o,g=[]){for await(let[s,m]of o.entries()){let y=[...g,s].join("/");if(t.readonly&&y===".env"||!Nt(y))continue;if(m.kind==="directory"){await d(t,m,[...g,s]);continue}let p=await m.getFile();if(f+=p.size,p.size>104857600||f>536870912||c.length>=2e4)throw Error("\uC791\uC5C5\uACF5\uAC04 \uD55C\uB3C4\uB97C \uCD08\uACFC\uD588\uC2B5\uB2C8\uB2E4(\uD30C\uC77C 100MiB, \uC804\uCCB4 512MiB, 20,000\uAC1C).");let w=t.virtual+"/"+y,x=`${p.size}:${p.lastModified}`,v=n.get(w),b=!i&&v?.stamp===x?v.hash:await ze(await p.arrayBuffer());n.set(w,{stamp:x,hash:b}),c.push({path:w,size:p.size,hash:b,file:p})}}for(let t of e)await d(t,t.handle);return c.sort((t,o)=>t.path<o.path?-1:t.path>o.path?1:0)}async function Dt(e,n,i,c){let f=new Map(n.map(o=>[o.path,o.hash])),d=[],t=[...i.files.map(o=>({...o,remove:!1})),...i.removed.map(o=>({path:o,remove:!0}))];t.sort((o,g)=>(o.path.includes("/.csync/")?3:o.path.endsWith(".md")?2:1)-(g.path.includes("/.csync/")?3:g.path.endsWith(".md")?2:1));for(let o of t){let{mount:g}=Je(e,o.path);if(g.readonly)throw Error("\uCC38\uC870 \uD3F4\uB354\uB294 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let s=await We(e,o.path),m=s?await ze(s):void 0;if(!o.remove&&m===o.hash||o.remove&&!s){o.skip=!0;continue}if(m!==f.get(o.path))throw Error(`\uC791\uC5C5 \uC911 \uB85C\uCEEC \uD30C\uC77C\uC774 \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4: ${o.path}`);if(o.before=s,o.beforeHash=m,!o.remove&&(o.bytes=new Uint8Array(await c(o.path)),await ze(o.bytes)!==o.hash))throw Error("\uACB0\uACFC \uD30C\uC77C\uC774 \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694.")}try{for(let o of t){if(o.skip)continue;let g=await We(e,o.path);if((g?await ze(g):void 0)!==o.beforeHash)throw Error(`\uC800\uC7A5 \uC9C1\uC804 \uB85C\uCEEC \uD30C\uC77C\uC774 \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4: ${o.path}`);d.push(o),o.remove?g&&await ot(e,o.path):await nt(e,o.path,o.bytes)}}catch(o){let g=[];for(let s of d.reverse())try{let m=await We(e,s.path),y=m?await ze(m):void 0;if(y===s.beforeHash)continue;if(y!==(s.remove?void 0:s.hash)){g.push(s.path);continue}s.before?await nt(e,s.path,s.before):m&&await ot(e,s.path)}catch{g.push(s.path)}throw g.length?Error(`${o.message} \uCD94\uAC00 \uD3B8\uC9D1 \uB610\uB294 \uBCF5\uC6D0 \uC2E4\uD328\uB85C \uD655\uC778\uC774 \uD544\uC694\uD55C \uD30C\uC77C: ${g.join(", ")}`):o}for(let o of i.removed){let{mount:g,parts:s}=Je(e,o);for(s.pop();s.length;)try{let m=g.handle;for(let w of s.slice(0,-1))m=await m.getDirectoryHandle(w);let y=await m.getDirectoryHandle(s.at(-1)),p=!0;for await(let w of y.entries()){p=!1;break}if(!p)break;await m.removeEntry(s.at(-1)),s.pop()}catch{break}}}function Bt(){return new Promise((e,n)=>{let i=indexedDB.open("csync.browser-folders",1);i.onupgradeneeded=()=>i.result.createObjectStore("workspace"),i.onsuccess=()=>e(i.result),i.onerror=()=>n(i.error)})}async function qt(e,n="active"){let i=await Bt();try{return await new Promise((c,f)=>{let d=i.transaction("workspace",e===void 0?"readonly":"readwrite"),t=d.objectStore("workspace"),o=e===void 0?t.get(n):e===null?t.delete(n):t.put(e,n),g;o.onsuccess=()=>{g=o.result},d.oncomplete=()=>c(g),d.onerror=()=>f(d.error)})}finally{i.close()}}function je({document:e=globalThis.document,window:n=globalThis.window,location:i=globalThis.location,storage:c=globalThis.sessionStorage,fetch:f=globalThis.fetch,remember:d=qt,pickDirectory:t=o=>n.showDirectoryPicker(o)}={}){let o=a=>e.getElementById(a),g=o("browser-folder-dialog"),s=o("browser-folder-status"),m=o("browser-apply-dialog"),y,p=[],w=[],x=!1,v=Promise.resolve(),b=new Map,M,I=!1,A=new Promise(a=>{M=a}),T="csync.browser-session.v1",F=a=>{let h=v.catch(()=>{}).then(a);return v=h,h},L=async()=>{c.setItem(T,JSON.stringify(y)),await d({mounts:p,baseline:w},y.id)},W=async(a,h=!1)=>{let E=h?"read":"readwrite";if(await a.queryPermission({mode:E})!=="granted"&&await a.requestPermission({mode:E})!=="granted")throw Error("\uC120\uD0DD\uD55C \uD3F4\uB354\uC758 \uC77D\uAE30\xB7\uC4F0\uAE30 \uAD8C\uD55C\uC744 \uD5C8\uC6A9\uD558\uC138\uC694.")};async function O(a,h,E=h?"POST":"GET"){let l=await f(a,{method:E,credentials:"omit",headers:{...y?{"X-Csync-Session":y.id,"X-Csync-Token":y.token}:{},...h?{"Content-Type":"application/json"}:{}},...h?{body:JSON.stringify(h)}:{}}),S=await l.json();if(!l.ok)throw Object.assign(Error(S.error||"\uC791\uC5C5 \uC694\uCCAD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."),{code:S.code,status:l.status,conflicts:S.conflicts,inPlace:S.inPlace,output:S.output});return S}let H=()=>({"X-Csync-Session":y.id,"X-Csync-Token":y.token});async function V(){let a=await O("/api/browser/changes");if(!(!a.files.length&&!a.removed.length))try{I=!0,await Dt(p,w,a,async h=>{let E=await f("/api/browser/file?path="+encodeURIComponent(h),{headers:H(),credentials:"omit"});if(!E.ok)throw Error("\uACB0\uACFC \uD30C\uC77C\uC744 \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.");return E.arrayBuffer()}),await O("/api/browser/ack",{files:a.snapshot}),w=a.snapshot,b.clear(),await L(),I=!1,m.close()}catch(h){throw o("browser-apply-status").textContent=h.message,m.open||m.showModal(),h}}o("browser-apply-retry").onclick=async()=>{if(!x)try{for(let a of p)a.readonly||await W(a.handle);await F(V)}catch(a){o("browser-apply-status").textContent=a.message}},m.addEventListener("cancel",a=>a.preventDefault());async function $(a=!1){if(I)throw Error("\uBCF4\uB958 \uC911\uC778 \uB85C\uCEEC \uD30C\uC77C \uC801\uC6A9\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");await V();let h=await Ft(p,b,a),E=h.map(({path:S,size:P,hash:r})=>({path:S,size:P,hash:r}));if(JSON.stringify(E)===JSON.stringify(w))return;let l=await O("/api/browser/mirror",{files:E});for(let S of l.uploads){let P=h.find(z=>z.path===S.path),r=await f("/api/browser/file?path="+encodeURIComponent(S.path),{method:"PUT",headers:H(),credentials:"omit",body:P.file});if(!r.ok){let z=await r.json();throw Error(z.error||"\uD30C\uC77C \uC804\uC1A1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.")}}await O("/api/browser/commit",{}),w=E,await L()}let j=()=>{o("workspace-interface").inert=!1,o("local-connection-status").textContent=p[0].handle.name+" \xB7 \uBE0C\uB77C\uC6B0\uC800 \uD3F4\uB354",g.close(),M()},ae=async()=>{await $(),j()},te=async()=>{x=(await O("/api/sync/job")).job?.state==="running",x?j():await ae()};async function Z(a){if(x||I)throw Error("\uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");o("browser-folder-open").disabled=!0,s.textContent="\uC120\uD0DD\uD55C \uBB38\uC11C\xB7\uCCA8\uBD80\uB97C \uC784\uC2DC \uC791\uC5C5\uACF5\uAC04\uC5D0 \uC900\uBE44\uD558\uB294 \uC911\u2026";try{return y&&(await V(),await O("/api/browser/session",void 0,"DELETE"),await d(null,y.id)),y=await O("/api/browser/session",{name:a.name}),p=[{virtual:y.base,handle:a}],w=[],b.clear(),await L(),await ae(),{path:y.base}}finally{o("browser-folder-open").disabled=!1}}let pe=async(a,h)=>{if(x||I)throw Error("\uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");if(a==="out"&&await p[0].handle.isSameEntry(h))return{path:y.base};for(let l of p)if(!(a==="out"&&l.virtual===y.output)){if(a==="reference"&&l.readonly&&await l.handle.isSameEntry(h))return{path:l.virtual};if(await l.handle.isSameEntry(h)||await l.handle.resolve(h)!==null||await h.resolve(l.handle)!==null)throw Error("\uBB38\uC11C\xB7\uCD9C\uB825\xB7\uCC38\uC870 \uD3F4\uB354\uB294 \uC11C\uB85C \uACB9\uCE58\uC9C0 \uC54A\uB294 \uBCC4\uB3C4 \uD3F4\uB354\uB85C \uC120\uD0DD\uD558\uC138\uC694.")}let E=a==="out"?y.output:(await O("/api/browser/mount",{kind:"reference"})).path;return p=p.filter(l=>l.virtual!==E),p.push({virtual:E,handle:h,readonly:a==="reference"}),await L(),await $(),{path:E}},Q=async a=>{let h=a==="base"?p[0]:a==="out"?p.find(l=>l.virtual===o("out-input").dataset?.path)||p.find(l=>l.virtual===y?.output)||p[0]:p.filter(l=>l.readonly).at(-1)||p[0],E=await t({id:"csync-"+a,mode:a==="reference"?"read":"readwrite",...h?{startIn:h.handle}:{}});return await W(E,a==="reference"),F(()=>a==="base"?Z(E):pe(a,E))};async function C(a,h){if(I)throw Error("\uBCF4\uB958 \uC911\uC778 \uB85C\uCEEC \uD30C\uC77C \uC801\uC6A9\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");let E=a.split("?")[0],l=h.body?JSON.parse(h.body):void 0;if(E==="/api/open")return{ok:!0,name:(l.path?.startsWith(y.base)?p[0]:p.find(P=>P.virtual===y.output))?.handle.name??"\uCD9C\uB825 \uD3F4\uB354"};if(E==="/api/convert"&&!l.preview&&l.out!==l.base&&!p.some(P=>P.virtual===y.output))throw Error("\uBCC0\uD658 \uACB0\uACFC\uB97C \uC800\uC7A5\uD560 \uCD9C\uB825 \uD3F4\uB354\uB97C \uBA3C\uC800 \uC120\uD0DD\uD558\uC138\uC694.");E!=="/api/sync/job"&&!x&&await $(E!=="/api/sync/staging");let S;try{S=await O(a,l,h.method??(l?"POST":"GET"))}catch(P){throw x||await V(),P}return S.job&&(x=S.job.state==="running"),x||await V(),S}let k=(a,h={})=>{if(a==="/api/pick-folder"){let{kind:l}=JSON.parse(h.body);return(async()=>{if(x||I)throw Error("\uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");return l==="base"?new Response(JSON.stringify(await Q("base"))):new Response(JSON.stringify(await Q(l)))})()}return F(()=>C(a,h)).then(l=>new Response(JSON.stringify(l))).catch(l=>new Response(JSON.stringify({error:l.message,code:l.code,conflicts:l.conflicts,inPlace:l.inPlace,output:l.output}),{status:l.status??400}))};o("local-disconnect").hidden=!1,o("local-disconnect").textContent="\uD3F4\uB354 \uC5F0\uACB0 \uD574\uC81C",o("local-disconnect").onclick=()=>F(async()=>{try{if(x||I)throw Error("\uC791\uC5C5\uACFC \uB85C\uCEEC \uD30C\uC77C \uC801\uC6A9\uC744 \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.");y&&(await O("/api/browser/session",void 0,"DELETE"),await d(null,y.id)),c.removeItem(T),i.reload()}catch(a){s.textContent=a.message,g.showModal()}});let R=o("out-mode-hint");return R&&(R.textContent="\uBCC4\uB3C4 \uD3F4\uB354 \uB610\uB294 \uC6D0\uBCF8 \uB36E\uC5B4\uC4F0\uAE30"),o("workspace-interface").inert=!0,g.addEventListener("cancel",a=>a.preventDefault()),o("root-path-editor").hidden=!0,o("out-input").readOnly=!0,o("out-input").placeholder="\uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uCD9C\uB825 \uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694",o("open").textContent="\uC800\uC7A5 \uC704\uCE58 \uD655\uC778",o("browser-folder-open").onclick=()=>Q("base").catch(a=>{a.name!=="AbortError"&&(s.textContent=a.message)}),o("browser-folder-resume").onclick=async()=>{try{for(let a of p)await W(a.handle,a.readonly);await F(te)}catch(a){s.textContent=a.message}},n.addEventListener("beforeunload",a=>{(x||I)&&(a.preventDefault(),a.returnValue="")}),!n.isSecureContext||!n.showDirectoryPicker?(s.textContent="\uD3F4\uB354 \uC77D\uAE30\xB7\uC4F0\uAE30\uB97C \uC9C0\uC6D0\uD558\uB294 \uB370\uC2A4\uD06C\uD1B1 Chrome \uB610\uB294 Edge\uC5D0\uC11C HTTPS \uC8FC\uC18C\uB85C \uC811\uC18D\uD558\uC138\uC694.",o("browser-folder-open").disabled=!0,g.showModal()):(o("local-connection-status").textContent="\uC800\uC7A5\uB41C \uD3F4\uB354 \uC5F0\uACB0\uC744 \uD655\uC778\uD558\uB294 \uC911\u2026",F(async()=>{let a;try{y=JSON.parse(c.getItem(T)),a=y?await d(void 0,y.id):void 0}catch{s.textContent="\uC800\uC7A5\uB41C \uD3F4\uB354 \uC5F0\uACB0 \uC815\uBCF4\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD3F4\uB354\uB97C \uB2E4\uC2DC \uC120\uD0DD\uD558\uC138\uC694."}if(!y||!a?.mounts?.length){o("local-connection-status").textContent="\uBE0C\uB77C\uC6B0\uC800 \uD3F4\uB354 \uC120\uD0DD \uD544\uC694",g.showModal();return}p=a.mounts,w=a.baseline??[];let h=!0;for(let E of p)await E.handle.queryPermission({mode:E.readonly?"read":"readwrite"})!=="granted"&&(h=!1);if(!h){o("local-connection-status").textContent="\uD3F4\uB354 \uC811\uADFC \uAD8C\uD55C \uD655\uC778 \uD544\uC694",o("browser-folder-resume").hidden=!1,s.textContent="\uC774\uC804\uC5D0 \uC120\uD0DD\uD55C \uD3F4\uB354\uAC00 \uC800\uC7A5\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC120\uD0DD\uD560 \uD544\uC694 \uC5C6\uC774 \uC811\uADFC \uAD8C\uD55C\uC744 \uD5C8\uC6A9\uD558\uC138\uC694.",g.showModal();return}o("local-connection-status").textContent=p[0].handle.name+" \xB7 \uC5F0\uACB0\uC744 \uBCF5\uC6D0\uD558\uB294 \uC911\u2026";try{await te()}catch(E){[401,410].includes(E.status)?(await d(null,y.id),y=void 0,w=[],c.removeItem(T),s.textContent="\uC791\uC5C5\uACF5\uAC04\uC744 \uB2E4\uC2DC \uC5F0\uACB0\uD574\uC57C \uD569\uB2C8\uB2E4. \uD3F4\uB354\uB97C \uB2E4\uC2DC \uC120\uD0DD\uD558\uC138\uC694."):s.textContent="\uC774\uC804 \uD3F4\uB354 \uC5F0\uACB0\uC744 \uBCF5\uC6D0\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4: "+E.message,o("local-connection-status").textContent="\uD3F4\uB354 \uC5F0\uACB0 \uD655\uC778 \uD544\uC694",g.showModal()}}).catch(a=>{s.textContent=a.message,o("local-connection-status").textContent="\uD3F4\uB354 \uC5F0\uACB0 \uD655\uC778 \uD544\uC694",g.showModal()})),{ready:A,request:k,browser:!0,remote:!1,folderName:a=>p.find(h=>h.virtual===a)?.handle.name??""}}async function at({bytes:e,pages:n,dryRun:i}){let{getDocument:c,GlobalWorkerOptions:f,VerbosityLevel:d}=await import("./chunks/pdf-DDN7TXTP.js");f.workerSrc="/assets/pdf.worker.min.mjs";let t=c({data:e,cMapUrl:"/assets/pdf/cmaps/",cMapPacked:!0,standardFontDataUrl:"/assets/pdf/standard_fonts/",wasmUrl:"/assets/pdf/wasm/",useSystemFonts:!1,verbosity:d.ERRORS});try{let o=await t.promise;for(let s of n)if(!Number.isInteger(s)||s<1||s>o.numPages)throw Error(`PDF \uCABD \uBC94\uC704 \uCD08\uACFC: ${s} (\uCD1D ${o.numPages}\uCABD)`);if(i)return[];let g=[];for(let s of n){let m=await o.getPage(s),y=m.getViewport({scale:160/72}),p=document.createElement("canvas");p.width=Math.ceil(y.width),p.height=Math.ceil(y.height);try{await m.render({canvas:p,canvasContext:p.getContext("2d"),viewport:y}).promise;let w=await new Promise((x,v)=>p.toBlob(b=>b?x(b):v(Error("PDF \uC774\uBBF8\uC9C0\uB97C \uC800\uC7A5\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),"image/png"));g.push(await w.arrayBuffer())}finally{m.cleanup(),p.width=p.height=1}}return g}finally{await t.destroy()}}function rt({worker:e=new Worker("/assets/workspace.worker.js",{type:"module"}),timeoutMs:n=18e4}={}){let i=0,c=!1,f=new Map,d=t=>{c=!0;for(let o of f.values())clearTimeout(o.timer),o.reject(Error(t));f.clear()};return e.addEventListener("error",()=>d("\uBE0C\uB77C\uC6B0\uC800 \uC2E4\uD589\uAE30\uB97C \uC2DC\uC791\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD398\uC774\uC9C0\uB97C \uC0C8\uB85C\uACE0\uCE68\uD558\uC138\uC694.")),e.addEventListener("message",async({data:t})=>{if(t.kind==="pdf"){try{let g=await at(t.request);e.postMessage({kind:"pdf-result",id:t.id,pages:g},g)}catch(g){e.postMessage({kind:"pdf-result",id:t.id,error:g.message})}return}let o=f.get(t.id);o&&(f.delete(t.id),clearTimeout(o.timer),t.error?o.reject(Error(t.error)):o.resolve(new Response(t.body,{status:t.status,headers:t.headers})))}),async(t,o={})=>{if(c)throw Error("\uBE0C\uB77C\uC6B0\uC800 \uC2E4\uD589\uAE30\uAC00 \uC911\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD398\uC774\uC9C0\uB97C \uC0C8\uB85C\uACE0\uCE68\uD558\uC138\uC694.");let g=new URL(t,"https://local.invalid");if(g.origin!=="https://local.invalid"||!g.pathname.startsWith("/api/"))throw Error("\uC798\uBABB\uB41C \uBE0C\uB77C\uC6B0\uC800 \uC694\uCCAD\uC785\uB2C8\uB2E4.");let s=o.body;s instanceof Blob&&(s=await s.arrayBuffer());let m=++i;return new Promise((y,p)=>{let w=setTimeout(()=>{f.delete(m),p(Error("\uBE0C\uB77C\uC6B0\uC800 \uC694\uCCAD\uC774 \uC9C0\uC5F0\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC791\uC5C5 \uB0B4\uC5ED\uC744 \uD655\uC778\uD55C \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694."))},n);f.set(m,{resolve:y,reject:p,timer:w}),e.postMessage({id:m,path:t,method:o.method??"GET",headers:Object.fromEntries(new Headers(o.headers)),body:s},s instanceof ArrayBuffer?[s]:[])})}}function Ut(e){let n=new URL(e);if(n.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(n.hostname)||n.username||n.password||n.pathname!=="/"||n.search||n.hash)throw new Error("\uB85C\uCEEC \uC2E4\uD589\uAE30 \uC8FC\uC18C\uB294 http://127.0.0.1:\uD3EC\uD2B8 \uD615\uC2DD\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.");return n.origin}function it({document:e=globalThis.document,location:n=globalThis.location,history:i=globalThis.history,storage:c=globalThis.sessionStorage,fetch:f=globalThis.fetch}={}){let d=new URLSearchParams(n.hash?.slice(1)).has("csyncEndpoint")||c?.getItem("csync.connector.v1");if(e.querySelector('meta[name="csync-runtime"]')?.content==="standalone"&&!d)return{...je({fetch:rt()}),standalone:!0};if(e.querySelector('meta[name="csync-runtime"]')?.content==="browser")return je();let t=L=>e.getElementById(L),o=e.querySelector('meta[name="csync-token"]').content,g=o?{endpoint:"",token:o}:null,s,m=g?Promise.resolve():new Promise(L=>{s=L}),y="csync.connector.v1",p=(L,W={})=>{if(!g)throw new Error("\uBA3C\uC800 \uB85C\uCEEC \uC2E4\uD589\uAE30\uB97C \uC5F0\uACB0\uD558\uC138\uC694.");if(!L.startsWith("/api/")||L.startsWith("//"))throw new Error("\uB85C\uCEEC API \uACBD\uB85C\uB97C \uD655\uC778\uD558\uC138\uC694.");return f(g.endpoint+L,{...W,headers:{...W.headers,"X-Csync-Token":g.token},credentials:"omit",redirect:"error",...g.endpoint?{targetAddressSpace:"loopback"}:{}})},w=()=>{try{c.removeItem(y)}catch{}g=null,n.reload()};if(t("local-disconnect").onclick=w,g)return{ready:m,request:p,remote:!1};t("local-disconnect").hidden=!1;let x=t("local-connect-dialog"),v=t("local-connect-form"),b=t("local-connect-note");t("local-connect-command").textContent=`csync web --ui ${JSON.stringify(n.origin+n.pathname)} --base "/\uBB38\uC11C\uD3F4\uB354"`;let M=!1;async function I(L,W){if(!M){M=!0,t("local-connect-submit").disabled=!0,b.textContent="\uB85C\uCEEC \uC2E4\uD589\uAE30\uC5D0 \uC5F0\uACB0\uD558\uB294 \uC911\u2026";try{if(L=Ut(L),!/^[a-f0-9]{64}$/.test(W))throw new Error("csync\uAC00 \uCD9C\uB825\uD55C \uC5F0\uACB0 \uB9C1\uD06C\uB97C \uC0AC\uC6A9\uD558\uAC70\uB098 \uC5F0\uACB0 \uD0A4\uB97C \uC785\uB825\uD558\uC138\uC694.");let O=await f(L+"/api/connection",{headers:{"X-Csync-Token":W},credentials:"omit",redirect:"error",targetAddressSpace:"loopback",signal:AbortSignal.timeout(15e3)}),H=await O.json();if(!O.ok)throw new Error(H.error||"\uC5F0\uACB0 \uAD8C\uD55C\uC744 \uD655\uC778\uD558\uC138\uC694.");if(H.mode!=="connector")throw new Error("csync web --ui\uB85C \uC2E4\uD589\uD55C \uB85C\uCEEC \uC2E4\uD589\uAE30\uC5D0 \uC5F0\uACB0\uD558\uC138\uC694.");let V=e.querySelector('meta[name="csync-version"]').content;if(H.version!==V)throw new Error(`\uC6F9(v${V})\uACFC \uB85C\uCEEC \uC2E4\uD589\uAE30(v${H.version}) \uBC84\uC804\uC774 \uB2E4\uB985\uB2C8\uB2E4. \uAC19\uC740 \uBC84\uC804\uC73C\uB85C \uC2E4\uD589\uD558\uC138\uC694.`);g={endpoint:L,token:W};try{c.setItem(y,JSON.stringify(g))}catch{}t("local-connection-status").textContent="\uB0B4 \uCEF4\uD4E8\uD130\uC5D0 \uC5F0\uACB0\uB428",x.close(),t("workspace-interface").inert=!1,s()}catch(O){g=null;try{c.removeItem(y)}catch{}b.textContent=O.name==="TypeError"||O.name==="TimeoutError"?"\uC5F0\uACB0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB85C\uCEEC csync \uC2E4\uD589 \uC5EC\uBD80\uC640 \uBE0C\uB77C\uC6B0\uC800\uC758 \uB85C\uCEEC \uB124\uD2B8\uC6CC\uD06C \uC811\uADFC \uAD8C\uD55C\uC744 \uD655\uC778\uD558\uC138\uC694.":O.message,x.showModal()}finally{M=!1,t("local-connect-submit").disabled=!1}}}x.addEventListener("cancel",L=>L.preventDefault()),v.onsubmit=L=>(L.preventDefault(),I(t("local-connect-endpoint").value.trim(),t("local-connect-token").value.trim())),t("workspace-interface").inert=!0;let A=new URLSearchParams(n.hash.slice(1)),T=A.get("csyncEndpoint"),F=A.get("csyncToken");if(T!==null||F!==null)i.replaceState(null,"",n.pathname+n.search),t("local-connect-endpoint").value=T??"",t("local-connect-token").value=F??"",x.showModal();else{let L;try{L=JSON.parse(c.getItem(y))}catch{}L?.endpoint&&L?.token?I(L.endpoint,L.token):x.showModal()}return{ready:m,request:p,remote:!0}}function st(e=globalThis.document){let n=d=>e.getElementById(d),i=n("overwrite-dialog"),c,f=d=>{let t=c;c=void 0,i.close(),t?.(d)};return n("overwrite-cancel").onclick=()=>f(!1),n("overwrite-confirm").onclick=()=>f(!0),i.addEventListener("cancel",d=>{d.preventDefault(),f(!1)}),i.addEventListener("close",()=>{let d=c;c=void 0,d?.(!1)}),({conflicts:d,inPlace:t,output:o})=>{if(c)throw Error("\uB36E\uC5B4\uC4F0\uAE30 \uD655\uC778\uC774 \uC774\uBBF8 \uC9C4\uD589 \uC911\uC785\uB2C8\uB2E4.");return n("overwrite-title").textContent=`${t?"\uC6D0\uBCF8":"\uAE30\uC874"} \uD30C\uC77C ${d.length}\uAC1C \uB36E\uC5B4\uC4F0\uAE30`,n("overwrite-path").textContent=o,n("overwrite-warning").textContent=`${t?"\uC120\uD0DD\uD55C \uC6D0\uBCF8":"\uCD9C\uB825 \uD3F4\uB354\uC758 \uAE30\uC874"} \uB0B4\uC6A9\uC774 \uBCC0\uD658 \uACB0\uACFC\uB85C \uAD50\uCCB4\uB429\uB2C8\uB2E4.${t?" \uD655\uC778 \uC774\uD6C4 \uC6D0\uBCF8\uC774 \uBC14\uB00C\uBA74 \uC800\uC7A5\uC744 \uC911\uB2E8\uD569\uB2C8\uB2E4.":""} \uCDE8\uC18C\uD558\uBA74 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.`,n("overwrite-files").replaceChildren(...d.map(({path:g})=>{let s=e.createElement("li");return s.textContent=g,s})),new Promise(g=>{c=g,i.showModal(),n("overwrite-cancel").focus()})}}function ct(){let e=document.getElementById("snackbars"),n=new Map;return function(c,f="info"){let d=f+":"+c;if(!c||n.has(d))return;let t={error:["\uC791\uC5C5\uC744 \uC644\uB8CC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4","!","\uC624\uB958"],success:["\uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4","\u2713","\uC131\uACF5"],warning:["\uD655\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4","!","\uC8FC\uC758"],info:["\uC548\uB0B4","i","\uC548\uB0B4"]}[f],o=document.createElement("div");o.className="snackbar snackbar-"+f,o.setAttribute("role",f==="error"||f==="warning"?"alert":"status");let g=document.createElement("span");g.className="snackbar-icon",g.textContent=t[1],g.setAttribute("aria-hidden","true");let s=document.createElement("div");s.className="snackbar-content";let m=document.createElement("strong");m.textContent=t[0];let y=document.createElement("p");y.textContent=c,s.append(m,y);let p=document.createElement("button");p.type="button",p.className="snackbar-close",p.textContent="\xD7",p.setAttribute("aria-label",t[2]+" \uC54C\uB9BC \uB2EB\uAE30"),p.onclick=()=>{o.remove(),n.delete(d)},o.append(g,s,p),n.set(d,o),e.append(o)}}function lt(e){let n=document.getElementById("help-dialog");document.getElementById("open-help").addEventListener("click",()=>{n.showModal(),document.getElementById("help-"+e()).scrollIntoView({block:"start"})}),document.getElementById("open-token-guide").addEventListener("click",()=>{n.showModal(),document.getElementById("help-token").scrollIntoView({block:"start"})}),n.querySelectorAll(".help-nav a").forEach(i=>{i.addEventListener("click",c=>{c.preventDefault(),document.querySelector(i.getAttribute("href")).scrollIntoView({block:"start"})})})}var Ve;function Re(){return Ve??=import("./chunks/monaco-36ZGUH4Y.js").catch(e=>{throw Ve=void 0,Error("\uBCF8\uBB38 \uBE44\uAD50 \uB3C4\uAD6C\uB97C \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694. "+e.message)}),Ve}function pt(e,n){let i=URL.createObjectURL(new Blob([n],{type:"text/plain;charset=utf-8"})),c=document.createElement("a");try{c.href=i,c.download=e,document.body.append(c),c.click()}finally{c.remove(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}}var ft={preview:"\uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30",fetch:"\uC6D0\uACA9 \uBCC0\uACBD \uD655\uC778",pull:"\uAC00\uC838\uC624\uAE30",push:"\uC5C5\uB85C\uB4DC",restore:"\uBCF5\uAD6C\xB7\uC6D0\uBCF5"},Wt={running:"\uC9C4\uD589 \uC911",succeeded:"\uC644\uB8CC",failed:"\uC2E4\uD328"},dt=e=>e?new Date(e).toLocaleString("ko-KR",{timeZone:"Asia/Seoul"}):"-";function ut(e){return["confluence-sync \uC2E4\uD589 \uB85C\uADF8",`\uC791\uC5C5: ${ft[e.kind]??e.kind}`,`\uC0C1\uD0DC: ${Wt[e.state]??e.state}`,`\uC791\uC5C5 ID: ${e.id}`,`\uC2DC\uC791 (Asia/Seoul): ${dt(e.startedAt)}`,`\uC885\uB8CC (Asia/Seoul): ${dt(e.finishedAt)}`,"",e.log??""].join(`
|
|
2
|
+
`)+`
|
|
3
|
+
`}function gt(e){let n=Object.hasOwn(ft,e.kind)?e.kind:"job",i=String(e.id??"").replace(/[^a-zA-Z0-9-]/g,"").slice(0,36)||"current";return`csync-${n}-${i}.log`}function mt({api:e,selection:n,setBusy:i,isBusy:c,status:f,start:d}){let t=p=>document.getElementById(p),o=t("sync-restore-dialog"),g,s=()=>JSON.stringify(n());function m(){g=void 0,o.close()}async function y(p,w){if(c())return;let x=s(),v=n();i(!0);try{let b=await e("/api/sync/restore",{...v,path:p,overwrite:w});if(x!==s())return;g={request:v,confirmationId:b.confirmationId,identity:x},t("sync-restore-title").textContent=w?"\uB85C\uCEEC \uC218\uC815\uC744 \uBC84\uB9AC\uACE0 \uC6D0\uACA9 \uCD5C\uC2E0\uC73C\uB85C \uB418\uB3CC\uB9B4\uAE4C\uC694?":"\uB204\uB77D\uB41C \uBB38\uC11C\uB97C \uC6D0\uACA9\uC5D0\uC11C \uB2E4\uC2DC \uBC1B\uC744\uAE4C\uC694?",t("sync-restore-path").textContent=b.path,t("sync-restore-warning").textContent=w?"\uC774 \uBB38\uC11C\uC640 \uC6D0\uACA9\uC5D0\uC11C \uCC38\uC870\uD558\uB294 \uCCA8\uBD80\uC758 \uB85C\uCEEC \uC218\uC815\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4. \uC6D0\uACA9 \uCD5C\uC2E0 \uB0B4\uC6A9\uC73C\uB85C \uAD50\uCCB4\uD558\uBA70 \uB2E4\uB978 \uBB38\uC11C\uB294 \uC720\uC9C0\uD569\uB2C8\uB2E4.":"\uC9C0\uC815\uD55C \uBB38\uC11C\uC640 \uCC38\uC870 \uCCA8\uBD80\uB9CC \uB2E4\uC2DC \uBC1B\uC2B5\uB2C8\uB2E4. \uAE30\uC874 \uD30C\uC77C\uACFC \uB0B4\uC6A9\uC774 \uB2E4\uB978 \uAE30\uC874 \uCCA8\uBD80\uB294 \uB36E\uC5B4\uC4F0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",t("sync-restore-warning").textContent+=` \uAC00\uC838\uC624\uAE30 \uD615\uC2DD: ${v.format==="obsidian"?"Obsidian":"Markdown"}.`,t("sync-restore-confirm").textContent=w?"\uB85C\uCEEC \uC218\uC815 \uBC84\uB9AC\uACE0 \uC6D0\uBCF5":"\uC6D0\uACA9\uC5D0\uC11C \uBCF5\uAD6C",o.showModal(),t("sync-restore-cancel").focus()}catch(b){f(b.message,!0)}finally{i(!1)}}return t("sync-restore-cancel").onclick=m,o.addEventListener("cancel",m),t("sync-restore-confirm").onclick=async()=>{if(!g||c())return;if(g.identity!==s()){m(),f("\uB300\uC0C1\uC774\uB098 \uC5F0\uACB0 \uC124\uC815\uC774 \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4. \uBCF5\uAD6C \uB300\uC0C1\uC744 \uB2E4\uC2DC \uC120\uD0DD\uD558\uC138\uC694.",!0);return}let p=g;m(),await d("restore",{...p.request,confirmationId:p.confirmationId})},{open:y}}function ht({api:e,selection:n,monaco:i,loadMonaco:c=async()=>i,notify:f}){let d=w=>document.getElementById(w),t="",o=0,g,s,m;function y(){o++,d("sync-diff-dialog").close()}d("sync-diff-close").onclick=y,d("sync-diff-dialog").addEventListener("cancel",()=>{o++});async function p(w=!1){let x=++o,v={...n(),path:t,remote:w};d("sync-diff-note").textContent=w?"\uC120\uD0DD\uD55C \uD398\uC774\uC9C0 \uBCF8\uBB38\uB9CC \uC870\uD68C\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":"\uC800\uC7A5\uB41C \uB85C\uCEEC \uBE44\uAD50 \uAE30\uC900\uC744 \uD655\uC778\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",w&&(d("sync-diff-remote").textContent="\uC6D0\uACA9 \uBE44\uAD50 \uB2E4\uC2DC \uC2DC\uB3C4"),d("sync-diff-remote").disabled=!0,d("sync-diff-editor").hidden=!0,d("sync-diff-labels").hidden=!0;try{let b=await e("/api/sync/diff",v);if(x!==o||!d("sync-diff-dialog").open||!w&&b.before===null&&b.canRemote&&(d("sync-diff-note").textContent="\uC800\uC7A5\uB41C \uAE30\uC900\uBCF8\uC774 \uC5C6\uC5B4 \uC120\uD0DD\uD55C \uC6D0\uACA9 \uD398\uC774\uC9C0 \uBCF8\uBB38\uC744 \uC870\uD68C\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",d("sync-diff-remote").hidden=!1,d("sync-diff-remote").textContent="\uC6D0\uACA9 \uBE44\uAD50 \uB2E4\uC2DC \uC2DC\uB3C4",b=await e("/api/sync/diff",{...v,remote:!0}),x!==o||!d("sync-diff-dialog").open)||(d("sync-diff-note").textContent=b.note,d("sync-diff-before-label").textContent=b.source==="remote"?"\uD604\uC7AC \uC6D0\uACA9 \uBCF8\uBB38 (\uADFC\uC0AC \uBCC0\uD658)":b.source==="new"?"\uC0C8 \uBB38\uC11C (\uC6D0\uACA9 \uC5C6\uC74C)":"\uB9C8\uC9C0\uB9C9 \uB3D9\uAE30\uD654 \uAE30\uC900",d("sync-diff-remote").hidden=!b.canRemote,d("sync-diff-remote").textContent=b.source==="remote"?"\uC6D0\uACA9 \uC0C8\uB85C\uACE0\uCE68":"\uC6D0\uACA9\uACFC \uBE44\uAD50 \xB7 \uBCF8\uBB38 1\uD68C \uC870\uD68C",b.before===null))return;if(d("sync-diff-editor").hidden=!1,d("sync-diff-labels").hidden=!1,!g){let M=await c();if(x!==o||!d("sync-diff-dialog").open)return;s=M.editor.createModel("","markdown"),m=M.editor.createModel("","markdown"),g=M.editor.createDiffEditor(d("sync-diff-editor"),{automaticLayout:!0,readOnly:!0,originalEditable:!1,ignoreTrimWhitespace:!1,renderSideBySide:!0,useInlineViewWhenSpaceIsLimited:!0,renderSideBySideInlineBreakpoint:700,minimap:{enabled:!1},wordWrap:"on",scrollBeyondLastLine:!1,fontSize:12}),g.setModel({original:s,modified:m}),g.getOriginalEditor().updateOptions({ariaLabel:"\uAE30\uC900 Markdown"}),g.getModifiedEditor().updateOptions({ariaLabel:"\uD604\uC7AC \uB85C\uCEEC Markdown"})}s.setValue(b.before),m.setValue(b.after),g.layout()}catch(b){x===o&&(d("sync-diff-note").textContent=b.message,f(b.message,"error"))}finally{x===o&&(d("sync-diff-remote").disabled=!1)}}return d("sync-diff-remote").onclick=()=>p(!0),{open:async(w,x=!0)=>{t=w,d("sync-diff-path").textContent=t,d("sync-diff-remote").hidden=!x,d("sync-diff-dialog").showModal(),await p(x)}}}function xt({api:e,selection:n,changed:i,busy:c,status:f,update:d,compare:t,restore:o=()=>{},canRestore:g=()=>!1,scopeKey:s=()=>""}){let m=a=>document.getElementById(a),y="csync.staging.views.v1",p=new Set(["same","new","changed","moved","unavailable"]),w=[],x="",v="",b=null,M=!1,I="",A="",T,F=!0,L=null,W=()=>{let{verify:a,...h}=n();return JSON.stringify([h,s()])},O=()=>JSON.stringify([n().base,n().referenceRoots]),H=()=>w.filter(a=>!a.unmapped&&a.remoteState!=="new"&&a.status!=="unavailable"&&(a.staged?a.stale:a.status!=="same")).map(a=>a.path),V=()=>w.filter(a=>a.staged).map(a=>a.path),$=()=>!!x&&x===W();function j(){try{let a=JSON.parse(localStorage.getItem(y));return Array.isArray(a)?a:[]}catch{return[]}}function ae(){try{let a=j().filter(h=>h?.key!==v);a.push({key:v,scannedAt:b,localCheckFailed:!!A,rows:w.map(({path:h,status:E,staged:l,stale:S,pageId:P,renamed:r,unmapped:z,recoverable:K,localUnverified:X,remoteState:Y,remoteVersion:ne,baselineVersion:ve})=>({path:h,status:E,staged:l,stale:S,pageId:P,renamed:r,unmapped:z,recoverable:K,localUnverified:X,remoteState:Y,remoteVersion:ne,baselineVersion:ve}))}),localStorage.setItem(y,JSON.stringify(a.slice(-5)))}catch{}}function te(){let a=M&&!$();if(m("sync-stage-note").classList.toggle("stale",a||!!A),A){m("sync-stage-note").textContent=(a?"\uC774\uC804 \uC870\uD68C \uACB0\uACFC\uC785\uB2C8\uB2E4. ":"")+"\uB85C\uCEEC \uBCC0\uACBD \uD655\uC778 \uC2E4\uD328: "+A+" \uC6D0\uACA9 \uC870\uD68C \uACB0\uACFC\uB294 \uC544\uB798\uC5D0 \uD45C\uC2DC\uD569\uB2C8\uB2E4. \uC5C5\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uCEEC \uC624\uB958\uB97C \uD574\uACB0\uD55C \uB4A4 \uB2E4\uC2DC \uD655\uC778\uD558\uC138\uC694.";return}if(a){let h=new Date(b).toLocaleString("ko-KR",{timeZone:"Asia/Seoul"});m("sync-stage-note").textContent=`\uC774\uC804 \uC870\uD68C \uACB0\uACFC\uC785\uB2C8\uB2E4 (${h}). \uD30C\uC77C\uC774\uB098 \uC5C5\uB85C\uB4DC \uC120\uD0DD\uC774 \uBC14\uB00C\uC5C8\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB85C\uCEEC \uBCC0\uACBD\uC744 \uC790\uB3D9\uC73C\uB85C \uB2E4\uC2DC \uD655\uC778\uD55C \uB4A4 \uC5C5\uB85C\uB4DC\uD560 \uBB38\uC11C\uB97C \uCCB4\uD06C\uD558\uACE0 \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C4\uD589\uD558\uC138\uC694.`}else m("sync-stage-note").textContent=M?w.some(h=>h.status!=="same"||h.staged||h.remoteState&&h.remoteState!=="unchanged")?w.some(h=>["unknown","unavailable"].includes(h.remoteState))?"\uC77C\uBD80 \uBB38\uC11C\uC758 \uC6D0\uACA9 \uC815\uBCF4\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uB85C\uCEEC \uC218\uC815\uC744 \uB73B\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. Fetch\uB85C \uB2E4\uC2DC \uC870\uD68C\uD558\uACE0 \uBB38\uC11C\uC758 \uC0C1\uC138 \uC0AC\uC720\uB97C \uD655\uC778\uD558\uC138\uC694.":w.some(h=>h.unmapped)?"\uBC1B\uAE30 \uBBF8\uC644\uB8CC \uBB38\uC11C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. Fetch \uD6C4 \uB2E4\uC2DC \uAC00\uC838\uC624\uBA74 \uC6D0\uACA9\uACFC \uC77C\uCE58\uD558\uB294 \uBB38\uC11C\uB9CC \uC5F0\uACB0\uD558\uBA70 \uB85C\uCEEC \uC218\uC815\uC740 \uBCF4\uC874\uD569\uB2C8\uB2E4.":w.some(h=>h.staged&&h.stale)?"\uC218\uC815\uB418\uAC70\uB098 \uBC94\uC704\uB97C \uBC97\uC5B4\uB09C \uB300\uC0C1\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uCD5C\uC2E0 \uB0B4\uC6A9 \uBC18\uC601\uC744 \uB204\uB974\uAC70\uB098 \uCCB4\uD06C\uB97C \uD574\uC81C\uD574 \uC5C5\uB85C\uB4DC\uC5D0\uC11C \uC81C\uC678\uD558\uC138\uC694.":w.some(h=>h.remoteState==="new"||h.status==="same"&&h.remoteState==="changed")?"\uC6D0\uACA9 \uC2E0\uADDC\xB7\uBCC0\uACBD \uBB38\uC11C\uB294 \uC704\uC758 \uAC00\uC838\uC624\uAE30\uB85C \uBC1B\uC73C\uC138\uC694. \uC5C5\uB85C\uB4DC \uCCB4\uD06C\uB294 \uB85C\uCEEC \uBB38\uC11C\uB97C \uBCF4\uB0BC \uB54C\uB9CC \uC0AC\uC6A9\uD569\uB2C8\uB2E4.":"\uCCB4\uD06C\uD558\uBA74 \uC5C5\uB85C\uB4DC\uC5D0 \uBC14\uB85C \uD3EC\uD568\uB429\uB2C8\uB2E4. \uCCB4\uD06C\uB97C \uD574\uC81C\uD558\uBA74 \uC81C\uC678\uB418\uBA70 \uC6D0\uBCF8 \uD30C\uC77C\uC740 \uC720\uC9C0\uB429\uB2C8\uB2E4. \uC120\uD0DD \uD6C4 \uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C4\uD589\uD558\uC138\uC694.":"\uB85C\uCEEC\uC5D0 \uBCC0\uACBD\uB41C \uBB38\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uC6D0\uACA9 \uC2E0\uADDC\xB7\uBCC0\uACBD\uC740 Fetch\uB85C \uD655\uC778\uD558\uC138\uC694.":"\uB85C\uCEEC \uBCC0\uACBD\uC744 \uC790\uB3D9\uC73C\uB85C \uD655\uC778\uD569\uB2C8\uB2E4. \uC6D0\uACA9 \uC0C1\uD0DC\uB294 Fetch\uB97C \uB20C\uB7EC \uD655\uC778\uD558\uC138\uC694."}function Z(){m("sync-stage-list").replaceChildren();let a=l=>l.localUnverified?"attention":l.remoteState==="new"?l.recoverable||l.status==="unavailable"?"receive":"conflict":l.unmapped?"attention":l.remoteState==="changed"&&["changed","moved","new"].includes(l.status)?"conflict":l.status==="unavailable"||l.stale||["unknown","unavailable"].includes(l.remoteState)?"attention":l.status==="same"&&l.remoteState==="changed"?"receive":"send",h={receive:0,conflict:1,attention:2,send:3},E;for(let l of w.filter(S=>S.status!=="same"||S.staged||S.remoteState&&S.remoteState!=="unchanged").sort((S,P)=>h[a(S)]-h[a(P)])){let S=a(l);if(E!==S){let J=document.createElement("h3");J.className="stage-group-heading",J.textContent={receive:"\u2193 \uBC1B\uC744 \uBB38\uC11C \xB7 \uC6D0\uACA9 \uC2E0\uADDC\xB7\uBCC0\uACBD",conflict:"! \uC591\uCABD \uBCC0\uACBD \xB7 \uBE44\uAD50 \uD544\uC694",attention:"! \uC5F0\uACB0 \uD655\uC778 \uD544\uC694",send:"\u2191 \uBCF4\uB0BC \uBCC0\uACBD \xB7 \uB85C\uCEEC \uC791\uC5C5"}[S],m("sync-stage-list").append(J),E=S}let P=document.createElement("div"),r=document.createElement("label"),z=document.createElement("input"),K=document.createElement("span"),X=document.createElement("small");z.type="checkbox",z.value=l.path,z.checked=l.staged,z.setAttribute("aria-label",l.path+" \uC5C5\uB85C\uB4DC\uC5D0 \uD3EC\uD568"),K.textContent=l.path,K.title=[l.path,...l.remoteReasons||[]].join(`
|
|
4
|
+
`);let Y=l.renamed?"\uB85C\uCEEC \uACBD\uB85C \uBCC0\uACBD":{new:"\uB85C\uCEEC \uC2E0\uADDC",changed:"\uB85C\uCEEC \uC218\uC815",moved:"\uB85C\uCEEC \uC774\uB3D9",same:"\uBCC0\uACBD \uC5C6\uC74C",unavailable:"\uD30C\uC77C \uD655\uC778"}[l.status],ne=document.createElement("span"),ve=document.createElement("span"),Pe=l.remoteState==="new"&&!l.unmapped&&l.status!=="unavailable"||l.remoteState==="changed"&&["changed","moved","new"].includes(l.status),Ge=l.localUnverified||l.unmapped||l.stale||Pe||["unknown","unavailable"].includes(l.remoteState),Ze=l.remoteState==="new"&&!Pe?"incoming":Ge?"attention":l.staged?"included":l.remoteState==="changed"?"moved":l.status,Qe={incoming:'<path d="M12 3v12m-5-5 5 5 5-5M4 17v4h16v-4"/>',included:'<circle cx="12" cy="12" r="9"/><path d="m8 12 3 3 5-6"/>',new:'<path d="M12 5v14M5 12h14"/>',changed:'<circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',moved:'<path d="M4 8h15m-4-4 4 4-4 4M20 16H5m4-4-4 4 4 4"/>',same:'<path d="m5 12 4 4L19 6"/>',attention:'<path d="m12 3 10 18H2L12 3ZM12 9v5m0 3v.1"/>'};if(ne.className="stage-state-icon",ne.setAttribute("aria-hidden","true"),ne.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">'+(Qe[Ze]||Qe.attention)+"</svg>",ve.textContent=l.localUnverified?{changed:"\uC6D0\uACA9 \uBCC0\uACBD",new:"\uC6D0\uACA9 \uC2E0\uADDC",unknown:"\uC6D0\uACA9 \uD655\uC778 \uD544\uC694",unavailable:"\uC6D0\uACA9 \uC870\uD68C \uBD88\uAC00"}[l.remoteState]+" \xB7 \uB85C\uCEEC \uBBF8\uD655\uC778":l.unmapped?"\uBC1B\uAE30 \uBBF8\uC644\uB8CC \xB7 \uC6D0\uACA9 \uB300\uC870 \uD544\uC694":l.remoteState==="new"?Pe?"\uC6D0\uACA9 \uC2E0\uADDC \xB7 \uB85C\uCEEC \uACBD\uB85C \uD655\uC778":"\uC6D0\uACA9 \uC2E0\uADDC":Pe?l.stale?"\uC591\uCABD \uC218\uC815 \xB7 \uCD5C\uC2E0 \uB0B4\uC6A9 \uD655\uC778 \uD544\uC694":"\uC591\uCABD \uC218\uC815 \xB7 \uCDA9\uB3CC \uC8FC\uC758":l.stale?"\uCD5C\uC2E0 \uB0B4\uC6A9 \uD655\uC778 \uD544\uC694":l.remoteState==="changed"?l.remoteReasons?.some(J=>J.includes("\uC704\uCE58 \uBCC0\uACBD"))?"\uC6D0\uACA9 \uC704\uCE58 \uBCC0\uACBD":"\uC6D0\uACA9 \uC218\uC815":l.remoteState==="unavailable"?"\uC6D0\uACA9 \uC870\uD68C \uBD88\uAC00":l.remoteState==="unknown"?"\uC6D0\uACA9 \uD655\uC778 \uD544\uC694":Y+(l.staged?" \xB7 \uC5C5\uB85C\uB4DC \uD3EC\uD568":""),z.remoteOnly=l.status==="same"&&["unknown","unavailable"].includes(l.remoteState)||l.unmapped&&!l.staged||l.remoteState==="new"&&!l.staged||l.status==="same"&&l.remoteState==="changed"&&!l.staged,z.localUnverified=!!l.localUnverified,z.remoteOnly&&(z.title=["unknown","unavailable"].includes(l.remoteState)?"\uC6D0\uACA9 \uC815\uBCF4\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. Fetch\uB85C \uB2E4\uC2DC \uC870\uD68C\uD558\uC138\uC694.":l.remoteState==="new"?"\uC544\uC9C1 \uBC1B\uC9C0 \uC54A\uC740 \uC6D0\uACA9 \uBB38\uC11C\uC785\uB2C8\uB2E4. Pull\uB85C \uAC00\uC838\uC624\uC138\uC694.":"\uC6D0\uACA9\uC5D0\uC11C\uB9CC \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. diff\uB97C \uD655\uC778\uD558\uACE0 Pull\uB85C \uAC00\uC838\uC624\uC138\uC694."),X.append(ne,ve),P.className="sync-stage-row"+(Ge?" needs-attention":l.staged?" is-included":a(l)==="receive"?" is-incoming":""),r.className="sync-stage-choice",X.className="stage-status stage-status-"+Ze,z.onchange=()=>k(z.checked?"add":"remove",[l.path]),r.append(z,K),P.append(r,X),!l.unmapped&&l.staged&&l.stale&&l.status!=="unavailable"){let J=document.createElement("button");J.type="button",J.textContent="\u21BB \uCD5C\uC2E0 \uB0B4\uC6A9 \uBC18\uC601",J.setAttribute("aria-label",l.path+" \uCD5C\uC2E0 \uB0B4\uC6A9 \uBC18\uC601"),J.onclick=()=>k("add",[l.path]),P.append(J)}if(!l.unmapped&&l.status!=="unavailable"&&l.remoteState!=="new"){let J=document.createElement("button");J.type="button",J.textContent="\u2194 diff \uBCF4\uAE30",J.setAttribute("aria-label",l.path+" \uBCC0\uACBD \uBE44\uAD50"),J.onclick=()=>t(l.path),P.append(J)}if(!(l.status==="same"&&["unknown","unavailable"].includes(l.remoteState))&&!l.localUnverified&&l.remoteState!=="new"&&l.pageId&&l.status!=="new"&&l.status!=="moved"){let J=document.createElement("button");J.type="button",J.className="stage-restore",J.isRestore=!0;let Ne=document.createElement("span"),Ye=document.createElement("span");Ne.className="stage-action-icon",Ne.setAttribute("aria-hidden","true"),Ne.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="'+(l.status==="unavailable"?"M12 3v12m-5-5 5 5 5-5M4 17v4h16v-4":"M3 11a9 9 0 1 1 2.64 6.36M3 3v8h8")+'"/></svg>',Ye.textContent=l.status==="unavailable"?"\uC6D0\uACA9\uC5D0\uC11C \uBCF5\uAD6C":"\uC6D0\uACA9\uC73C\uB85C \uC6D0\uBCF5",J.append(Ne,Ye),J.setAttribute("aria-label",l.path+" \uC6D0\uACA9 \uCD5C\uC2E0\uC73C\uB85C \uBCF5\uAD6C"),J.onclick=()=>{$()&&g()&&o(l.path,l.status!=="unavailable")},P.append(J)}m("sync-stage-list").append(P)}te()}function pe(){let a=O();if(v===a)return;v=a,x="",w=[],b=null,M=!1,I="",A="";let h=j().find(E=>E?.key===a);h&&Number.isFinite(Date.parse(h.scannedAt))&&Array.isArray(h.rows)&&h.rows.every(E=>E&&typeof E.path=="string"&&p.has(E.status)&&typeof E.staged=="boolean"&&typeof E.stale=="boolean")&&(A=h.localCheckFailed?"\uC774\uC804 \uB85C\uCEEC \uBCC0\uACBD \uD655\uC778\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uD655\uC778\uD558\uC138\uC694.":"",w=h.rows,b=h.scannedAt,M=!0),Z()}function Q(a){pe(),x&&x!==W()&&(x="",te()),m("sync-stage-scan").disabled=a||!n().base,m("sync-stage-add").disabled=a||!$()||!H().length,m("sync-stage-remove").disabled=a||!$()||!V().length,m("sync-stage-count").textContent=`${M&&!$()?"\uC774\uC804 \uC870\uD68C \xB7 ":""}${w.filter(h=>h.staged).length}\uAC1C \uC5C5\uB85C\uB4DC \uC608\uC815`;for(let h of m("sync-stage-list").querySelectorAll("input"))h.disabled=a||!$()||h.remoteOnly||h.localUnverified;for(let h of m("sync-stage-list").querySelectorAll("button"))h.disabled=a||h.isRestore&&(!$()||!g())}async function C(a,h,E=!1){if(a&&(!$()||!h?.length))return;let l=W(),S=n(),P=!1;E||c(!0),E||(m("sync-stage-note").textContent=a==="remove"?"\uC5C5\uB85C\uB4DC \uB300\uC0C1\uC5D0\uC11C \uC81C\uC678\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":a==="add"?"\uC120\uD0DD\uD55C \uBB38\uC11C\uB97C \uD655\uC778\uD574 \uC5C5\uB85C\uB4DC\uC5D0 \uD3EC\uD568\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":"\uB85C\uCEEC \uBB38\uC11C\uC758 \uBCC0\uACBD\uC744 \uAC80\uC0AC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026");try{let r,z="";try{r=await e("/api/sync/staging",{...S,...a?{action:a,paths:h}:{}},void 0,{background:E})}catch(X){if(a||l!==W())throw X;z=X.message,r=await e("/api/sync/staging",{...S,remoteOnly:!0},void 0,{background:E})}if(l!==W())return;if(!Array.isArray(r.rows))throw new Error("\uBCC0\uACBD \uBAA9\uB85D \uC751\uB2F5\uC744 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uBD88\uB7EC\uC624\uC138\uC694.");let K=m("sync-stage-remote-note");if(K&&(K.textContent=r.remoteCheckedAt?`\uC6D0\uACA9 \uD655\uC778: ${new Date(r.remoteCheckedAt).toLocaleString("ko-KR",{timeZone:"Asia/Seoul"})}${r.remoteExpired?" \xB7 \uC774\uC804 \uC870\uD68C \uACB0\uACFC\uC785\uB2C8\uB2E4. Fetch\uB85C \uAC31\uC2E0\uD558\uC138\uC694.":""}`:"\uC6D0\uACA9 \uC0C1\uD0DC \uBBF8\uD655\uC778 \xB7 Fetch\uB97C \uB204\uB974\uBA74 \uBC84\uC804\uACFC \uC704\uCE58\uB97C \uBB36\uC5B4\uC11C \uC870\uD68C\uD569\uB2C8\uB2E4."),E&&$()&&r.revision&&r.revision===I&&A===z)return;A=z,I=r.revision||"",P=!0,i(),w=r.rows,x=l,M=!0,(!a||!b)&&(b=new Date().toISOString()),ae(),Z(),m("sync-stage-scan").hidden=!0,a&&f(a==="add"?"\uC5C5\uB85C\uB4DC\uC5D0 \uD3EC\uD568\uD588\uC2B5\uB2C8\uB2E4. \uBBF8\uB9AC\uBCF4\uAE30 \uD6C4 \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.":"\uC5C5\uB85C\uB4DC\uC5D0\uC11C \uC81C\uC678\uD588\uC2B5\uB2C8\uB2E4. \uC6D0\uBCF8 \uD30C\uC77C\uC740 \uC720\uC9C0\uB429\uB2C8\uB2E4.",!1,"success")}catch(r){if(l!==W())return;P=!0,i(),x="",Z(),E?(m("sync-stage-note").textContent="\uB85C\uCEEC \uC790\uB3D9 \uD655\uC778 \uC2E4\uD328: "+r.message+" \uC774\uC804 \uBAA9\uB85D\uC740 \uC720\uC9C0\uB429\uB2C8\uB2E4.",m("sync-stage-scan").hidden=!1):f(r.message,!0)}finally{E?P&&d():(c(!1),d())}}async function k(a,h,E=!1){if(E&&L)return;let l=W(),S=(L??Promise.resolve()).catch(()=>{}).then(()=>l===W()?C(a,h,E):void 0);L=S;try{await S}finally{L===S&&(L=null)}}m("sync-stage-scan").onclick=()=>k(),m("sync-stage-add").onclick=()=>k("add",H()),m("sync-stage-remove").onclick=()=>k("remove",V());function R(a){F=!1;let h=async()=>{try{!F&&await a()&&await k(void 0,void 0,!0)}finally{F||(T=setTimeout(h,5e3))}};return clearTimeout(T),T=setTimeout(h,100),()=>{F=!0,clearTimeout(T)}}return{idle:()=>L??Promise.resolve(),remoteOnlyCount:()=>$()?w.filter(a=>a.status==="same"&&a.remoteState==="changed"||(a.recoverable||a.status==="unavailable")&&a.remoteState==="new").length:0,startWatching:R,update:Q,ready:()=>$()&&!A&&w.some(a=>a.staged)&&!w.some(a=>a.staged&&(a.stale||a.unmapped)),reload:(a=!1)=>k(void 0,void 0,a)}}function bt({api:e,context:n,setBusy:i,changed:c,renderConfig:f,status:d}){let t=I=>document.getElementById(I),o=n().base,g="",s="",m=!1,y=null;t("sync-env-toggle").onclick=()=>{let I=t("sync-env-toggle").getAttribute("aria-expanded")!=="true";t("sync-env-toggle").setAttribute("aria-expanded",String(I)),t("sync-env-body").hidden=!I,t("sync-env-chevron").textContent=I?"\u25BE":"\u25B8",t("sync-env-toggle-label").textContent=I?"\uC811\uAE30":"\uD3BC\uCE58\uAE30"};let p=()=>t("sync-env-import-mode").checked,w=()=>`${p()?"import":"base"}:${g}`,x=()=>({base:n().base,envId:p()?g||"not-imported":""});function v(){y=null,t("sync-env-confirm").open&&t("sync-env-confirm").close()}function b(I){m=I,o!==n().base&&(o=n().base,g="",s="",t("sync-env-file").value="",t("sync-env-base-mode").checked=!0,t("sync-env-import-mode").checked=!1,v());for(let A of["sync-env-base-mode","sync-env-import-mode"])t(A).disabled=m;t("sync-env-import-controls").hidden=!p(),t("sync-env-file-name").textContent=s||"\uC120\uD0DD\uD55C \uD30C\uC77C \uC5C6\uC74C",t("sync-env-choose").disabled=m||!o,t("sync-env-save").disabled=m||!g||!p(),t("sync-env-source-note").textContent=p()?"\uAC00\uC838\uC628 \uC124\uC815\uC740 \uD604\uC7AC \uC6F9 \uC791\uC5C5\uC5D0\uB9CC \uC801\uC6A9\uB429\uB2C8\uB2E4. \uC0C8\uB85C\uACE0\uCE68\uD558\uBA74 \uB2E4\uC2DC \uAC00\uC838\uC640\uC57C \uD569\uB2C8\uB2E4.":"\uB85C\uCEEC \uBB38\uC11C\uC5D0\uC11C \uC120\uD0DD\uD55C \uAE30\uC900 \uD3F4\uB354\uC758 .env\uB9CC \uC77D\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC774 \uC5C6\uC73C\uBA74 .env\uB97C \uAC00\uC838\uC624\uC138\uC694."}for(let I of["sync-env-base-mode","sync-env-import-mode"])t(I).onchange=()=>{v(),c(),b(m)};t("sync-env-choose").onclick=()=>{m||t("sync-env-file").click()},t("sync-env-file").onchange=async()=>{let I=t("sync-env-file").files?.[0];if(!I||m)return;if(I.size>12e3){d(".env \uD30C\uC77C\uC740 12KB \uC774\uD558 \uD14D\uC2A4\uD2B8\uC5EC\uC57C \uD569\uB2C8\uB2E4.",!0),t("sync-env-file").value="";return}let A=n().base;i(!0),v();try{let T=await I.text(),F=await e("/api/sync/env/import",{base:A,text:T,name:I.name});if(A!==n().base)return;g=F.envId,s=I.name,c(),f(F.config),d(".env\uB97C \uAC00\uC838\uC654\uC2B5\uB2C8\uB2E4. \uAE30\uC900 \uD3F4\uB354\uC758 \uD30C\uC77C\uC740 \uBCC0\uACBD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",!1,"success")}catch(T){d(T.message,!0)}finally{t("sync-env-file").value="",i(!1)}};async function M(I){i(!0);try{let A=await e("/api/sync/env/save",I);t("sync-env-base-mode").checked=!0,t("sync-env-import-mode").checked=!1,c(),f(A.config),d("\uAE30\uC900 \uD3F4\uB354\uC5D0 .env\uB97C \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4. CLI\uC5D0\uC11C\uB3C4 \uAC19\uC740 \uC124\uC815\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",!1,"success")}catch(A){d(A.message,!0)}finally{v(),i(!1)}}return t("sync-env-save").onclick=async()=>{if(m||!g||!p())return;let I=x();i(!0);try{let A=await e("/api/sync/env/save",I),T={...I,expectedHash:A.expectedHash};A.needsConfirmation?(y=T,t("sync-env-confirm-path").textContent=A.path,t("sync-env-confirm").showModal()):await M(T)}catch(A){d(A.message,!0)}finally{i(!1)}},t("sync-env-confirm-save").onclick=()=>{if(y&&!m)return M(y)},t("sync-env-confirm-cancel").onclick=v,t("sync-env-confirm").addEventListener("cancel",v),{update:b,identity:w,request:x}}var Jt=[["error",/^(?:✗|(?:\w*Error|오류|실패)\s*[::]|일부 작업이 실패)/],["warning",/^(?:⚠|\[경고\])/],["success",/^(?:\[(?:신규|폴더\+)\]|+\s*생성|완료(?:\s|$))/],["change",/^(?:\[변경\]|↻\s*갱신)/],["reference",/^(?:참조 링크:|\[연결\]|🔗|♻)/],["muted",/^(?:\[(?:동일|상위|폴더)\]|=\s*변경없음|·\s*상위|--dry-run:)/],["info",/^(?:base:|대상:|📁)/]];function yt(e,n){if(e.textContent===n)return;let i=document.createDocumentFragment();for(let c of n.match(/[^\n]*\n|[^\n]+$/g)??[]){let f=document.createElement("span"),d=Jt.find(([,t])=>t.test(c.trimStart()))?.[0]??"default";f.className="sync-log-line sync-log-"+d,f.textContent=c,i.append(f)}e.replaceChildren(i)}function wt({api:e,monaco:n,loadMonaco:i,context:c,setBusy:f,showSync:d,refresh:t=async()=>{},notify:o=()=>{},activity:g}){let s=r=>document.getElementById(r),m=!1,y=null,p=null,w="",x="",v,b=!1,M=!1,I="",A="\uC2A4\uD398\uC774\uC2A4 \uC804\uCCB4",T,F,L={restore:"\uC120\uD0DD\uD55C \uBB38\uC11C\uB97C \uC6D0\uACA9 \uCD5C\uC2E0\uC73C\uB85C \uBCF5\uAD6C\uD558\uB294 \uC911",preview:"\uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uACC4\uC0B0\uD558\uB294 \uC911",fetch:"\uC6D0\uACA9 \uBCC0\uACBD\uC744 \uD655\uC778\uD558\uB294 \uC911",pull:"Confluence\uC5D0\uC11C \uAC00\uC838\uC624\uB294 \uC911",push:"Confluence\uC5D0 \uC5C5\uB85C\uB4DC\uD558\uB294 \uC911"},W={restore:"sync-restore-confirm",preview:"sync-preview",fetch:"sync-fetch",pull:"sync-pull-remote",push:"sync-push"};function O(r,z){T?.end(),T=g?.begin({label:L[r],detail:"\uC791\uC5C5\uC744 \uC900\uBE44\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4.",button:z||W[r],region:"sync-results",link:"#sync-results"})}function H(){T?.end(),T=void 0}let V=new Set,$=(r,z=!1,K=z?"error":"info")=>{s("sync-status").textContent=r,s("sync-status").classList.toggle("error",z),K&&o(r,K)};function j(){return{base:c().base||"",target:"",envId:P.request().envId,verify:s("sync-verify").checked,referenceRoots:s("sync-references").value.split(/\r?\n/).map(z=>z.trim()).filter(Boolean)}}let ae=()=>s("sync-pull-format").value==="obsidian"?"obsidian":"markdown",te=()=>JSON.stringify(j()),Z=()=>JSON.stringify([c().base,P.identity()]),pe=()=>!!c().base;function Q(){y=null,p=null,w=""}function C(r,z=!1){m=r,!z&&w&&w!==te()&&(Q(),$("\uB300\uC0C1\uC774\uB098 \uC635\uC158\uC774 \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uBBF8\uB9AC\uBCF4\uAE30\uD574 \uC8FC\uC138\uC694.")),!z&&x&&x!==Z()&&(x="",b=!1,M=!1,I="",s("sync-config").replaceChildren(),s("sync-config-status").textContent="\uC124\uC815 \uD655\uC778 \uB610\uB294 .env \uAC00\uC838\uC624\uAE30\uB85C \uC5F0\uACB0 \uC815\uBCF4\uB97C \uBD88\uB7EC\uC624\uC138\uC694."),s("sync-log-download").disabled=!F?.log?.trim(),s("sync-job-state").hidden=!F,P.update(m),s("sync-connect").disabled=m||!c().base||!M||b,s("sync-connect").textContent=b?"\uC2A4\uD398\uC774\uC2A4 \uC5F0\uACB0\uB428":"\uC2A4\uD398\uC774\uC2A4 \uC5F0\uACB0",S.update(m);for(let Y of["sync-pull-format","sync-load","sync-verify","sync-references","sync-add-reference"])s(Y).disabled=m;s("sync-pull-format-help").textContent=ae()==="obsidian"?"\uC704\uD0A4\uB9C1\uD06C([[\uBB38\uC11C|\uC774\uB984]])\xB7\uCF5C\uC544\uC6C3\xB7\uAC01\uC8FC \uBB38\uBC95\uC73C\uB85C \uBCF5\uC6D0\uD569\uB2C8\uB2E4. \uD30C\uC77C\uBA85\uC774 \uACB9\uCE58\uAC70\uB098 HTML \uD45C \uC548\uC758 \uB9C1\uD06C\uB294 \uD638\uD658\uB418\uB294 \uC0C1\uB300 \uACBD\uB85C \uB9C1\uD06C\uB97C \uC720\uC9C0\uD569\uB2C8\uB2E4. \uC0C8\uB85C \uBC1B\uB294 \uBB38\uC11C\uC640 \uBCF5\uAD6C\xB7\uC6D0\uBCF5\uC5D0 \uC801\uC6A9\uD569\uB2C8\uB2E4.":"Markdown \uB9C1\uD06C([\uC774\uB984](\uBB38\uC11C.md))\xB7\uC81C\uBAA9\uC774 \uC788\uB294 \uC778\uC6A9\uBB38\xB7\uC704\uCCA8\uC790 \uAC01\uC8FC \uBAA9\uB85D\uC73C\uB85C \uBC1B\uC2B5\uB2C8\uB2E4. \uC0C8\uB85C \uBC1B\uB294 \uBB38\uC11C\uC640 \uBCF5\uAD6C\xB7\uC6D0\uBCF5\uC5D0 \uC801\uC6A9\uD558\uBA70 \uAE30\uC874 \uD30C\uC77C\uC744 \uC77C\uAD04 \uBCC0\uD658\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.";let K=s("sync-pull-remote");if(K){let Y=S.remoteOnlyCount();K.disabled=m||!b||!M||!Y,K.textContent=`\u2193 \uC6D0\uACA9 \uBB38\uC11C ${Y}\uAC1C \uAC00\uC838\uC624\uAE30 (Pull)`}s("sync-fetch").disabled=m||!c().base||!b||!M,s("sync-log-empty").textContent="\uBBF8\uB9AC\uBCF4\uAE30 \uB610\uB294 Fetch\xB7Pull\xB7\uBCF5\uAD6C\uB97C \uC2E4\uD589\uD558\uBA74 \uBB38\uC11C\uBCC4 \uCC98\uB9AC \uB0B4\uC5ED\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",s("sync-load").disabled=m||!c().base,s("sync-preview").disabled=m||!pe()||!b||!S.ready(),s("sync-push").disabled=m||!b||!M||!y||!p||w!==te(),s("sync-push").title=y?"\uBBF8\uB9AC\uBCF4\uAE30\uD55C \uBC94\uC704\uB97C \uC5C5\uB85C\uB4DC\uD569\uB2C8\uB2E4.":"\uD604\uC7AC \uC120\uD0DD\uACFC \uC124\uC815\uC73C\uB85C \uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uBA3C\uC800 \uC644\uB8CC\uD558\uC138\uC694.";let X=j();s("sync-target").textContent=pe()?`\uAE30\uC900 \uD3F4\uB354 ${X.base} \u2194 ${A} \xB7 Push\uB294 \uCCB4\uD06C\uD55C \uBB38\uC11C\uB9CC`:"\uB85C\uCEEC \uBB38\uC11C\uC5D0\uC11C \uAE30\uC900 \uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694."}function k(r){x=Z(),b=!!r.connected,M=!r.missing.length,A=r.rootPath&&r.rootPath!=="/"?`\uAE30\uC874 \uC6D0\uACA9 \uB8E8\uD2B8 ${r.rootPath}`:"\uC2A4\uD398\uC774\uC2A4 \uC804\uCCB4",I=b?`${r.baseUrl}/${r.spaceKey}/${r.rootPath||"/"}`:"",s("sync-config").replaceChildren();for(let[z,K]of[["\uC124\uC815 \uCD9C\uCC98",r.source],["\uC11C\uBC84",r.baseUrl||"\uBBF8\uC124\uC815"],["\uACC4\uC815",r.email||"\uBBF8\uC124\uC815"],["\uC2A4\uD398\uC774\uC2A4",r.spaceKey||"\uBBF8\uC124\uC815"],["\uC791\uC5C5\uACF5\uAC04",b?`\uAE30\uC900 \uD3F4\uB354 \u2194 ${A}`:"\uBBF8\uC5F0\uACB0"],["API \uD1A0\uD070",r.hasToken?"\uC124\uC815\uB428":"\uBBF8\uC124\uC815"]]){let X=document.createElement("dt"),Y=document.createElement("dd");X.textContent=z,Y.textContent=K,s("sync-config").append(X,Y)}s("sync-config-status").textContent=r.missing.length?`\uC124\uC815 \uD544\uC694: ${r.missing.join(", ")}. \uBBF8\uB9AC\uBCF4\uAE30\uB294 \uC778\uC99D \uC5C6\uC774 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`:b?"\uC811\uC18D \uC124\uC815\uACFC \uC2A4\uD398\uC774\uC2A4 \uC5F0\uACB0\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4.":"\uC2A4\uD398\uC774\uC2A4 \uC5F0\uACB0\uC744 \uB20C\uB7EC \uAE30\uC900 \uD3F4\uB354\uC640 \uC5F0\uACB0\uD558\uC138\uC694."}function R(r){if(F=r,s("sync-log-download").disabled=!r.log?.trim(),r.state==="running"&&!T&&O(r.kind),T){let Y=(r.log||"").split(/\r?\n/).filter(ne=>ne.trim()&&!/^\s*(?:✓|완료|진행 ·)/.test(ne)).at(-1);T.update({label:r.state==="running"?r.phase==="fetch"?"\uC644\uB8CC \uD6C4 \uC6D0\uACA9 \uC0C1\uD0DC\uB97C \uB2E4\uC2DC \uD655\uC778\uD558\uB294 \uC911":L[r.kind]:"\uC2E4\uD589 \uACB0\uACFC\uB97C \uBC18\uC601\uD558\uB294 \uC911",detail:r.state==="running"?Y||"\uCC98\uB9AC \uC911\uC785\uB2C8\uB2E4. \uC2E4\uD589 \uB0B4\uC5ED\uC5D0\uC11C \uC138\uBD80 \uB0B4\uC6A9\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.":"\uBCC0\uACBD \uBAA9\uB85D\uACFC \uB85C\uCEEC \uD3F4\uB354\uB97C \uAC31\uC2E0\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4.",startedAt:r.startedAt,uncertain:!1})}s("sync-job-summary").hidden=!1,s("sync-job-summary").textContent=`${r.kind==="restore"?"\uBB38\uC11C \uBCF5\uAD6C":r.kind==="preview"?"\uC5C5\uB85C\uB4DC \uBBF8\uB9AC\uBCF4\uAE30":r.kind==="fetch"?"\uC6D0\uACA9 \uBCC0\uACBD \uD655\uC778":r.kind==="pull"?"\uAC00\uC838\uC624\uAE30":"\uC5C5\uB85C\uB4DC"} \xB7 ${["pull","fetch","restore"].includes(r.kind)?`${r.config.spaceKey||"\uC2A4\uD398\uC774\uC2A4 \uBBF8\uC124\uC815"} \u2192 ${r.selection.base}`:`${r.selection.target||r.selection.base} \u2192 ${r.config.spaceKey||"\uC2A4\uD398\uC774\uC2A4 \uBBF8\uC124\uC815"}`} (${r.config.baseUrl||"\uC11C\uBC84 \uBBF8\uC124\uC815"})`,["pull","restore"].includes(r.kind)&&(s("sync-job-summary").textContent+=` \xB7 \uAC00\uC838\uC624\uAE30 \uD615\uC2DD: ${r.selection.format==="obsidian"?"Obsidian":"Markdown"}`),s("sync-log-empty").hidden=!0,s("sync-log").hidden=!1;let z=s("sync-log"),K=z.scrollHeight-z.scrollTop-z.clientHeight<40;yt(z,r.log||"\uC791\uC5C5\uC744 \uC900\uBE44\uD558\uB294 \uC911\uC785\uB2C8\uB2E4\u2026"),K&&(z.scrollTop=z.scrollHeight),s("sync-job-state").hidden=!1,s("sync-job-state").setAttribute("data-state",r.state==="succeeded"&&(r.warningCount||r.refreshFailed)?"warning":r.state),s("sync-job-state").textContent=r.state==="succeeded"&&(r.warningCount||r.refreshFailed)?"\uC644\uB8CC (\uACBD\uACE0)":{running:"\uC9C4\uD589 \uC911",succeeded:"\uC644\uB8CC",failed:"\uC2E4\uD328"}[r.state];let X=!V.has(r.id);r.state!=="running"&&V.add(r.id),r.state==="running"&&r.phase==="fetch"?$("Push\xB7Pull\uC744 \uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4. \uCD5C\uC2E0 \uC6D0\uACA9 \uC0C1\uD0DC\uB97C \uB2E4\uC2DC \uD655\uC778\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",!1,null):r.state==="running"?$(r.kind==="restore"?"\uC120\uD0DD\uD55C \uBB38\uC11C\uB97C \uC6D0\uACA9 \uCD5C\uC2E0\uC73C\uB85C \uBCF5\uAD6C\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":r.kind==="preview"?"\uB85C\uCEEC \uBB38\uC11C\uC640 \uB9E4\uD551\uC744 \uBE44\uAD50\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":r.kind==="fetch"?"\uC6D0\uACA9 \uD398\uC774\uC9C0 \uBA54\uD0C0\uB370\uC774\uD130\uB97C \uD655\uC778\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":r.kind==="pull"?"Confluence\uC5D0\uC11C \uBB38\uC11C\uB97C \uAC00\uC838\uC624\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":"Confluence\uC5D0 \uC5C5\uB85C\uB4DC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC9C4\uD589 \uB0B4\uC5ED\uC744 \uD655\uC778\uD558\uC138\uC694.",!1,null):r.state==="failed"?$(r.kind==="restore"?"\uBB38\uC11C \uBCF5\uAD6C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC2E4\uD589 \uB0B4\uC5ED\uC744 \uD655\uC778\uD558\uC138\uC694.":r.kind==="fetch"?"\uC6D0\uACA9 \uBCC0\uACBD \uD655\uC778\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC2E4\uD589 \uB0B4\uC5ED\uC744 \uD655\uC778\uD558\uC138\uC694. \uC774\uC804 \uCE90\uC2DC\uB294 \uC720\uC9C0\uB429\uB2C8\uB2E4.":r.kind==="pull"?"\uAC00\uC838\uC624\uAE30\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uB85C\uCEEC \uBCC0\uACBD\uC774\uB098 \uC624\uB958 \uB0B4\uC5ED\uC744 \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694.":"\uC5C5\uB85C\uB4DC\uAC00 \uC2E4\uD328\uD588\uAC70\uB098 \uC77C\uBD80 \uBB38\uC11C\uAC00 \uCC98\uB9AC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB0B4\uC5ED\uC744 \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uBBF8\uB9AC\uBCF4\uAE30\uD574 \uC8FC\uC138\uC694.",!0,X?"error":null):r.kind==="preview"?(r.id===p&&w===te()&&!r.config.missing.length&&r.config.connected&&(y=r.planId),$(r.config.missing.length?"\uBBF8\uB9AC\uBCF4\uAE30 \uC644\uB8CC. \uC811\uC18D \uC124\uC815\uC744 \uCC44\uC6B4 \uB4A4 \uB2E4\uC2DC \uBBF8\uB9AC\uBCF4\uAE30\uD574 \uC8FC\uC138\uC694.":y?"\uBBF8\uB9AC\uBCF4\uAE30 \uC644\uB8CC. \uB300\uC0C1\uACFC \uC5C5\uB85C\uB4DC \uC704\uCE58\uB97C \uD655\uC778\uD558\uACE0 Confluence\uC5D0 \uC5C5\uB85C\uB4DC\uB97C \uB204\uB974\uC138\uC694.":"\uBBF8\uB9AC\uBCF4\uAE30 \uB0B4\uC5ED\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4. \uD604\uC7AC \uC120\uD0DD\uC73C\uB85C \uB2E4\uC2DC \uBBF8\uB9AC\uBCF4\uAE30\uD574 \uC8FC\uC138\uC694.",!1,X?r.config.missing.length?"warning":"success":null)):r.kind==="fetch"?$("Fetch\uB97C \uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uACBD \uBB38\uC11C \uBAA9\uB85D\uC5D0 \uC6D0\uACA9 \uC0C1\uD0DC\uB97C \uBC18\uC601\uD569\uB2C8\uB2E4. \uC0C1\uC138 \uC870\uD68C \uB0B4\uC5ED\uC740 \uB300\uC0C1 \uBC0F \uC2E4\uD589 \uB0B4\uC5ED\uC5D0\uC11C \uD655\uC778\uD560 \uC218 \uC788\uC73C\uBA70 \uBB38\uC11C\uC640 \uB3D9\uAE30\uD654 \uAE30\uC900\uC740 \uC720\uC9C0\uB429\uB2C8\uB2E4.",!1,X?"success":null):r.refreshFailed?$(`${r.kind==="push"?"\uC5C5\uB85C\uB4DC":"\uAC00\uC838\uC624\uAE30"}\uB294 \uC644\uB8CC\uD588\uC9C0\uB9CC \uD6C4\uC18D Fetch\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. ${r.warningCount?`\uCCA8\uBD80 ${r.warningCount}\uAC1C\uB294 \uC6D0\uACA9 \uCC38\uC870\uB97C \uC720\uC9C0\uD588\uC2B5\uB2C8\uB2E4. `:""}\uBCC0\uACBD \uBAA9\uB85D\uC774 \uCD5C\uC2E0\uC774 \uC544\uB2D0 \uC218 \uC788\uC73C\uB2C8 Fetch\uB97C \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694.`,!1,X?"warning":null):r.warningCount?$(`\uAC00\uC838\uC624\uAE30\uB97C \uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4. \uCCA8\uBD80 ${r.warningCount}\uAC1C\uB97C \uC800\uC7A5\uD558\uC9C0 \uBABB\uD574 \uC6D0\uACA9 \uCC38\uC870\uB97C \uC720\uC9C0\uD588\uC2B5\uB2C8\uB2E4. \uC2E4\uD589 \uB0B4\uC5ED\uC744 \uD655\uC778\uD558\uC138\uC694.`,!1,X?"warning":null):$(r.kind==="restore"?"\uC6D0\uACA9 \uCD5C\uC2E0\uC73C\uB85C \uBCF5\uAD6C\uD588\uC2B5\uB2C8\uB2E4. \uBCF5\uAD6C \uBB38\uC11C\uB294 \uC5C5\uB85C\uB4DC \uC120\uD0DD\uC5D0\uC11C \uC81C\uC678\uD588\uC2B5\uB2C8\uB2E4.":r.kind==="pull"?"\uAC00\uC838\uC624\uAE30\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uAE30\uC900 \uD3F4\uB354\uC5D0\uC11C \uBB38\uC11C\uB97C \uD655\uC778\uD558\uC138\uC694.":"\uC5C5\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uB300\uC0C1\uC744 \uC120\uD0DD\uD574 \uACC4\uC18D \uC791\uC5C5\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",!1,X?"success":null)}async function a(){clearTimeout(v);try{let{job:r}=await e("/api/sync/job");if(!r){H(),f(!1);return}R(r),s("sync-reconnect").hidden=!0,r.state==="running"?v=setTimeout(a,800):(["push","pull","fetch","restore"].includes(r.kind)&&r.state==="succeeded"&&await S.reload(!0),["pull","restore"].includes(r.kind)&&r.state==="succeeded"&&await t(),H(),f(!1))}catch(r){$(`\uC9C4\uD589 \uC0C1\uD0DC\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uC791\uC5C5\uC740 \uC11C\uBC84\uC5D0\uC11C \uACC4\uC18D\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ${r.message}`,!0),T?.update({label:"\uC9C4\uD589 \uC0C1\uD0DC \uD655\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4",detail:"\uC11C\uBC84 \uC791\uC5C5\uC774 \uACC4\uC18D\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC9C4\uD589 \uC0C1\uD0DC \uB2E4\uC2DC \uD655\uC778\uC73C\uB85C \uC5F0\uACB0\uD558\uC138\uC694.",uncertain:!0}),s("sync-reconnect").hidden=!1}}async function h(r,z){let K=r==="pull-remote";if(K&&(r="pull"),m||!b)return;let X=j(),Y=y;if(!(r==="push"&&(!Y||!p||w!==te()||!M))){Q(),r==="preview"&&(w=te()),O(r,K?"sync-pull-remote":void 0),f(!0),$(r==="restore"?"\uC120\uD0DD\uD55C \uBB38\uC11C\uB97C \uBCF5\uAD6C\uD569\uB2C8\uB2E4\u2026":r==="preview"?"\uB3D9\uAE30\uD654 \uB300\uC0C1\uC744 \uD655\uC778\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026":r==="fetch"?"\uC6D0\uACA9 \uBCC0\uACBD \uD655\uC778\uC744 \uC2DC\uC791\uD569\uB2C8\uB2E4\u2026":r==="pull"?"Confluence\uC5D0\uC11C \uAC00\uC838\uC624\uAE30\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4\u2026":"\uC5C5\uB85C\uB4DC\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4\u2026",!1,null);try{let{job:ne}=await e("/api/sync/"+r,r==="restore"?z:r==="preview"?X:r==="pull"?{...P.request(),remoteOnly:!0,format:ae()}:r==="fetch"?P.request():{planId:Y});r==="preview"&&(p=ne.id),k(ne.config),R(ne),r==="fetch"&&s("sync-stage-heading").scrollIntoView({block:"start"}),await a()}catch(ne){$(ne.message,!0);try{let{job:ve}=await e("/api/sync/job");if(ve?.state==="running"){await a();return}H(),f(!1)}catch{T?.update({label:"\uC9C4\uD589 \uC0C1\uD0DC \uD655\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4",detail:"\uC694\uCCAD \uACB0\uACFC\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uC791\uC5C5\uC774 \uACC4\uC18D\uB420 \uC218 \uC788\uC73C\uB2C8 \uC9C4\uD589 \uC0C1\uD0DC\uB97C \uB2E4\uC2DC \uD655\uC778\uD558\uC138\uC694.",uncertain:!0}),s("sync-reconnect").hidden=!1}}}}s("sync-add-reference").onclick=async()=>{if(!m){f(!0);try{let r=await e("/api/pick-folder",{kind:"reference",start:c().base});if(r.path){let z=j().referenceRoots;s("sync-references").value=[...new Set([...z,r.path])].join(`
|
|
5
|
+
`),s("sync-references").dispatchEvent(new Event("input",{bubbles:!0}))}}catch(r){$(r.message,!0)}finally{f(!1)}}};let E=ht({api:e,selection:j,monaco:n,loadMonaco:i,notify:o}),l=mt({api:e,selection:()=>({...j(),format:ae()}),setBusy:f,isBusy:()=>m,status:$,start:h}),S=xt({restore:l.open,canRestore:()=>b&&M,scopeKey:()=>I,compare:E.open,api:e,selection:j,changed:Q,busy:f,status:$,update:()=>C(m)}),P=bt({api:e,context:c,setBusy:f,changed:()=>{Q(),C(m)},renderConfig:r=>{Q(),k(r)},status:$});s("sync-connect").onclick=async()=>{if(m||b||!M)return;let r=Z();Q(),f(!0);try{let z=await e("/api/sync/connect",P.request());if(r!==Z())return;k(z),$("\uAE30\uC900 \uD3F4\uB354\uB97C \uC2A4\uD398\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uD588\uC2B5\uB2C8\uB2E4. Fetch\uB85C \uBC1B\uC744 \uBB38\uC11C\uB97C \uD655\uC778\uD55C \uB4A4 \uAC00\uC838\uC624\uC138\uC694.",!1,"success")}catch(z){$(z.message,!0)}finally{f(!1)}},s("sync-pull-format").onchange=()=>C(m),s("sync-fetch").onclick=()=>h("fetch"),s("sync-pull-remote")&&(s("sync-pull-remote").onclick=()=>h("pull-remote")),s("sync-preview").onclick=()=>h("preview"),s("sync-push").onclick=()=>h("push"),s("sync-reconnect").onclick=a,s("sync-log-download").onclick=()=>{if(F?.log?.trim())try{pt(gt(F),ut(F)),o("\uB85C\uADF8 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD588\uC2B5\uB2C8\uB2E4.","success")}catch(r){$("\uB85C\uADF8 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. "+r.message,!0)}},s("sync-load").onclick=async()=>{if(m)return;Q(),f(!0);let r=Z();try{let z=await e("/api/sync/config",P.request());r===Z()&&(k(z),$(s("sync-config-status").textContent,!1,z.missing.length||!z.connected?"warning":"success"))}catch(z){$(z.message,!0)}finally{f(!1)}};for(let r of["sync-verify","sync-references"])s(r).addEventListener("input",()=>C(m));return{waitForLocalCheck:()=>S.idle(),watch:()=>S.startWatching(async()=>{if(m||document.hidden||s("sync-view").hidden||!c().base)return!1;if(!b||x!==Z())try{let r=Z(),z=await e("/api/sync/config",P.request(),void 0,{quiet:!0});if(r!==Z()||m)return!1;k(z),C(m)}catch{return!1}return b}),update:C,resume:async()=>{try{let{job:r}=await e("/api/sync/job");if(!r)return;R(r),r.state==="running"&&(await d(),f(!0),await a())}catch(r){$("\uC791\uC5C5 \uC0C1\uD0DC\uB97C \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. "+r.message,!0)}}}}function vt({api:e,selection:n,formatting:i,notify:c=()=>{}}){let f=document.getElementById("document-preview-frame"),d=document.getElementById("document-preview-status"),t=document.getElementById("document-preview-refresh"),o=document.getElementById("document-preview-toggle"),g,s,m=0,y=!1,p=!1;function w(){m++,s?.abort(),i?.clear(),f.hidden=!0,f.removeAttribute("srcdoc"),g=void 0,p=!1}async function x(v=!1){let{base:b,file:M,folder:I}=n(),A=b&&M&&!I?JSON.stringify([b,M]):"";if(!y){g!==void 0&&(A!==g||p)&&w(),t.disabled=!0;return}if(t.disabled=!A,!v&&A===g)return;w(),g=A;let T=m;if(t.disabled=!A,d.textContent=A?"\uBB38\uC11C\uB97C \uBD88\uB7EC\uC624\uB294 \uC911\u2026":"Markdown \uD30C\uC77C\uC744 \uC120\uD0DD\uD558\uBA74 \uBCF8\uBB38\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.",!!A){s=new AbortController,p=!0;try{let F=await e("/api/document-preview",{base:b,file:M},s.signal);if(T!==m)return;f.srcdoc=F.html,f.hidden=!1,i?.load(F,{base:b,file:M}),d.textContent=M.split(/[\\/]/).pop()+" \xB7 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD574 \uBCF5\uC0AC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."}catch(F){if(T!==m||F.name==="AbortError")return;d.textContent="\uBB38\uC11C\uB97C \uD45C\uC2DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4: "+F.message,c(d.textContent,"error")}finally{T===m&&(p=!1)}}}return o.onclick=()=>(y=!y,o.setAttribute("aria-expanded",String(y)),document.getElementById("document-preview-body").hidden=!y,document.getElementById("document-preview-actions").hidden=!y,document.getElementById("document-preview-chevron").textContent=y?"\u25BE":"\u25B8",document.getElementById("document-preview-toggle-label").textContent=y?"\uC811\uAE30":"\uD3BC\uCE58\uAE30",x()),t.onclick=()=>x(!0),{update:x}}function kt(e,n){let i=e-n.length*40,c=n.reduce((g,s)=>g+s,0),f=n.map(g=>g/c*i),d=f.map(g=>40+Math.floor(g)),t=f.map((g,s)=>({i:s,remainder:g-Math.floor(g)})).sort((g,s)=>s.remainder-g.remainder),o=e-d.reduce((g,s)=>g+s,0);for(let g=0;g<o;g++)d[t[g].i]++;return d}function Ct({api:e,monaco:n,loadMonaco:i=async()=>n,refresh:c,setBusy:f,notify:d=()=>{}}){let t=C=>document.getElementById(C),o=t("document-preview-frame"),g=t("table-edit-toggle"),s=t("table-format-controls"),m=t("table-review-dialog"),y=t("table-format-status"),p,w,x=!1,v=-1,b=[],M=new Map,I,A,T,F,L=0,W=0,O=C=>o.contentWindow?.postMessage({...C,channel:p?.channel},"*"),H=C=>{y.textContent=C},V=()=>{W++,I=null,t("table-save").disabled=!0};function $(){o.onload=null,L++,p=null,w=null,x=!1,v=-1,b=[],M.clear(),V(),t("document-format-toggle").disabled=!0,t("document-format-controls").hidden=!0,t("document-format-toggle").setAttribute("aria-expanded","false"),t("document-format-tables").value="keep",g.disabled=!0,g.lastChild.textContent="\uD45C \uC9C1\uC811 \uD3B8\uC9D1",g.setAttribute("aria-pressed","false"),s.hidden=!0,m.open&&m.close(),j()}function j(){let C=v>=0;for(let k of["table-total-width","table-equal","table-revert"])t(k).disabled=!C;if(t("document-format-basic").disabled=!p,t("document-format-review").disabled=!p||!M.size,t("format-summary").textContent=M.size?`\uD45C ${M.size}\uAC1C \uC870\uC808\uB428 \xB7 \uBCC0\uACBD \uBE44\uAD50 \uD6C4 \uC800\uC7A5\uD569\uB2C8\uB2E4.`:"\uBCC0\uACBD \uBE44\uAD50 \uD6C4 \uC6D0\uBCF8 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4.",t("table-revert-all").disabled=!M.size,t("document-format-tables").disabled=!p?.tables.some(k=>k.editable),t("table-fit").disabled=!C||!p?.tables.find(k=>k.index===v)?.contentWeights,C){let k=b.reduce((R,a)=>R+a,0);t("table-total-width").min=String(Math.max(320,b.length*40)),t("table-total-width").max=String(Math.max(1200,k)),t("table-total-width").value=k,t("table-total-label").textContent=k+"px"}else t("table-total-label").textContent=""}function ae(C){b=C.slice(),M.set(v,b.slice()),V(),O({type:"csync-table-widths",index:v,widths:b}),j(),H("\uD45C "+(v+1)+" \xB7 \uC544\uC9C1 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.")}g.onclick=()=>{if(x=!x,s.hidden=!x,g.lastChild.textContent=x?"\uD45C \uC9C1\uC811 \uD3B8\uC9D1 \uC911":"\uD45C \uC9C1\uC811 \uD3B8\uC9D1",g.setAttribute("aria-pressed",String(x)),O({type:"csync-table-edit",enabled:x}),x){for(let[C,k]of M)O({type:"csync-table-widths",index:C,widths:k});v>=0&&O({type:"csync-table-widths",index:v,widths:b})}x&&v<0&&H("\uBBF8\uB9AC\uBCF4\uAE30\uC5D0\uC11C \uD3B8\uC9D1\uD560 \uD45C\uB97C \uD074\uB9AD\uD558\uC138\uC694.")},window.addEventListener("message",C=>{let k=C.data;if(!p||!x||C.source!==o.contentWindow||k?.channel!==p.channel)return;let R=p.tables.find(a=>a.index===k.index&&a.editable);R&&(k.type==="csync-table-select"&&(v=R.index,b=(M.get(v)??R.widths).slice(),V(),O({type:"csync-table-widths",index:v,widths:b}),j(),H("\uD45C "+(v+1)+" \uC120\uD0DD \xB7 \uB0B4\uC6A9\uC5D0 \uB9DE\uCDA4\uC73C\uB85C \uC790\uB3D9 \uBC30\uBD84\uD558\uAC70\uB098 \uC5F4 \uACBD\uACC4\uB97C \uB4DC\uB798\uADF8\uD558\uC138\uC694.")),k.type==="csync-table-change"&&k.index===v&&Array.isArray(k.widths)&&k.widths.length===R.widths.length&&k.widths.every(a=>Number.isInteger(a)&&a>=40)&&k.widths.reduce((a,h)=>a+h,0)<=3e3&&(b=k.widths.slice(),M.set(v,b.slice()),V(),j(),H("\uD45C "+(v+1)+" \xB7 \uC544\uC9C1 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.")))});let te=(C,k)=>Array.from({length:k},(R,a)=>Math.floor(C/k)+(a<C%k?1:0));t("table-equal").onclick=()=>ae(te(b.reduce((C,k)=>C+k,0),b.length)),t("table-fit").onclick=()=>{let C=p.tables.find(k=>k.index===v);ae(kt(b.reduce((k,R)=>k+R,0),C.contentWeights)),H("\uD45C "+(v+1)+" \xB7 \uAE00\uC790 \uAE38\uC774\uC5D0 \uB9DE\uCDB0 \uBC30\uBD84\uD588\uC2B5\uB2C8\uB2E4. \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.")};function Z(C){let k=p.tables.filter(R=>R.editable);if(k.length){O({type:"csync-table-edit",enabled:!0});for(let R of k){let a=M.get(R.index)??R.widths,h=a.reduce((l,S)=>l+S,0),E=C==="fit"?kt(h,R.contentWeights):te(h,a.length);M.set(R.index,E),O({type:"csync-table-widths",index:R.index,widths:E})}v<0&&(v=k[0].index),b=M.get(v).slice(),O({type:"csync-table-widths",index:v,widths:b}),V(),j(),O({type:"csync-table-edit",enabled:x}),H(`\uD45C ${k.length}\uAC1C\uC5D0 ${C==="fit"?"\uB0B4\uC6A9\uC5D0 \uB9DE\uCDA4":"\uADE0\uB4F1 \uBC30\uBD84"}\uC744 \uC801\uC6A9\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uACBD \uBE44\uAD50 \uD6C4 \uC800\uC7A5\uD558\uC138\uC694.`)}}t("document-format-tables").onchange=()=>{t("document-format-tables").value==="keep"?t("table-revert-all").onclick():Z(t("document-format-tables").value)},t("table-revert-all").onclick=()=>{O({type:"csync-table-edit",enabled:!0});for(let C of p.tables.filter(k=>k.editable))O({type:"csync-table-widths",index:C.index,widths:C.widths});M.clear(),t("document-format-tables").value="keep",v>=0&&(b=p.tables.find(C=>C.index===v).widths.slice(),O({type:"csync-table-widths",index:v,widths:b})),O({type:"csync-table-edit",enabled:x}),V(),j(),H("\uBAA8\uB4E0 \uD45C\uC758 \uB108\uBE44 \uBCC0\uACBD\uC744 \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4.")},t("document-format-toggle").onclick=()=>{let C=!t("document-format-controls").hidden;t("document-format-controls").hidden=C,t("document-format-toggle").setAttribute("aria-expanded",String(!C)),C&&x&&g.onclick()};function pe(C,k,R){I=C.planId,t("table-save-status").textContent="",t("table-review-title").textContent="\uBB38\uC11C \uC11C\uC2DD \uBCC0\uACBD \uD655\uC778",t("format-review-note").textContent=k?"\uAE30\uBCF8 \uC11C\uC2DD \uC815\uB9AC\uC640 \uD45C \uC870\uC808 \uACB0\uACFC\uB97C \uD655\uC778\uD558\uC138\uC694. \uC800\uC7A5\uC744 \uB20C\uB7EC\uC57C \uD30C\uC77C\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.":"\uD45C \uC870\uC808 \uACB0\uACFC\uB97C \uD655\uC778\uD558\uC138\uC694. \uBCF8\uBB38 \uAE30\uBCF8 \uC11C\uC2DD\uC740 \uBCC0\uACBD\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC800\uC7A5\uC744 \uB20C\uB7EC\uC57C \uD30C\uC77C\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",m.open||m.showModal(),A||(T=R.editor.createModel("","markdown"),F=R.editor.createModel("","markdown"),A=R.editor.createDiffEditor(t("table-review-diff"),{automaticLayout:!0,readOnly:!0,originalEditable:!1,minimap:{enabled:!1},wordWrap:"on",scrollBeyondLastLine:!1}),A.setModel({original:T,modified:F})),T.setValue(C.before),F.setValue(C.after),A.layout(),t("table-save").disabled=C.before===C.after,C.before===C.after&&(t("table-save-status").textContent="\uC815\uB9AC\uD560 \uC11C\uC2DD \uBCC0\uACBD\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")}async function Q(C){if(!p)return;let k=L,R=W;t("document-format-basic").disabled=t("document-format-review").disabled=!0;try{let a=await e("/api/document-format/preview",{...w,hash:p.hash,basic:C,tables:"keep",changes:Array.from(M,([E,l])=>({index:E,widths:l.slice()}))}),h=await i();if(k!==L||R!==W)return;pe(a,C,h)}catch(a){d(a.message,"error")}finally{j()}}return t("document-format-basic").onclick=()=>Q(!0),t("document-format-review").onclick=()=>Q(!1),t("table-total-width").oninput=C=>{let k=Number(C.target.value),R=k-b.length*40,a=b.map(S=>S-40),h=a.reduce((S,P)=>S+P,0),E=h?a.map(S=>40+Math.floor(S/h*R)):te(k,b.length),l=k-E.reduce((S,P)=>S+P,0);for(let S=0;l>0;S++,l--)E[S%E.length]++;ae(E)},t("table-revert").onclick=()=>{M.delete(v),b=p.tables.find(C=>C.index===v).widths.slice(),O({type:"csync-table-widths",index:v,widths:b}),V(),j(),H("\uC120\uD0DD\uD55C \uD45C\uC758 \uBCC0\uACBD\uC744 \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4.")},t("table-save").onclick=async()=>{if(!I)return;let C=I;t("table-save").disabled=!0,t("table-review-close").disabled=!0,f(!0);try{await e("/api/table-format/save",{planId:C}),m.close(),d("\uBB38\uC11C \uC11C\uC2DD\uC744 \uC6D0\uBCF8 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.","success"),await c()}catch(k){t("table-save-status").textContent=k.message,d(k.message,"error")}finally{t("table-review-close").disabled=!1,f(!1)}},t("table-review-close").onclick=()=>m.close(),{clear:$,load(C,k){$(),p=C,w=k,o.onload=()=>{p===C&&(t("document-format-toggle").disabled=!1,g.disabled=!C.tables?.some(R=>R.editable),j(),O({type:"csync-table-edit",enabled:x}))}}}}var u=e=>document.getElementById(e),$e=ct(),Et=tt(),oe=it(),Ht=st(),N,xe,Le=[],D=null,B=null,he=null,q=!1,le=0,fe=null,Ie=null,Fe=!1,ke="",St,Ke,Me=0,re,Oe,Ae=[],me="file",ge=!1,ie=new Set,be=new Map,Ce=new Set,U="convert",jt=Ct({api:se,loadMonaco:Re,notify:$e,refresh:()=>zt.update(!0),setBusy:e=>{q=e,ee(),G()}}),zt=vt({notify:$e,api:se,formatting:jt,selection:()=>({base:D||N,file:B,folder:U==="convert"?me==="folder":ge})});lt(()=>U);var Ee=!0,ye={convert:{},sync:{}},Mt=()=>({base:D,folder:N,file:B,selectedDirectory:ge,baseInput:u("base-input").value,expanded:[...ie]}),It="csync.workspace.v1";function qe(){let e=u("out-input");return oe.browser?e.dataset.path||"":e.value}function Xe(e){let n=u("out-input");oe.browser&&(n.dataset.path=e),n.value=oe.browser?oe.folderName(e):e}function Se(){if(!Ee){ye[U]=Mt();try{localStorage.setItem(It,JSON.stringify({workspaces:ye,mode:U,referenceRoots:u("sync-references").value,out:qe(),convertScope:me,direction:u("direction").value,fix:u("fix").checked,verify:u("sync-verify").checked,pullFormat:u("sync-pull-format").value,sideBySide:u("side-by-side").checked}))}catch{}}}function Vt(){try{let e=JSON.parse(localStorage.getItem(It));return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return{}}}function At(e){U=e,u(e+"-view").prepend(u("document-preview-panel"));for(let n of["convert","sync"])u("tab-"+n).setAttribute("aria-selected",String(n===U)),u("tab-"+n).tabIndex=n===U?0:-1,u(n+"-view").hidden=n!==U;u("choose-base").lastChild.textContent="\uAE30\uC900 \uD3F4\uB354 \uBCC0\uACBD\u2026",u("base-input").setAttribute("aria-label",U==="sync"?"Confluence \uC791\uC5C5 \uAE30\uC900 \uD3F4\uB354 \uACBD\uB85C":"\uBCC0\uD658 \uAE30\uC900 \uD3F4\uB354 \uACBD\uB85C"),u("workspace-note").textContent=oe.standalone?"\uD30C\uC77C\uACFC \uBCC0\uD658\uC740 \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uCC98\uB9AC\uD558\uBA70, Confluence \uC694\uCCAD\uB9CC \uC911\uACC4 API\uB85C \uC804\uB2EC\uD569\uB2C8\uB2E4.":oe.browser?"\uD30C\uC77C\uC740 \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC77D\uACE0 \uC800\uC7A5\uD558\uBA70, \uBCC0\uD658\xB7Confluence \uC791\uC5C5\uC740 \uC11C\uBC84\uC758 \uC784\uC2DC \uACF5\uAC04\uC5D0\uC11C \uCC98\uB9AC\uD569\uB2C8\uB2E4.":U==="sync"?"\uC6D0\uACA9 \uBCC0\uACBD\uC740 \uC704\uC5D0\uC11C \uAC00\uC838\uC624\uACE0, \uC5C5\uB85C\uB4DC\uD560 \uBB38\uC11C\uB294 \uCCB4\uD06C \uD6C4 \uBBF8\uB9AC\uBCF4\uAE30\uD558\uC138\uC694.":"\uBCC0\uD658\uC740 \uC774 \uCEF4\uD4E8\uD130\uC5D0\uC11C \uCC98\uB9AC\uB429\uB2C8\uB2E4.",U==="convert"&&re?.layout()}async function _e(e){if(e===U||q)return;Se(),Ee=!0,q=!0,At(e);let n;try{n=await Pt(ye[e])}finally{Ee=!1,q=!1,ee(),G()}n&&_(n,!0)}for(let e of["convert","sync"])u("tab-"+e).onclick=()=>_e(e),u("tab-"+e).onkeydown=n=>{if(["ArrowLeft","ArrowRight","Home","End"].includes(n.key)){n.preventDefault();let i=n.key==="Home"?"convert":n.key==="End"||e==="convert"?"sync":"convert";u("tab-"+i).disabled||(_e(i),u("tab-"+i).focus())}};var De,Be;async function Kt(){if(!re)try{let e=await Re();De=e.editor.createModel("","markdown"),Be=e.editor.createModel("","markdown"),re=e.editor.createDiffEditor(u("diff"),{automaticLayout:!0,readOnly:!0,originalEditable:!1,renderSideBySide:u("side-by-side").checked,useInlineViewWhenSpaceIsLimited:!0,renderSideBySideInlineBreakpoint:700,ignoreTrimWhitespace:!1,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",renderOverviewRuler:!0,accessibilityVerbose:!0,padding:{top:12,bottom:12},lineHeight:22,fontSize:12}),re.setModel({original:De,modified:Be}),re.getOriginalEditor().updateOptions({ariaLabel:"\uC6D0\uBCF8 Markdown"}),re.getModifiedEditor().updateOptions({ariaLabel:"\uBCC0\uD658 \uACB0\uACFC Markdown"}),re.onDidUpdateDiff(()=>{let i=!!re.getLineChanges()?.length;u("previous-change").disabled=u("next-change").disabled=!i})}catch(e){throw u("editor-error").hidden=!1,u("editor-error").textContent="\uBCF8\uBB38 \uBE44\uAD50 \uD654\uBA74\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uC0C8\uB85C\uACE0\uCE68\uD574 \uC8FC\uC138\uC694. "+e.message,e}}u("previous-change").onclick=()=>re?.goToDiff("previous");u("next-change").onclick=()=>re?.goToDiff("next");u("side-by-side").onchange=()=>re?.updateOptions({renderSideBySide:u("side-by-side").checked});async function se(e,n,i,c){let f=et(e,n,c),d=f&&Et.begin(f);try{e!=="/api/sync/staging"&&!(oe.browser&&e==="/api/pick-folder")&&await Oe?.waitForLocalCheck();let t=await oe.request(e,{signal:i,method:n?"POST":"GET",headers:{...n?{"Content-Type":"application/json"}:{}},...n?{body:JSON.stringify(n)}:{}}),o=await t.json();if(!t.ok)throw Object.assign(new Error(o.error||"\uC694\uCCAD\uC744 \uCC98\uB9AC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."),{code:o.code,conflicts:o.conflicts,inPlace:o.inPlace,output:o.output});return o}finally{d?.end()}}function _(e,n=!1,i=n?"error":"info"){let c=u(U==="sync"?"sync-status":"status");c.textContent=e,c.classList.toggle("error",n),i&&$e(e,i)}function de(){if(U==="sync"){_("");return}Ae=[],u("preview-documents").hidden=!0,he=null,u("result").hidden=!0,u("details").hidden=!0,De?.setValue(""),Be?.setValue(""),u("comparison-empty").hidden=!1,u("previous-change").disabled=u("next-change").disabled=!0,u("preview-label").textContent="\uBBF8\uB9AC\uBCF4\uAE30 \uB300\uAE30",_("")}var ue=(e,n)=>n===e||n.startsWith(e.endsWith("/")?e:e+"/")||n.startsWith(e.endsWith("\\")?e:e+"\\");function ee(){u("local-disconnect").disabled=q,zt.update();for(let d of["preview","save","next-document"])u(d).disabled=q||!B;for(let d of["preview-document","tab-convert","tab-sync","choose-base","apply-base","base-input","base-home","up","choose-out","out-input","direction","fix","search"])u(d).disabled=q;q||(u("up").disabled=N===xe||D&&!ue(D,xe));let e=D||N,n=!!e&&qe()===e;u("convert-save-mode").textContent=n?"\uC6D0\uBCF8 \uB36E\uC5B4\uC4F0\uAE30":"\uBCC4\uB3C4 \uD3F4\uB354 \uC800\uC7A5",u("out-mode-hint").textContent=n?"\uC6D0\uBCF8 \uB36E\uC5B4\uC4F0\uAE30 \xB7 \uD655\uC778 \uD6C4 \uC800\uC7A5":oe.browser?"\uBCC4\uB3C4 \uD3F4\uB354 \uB610\uB294 \uC6D0\uBCF8 \uB36E\uC5B4\uC4F0\uAE30":"\uC120\uD0DD \uC0AC\uD56D",u("root-name").textContent=e?e.split(/[\\/]/).filter(Boolean).pop()||e:"\uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694",u("root-path").textContent=e||"\uC544\uC9C1 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",u("root-purpose").textContent=U==="sync"?"Push \xB7 Pull \uAE30\uC900":"\uBCC0\uD658 \uAE30\uC900",u("root-hint").textContent=U==="sync"?"\uC2A4\uD398\uC774\uC2A4 \uBB38\uC11C\uB97C \uBCF4\uAD00\uD558\uB294 \uC791\uC5C5\uACF5\uAC04\uC785\uB2C8\uB2E4. \uC5C5\uB85C\uB4DC \uB300\uC0C1\uC740 \uC624\uB978\uCABD \uBCC0\uACBD\uC0AC\uD56D\uC5D0\uC11C \uCCB4\uD06C\uD558\uC138\uC694.":"\uBB38\uC11C\uC640 \uCC38\uC870 \uB9C1\uD06C\uB97C \uCC3E\uB294 \uAE30\uC900\uC785\uB2C8\uB2E4. \uC544\uB798\uC5D0\uC11C \uBCC0\uD658\uD560 \uD30C\uC77C\xB7\uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694.",u("base-home").disabled=q||!e||e===N;let i=e&&N&&ue(e,N)?N.slice(e.length).replace(/\\/g,"/"):N||"";u("path").textContent=N?N===e?"\uAE30\uC900 \uD3F4\uB354 /":`\uAE30\uC900 \uD3F4\uB354 ${i}`:"\uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694",u("path").title=N||"",u("explorer-note").textContent=U==="sync"?"\uD30C\uC77C\uC744 \uC120\uD0DD\uD574 \uB0B4\uC6A9\uC744 \uBBF8\uB9AC\uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4":"\uD30C\uC77C\xB7\uD3F4\uB354\uB97C \uC120\uD0DD\uD574 \uBCC0\uD658\uD558\uC138\uC694",u("fix").disabled=q||u("direction").value==="repair",u("selected").textContent=B?B.split(/[\\/]/).pop():"\uBCC0\uD658\uD560 \uBB38\uC11C\uB97C \uC120\uD0DD\uD558\uC138\uC694";let c=me==="folder",f=c&&!!D&&B===D;u("convert-select-all").disabled=q||!D||f,u("convert-select-all").textContent=f?"\uAE30\uC900 \uD3F4\uB354 \uC804\uCCB4 \uC120\uD0DD\uB428":"\uAE30\uC900 \uD3F4\uB354 \uC804\uCCB4 \uC120\uD0DD",u("convert-target-note").textContent=f?"\uAE30\uC900 \uD3F4\uB354\uC640 \uBAA8\uB4E0 \uD558\uC704 \uD3F4\uB354\uC758 Markdown \uBB38\uC11C\uB97C \uBCC0\uD658\uD569\uB2C8\uB2E4.":"\uD30C\uC77C\xB7\uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uAC70\uB098 \uAE30\uC900 \uD3F4\uB354 \uC804\uCCB4\uB97C \uC120\uD0DD\uD558\uC138\uC694.",u("selected").textContent=B?(c&&U==="convert"?f?"\uC804\uCCB4 \xB7 ":"\uD3F4\uB354 \xB7 ":"")+B.split(/[\\/]/).pop():c?"\uBCC0\uD658\uD560 \uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694":"\uBCC0\uD658\uD560 \uBB38\uC11C\uB97C \uC120\uD0DD\uD558\uC138\uC694",u("base").textContent=B||"\uC67C\uCABD\uC5D0\uC11C \uB300\uC0C1\uC744 \uC120\uD0DD\uD558\uC138\uC694.",u("convert-output-hint").textContent=n?"\uC120\uD0DD\uD55C \uBB38\uC11C\xB7\uCCA8\uBD80\uB9CC \uC6D0\uB798 \uC704\uCE58\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4. \uBCC0\uACBD \uD30C\uC77C \uD655\uC778 \uD6C4 \uB36E\uC5B4\uC501\uB2C8\uB2E4.":c?"\uC120\uD0DD \uD3F4\uB354 \uC548\uC758 \uBAA8\uB4E0 Markdown\uC744 \uBCC0\uD658\uD569\uB2C8\uB2E4. \uCD9C\uB825 \uD3F4\uB354 \uC544\uB798\uC5D0 \uC120\uD0DD \uD3F4\uB354 \uB0B4\uBD80 \uAD6C\uC870\uB9CC \uC720\uC9C0\uD569\uB2C8\uB2E4.":"\uC120\uD0DD\uD55C Markdown\uC744 \uCD9C\uB825 \uD3F4\uB354 \uBC14\uB85C \uC544\uB798\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4. \uB9C1\uD06C\uB294 \uD574\uB2F9 \uD30C\uC77C\uC774 \uC788\uB294 \uD3F4\uB354\uB97C \uAE30\uC900\uC73C\uB85C \uD574\uC11D\uD569\uB2C8\uB2E4.",u("base").title=D||"",u("selected").title=B||"",Oe?.update(q,Ee),Se()}function G(){let e=u("files").scrollTop;u("files").replaceChildren();let n=fe??Le;if(u("count").textContent=Fe?"\uAC80\uC0C9 \uC911\u2026":n.length+(fe?"\uAC1C \uACB0\uACFC":"\uAC1C \uD56D\uBAA9"),ke||fe&&!n.length){let c=document.createElement("div");c.className="empty",c.textContent=ke||(fe?"\uC77C\uCE58\uD558\uB294 .md \uBB38\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.":"\uD45C\uC2DC\uD560 \uD3F4\uB354\uB098 .md \uBB38\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."),u("files").append(c)}let i=(c,f=0)=>{let d=document.createElement("div");d.className="tree-row",d.style.paddingLeft=f*16+"px";let t=document.createElement(c.directory?"button":"span");t.className="tree-toggle",c.directory&&(t.textContent=ie.has(c.path)?"\u25BE":"\u25B8",t.disabled=q,t.dataset.path=c.path,t.setAttribute("aria-expanded",String(ie.has(c.path))),t.setAttribute("aria-label",c.name+(ie.has(c.path)?" \uC811\uAE30":" \uD3BC\uCE58\uAE30")),t.onclick=()=>Xt(c.path)),d.append(t);let o=document.createElement("button");o.className="file"+(c.path===B?" selected":""),o.disabled=q;let g=document.createElement("span");g.className=c.directory?"icon folder-icon":"icon",c.directory?g.innerHTML='<svg viewBox="0 0 24 24" fill="none"><path d="M3 6a2 2 0 0 1 2-2h5l2 3h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z" fill="#f7d783" stroke="#bf9132" stroke-width="1.5"/><path d="M3 9h18" stroke="#bf9132" stroke-width="1.5"/></svg>':g.textContent="MD",g.setAttribute("aria-hidden","true");let s=document.createElement("span");s.textContent=c.name;let m=document.createElement("span");if(m.className="file-label",m.append(s),c.relativePath){let y=document.createElement("small");y.className="file-location",y.textContent=c.relativePath,m.append(y),o.title=c.path}if(o.append(g,m),o.title=c.path,o.setAttribute("aria-pressed",String(c.path===B)),o.onclick=()=>{ge=c.directory,U==="convert"&&(me=c.directory?"folder":"file"),B=c.path,(!D||!ue(D,B))&&(D=Ie||N),de(),ee(),G()},d.append(o),u("files").append(d),c.directory&&ie.has(c.path)){let y=be.get(c.path);if(y?.length)y.forEach(p=>i(p,f+1));else{let p=document.createElement("div");p.className="tree-note",p.style.paddingLeft=(f+1)*16+24+"px",p.textContent=Ce.has(c.path)?"\uBD88\uB7EC\uC624\uB294 \uC911\u2026":y?"\uD45C\uC2DC\uD560 \uBB38\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.":"\uD3BC\uCE58\uAE30\uB97C \uB2E4\uC2DC \uB20C\uB7EC \uC8FC\uC138\uC694.",u("files").append(p)}}};fe?n.forEach(c=>i(c)):N&&i({name:N.split(/[\\/]/).pop()||N,path:N,directory:!0}),u("files").scrollTop=e}async function Xt(e){if(q)return;let n=le;if(ie.has(e))ie.delete(e);else if(ie.add(e),!be.has(e)&&!Ce.has(e)){Ce.add(e),G();try{let i=await se("/api/browse?path="+encodeURIComponent(e));if(n!==le)return;be.set(e,i.entries)}catch(i){n===le&&(ie.delete(e),_("\uD3F4\uB354\uB97C \uD3BC\uCE60 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: "+i.message,!0))}finally{n===le&&Ce.delete(e)}}n===le&&(G(),Se(),[...u("files").querySelectorAll(".tree-toggle")].find(i=>i.dataset.path===e)?.focus())}async function ce(e,n=!1){Te(),u("search").value="";let i=++le;try{let c=await se("/api/browse"+(e?"?path="+encodeURIComponent(e):""));return i!==le?void 0:(N=c.path,xe=c.parent,Le=c.entries,be=new Map([[N,Le]]),ie=new Set([N]),Ce=new Set,(n||!D)&&(D=N,B=null,ge=!1,Ee||de()),n&&(u("root-path-editor").open=!1),u("base-input").value=D||N,u("path").textContent=N,u("path").title=N,u("base-input").title=D||N,u("search").value="",G(),ee(),!0)}catch(c){i===le&&_("\uD3F4\uB354\uB97C \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: "+c.message,!0)}}async function Lt(e){q=!0,ee(),G(),_("\uC2DC\uC2A4\uD15C \uD3F4\uB354 \uB2E4\uC774\uC5BC\uB85C\uADF8\uC5D0\uC11C \uD3F4\uB354\uB97C \uC120\uD0DD\uD574 \uC8FC\uC138\uC694.",!1,null);try{let n=await se("/api/pick-folder",{kind:e,start:e==="base"?D||N:qe()||xe});if(n.path){if(e==="base"&&oe.browser){le++,Te(),D=N=n.path,xe=void 0,B=null,ge=!1,Le=[],be=new Map,ie=new Set,Ce=new Set,u("base-input").value=n.path,Xe(""),u("sync-references").value="",ye={convert:{},sync:{}},Se(),location.reload();return}e==="base"?await ce(n.path,!0):(Xe(n.path),de())}else _("\uD3F4\uB354 \uC120\uD0DD\uC744 \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4.")}catch(n){_(n.message,!0)}finally{q=!1,ee(),G()}}u("choose-base").onclick=()=>Lt("base");u("choose-out").onclick=()=>Lt("out");u("apply-base").onclick=()=>ce(u("base-input").value,!0);u("base-input").onkeydown=e=>{e.key==="Enter"&&ce(u("base-input").value,!0)};u("up").onclick=()=>ce(xe);u("base-home").onclick=()=>{!q&&D&&ce(D)};u("convert-select-all").onclick=()=>{q||!D||U!=="convert"||(me="folder",ge=!0,B=D,de(),ee(),G())};function Te(){clearTimeout(St),Ke?.abort(),Me++,fe=null,Ie=null,Fe=!1,ke=""}u("search").oninput=()=>{Te();let e=u("search").value.trim();if(!e||!N){G();return}let n=Me;Ie=D||N,fe=[],Fe=!0,ke="\uAE30\uC900 \uD3F4\uB354\uC758 \uBAA8\uB4E0 \uD558\uC704 \uD3F4\uB354\uB97C \uAC80\uC0C9\uD569\uB2C8\uB2E4\u2026",G(),St=setTimeout(async()=>{Ke=new AbortController;try{let i=await se("/api/search?"+new URLSearchParams({path:Ie,q:e}),void 0,Ke.signal);if(n!==Me)return;Ie=i.root,fe=i.entries,ke=i.skipped?"\uC77D\uC744 \uC218 \uC5C6\uB294 \uD558\uC704 \uD3F4\uB354 "+i.skipped+"\uAC1C\uB97C \uAC74\uB108\uB6F0\uC5C8\uC2B5\uB2C8\uB2E4.":""}catch(i){if(n!==Me)return;ke="\uAC80\uC0C9\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4: "+i.message}finally{n===Me&&(Fe=!1,G())}},250)};u("direction").onchange=()=>{de(),ee(),u("direction-hint").textContent={markdown:"\uC704\uD0A4\uB9C1\uD06C\uB97C \uC0C1\uB300 \uB9C1\uD06C\uB85C, PDF \uD398\uC774\uC9C0 \uCC38\uC870\uB97C \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",obsidian:"\uC0C1\uB300 \uBB38\uC11C \uB9C1\uD06C\uB97C \uC704\uD0A4\uB9C1\uD06C\uB85C \uBC14\uAFB8\uACE0 \uAC01\uC8FC\xB7PDF \uCC38\uC870\uB97C \uBCF5\uC6D0\uD569\uB2C8\uB2E4.",repair:"\uB9C1\uD06C \uD615\uC2DD\uC740 \uC720\uC9C0\uD558\uACE0 \uCF54\uB4DC\uBE14\uB85D \uC5B8\uC5B4\xB7CSS \uC794\uD574\xB7\uC774\uC2A4\uCF00\uC774\uD504 \uB4F1\uC744 \uBCF4\uC815\uD569\uB2C8\uB2E4."}[u("direction").value]};var we=u("repair-help-button"),Ue=u("repair-tooltip"),$t=()=>{Ue.hidden=!1};we.onfocus=we.onclick=$t;we.parentElement.onmouseenter=$t;we.parentElement.onmouseleave=()=>{document.activeElement!==we&&(Ue.hidden=!0)};we.onblur=()=>{Ue.hidden=!0};we.onkeydown=e=>{e.key==="Escape"&&(Ue.hidden=!0,e.stopPropagation())};function Ot(e){let n=Ae[e];n&&(De.setValue(n.before),Be.setValue(n.after),u("comparison-empty").hidden=!0,u("preview-label").textContent=n.before===n.after?"\uBCF8\uBB38 \uBCC0\uACBD \uC5C6\uC74C":"\uBCC0\uACBD\uB41C \uBD80\uBD84 \uD45C\uC2DC")}u("preview-document").onchange=()=>Ot(Number(u("preview-document").value));u("fix").onchange=de;u("out-input").oninput=()=>{de(),ee()};async function Tt(e){if(!(q||!B)){q=!0;try{de(),ee(),G(),_(e?"\uBBF8\uB9AC\uBCF4\uAE30\uB97C \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4\u2026":"\uBB38\uC11C\uC640 \uCCA8\uBD80\uD30C\uC77C\uC744 \uBCC0\uD658\uD558\uB294 \uC911\uC785\uB2C8\uB2E4\u2026",!1,null),await Kt();let n={base:D,file:B,scope:me,out:qe(),to:u("direction").value,fix:u("fix").checked,preview:e},i,c={};for(;!i;)try{i=await se("/api/convert",{...n,approvedOverwrites:c})}catch(f){if(e||f.code!=="OVERWRITE_REQUIRED")throw f;if(!await Ht({conflicts:f.conflicts,inPlace:f.inPlace,output:f.output||n.out})){_("\uB36E\uC5B4\uC4F0\uAE30\uB97C \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4. \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.");return}for(let d of f.conflicts)c[d.path]=d.hash;_("\uAE30\uC874 \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uB294 \uC911\uC785\uB2C8\uB2E4\u2026",!1,null)}if(Ae=i.previews,u("preview-document").replaceChildren(...Ae.map((f,d)=>{let t=document.createElement("option");return t.value=d,t.textContent=f.path,t})),u("preview-documents").hidden=i.documentCount<=1,u("preview-count").textContent=`\uC804\uCCB4 ${i.documentCount}\uAC1C \uBCC0\uD658 \xB7 ${Ae.length}\uAC1C \uBCF8\uBB38 \uBE44\uAD50`,Ot(0),u("log").textContent=i.log,u("details").hidden=!1,he=i.output,he&&(u("output").textContent=oe.browser&&oe.folderName(he)||he,u("result").hidden=!1),e)_("\uBBF8\uB9AC\uBCF4\uAE30 \uC644\uB8CC. \uCD9C\uB825 \uC704\uCE58\uB97C \uD655\uC778\uD558\uACE0 \uC800\uC7A5\uD558\uC138\uC694.",!1,"success");else if(i.saved&&i.saved.created===0&&i.saved.overwritten===0)_(`\uAE30\uC874 \uCD9C\uB825\uACFC \uB0B4\uC6A9\uC774 \uAC19\uC544 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uD30C\uC77C ${i.saved.reused}\uAC1C\uB97C \uADF8\uB300\uB85C \uC7AC\uC0AC\uC6A9\uD588\uC2B5\uB2C8\uB2E4.`,!1,"success");else{let f=i.saved;_(f?`\uC800\uC7A5 \uC644\uB8CC \xB7 \uC0C8 \uD30C\uC77C ${f.created}\uAC1C \xB7 \uB36E\uC5B4\uC4F4 \uD30C\uC77C ${f.overwritten}\uAC1C \xB7 \uB3D9\uC77C \uB0B4\uC6A9 \uC7AC\uC0AC\uC6A9 ${f.reused}\uAC1C (\uBB38\uC11C\xB7\uCCA8\uBD80 \uD3EC\uD568)`:`\uBB38\uC11C ${i.documentCount}\uAC1C \uC800\uC7A5 \uC644\uB8CC.`,!1,"success")}}catch(n){_(n.message,!0)}finally{q=!1,ee(),G()}}}u("next-document").onclick=()=>{q||(B=null,de(),Te(),u("search").value="",ee(),G(),u("search").focus(),u("search").scrollIntoView({block:"center",behavior:"auto"}),_("\uB2E4\uC74C \uBB38\uC11C\uB97C \uC120\uD0DD\uD558\uC138\uC694. \uAE30\uC900 \uD3F4\uB354\uC640 \uBCC0\uD658 \uC124\uC815\uC740 \uC720\uC9C0\uB429\uB2C8\uB2E4."))};u("preview").onclick=()=>Tt(!0);u("save").onclick=()=>Tt(!1);u("open").onclick=async()=>{try{let e=await se("/api/open",{path:he});oe.browser&&_(`\uC120\uD0DD\uD55C \uCD9C\uB825 \uD3F4\uB354 (${e.name})\uC5D0 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.`)}catch(e){_("\uD3F4\uB354\uB97C \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC704 \uC800\uC7A5 \uACBD\uB85C\uB97C \uC774\uC6A9\uD574 \uC8FC\uC138\uC694. "+e.message,!0)}};Oe=wt({activity:Et,api:se,loadMonaco:Re,notify:$e,context:()=>{let e=U==="sync"?Mt():ye.sync;return{base:e.base||e.folder,folder:e.folder,file:e.file,directory:e.selectedDirectory}},setBusy:e=>{q=e,ee(),G()},showSync:()=>_e("sync"),refresh:async()=>{U==="sync"&&await ce(D||N)}});document.querySelector(".app-main").addEventListener("input",Se);document.querySelector(".app-main").addEventListener("change",Se);async function Pt(e){let n=o=>typeof e[o]=="string"?e[o]:"";le++,Te(),D=null,B=null,ge=!1,N=void 0,xe=void 0,Le=[],u("base-input").value="",ee(),G();let i="",c=n("base"),f=n("folder");c?await ce(c,!0)?f&&ue(D,f)&&f!==D&&(await ce(f)||(i="\uC774\uC804 \uD0D0\uC0C9 \uD3F4\uB354\uB97C \uC5F4 \uC218 \uC5C6\uC5B4 \uAE30\uC900 \uD3F4\uB354\uB97C \uC5F4\uC5C8\uC2B5\uB2C8\uB2E4.")):(i="\uC800\uC7A5\uB41C \uAE30\uC900 \uD3F4\uB354\uB97C \uC5F4 \uC218 \uC5C6\uC5B4 \uC2DC\uC791 \uD3F4\uB354\uB97C \uC5F4\uC5C8\uC2B5\uB2C8\uB2E4. \uACBD\uB85C\uB97C \uB2E4\uC2DC \uC120\uD0DD\uD574 \uC8FC\uC138\uC694.",await ce()):await ce(f||void 0)||(i="\uC774\uC804 \uD3F4\uB354\uB97C \uC5F4 \uC218 \uC5C6\uC5B4 \uC2DC\uC791 \uD3F4\uB354\uB97C \uC5F4\uC5C8\uC2B5\uB2C8\uB2E4.",await ce());let d=n("file");if(d&&D&&ue(D,d))try{if(U==="convert"&&me==="folder"||U==="sync"&&e.selectedDirectory===!0)B=(await se("/api/browse?path="+encodeURIComponent(d))).path,ge=!0;else{let o=d.slice(0,Math.max(d.lastIndexOf("/"),d.lastIndexOf("\\")));(await se("/api/browse?path="+encodeURIComponent(o))).entries.some(s=>!s.directory&&s.path===d)?B=d:i="\uC774\uC804\uC5D0 \uC120\uD0DD\uD55C \uBB38\uC11C\uAC00 \uC5C6\uC5B4 \uC120\uD0DD\uC744 \uD574\uC81C\uD588\uC2B5\uB2C8\uB2E4."}}catch{i="\uC774\uC804\uC5D0 \uC120\uD0DD\uD55C \uBB38\uC11C\uB97C \uC5F4 \uC218 \uC5C6\uC5B4 \uC120\uD0DD\uC744 \uD574\uC81C\uD588\uC2B5\uB2C8\uB2E4."}let t=new Set(Array.isArray(e.expanded)?e.expanded.filter(o=>typeof o=="string"&&N&&ue(N,o)):[]);if(!Array.isArray(e.expanded)&&B&&N&&ue(N,B)){let o=B.slice(0,Math.max(B.lastIndexOf("/"),B.lastIndexOf("\\")));for(;o&&ue(N,o)&&(t.add(o),o!==N);)o=o.slice(0,Math.max(o.lastIndexOf("/"),o.lastIndexOf("\\")))}for(let o of t)try{be.has(o)||be.set(o,(await se("/api/browse?path="+encodeURIComponent(o))).entries),ie.add(o)}catch{}return!i&&n("baseInput")&&(u("base-input").value=n("baseInput")),i&&U==="convert"&&de(),i}async function _t(){let e=Vt(),n=f=>typeof e[f]=="string"?e[f]:"";q=!0,ee(),u("sync-references").value=n("referenceRoots"),Xe(n("out")),["file","folder"].includes(e.convertScope)&&(me=e.convertScope),["markdown","obsidian","repair"].includes(e.direction)&&(u("direction").value=e.direction),typeof e.fix=="boolean"&&(u("fix").checked=e.fix),["markdown","obsidian"].includes(e.pullFormat)&&(u("sync-pull-format").value=e.pullFormat),typeof e.verify=="boolean"&&(u("sync-verify").checked=e.verify),typeof e.sideBySide=="boolean"&&(u("side-by-side").checked=e.sideBySide,re?.updateOptions({renderSideBySide:e.sideBySide}));let i=f=>f&&typeof f=="object"&&!Array.isArray(f);ye=i(e.workspaces)?{convert:i(e.workspaces.convert)?e.workspaces.convert:{},sync:i(e.workspaces.sync)?e.workspaces.sync:{}}:{convert:{base:e.base,folder:e.folder,file:e.file,baseInput:e.baseInput},sync:{base:e.base,folder:e.folder,file:e.file,baseInput:e.baseInput}},u("direction").onchange(),At(e.mode==="sync"?"sync":"convert");let c;try{c=await Pt(ye[U])}finally{Ee=!1,q=!1,ee(),G()}await Oe.resume(),c&&_(c,!0)}oe.ready.then(_t).then(()=>{let e=Oe.watch();window.addEventListener("pagehide",e,{once:!0})}).catch(e=>$e(e.message,"error"));
|