[{"data":1,"prerenderedAt":405},["ShallowReactive",2],{"navigation_docs":3,"-docs-key-features-library-import-export":158,"-docs-key-features-library-import-export-surround":400},[4,15,74,98,113],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":14},"Zeeq Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"children":19,"page":6},"Key Features","\u002Fdocs\u002Fkey-features","docs\u002F3.key-features",[20,25,30,35,40,45,50,55,59,64,69],{"title":21,"path":22,"stem":23,"icon":24},"Membership Invitations","\u002Fdocs\u002Fkey-features\u002Fmembership-invitations","docs\u002F3.key-features\u002F1.membership-invitations","i-hugeicons-cube",{"title":26,"path":27,"stem":28,"icon":29},"Command Palette","\u002Fdocs\u002Fkey-features\u002Fcommand-palette","docs\u002F3.key-features\u002F10.command-palette","i-hugeicons-search-01",{"title":31,"path":32,"stem":33,"icon":34},"Library Import and Export","\u002Fdocs\u002Fkey-features\u002Flibrary-import-export","docs\u002F3.key-features\u002F11.library-import-export","i-lucide-package-open",{"title":36,"path":37,"stem":38,"icon":39},"LLM Settings Configuration","\u002Fdocs\u002Fkey-features\u002Fllm-settings-configuration","docs\u002F3.key-features\u002F2.llm-settings-configuration","i-hugeicons-ai-magic",{"title":41,"path":42,"stem":43,"icon":44},"Agent Code Review Findings","\u002Fdocs\u002Fkey-features\u002Fagent-code-review-findings","docs\u002F3.key-features\u002F3.agent-code-review-findings","i-lucide-list-checks",{"title":46,"path":47,"stem":48,"icon":49},"Credentials & API Tokens","\u002Fdocs\u002Fkey-features\u002Fcredentials","docs\u002F3.key-features\u002F4.credentials","i-hugeicons-key-01",{"title":51,"path":52,"stem":53,"icon":54},"Manual Document Libraries","\u002Fdocs\u002Fkey-features\u002Fmanual-document-libraries","docs\u002F3.key-features\u002F5.manual-document-libraries","i-lucide-library-big",{"title":56,"path":57,"stem":58,"icon":29},"Snippet Search","\u002Fdocs\u002Fkey-features\u002Fsnippet-search","docs\u002F3.key-features\u002F6.snippet-search",{"title":60,"path":61,"stem":62,"icon":63},"Shared Prompt Fragment","\u002Fdocs\u002Fkey-features\u002Fshared-prompt-fragment","docs\u002F3.key-features\u002F7.shared-prompt-fragment","i-lucide-notebook-pen",{"title":65,"path":66,"stem":67,"icon":68},"Code Review Sources & Telemetry","\u002Fdocs\u002Fkey-features\u002Fcode-review-sources","docs\u002F3.key-features\u002F8.code-review-sources","i-hugeicons-book-01",{"title":70,"path":71,"stem":72,"icon":73},"Excluding Documents from Code Reviews","\u002Fdocs\u002Fkey-features\u002Fcode-review-document-exclusion","docs\u002F3.key-features\u002F9.code-review-document-exclusion","i-lucide-eye-off",{"title":75,"path":76,"stem":77,"children":78,"page":6},"Runtime Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F5.configuration",[79,84,89,93],{"title":80,"path":81,"stem":82,"icon":83},"Google Cloud Configuration","\u002Fdocs\u002Fconfiguration\u002Fgcp-runtime","docs\u002F5.configuration\u002F1.gcp-runtime","i-hugeicons-google",{"title":85,"path":86,"stem":87,"icon":88},"GitHub Configuration","\u002Fdocs\u002Fconfiguration\u002Fgithub-configuration","docs\u002F5.configuration\u002F2.github-configuration","i-hugeicons-github",{"title":90,"path":91,"stem":92},"Local OpenIddict Certificates","\u002Fdocs\u002Fconfiguration\u002Flocal-openiddict-certificates","docs\u002F5.configuration\u002F3.local-openiddict-certificates",{"title":94,"path":95,"stem":96,"icon":97},"System Admin Access","\u002Fdocs\u002Fconfiguration\u002Fsystem-admin-access","docs\u002F5.configuration\u002F4.system-admin-access","i-hugeicons-shield-01",{"title":99,"path":100,"stem":101,"children":102,"page":6},"Metrics","\u002Fdocs\u002Fmetrics","docs\u002F6.metrics",[103,108],{"title":104,"path":105,"stem":106,"icon":107},"Metrics Dashboard","\u002Fdocs\u002Fmetrics\u002Fmetrics-dashboard","docs\u002F6.metrics\u002F1.metrics-dashboard","i-hugeicons-analytics-01",{"title":109,"path":110,"stem":111,"icon":112},"Metrics Pipeline","\u002Fdocs\u002Fmetrics\u002Fmetrics-pipeline","docs\u002F6.metrics\u002F2.metrics-pipeline","i-hugeicons-database-02",{"title":114,"path":115,"stem":116,"children":117,"page":6},"Design and Architecture","\u002Fdocs\u002Farchitecture","docs\u002F9.architecture",[118,123,128,133,137,141,145,150,154],{"title":119,"path":120,"stem":121,"icon":122},"Caching","\u002Fdocs\u002Farchitecture\u002Fcaching","docs\u002F9.architecture\u002F1.caching","i-lucide-database",{"title":124,"path":125,"stem":126,"icon":127},"Messaging and Queueing","\u002Fdocs\u002Farchitecture\u002Fmessaging-and-queueing","docs\u002F9.architecture\u002F2.messaging-and-queueing","i-lucide-message-square",{"title":129,"path":130,"stem":131,"icon":132},"GitHub Comment Rendering","\u002Fdocs\u002Farchitecture\u002Fgithub-comment-rendering","docs\u002F9.architecture\u002F3.github-comment-rendering","i-lucide-github",{"title":134,"path":135,"stem":136},"GitHub Integration","\u002Fdocs\u002Farchitecture\u002Fgithub-integration","docs\u002F9.architecture\u002F4.github-integration",{"title":138,"path":139,"stem":140},"LLM Settings and Secret Storage","\u002Fdocs\u002Farchitecture\u002Fllm-settings-and-secret-storage","docs\u002F9.architecture\u002F5.llm-settings-and-secret-storage",{"title":142,"path":143,"stem":144},"Organization Activation and Routes","\u002Fdocs\u002Farchitecture\u002Forganization-activation-and-routes","docs\u002F9.architecture\u002F6.organization-activation-and-routes",{"title":146,"path":147,"stem":148,"icon":149},"MCP Uploaded-Diff Code Reviews","\u002Fdocs\u002Farchitecture\u002Fmcp-uploaded-diff-code-reviews","docs\u002F9.architecture\u002F7.mcp-uploaded-diff-code-reviews","i-lucide-file-search",{"title":151,"path":152,"stem":153},"Repository Content Ingest","\u002Fdocs\u002Farchitecture\u002Frepository-content-ingest","docs\u002F9.architecture\u002F8.repository-content-ingest",{"title":155,"path":156,"stem":157},"Telemetry Ingest","\u002Fdocs\u002Farchitecture\u002Ftelemetry-ingest","docs\u002F9.architecture\u002F9.telemetry-ingest",{"id":159,"title":31,"body":160,"description":393,"extension":394,"links":395,"meta":396,"navigation":397,"path":32,"seo":398,"stem":33,"__hash__":399},"docs\u002Fdocs\u002F3.key-features\u002F11.library-import-export.md",{"type":161,"value":162,"toc":386},"minimark",[163,168,172,180,184,187,237,244,247,257,263,267,277,280,283,296,299,303,306,312,315,373,376,382],[164,165,167],"h2",{"id":166},"summary","Summary",[169,170,171],"p",{},"Library import\u002Fexport moves hand-authored library documents between Zeeq\norganizations or environments.",[169,173,174,175,179],{},"The library editor includes an ",[176,177,178],"strong",{},"Import \u002F Export"," tab for existing libraries.\nCreate a library first, then open its edit panel to export or import documents.",[164,181,183],{"id":182},"export-formats","Export Formats",[169,185,186],{},"Two export formats are available:",[188,189,190,206],"table",{},[191,192,193],"thead",{},[194,195,196,200,203],"tr",{},[197,198,199],"th",{},"Format",[197,201,202],{},"Purpose",[197,204,205],{},"Importable by Zeeq",[207,208,209,224],"tbody",{},[194,210,211,218,221],{},[212,213,214],"td",{},[215,216,217],"code",{},".zeeq-export",[212,219,220],{},"Signed package for moving local documents into another Zeeq library",[212,222,223],{},"Yes",[194,225,226,231,234],{},[212,227,228],{},[215,229,230],{},".zip",[212,232,233],{},"Standard archive for backup or use outside Zeeq",[212,235,236],{},"No",[169,238,239,240,243],{},"Exports include only ",[176,241,242],{},"local"," documents. Documents imported from GitHub or\nowned by a repository sync are excluded because their lifecycle belongs to the\nsync process.",[169,245,246],{},"Zeeq export files are named:",[248,249,255],"pre",{"className":250,"code":252,"language":253,"meta":254},[251],"language-text","{library-name-lower-alpha-numeric}-{yyyy-mm-dd}-{nanoid6}.zeeq-export\n","text","",[215,256,252],{"__ignoreMap":254},[169,258,259,260,262],{},"The zip archive uses the same prefix and a ",[215,261,230],{}," extension. The six-character\nsuffix is lowercase alphanumeric and keeps repeated downloads visually distinct.",[164,264,266],{"id":265},"import-rules","Import Rules",[169,268,269,270,272,273,276],{},"Imports accept only ",[215,271,217],{}," files. The backend rejects plain zip files\nand any file larger than ",[176,274,275],{},"500 KB",". A single document may use the full package\nbudget; the importer enforces the aggregate decompressed document content limit\ninstead of a separate per-document character limit.",[169,278,279],{},"Before importing, Zeeq verifies the signed wrapper. The internal package is not\nopened until the signature is valid. This prevents arbitrary zip files from\nbeing processed by the importer.",[169,281,282],{},"The import preview shows:",[284,285,286,290,293],"ul",{},[287,288,289],"li",{},"New paths that will be created.",[287,291,292],{},"Duplicate local paths that will be overwritten after confirmation.",[287,294,295],{},"Synced or remote paths that block the import.",[169,297,298],{},"Duplicate local paths are overwritten only after explicit confirmation. Synced\nor GitHub-imported documents cannot be overwritten by import.",[164,300,302],{"id":301},"configuration","Configuration",[169,304,305],{},"Signed export packages require a server-side HMAC signing key:",[248,307,310],{"className":308,"code":309,"language":253,"meta":254},[251],"AppSettings:Documents:LibraryExportSigningKey\n",[215,311,309],{"__ignoreMap":254},[169,313,314],{},"For local development, store it with ASP.NET user secrets:",[248,316,320],{"className":317,"code":318,"language":319,"meta":254,"style":254},"language-shell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","dotnet user-secrets set AppSettings:Documents:LibraryExportSigningKey \"$(openssl rand -base64 48 | tr -d '\\n')\"\n","shell",[215,321,322],{"__ignoreMap":254},[323,324,327,331,335,338,341,345,348,351,355,358,361,364,367,370],"span",{"class":325,"line":326},"line",1,[323,328,330],{"class":329},"sBMFI","dotnet",[323,332,334],{"class":333},"sfazB"," user-secrets",[323,336,337],{"class":333}," set",[323,339,340],{"class":333}," AppSettings:Documents:LibraryExportSigningKey",[323,342,344],{"class":343},"sMK4o"," \"$(",[323,346,347],{"class":329},"openssl",[323,349,350],{"class":333}," rand -base64 ",[323,352,354],{"class":353},"sbssI","48",[323,356,357],{"class":343}," |",[323,359,360],{"class":329}," tr",[323,362,363],{"class":333}," -d ",[323,365,366],{"class":343},"'",[323,368,369],{"class":333},"\\n",[323,371,372],{"class":343},"')\"\n",[169,374,375],{},"For production, create the matching Secret Manager entry:",[248,377,380],{"className":378,"code":379,"language":253,"meta":254},[251],"AppSettings__Documents__LibraryExportSigningKey\n",[215,381,379],{"__ignoreMap":254},[383,384,385],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":254,"searchDepth":387,"depth":387,"links":388},2,[389,390,391,392],{"id":166,"depth":387,"text":167},{"id":182,"depth":387,"text":183},{"id":265,"depth":387,"text":266},{"id":301,"depth":387,"text":302},"Export local library documents and import signed Zeeq export packages.","md",null,{},{"icon":34},{"title":31,"description":393},"eL84Sc2OvoLfOEYHGl5hDHtW8ylcAIK2UgkoZldGrxU",[401,403],{"title":26,"path":27,"stem":28,"description":402,"icon":29,"children":-1},"Keyboard-driven navigation for the authenticated Zeeq app.",{"title":36,"path":37,"stem":38,"description":404,"icon":39,"children":-1},"How organization owners configure shared LLM tiers and tenant-managed API keys.",1784297365799]